软件建模与设计过程可以拆分成需求分析、概要设计和详细设计三个阶段。UML 规范包含了十多种模型图,常用的有 7 种:类图、序列图、组件图、部署图、用例图、状态图和活动图。
一、类图
类图用于描述类的特性和类之间的静态关系
类的组成部分
类的名字,类的属性,类的方法
类之间的关系
-
关联
当一个类的属性保存了对另一个类的实例的引用时,就产生了关联关系单向关联 双向关联 自身关联 多维关联 一对多关联 多对多关联
-
依赖
一个类中局部变量、函数参数、返回值建立于对其他类的调用,也就是一个类在某一时刻会用到另一个类

-
组合
一个类由其他几个类共同组成,代表整体的对象负责代表部分的对象的生命周期

-
聚合
是整体与部分的关系, 且部分可以离开整体而单独存在

-
泛化
泛化关系用来表示类与类,类与接口之间的继承关系,还有类与接口的实现关系

二、序列图
序列图描述的是参与者之间的动态调用关系,每个参与者有一条垂直向下的生命线,这条线用虚线表示,而参与者之间的消息也从上到下表示其调用的前后顺序关系,
三、组件图
组件是比类粒度更大的设计元素,一个组件中通常包含很多个类,组件图通常用来描述物理上的组件,比如一个 JAR,一个 DLL 等等,组件图描述组件之间的静态关系,一般用在概要设计阶段

四、部署图
部署图描述软件系统的最终部署情况,部署图是软件系统最终物理呈现的蓝图,主要用在概要设计阶段

五、用例图
用例图主要用在需求分析阶段,通过反映用户和软件系统的交互,描述系统的功能需求

六、状态图
状态图用来展示单个对象生命周期的状态变迁。比如用户账号欠费状态,账号激活状态,账号注销状态

七、活动图
活动图主要用来描述过程逻辑和业务流程。UML 中没有流程图,很多时候,人们用活动图代替流程图

八、小结
在需求分析阶段,主要是通过用例图来描述系统的功能与使用场景;对于关键的业务流程,可以通过活动图描述;如果在需求阶段就提出要和现有的某些子系统整合,那么可以通过时序图描述新系统和原来的子系统的调用关系;可以通过简化的类图进行领域模型抽象,并描述核心领域对象之间的关系;如果某些对象内部会有复杂的状态变化,比如用户、订单这些,可以用状态图进行描述。
在概要设计阶段,通过部署图描述系统最终的物理蓝图;通过组件图以及组件时序图设计软件主要模块及其关系;还可以通过组件活动图描述组件间的流程逻辑。
在详细设计阶段,主要输出的就是类图和类的时序图,指导最终的代码开发,如果某个类方法内部有比较复杂的逻辑,那么可以用画方法的活动图进行描述。
本文介绍了使用UML进行软件设计的过程,包括类图、序列图、组件图、部署图、用例图、状态图和活动图的使用,强调它们在需求分析、概要设计和详细设计阶段的应用。
1744

被折叠的 条评论
为什么被折叠?



