UML建模
Posted 蓝枫姐姐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 版本.
以上是关于UML建模的主要内容,如果未能解决你的问题,请参考以下文章
UML2面向对象分析与设计 -- 可视化建模技术(可视化建模基础统一建模语言UMLUML 2组成结构UML 2概念模型:构造块 通用机制 架构应用UML 2建模:用例图 活动图 类图...)