如何在软件设计中运用UML

近期组件组要进行一个新组件的开发,目前处在设计阶段,于是想使用UML进行设计。这里对设计过程中如何结合UML进行描述。

第一步:通过用例图描述需求

在进行需求调研结束时需要输出《需求规格说明书》,设计阶段就要需要这份文档获取需求并加以理解。用例图体现系统为每个actor提供的功能,用于描述系统的功能需求(每个系统中应该包括功能需求和非功能需求)。用例图中包含一至多个actor,每个actor中关联多个use case,每个use case都是对一个系统功能点的描述。use case之间可以有相应的关系,如单向关联或依赖、实现、泛化等,具体该如何应用use case之间的关系,还需要深入研究。

第二步:通过活动图描述用例细节

用例图仅描述了actor与系统/软件的功能关系,通过活动图可进一步描述每个系统功能的整体过程是什么样。针对系统/软件中较复杂的功能可以通过状态图进行描述。活动图中包含起点、活动、状态和终点三种节点,节点可以分步在不同的泳道中,泳道用于描述业务流程中的不同职能部分。

第三步:通过用例图、活动图进行建模,并以类图进行描述

经过活动图对各个业务功能分析描述,可以对系统的整体结构加以理解,这时可通过类型对系统的建构进行描述。建立类图时,可以先建立系统中所有的class,不细化class对应的属性和操作方法,然后建立class之间的关系(难点),最后完善每个类的属性和方法。对象class之间的关系包括:泛化(继承)、实现(基于接口)、聚合(一般关联)、组合(强关联)、自关联。

第四步:结合类图,对活动图中的活动建立对应的时序图

活动图中每项操作都需要领域模型对象(类图)的支持,通过对不同对象的操作以及对象之间的信息的传递,完成最终的操作目标/目的。时序图描述了对应之间信息传递的关系,通过信息的发送和返回以及相应的顺序描述了系统内部相应操作的过程。信息的发送、返回,依赖于对象/类提高的操作方法或系统提供的接口,所以在进行时序图的设计时,会对系统已有对象模型进行补充和完善。

以上使用UML进行设计的过程仅限于系统构造阶段(系统已细化分析)。UML中还包括部署相关的设计模型,一直没有研究过,后续会进行深入学习。

猜你喜欢

转载自alexgao.iteye.com/blog/1219384