码迷,mamicode.com
首页 > 其他好文 > 详细

UML绘图要点

时间:2016-05-24 20:30:57      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:

注明:整理自学习礼包,非完全原创,原作无法考查。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一、用例图(Use case

       参与者,通过使用系统服务实现其目标的那些人或者事物

  技术分享


    用例,外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。用例是动词或者动名词。可以从每一个界面的主要功能来析取用例。

  技术分享


    关系:

    用例图中涉及的关系有:关联、泛化、包含、扩展。

    如下表所示:

关系

涉及对象

符号

箭头方向

关联

参与者与用例

技术分享

无箭头

泛化

参与者与参与者

用例与用例

技术分享

指向父用例或者父参与者

包含

用例与用例

技术分享

指向分解出来的功能

扩展

用例与用例

技术分享

箭头指向基础用例

 

泛化

技术分享


包含

技术分享


扩展

技术分享


注意:用例的词性(动名词),关联是实线无箭头


二、活动图(Activity

每一个用例有一个活动图,活动图尽量简单

开始节点:技术分享 (只有一个)

结束节点:技术分享 (可以有多个)

同步条:技术分享 (必须成对出现),表示并行执行 

选择/合并:技术分享 (需要写明分支的判断条件)

活动:技术分享 (圆边矩形,必须与状态图进行区分,动名词,可以从一个用例的执行流程中分析出动词)

注意:同步条必须成对出现,判定需列明条件,活动的框一定是圆边矩形


三、状态图(statement

每一个用例有一个状态图,显示一个对象从创建到消亡的整个生命周期

状态:表示对象具有的一个状况,条件(名词或者说不是动名词格式)

技术分享

转移:事件名 [监护条件]/动作名(如果前面出现“/”,说明是系统的动作,不加是使用者进行的操作)

技术分享

开始/结束状态:技术分享

注意:状态是圆角矩形,状态不能是一个动作(动名词格式),而是一个状况(名词或者名词+动词的格式)必须要有状态发生变化的条件


四、领域模型(domain model

一组没有定义操作(方法的特征标记)的类图,也称为概念类图

步骤:(1)寻找概念类

概念类:思想,事物或对象(也就是说找名词

技术分享

描述类:描述其他事物的信息,如FlightAirport之间最好添加一个FlightDescription这个描述类。

2)将其绘制为UML类图的类

3)添加关联和属性

关联:名称需要首字母大写,一般以类名-动词短语-类名的格式来命名。但在领域模型中,避免加入太多关联,是否需要记录关联,要基于现实世界的需要,就是那些“需要记住”的关联关系。

多重性:类A有多少个实例可以和类B的一个实例关联

 技术分享 0或更多

技术分享 1或更多

技术分享 1~40


属性:对象的逻辑数据值。当需求(用例)建议或暗示需要记住信息时,引入属性

(可以只有属性名称,不需要类型,可见性)

注意:通常不超过10个概念类,至少有一个描述类,不能出现XX列表 


五、系统顺序图(SSD

对于用例的一个特定场景(一般是一个用例),外部参与者产生的事件,其顺序和系统之类的事件。该图强调的是从参与者到系统的跨越系统边界的事件。

也就是说系统被视为黑盒

参与者:需要加‘:’和下划线

技术分享

系统:

技术分享

循环:

技术分享

注意:对象必须有“:”和下划线,消息需要有编号,并且消息为动作,必须要有控制焦点,不超过5个消息,尽可能简单


六、包图

MVC架构 view【也就是UI,边界类】model【实体类,从领域模型中选取】 control【控制类】)

依赖:技术分享 箭头指向被依赖的包(包的图都是虚线)

层:技术分享

类,用例等:

技术分享

嵌入包:技术分享

注意:包与包之间一定是虚线


七、顺序图

在时间上对象交互的安排

角色(Actor)系统角色,可以是人、及其甚至其他的系统或者子系统。

技术分享

对象:技术分享 (名称前面要加“:”,还有下划线)(对象一般是前面包图提及的与用例相关的边界类,控制类,实体类)

生命线:技术分享 表示对象存在的时间

控制焦点:技术分享 表示对象执行一个动作的期间 (也可以不用这个)

消息:技术分享 (消息需要有序号,且消息为动作)

同步消息:消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

异步消息:消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

自调用信息:表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。

注意:对象必须有“:”和下划线,消息需要有编号,并且消息为动作,必须要有控制焦点,对象来源于包图


八、设计类图

类:技术分享

(和顺序图对应,分为实体类(领域模型的类),边界类(界面),控制类)


关系

表示关系

符号

箭头方向

关联

对象之间具有永久关系

技术分享

可以用箭头表示关联的方向。没有箭头表示双向关联

多重性

多重性:类A有多少个实例可以和类B的一个实例关联

技术分享

无箭头

依赖

表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类(use

技术分享

指向被依赖的类

泛化

类与类的继承关系。子类继承超类的所有特(属性、操作、关系),并具有独自的特性

场景:父与子、植物与树等

技术分享

指向父用例或者父参与者

实现

类与接口的实现关系

技术分享

指向接口

聚合

当某一个类成为另一类的一部分时,可使用聚集的关系,表示类之间的关系是整体与部分的关系(has

技术分享

部分指向整体

组合

对象A包含对象B,对象B离开对象A没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用。(contain

技术分享

部分指向整体

组合>聚合>关联>依赖

注意:类名需要和领域模型,顺序图的一样;每个类至少1属性,1操作;

注意继承,聚合这些关系,实线和虚线的区别,类之间的关联关系是几对几的关系;重要的是与前面的图保持一致性

 

 

九、部署图

(整个系统就一个)可通过修改这个基础模型来做

技术分享

注意点:节点之间没有箭头,节点是软件还是物理设备需要标记,需要写清连接的介质(如网线那些),协议(HTTP等)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

------------------------------------------------------------------------------------------------------------------------------------------------

UML绘图要点

标签:

原文地址:http://www.cnblogs.com/zengyh-1900/p/5524613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!