学习uml,图是重点,现在就来看看那些图吧。
uml可以分为动态图和静态图,其中动态图包括:时序图、 协作图、 状态图和活动图,静态图包括:用例图、类图、对象图、组件图和配置图。按照5类图来分类,可以分为以下部分:
同时根据不同的架构视图的应用,可以把这些图分以下:
下面结合BBS论坛系统和我们已经熟知的机房收费系统来说说这些图,其中论坛系统中会员的一些功能,也就是注册会员、发表文章、浏览网页和评论回复的功能。
用例图 ( Use Case View)
用例图(Use Case View)是指整个系统开发过程中围绕需求阶段的用例来进行的,也就是系统功能的是那些人,那些人来完成什么的功能。比如注册会员这类人来实现注册、登陆、浏览网页、发表文章和评论回复的功能。
时序图(Sequence Diagram)
时序图描述了对象之间传送消息的时间顺序,它用来表示用例中的行为顺序。包括四个元素,分别是对象(object)、生命线(lifeline)、激活(activation)、和消息(message),由于他强调按照时间来展开消息的传递,所以强调一下时序图有区别于协作图的地方,时序图有生命线和激活期。BBS论坛注册会员假设在完成这些功能的时候有一定的顺序,例如注册—登陆—浏览网页/发表文章—评论回复。现在我们用我们的机房收费系统的时序图来表示一下:
协作图(Collaboration Diagram)
协作图是时序图之外的另一种表示方法,这要用来表现系统的对象间的时间和空间的顺序上的交互。他包括对象(矩形)、链(link)、和消息(message)元素,相对于时序图,协作图可以有顺序,也就是可以有顺序号,协作图可以表现更大的分支。又作“通信图”。(注:UML2.0以后不再用协作图说法,而是明确定义为“通信图”,即Communication Diagram,)所以我们在EA画图的时候只能找到通信图啦。具体的机房收费系统的协作图如下:
状态图(Statechart Diagram)
状态图展示了一个特定对象的所有可能状态以及由于各种事物的发生而引起的状态间的转移,一个状态图就是一个状态机,用状态图说明系统的动态视图。
活动图(ACtibity Diagram)
活动图时状态图的一个变形,也就是系统从一个活动到另一个活动的具体的流程,从开始到结束,强调的是对象之间的流程控制。一个用例也就是代表了一个活动。机房收费系统的活动图如下:
类图(class Diagram)
比如构造汽车,首先确定像车厢、车轮和发动机等这些基本的词汇,分析他们的特点,然后考虑他们的行为,所以说类图是描述类、接口、协作和他们之间关系的图。它用来构造系统的词汇和关系。包括的元素为:类、接口、协作、依赖关系、泛化关系、实现关系和关联关系。在这里,我们认识一下机房收费系统的类图:
组件图(Component Diagram)
组件图又叫构件图,他有组件、接口和组件之间的联系构成,组件图描述的是系统中的不同物理部件和联系,它表达的是系统代码本身的结构。组件是逻辑架构中定义的概念和功能(类、对象以及他们的关系和协作)在物理架构中的实现。
配置图(Deployment Diagram)
配置图是对面向对象系统物理方面建模时使用的俩中图之一,主要是用来说明系统的软件和硬件,通常包括:节点、组件和关系。
对象图(Object Diagram)
对象图就是类的实例化,比如抽象出来一个类,他的名字是人民币,则对象图就是对人民币实例化,也就是五元的人民币。
对于这些图,还有待提高,初次画图,初次使用EA软件,觉得欠缺很多,多多加油吧。