Day2 绘制UML

UML模型图的构成

事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象
关系(Relationships):关系把事物紧密联系在一起
图(Diagrams ):图是事物和关系的可视化表示

UML 图分类

用例图:从用户角度描述系统功能, 展示系统外部的角色与系统内部的用例之间的关系
类图:类图描述系统所包含的类、类的内部结构(类的属性和操作)及类之间的关系;
顺序图:显示对象之间的动态合作关系,强调对象之间消息发送的顺序,同时显示对象之间的交互。
协作图:协作图描述对象之间的协作关系。除显示信息交互外,还显示对象以及它们之间的关系
状态图:类对象所可能经历的所有状态的模型图。由对象的各个状态和连接这些状态的转换组成。
活动图:描述执行算法的工作流程中涉及的一组顺序的或并发的活动
构件图:描述系统中的构件的表示法及这些构件之间的依赖关系。
部署图:描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配。


用例图(User Case Diagram)

用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图。用例是系统中的一个功能单元。

用例图的好处或者功能?
主要针对用户:参与者之外的用户
角度:从系统的外部看系统功能,而并不描述系统内部对功能的具体实现。

作用
获取需求
指导测试
在整个过程中的其他工作流中起到指导作用

参与者与参与者之间的关系继承

与面向对象过程中的继承关系类似,但主要强调交互行为的继承

两个或两个以上参与者之间有共性,共性单独设为一个参与者。

例子:在教务管理系统中,老师、学生、用户之间的关系
在这里插入图片描述

参与者与用例之间的关系: 关联

实线加箭头表示,假如一个学生去图书馆则既要借书又要还书,这两个过程则可以用关联关系来表示

在这里插入图片描述

用例间关系

1、包含关系
虚线箭头表示,上边写有Include
把一个较复杂的用例想表示的功能分解成较小的步骤

举例:
图书管理员管理图书,可以借出,购买,排除旧图书等等
在这里插入图片描述2、泛化关系
和类图关系中的继承关系性质相同,三角箭头指向父用例
用意:子用例将继承父用例的所有行为,结构和关系

举例: 12306购票
在这里插入图片描述
3、扩展关系

虚线箭头表示,上面写有Extend,指向基础用例

用意:指用例功能的延伸,相当于为基础用例提供一个附加功能另一种方案

在机房收费系统中,我们有两个单击按钮分别是:选中强制下机所有学生强制下机,其实对于一个卡号来说,正常下机才是最平常的,它根本就不知道还有其他的下机方式,可是选中下机和所有学生下机却是按照下机的操作来执行的,这就是对正常下机行为的不同扩展

再比如:在用户身份验证这一用例中,只要输入账户和密码就可以登录这个网站了。但有一种特殊情况是用户忘记了密码,此时就需找回密码,而找回密码很显然可以作为一个单独的用例。那么它就相当于在用户身份验证这个用例下的一种异常情况,所以用户身份验证与找回密码是扩展关系

找回密码
在这里插入图片描述

12306的例子
在这里插入图片描述

参考:https://www.cnblogs.com/huohuoL/p/10545610.html
https://www.cnblogs.com/SSSzhanglingzhi/p/10806875.html


类图(Class Diagram)

类图描述系统中类的静态结构。定义系统中的类,表示类之间的联系,以及类的属性和操作(内部结构)。

类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联。

类图的关系耦合度从弱到强排列:
依赖关系关联关系聚合关系组合关系泛化关系实现关系
其中泛化和实现的耦合度相等,它们是最强的。

1、依赖关系:一种使用关系,一个类的实现,需要另一个类的协助,逻辑上用 USE A 表示
其他的五种关系,都是依赖关系的特例

代码体现
类的成员属性类
静态方法的调用者类
方法的参数类
方法的返回值类
方法内使用的类

UML表示一条虚线加箭头的形式,指向被依赖的类

2、泛化关系
就是继承关系
UML表示一条实线加三角箭头,箭头指向父类

3、实现关系
就是语法层面上的实现关系
UML表示一条虚线加三角箭头 ,箭头指向接口

4、关联关系
体现的是业务逻辑上的关系
具有导航性
单向关联,双向关联 (代码层面)
具有多重性
一对一,一对多,多对多 (业务逻辑)
UML表示
单向关联:单向箭头加实线
双向关联:双向箭头加实线或直接实线

5、聚合关系
关联关系的特例
聚合关系描述的是业务逻辑上整体和部分的关系 ,且整体和部分可以分开

UML表示:空心菱形加实线

6、组合关系
关联关系的特例
聚合关系描述的是业务逻辑上整体和部分的关系 ,且整体和部分不可以分开
UML表示:实心菱形加实线


顺序图(Sequence Diagram)

顺序图显示对象之间的动态合作关系,通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作只关注正常流程,不关注逆流程,不关注异常流程,不关注分支判断

顺序图的一个用途是用表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件 。

时序图的基本UML符号

角色(Actor)
系统角色,可以是人、及其甚至其他的系统或者子系统。
在这里插入图片描述

对象(Object)
表示系统的参与者或者任何有效的系统对象。
在这里插入图片描述

生命线(Lifeline)

表示对象存在的时间
在这里插入图片描述

控制焦点(Focus of Control)

表示时间段的符号,对象将执行相应的操作
在这里插入图片描述

消息(Message)

分为
同步消息(Synchronous Message)
异步消息(Asynchronous Message)
返回消息(Return Message)

在这里插入图片描述
同步消息:消息的发送者把控制传递给消息的接收者,然后停止活动。等待消息的接收者返回控制或者放弃。
异步消息:消息发送者通过消息把信号传递给消息的接收者,而不停止活动。异步消息的接收者和发送者并发工作。
返回消息:表示从过程调用返回


自关联消息(Self-Message)
表示方法的自身调用
以及一个对象内的一个方法调用另外一个方法
在这里插入图片描述Combined Fragments
Alternative fragment(alt) 与 if…then…else对应

Option fragment ( opt) 与 Switch对应

Parallel fragment ( par) 表示同时发生

Loop fragment( loop) 与 for 或者 Foreach对应
在这里插入图片描述

参考:https://www.cnblogs.com/downey/p/4890830.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值