随着亲手接触的项目越来越多,项目的复杂度越来越大,项目的理解程度也变的很难,尤其是在接收一个别人已经做好的项目时,你迫切先想到的就是“有没有文档啊”,当然是各种文档,概要设计文档,详细设计文档,数据库设计文档,第三方接口等等各种,但往往得到的答案就是“这个现在没有文档啊”,而且刚好作为经理考研你是否看懂熟悉代码的依据-让你自己写个文档,流程图等等。
回忆大学时曾经学过的UML设计,使用rouse来画图,但往往这个软件很大,而且用着也不是很顺手,于是在公司里面用的最多的还是jude(astash),下载地址 http://jude.change-vision.com/jude-web/index.html
下面还是先说说UML里面的图吧等等 。UML总共有用例图、类图、包图、对象图、协作图和序列图、活动图、构件图和部署图。关系主要有依赖关系(Dependency)、关联关系(Associate)(又分为组合和聚合)、泛华关系(Generalization)、实现关系(Realization)。
聚合是部分与整体的关系(has a),体现在类成员变量。
组成则是一个比聚合更强形式的关联,在组合中,成员对象的生命周期取决于聚合的生命周期。
依赖体现在方法变量,返回值,局部变量等。
聚合和组成是结构上的关系,而依赖关系则强调的是语义上的关系
意义:有参与者(Actor)、用例(Use Case)以及他们之间的关系构成的用于描述系统功能的动态视图。
用例之间关系分为包含,扩展,泛华。其中扩展用例只有在满足一定条件下才会被执行,而在包含关系中,当基础用例执行完成后,被包含用例是一定会被执行的。
例外需要注意用例规约:用例场景,前置条件,后置条件。
显示了系统的静态结构。
序列图是描述对象之间基于时间顺序的动态交互,强调消息发送的时间先后顺序。
注意同步消息和异步消息的格式。
活动图强调的是计算过程中的顺序和并发步骤,类似于流程图。
活动图1
活动图2
直接看图吧。
状态图有状态、转换、事件、活动和东站组成。
将系统中可重用的模块封装成具有可替代性的物理单元,即为构建。