CharlesChen's Technical Space

简单实用是我一直在软件开发追求的目标(I Focus on. Net technology, to make the greatest efforts to enjoy the best of life.)
Not the best, only better
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

读书笔记(UML建模基础)

Posted on 2009-11-15 10:00  Charles Chen  阅读(429)  评论(0编辑  收藏  举报

      理智的战士从来不会赤手空拳上战场杀敌,那样的做法是用鸡蛋碰石头,结果只能是"壮志未酬身先死"。如果把建模比作敌人,那么我们知道很多热血的软件开发人士就败在这个敌人的手上。一个原因就是太过于鲁莽,在不知道建模为何物的时候就开始了战斗。

一、什么是建模?

俗话说:"横看成岭侧成峰",说得是从不同角度观察同样一座山峰,会呈现不同的景象。其实建模可以这样理解:从某个特定视角对软件系统的一次观察

同一事物,允许从不同的角度,带着不同的目的去考察,因考察的目的不同,观察时会有意思地忽略掉一些枝节而突出我们敢兴趣的地方,即"取出求精"。软件建模同样:一个软件系统模型包含多个从不同角度对它的观察,每个观察称之为一个视图。软件模型中的一个视图代表了不同的人员(系统设计师,开发人员,项目经理,客户)对软件系统的观察。这些人员对软件系统的兴趣点不同,因为各个视图呈现的内容不同,但本质上都是描绘同一个软件系统。

软件模型之间的多个视图的关系是:"追踪"关系。也就是说,他们反映的是同一个软件系统在不同级别上的抽象。软件系统模型的不同视图,如分析视图,设计视图,实现视图,部署视图等也反映了软件系统开发周期中不同阶段。一般由一种特定的视图来描述。当阶段发生变化时,一种视图中的元素将转换为另一种视图下的对应元素。

备注:视图可以理解为软件系统开发周期中不同阶段的模型,因此我们可以认为:分析视图,设计视图,实现视图常常称为领域模型、设计模型、实现模型。

总结:

1.软件模型形象定义:软件产品相关人员对软件系统的观察

2.软件模型视图之间相互联系,相互转化。

3.模型具有焦点,必须取出求精,突出重点。

4.软件模型由多个视图构成,每个视图表示从不同角度对软件系统的一次观察。

二、为什么要建模?

1.通过建模理解软件系统-----用户要求增多,需求变更频繁,软件修改复杂程度增加,模型作为现实的抽象,有助于不同的人员从不同的角度理解软件系统。

2.满足协同开发项目的需要-----通过建模,提供多个视图,团队对整个产品获得一致理解。

3.创建真正满足用户需要的产品----通过建模,能及时准确地捕捉,跟踪用户的需求,并评估需求变更对软件产品的影响。

4.软件开发过程可控----软件建模能够清楚展示软件系统的蓝图,从而将软件系统开发过程的不可控因素降到最低。

三、用什么建模?

软件建模需要一套标准通用的符号,就如同我们写程序都有一种编程语言一样,从事软件系统开发的人员都能认识这种符号,这样可以借助这套符号相互交流。

通用符号或者说建模语言是统一建模语言(UML,Unified Modeling Language)。UML是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化,详述,构造和文档化。

注意:UML是一套以建模的符号体系,而不是方法,也不是软件过程,但它可以在各种建模方法,各种软件过程中使用。