UML软件工程组织

 

 

软件开发过程中为什么要建模?
 
2008-01-29 来自:conanpaul
 

模型是什么?建模的目的是什么?建模在软件开发过程中的作用是什么?

如何建模?如何建立面向对象的模型?

就以上的问题,我想发表一下我的拙见。有什么不对的地方,请指教。

模型是什么?

简单的说:模型是现实的简化。就像汽车玩具是汽车的简化。

简化两字,其实包含了很深的含义。哪些该简化,哪些不该简化?如何简化?简化的程度怎样?

还有现实的中的同一系统,需要多个模型来描述。每个模型应该只描述系统的一个方面。所有的这些模型大致可以分两类:一类描述系统的结构,另一类描述系统的行为。

建模的目的是什么?

我们建模是为了更好的理解我们正在开发的系统。

人对复杂系统的理解力是有限的。而模型是对现实的简化,通过建模,缩小所研究问题的范围,一次只研究它的一个方面。这就是“各个击破”的策略。

这里说的“我们”,指的是所有与软件开发有关的人员,软件开发人员当然是其中的主要成员,不过还包括像客户,软件项目管理人员等等,所有这些希望了解正在开发的系统的人员。软件开发人员建立的模型,除了让自己更清楚系统外,更重要的是可以帮助其他软件开发人员理解系统。

通过建模,要达到四个目的:

直观化:以更直观的形式来表达系统或系统的某个方面。

说明功能:模型可以详细说明系统的结构或行为。

指导功能:模型可以指导我们构造系统。

文档化:模型对我们做出的决策进行文档化。

建模在软件开发过程中的作用是什么?

对于不同规模软件的开发过程,建模的作用重要性有所不同。软件规模可以通过下面3个比喻来形象描述:

狗窝级

房屋级

大厦级

越复杂的软件,建模也就越重要。因为越复杂的系统,我们越难理解到系统的方方面面,所以我们也就越需要建模,以帮助我们来理解系统。

模型的好坏有两个方面决定:一是建模人对系统的理解能力,这是靠实践培养的,这个也可以通过实验来得到快的提高;二是对建模人对模型的制作能力,这个比第一点容易培养的多。

如何建模?

选择合适模型。

普通的力学问题,用牛顿力学模型就够了,爱因斯坦的相对论模型太复杂了。

模型要能表达系统的不同精度

从实际出发

不能简化掉任何重要的细节

单个模型是不够的,每个系统最好用一组几乎独立的模型去处理

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号