UML作为设计工具,重在实践上,而这就离不开九种图了。绘图是在看完视频以后进行的,刚開始绘图的时候脑袋懵懵的,不知道该从哪下手,于是就在绘图之前再次的学习了一下这九种图和四种关系。理了理思路。最终有点了想法,这才開始着手画。UML的九种图包含:用例图,对象图,类图。构件图。部署图,状态图,顺序图。活动图。协作图。四种关系和九种图在UML学习中是重中之重。而在这九种图中最重要的是用例图,类图和顺序图。重复的学习才干将它消化。
一、概念
在这九种图中又能够将他们分成静态图和动态图。静态图包含:类图,对象图,用例图,构件图,部署图;动态图包含:状态图,顺序图,活动图。协作图。
1、用例图(user-case diagram)
定义了系统的功能需求。它是从系统的外部看系统功能,并不描写叙述系统内部对功能的详细实现。
2、类图(class diagram)
对静态结构的描写叙述,用来定义系统中类和类之间的关系。
3、对象图(object diagrams)
表示类的对象实例。
通经常使用来演示样例一个复杂的类图,通过对象图反映真正的实例是什么。它们之间可能具有什么样的关系,帮助对类的理解。
4、状态图(statechart diagrams)
类所描写叙述事物的补充说明,类全部对象可能具有的状态。以及引起状态变化的事物。
5、序列图(Sequence Diagrams)
又叫顺序图。强调消息时间顺序的交互图,描写叙述类以及类相互交互以完毕期望行为的消息。
6、协作图(collaboration diagrams)
协作图仅仅对相互间有交互作用的对象和这些对象间的关系建模。而忽略了其它对象和关联。
7、活动图(activity diagram)
反映一个连续的活动流,用于描写叙述某个操作运行时的活动状况。
8、构件图(component diagrams)
主要用于描写叙述各种软件构件之间的依赖关系。
9、部署图(deployment diagrams)
是用来显示系统中软件和硬件的物理架构。从部署图中,能够了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。
二、九种图的应用阶段
需求阶段:用例图描写叙述需求
分析阶段:类图描写叙述静态结构
设计阶段:类图和包图对接口的应用
实现阶段:构件图,部署图
三、PK赛
1、时序图 and 协作图
同样点:
(1)时序图和协作图都属于交互图,他们表示对象间的交互关系,描写叙述了一个交互。由一组对象和他们之间的关系组成,而且还包含在对象之间传递的消息,
(2)时序图和协作图是等价的
(3)两者都来自UML元模型的同样信息,因此他们的语义是等价的,他们能够从一种形式的图转换成还有一种形式的图,而不丢失不论什么信息。
不同点:
协作图强调的是空间,但时间顺序必须从序列号获得。
时序图强调的是时间可是没有明白的表达对象间的关系。
2、状态图 and 活动图
同样点:都属于行为图,都是描写叙述对象的动态行为。
不同点:
(1)描写叙述对象不同:
状态图:描写叙述对象状态及状态之间的转移。它主要表现该对象的状态。
活动图:描写叙述从活动到活动的控制流,它主要表现的是系统的动作。
(2)使用场合不同:
状态图:描写叙述对象在其生命期中的行为状态变化。
活动图:描写叙述过程的流程变化。
3、对象图 and 类图
同样点:对象图是类图的实例,差点儿使用与类图全然同样的标识。
不同点:对象图显示类的多个对象实例。而不是实例的类。
因为对象存在生命周期。因此对象图仅仅能在系统某一个时间段存在。
4、活动图 and 用例图
活动图是对用例图的一种细化。
5、状态图 and 类图
状态图是对类图的一种补充,帮助开发人员完好某一类。
四、小结
UML的九种图重在实践,仅仅有通过重复的学习来加深对它的理解,如今仅仅是初步的学习UML。对它的理解没有那么深,有什么不正确的,欢迎指出!