UML建模

1、开发工具

 starUML

2、UML的定义

UML的组成,由视图、图、模型元素和通用机制等几个部分组成。

UML的建模机制,静态建模和动态建模,静态包括用例图、类图、对象图、包、组件图和配置图,动态建模包括消息、状态图、时序图、协作图、活动图。

3、UML的中的关系

关联关系

光联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类,可以从其中一个类的对象访问到另一个类的相关对象。用一条实线表示。

比如,乘车人和车票之间就是一种关联关系;学生和学校就是一种关联关系;

关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向,如下图,表示A知道B,但 B不知道A;

聚合关系

聚合关系用一条带空心菱形箭头的直线表示,如下图表示A聚合到B上,或者说B由A组成;

聚合关系用于表示实体对象之间的关系,表示整体由部分构成的语义;例如一个部门由多个员工组成;与组合关系不同的是,整体和部分不是强依赖的,即使整体不存在了,部门仍然存在;例如, 部门撤销了,人员不会消失,他们依然存在;

组合关系

组合关系是在聚合关系之上的更紧密的耦合关系,它同样是描述元素之间部分与整体的关系。组合关系用一条带实心菱形箭头直线表示。但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了;例如, 公司不存在了,部门也将不存在了;

 

依赖关系

依赖关系是用一套带箭头的虚线表示的;如下图表示手机依赖于充电器;他描述一个对象在运行期间会用到另一个对象的关系;

泛化关系 

 类的继承结构表现在UML中为:泛化(generalize)与实现(realize):

eg:自行车是车、猫是动物

泛化关系用一条带空心箭头的直接表示;如下图表示(A继承自B); 

注:最终代码中,泛化关系表现为继承非抽象类;

实现关系

实现关系用一条带空心箭头的虚线表示;

eg:”车”为一个抽象概念,在现实中并无法直接用来定义对象;只有指明具体的子类(汽车还是自行车),才 可以用来定义对象,最终代码中,实现关系表现为继承抽象类;

4、UML视图

用例图

用列是对一个系统或一个应用的一种单一的使用方式所做的描述,是关于单个活动者在与系统对话中所执行的处理行为的陈述序列。

参与者与用例之间的关系,关联关系、泛化关系、包含关系(include)、扩展关系(Extend)。

实例——图书馆管理

                  

类图 

类图是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。类图包含7个元素:类、接口、协作、依赖关系、泛化关系、实现关系以及关联关系。 

 

 

  

对象图

对象图表示在某一时刻一组对象以及它们之间关系图。对象图可以被看作是类图在系统某一时刻的实例。

如下图c是类Company的对象,这个对象与d1,d2,d3连接,d1,d2,d3,d4都是类Department的对象,它们具有不同属性值,即有不同名字,d1和d4连接,d4是d1的一个实例。

 

包图

包图由包和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具。

 

 

【Title】: 标题 类;【 Item】: 书目 类;【 Reservation】: 预约 类;【 Borrower】: 借阅 者 类;【 Loan】: 借阅 记录 类;

 

时序图

时序图描述对象之间传递消息的时间顺序,它用来表示用例中的行为顺序,是强调消息时间顺序的交互图。时序图描述类系统中类和类之间的交互,它将这些交互建模成消息交换。时序图包括了4个元素,分别是对象( Object)、 生命线(Lifeline)、 激活( Activation) 和 消息( Message)。借用了一下SDWebImage中的时序图:

协作图

协作图是动态图的另一种表现形式,它强调参加交互的各对象结构的信息。

 

 

 

 

 

 

转载:http://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

吴建; 郑潮; 汪杰. UML基础与Rose建模案例(第3版) (Kindle 位置 1958-1959). 人民邮电出版社. Kindle 版本.

 

 

 

  

 

posted @ 2018-04-08 18:44  小白姐  阅读(443)  评论(0编辑  收藏  举报