前言
经历过软考之后的UML图学习,对于九种图有了更加深入的认识,上一篇文章《软考之UML图深入学习(1)》中,介绍了UML建模工具是什么?
这篇文章继前文,进一步深入,从小编思考的UML图进行总结,主要包括UML图划分和每种图常用关系两部分内容。
划分UML图
划分三大类:功能类、对象类和类三种,其中功能类的UML图具体细节通过对象类和类两部分体现出来,三者之间具有联系。
一、功能
是对系统外部与系统内部交互的宏观层次,系统设计方面进行的建模,主要包括:用例图、构件图、部署图。
(一)用例图(3种图)
1.从用户角度描述系统功能;
2.是参与者的外部用户所能观察到的系统功能的模型图。(《UML参考手册》)
3.用于静态建模阶段,主要是业务建模和需求建模。
(二)构件图
1.用于静态建模;
2.表示构件类型的组织及各种构件之间依赖关系,来估计对系统构件修改带来的影响。
(三)部署图
1.用于静态建模;
2.表示运行时过程节点结构、构件实例及其对象结构的图;
3.两种表现形式:实例层部署图和描述层部署图,可以展示出执行过程中的瓶颈。
二、对象(5种图)
类的实例化后的对象,描述对象是什么、做什么、怎么做的过程,包括:对象图、顺序图、协作图、状态图、活动图。
(一)对象图
(二)顺序图
1.用来表示用例中的行为顺序;
2.重点在消息序列上,展示对象之间的交互的时间顺序;
3.浏览方法:从上到下查看对象间交换的消息。
(三)协作图
1.一种交互图,强调发送和接收消息的对象之间的组织结构;
2.表示类操作的实现。
(四)状态图
1.说明对象在它的生命周期中响应事件所经历的状态序列,以及做出的响应;
2.用于:揭示Actor、类、子系统和组件的复杂特性,为实时系统建模。
(五)活动图
1.描述系统的动态行为;
2.在没有外部事件触发的情况下系统内部的逻辑执行过程,否则使用状态图描述;
3.类似于流程图,用于业务建模。
三、 类(1种图)
类图
1.反映类的结构(属性、操作)以及类之间的关系;
2.是对现实世界中事物的抽象;
3.描述了软件系统的结构,是一种静态建模方法。
关系使用
从功能类来看
(一)用例图
1. 四种关系:关联、包含、扩展和泛化,其中包含和扩展关系是依赖关系的特殊表现;
2.用例图中的元素:参与者(Actor)和用例(Use Case);
3.不同元素之间的关系不同,如下图所示:
(二)构件图
1.两种关系:实现、依赖;
2.事物:构件、接口、构件实例。
(三)部署图
1.三种关系,如下图:
2.事物:节点、构件、接口和构件实例。
从对象类分析
(一)对象图
(二)顺序图
1.几乎没有用到关系,多是一个对象内部的行为发生;
2.图中的事物有:参与者、对象、生命线和消息符号(同步、异步、返回消息等)。
(三)协作图
1.用到一种关系:链接。用线条表示两个对象共享一个消息,位于对象之间或参与者与对象之间;
2.事物有:参与者、对象和消息流。
(四)状态图
1.没有用到关系;
2.包含的事物:状态、转移、开始和结束。
(五)活动图
1.关系包括:迁移(transition)、分支(junction point)、分叉(fork)和结合(join);
2.事物:活动、起点、终点、对象流、发送信号、接收信号、泳道。
从类分类来看
类图
1.六种关系:关联、泛化、实现、依赖,其中关联关系包括聚合关系和组合关系;
2.具体的关系及含义如下表:
在系统开发中的九种图
其中英文缩写字母的含义:
BD Base Design 基本设计
DD Detailed Design 详细设计
FD Functional Design 功能设计
小结
通过UML图的深入学习,了解到的东西也不断实现i+1的效果,书读百遍,万遍,其义自见。