Use Case Diagram
什么是参与者?
参与者的特征是其作为外部用户与系统发生交互。
参与者的种类:
(1)与系统直接交互真实的人。
(2)与系统直接交互的其他系统。数据库,外部设备等。
(3)一些可以直接运行的进程。时间。经过某一段时间出发某个事件,时间是参与者。
用例:
名字:
简单名+路径
用例规约(用例描述,用例说明)
描绘参与者与系统交互实现用例功能的事件流
说明参与者做什么,系统做什么。
2.Class Diagram
类图是UML建模中最重要的图。
类图是其他图的基础,在类图的基础上,可以使用状态图,协作图,顺序图,组件图进一步描述系统的其他方面特征。
类图的元素:
类(CLASS)
接口(INTERFACE)
类包括名称(NAME),属性(Attibute)和操作部分(Operation)
属性可见性(访问权限)
Public "+"
Private "-"
Protect "#"
若没有给出,则为未知状态
属性:属性类型
属性:属性默认值
属性约束(readonly)
3.Sequence Diagram
用例图:描述系统需求
类图:描述系统结构的类关系
用例图和类图无法描述系统的动态行为。
使用交互图为系统各部分进行建模。
交互图:描述一个用例或者部分用例的行为,显示该用例所涉及的对象和这些对象之间消息传递情况。
UML2.X 交互图包括顺序图,通信图(协作图),交互纵览图,定时图。
交互图最常用的是 顺序图 和 通信图。
顺序图着重描述对象之间消息传递的时间顺序。
通信图强调对象之间的连接关系。顺序图和通信图之间可以互相转换。
UML规范更多以顺序图为核心。
提醒分析人员去补充遗漏的类和方法。
当执行一个用例行为时,顺序图中的每条消息对用了一个类的操作或状态机中引起状态转换的触发条件。
4.Communication Diagram
对象图的一种拓展,不仅可以体现对象直接的直接关系,还可以显示对象之间的消息关系。
协作图和顺序图在语义上是等价的。两种图可以等价交换。
顺序图:强调时间
协作图:强调空间上的关系
协作图包括:对象(参与者,多对象),消息,链。与出现的位置没有关系。
标上顺序。
5.State Diagram
描述软件系统中一个对象在其生命周期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event)以及因状态转移而伴随的动作(action)。
在UML状态图重点在于描述单个对象状态之间的控制流。
状态图用来描述动态行为。
当一个类实例(对象)有多种状态,每种状态的行为表现又不相同,则可创建状态图。
6.Activity Diagram
用例图建模系统的功能需求,活动图则指明了系统将如何实现它的用例功能。
活动图描述了某个(某几个)用例实现的流程。
活动图在用例图之后提供了系统分析中对系统的进一步描述。
活动图可以为用例建模工作流,更可以理解为用例图的具体的细化。
活动图对业务过程,工作流,数据流,和复杂算法进行建模。
活动图中的每一个活动代表一个操作步骤。当某一个活动结束后将自动的进入下一个活动。
两个活动的图标之间用一个带箭头的直线(动作流或数据流)连接。
活动图也有起点和终点,表示工作流的开始和结束。
活动图可以包含分支与合并,分叉与汇合。
# 7.Component Diagram
系统的物理实现。
系统的物理实现图包括组件图(构件图)和部署图(配置图)两种类型。
组件图可以描述软件各个组件以及他们之间的关系,部署图描述硬件以及它们之间的关系 。
组件图(Component Diagram)用来建模系统的各个组件(包括原代码文件,二进制文件,脚本,可执行文件 )之间的关系。
组件图通常包含三个元素:
(1)组件(component)
(2)接口(Interface)使用接口可以防止系统中不同组件直接发生依赖关系,这有利于组件的更新。
(3)依赖关系和实现关系 (Dependency,Realization)组件和接口之间的关系。
组件:软件系统中定义了良好接口的物理实现单元。
组件代表将系统中的类,接口等逻辑打包后形成的物理组件
组件可以是源代码组件,二进制组件,或以一个可执行组件。
组件提供和其他组件之间的接口。
组件之间是可替换的。
谁要使用接口谁就依赖于接口,虚线箭头指向接口。
# 8.Deployment Diagram
表示硬件和硬件之间的关系。节点和组件之间的关系
部署图包换两部分:
(1)节点(Node) 在运行时表示代表计算资源的屋里元素,表示运行软件的硬件单元。节点一般具有内存,并有一定的处理能力。
节点: 分为处理器(Processer) 具有计算能力。 带阴影的立方体
设备(Device) 打印机,扫描仪。 不带阴影的立方体
配置图可以包含组件,每个组件必须存在于某个节点上。
当组件驻留在某个节点上时,可以将他建模在图上该节点的内部。
组件之间可以有实现关系和依赖关系。
(2)关联关系(Association)
节点和节点之间的关系(标注什么样的关系,构造性(http,usb))
一个软件系统发布在一台计算机上没必要画配置图。