如图:分别是用例视图(use case view)、逻辑视图(logical view)、组件视图(componentview)和部署视图(deployment view)
九种图:
用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成那些功能。
画在:use case view的Main下,如图
基本组成:参与者(actor),用例(Use Case),边界以及它们之间的关系。
include(包括):像机房的学生上机状态查看包括另外两个功能,这就是包括。
extend(拓展):就像excel,实现不实现excel,原来的功能都可以实现。excel这个功能就是原先功能的一个拓展。拓展箭头的指向与其他的不同,指向拓展者如上图。
继承:
(其实管理员和操作员,一般用户,之间箭头的方向怎么样都可以,看自己的理解了。)下面这种理解就和上面的不一样。
一般用户的功能和行为操作员全都有,是操作员的细化。可以理解为属于,一般功能属于操作员,用实线一端带有空心三角箭头表示,箭头指向父类。一般用户继承了操作员的结构和行为,操作员继承了管理员的结构和行为。
子类没有继承父类的私有字段,但是可以继承属性和方法,继承具有单根性和传递性。
(2)Class Diagram (类图)静态:
描述系统的静态结构,用于定义系统中的类,包括描述类的内部结构和类之间的关系。
元素:类,接口,依赖关系,泛化关系,关联关系,实现关系。
画在Logical View的Main下,如图:
UML中属性的可见性分为4级:
名字 | 名字 | 符号 | 意思 |
public | 公用 | +, | 该属性对所有类可见 |
protected | 受保护 | #, | 该属性的子孙可见 |
private | 私有 | - | 只有该类本身可见 |
package | 包内公有 | ~ | 同一包其他类可见 |
(3)对象图(静态):
是类图的实例化。描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。
构成:对象,连接,包。关系:同类图。
(4)状态图:
用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。
图符:状态,转移,起点,终点。
(5)活动图:(行为图)
用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动。
活动图可以表示并发的活动,并非执行两个活动,而流程图不可以。
基本要素,如下图标注:起点1(一个),终点5(一个或者多个),活动状态2,状态迁移3,判断(决策点)4,保证条件,同步条,泳道(就是一般用户,操作员,管理员)。
活动图和状态图的区别:描述同一个行为的不同角度。
(6)序列图:(属于交互图)
(体现对象间消息传递的时间顺序。)描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。
在浏览器内的Logic 视图中单击鼠标右键,选择new→sequence diagram就新建了一张序列图。或者在use case view中选择某个用例,然后右击这个用例,选择new→sequence diagram。
(7)协作图:(属于交互图)
对象之间的协作关系,侧重于说明对象之间的消息传递。
可以有序列图转化而来,按F5即可。
(8)构件图:(component diagram)静态的
从软件构件的角度来描述一个系统。构件图用来描述代码构件的物理结构以及各构件之间的依赖关系。一个构件可以是一个资源文件,一个二进制文件或者一个可执行文件。
构成:构件:如下图
接口,关系。
构件和接口的关系:实现。构件与其他构件之间的关系:依赖。如下图
示出接口:构件实现的接口。引入接口:构件使用的接口。
(9)部署图(配置图/Deployment Diagram/实施图):
定义系统中硬件的物理系统结构,来描述事件的物理设备以及它们之间的连接关系。
节点:是一个能够执行制品的实体,可以是硬件,也可以是为其他软件执行而提供执行环境的软件。
分为:1,执行环境(Execution Environment)节点:通常是中间件或操作系统
2.设备(Device)节点:表示具体的计算设备,一般是一个单独的硬件设备,如打印机。
关系:关联关系:直线;依赖关系:带箭头的虚线。