【UML】小谈UML

         Unified Modeling Language,统一建模语言,它是一种面向对象的建模语言,主要作用是帮助用户对软件系统进行面向对象的描述和系统建模,它可以描述这个软件从需求分析指导实现和测试的开发全过程。它通过建立关系把模型立体化,又通过各种图将模型形象化、可视化。UML是系统开发一个很有利的一环。
一、知识清单

UML中有4种事物:结构事物、行为事物、分组事物、注释事物
UML中有4中关系:关联、依赖、泛化、实现
UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。
UML主要是通过事物、关系和图来建立模型的,这也正是UML的基本构造块。
(一)事物
1、结构事物
1)类(class)
类是具有相同属性、方法、关系和语言的对象的集合。一个类实现一个或多个接口。
2)接口(interface)
接口描述了一个类或构件的一个服务的操作集合。在UML中接口有四种显示方式。
3)协作(collaboration)
协作定义了一个交互,它是由一组共同工作以提供某协作的角色和其他元素构成的群体,这些协作行为大于所有元素的各自行为的总和。一个给定的类可以参与几个协作。
4)用例(use case)
用例是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值且可观察的结果。
5)主动类(active class)
主动类描述的类,其对象至少拥有一个进程或线程,因此它能启动控制活动。
6)组件(component)
构件是系统中物理的、可替代的部件,它遵循且提供一组接口的实现。
7)节点(node)
节点是在运行时存在的物理元素,它表示了一种可计算的资源,它通常至少有一些记忆能力处理能力。一个构件集可以驻留在一个节点内,也可以从一个节点迁移到另一个节点。


2、行为事物
行为事物是UML模型的动态部分,描述了跨越时间和空间的行为。共有两类主要的行为事物。
1)交互(interaction)
    一个对象群体的行为或单个操作的行为可用一个交互来描述。交互涉及一些其他元素,包括消息、动作序列、links。
2)状态机(state machine)
描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。单个类或一组类之间协作到一些其他元素,包括状态转换事件和活动。
3、分组事物
  分组事物是UML模型的组织部分,分组事物只有一种,称为包(package)
包是把元素组织成组的机制。
4、注释事物
  注释事物是UML模型的解释部分。描述说明和标注模型的任何元素。
注解(note)是一个依附于一个元素或一组元素之上,对它进行约束或解释的简单符号。
(二)关系


1、关联(Association):关联可以有方向,表示该关联在某方向被使用。有单向关联和双向关联。
2、依赖(Dependency):一个事物变化会引起另一个事物变化。就是一个类使用到了另一个类。
3、泛化(Generalization):是一种特殊与一般的关系,即继承。
4、实现(Realization):类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约,一般描述接口和实现他们的类之间或者用例和实现它们的协作之间。
5、聚合和组合:是一种特殊的关联关系,描述的是整体与部分的关系。
(三)图
1、用例图(Use Case Diagram):用例图展现了一组用例、参与者及它们之间的关系,说明的是谁要使用系统,以及他们使用该系统可以做些什么。
2、类图(Class Diagram):根据用例图,通过抽象得到类,类图展示了一组类、接口和协作及他们间的关系。
3、对象图(Object Diagram):对象图是类图的变体,可以说对象图是类图的一个例子,用于显示在某一时间点上系统可能呈现的样子。
4、状态图(Statechart Diagram):用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。
5、活动图(Activity Diagrams):用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动。
6、序列图(Sequence Diagram):描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。
7、协作图(Collaboration Diagrams):描述对象之间的合作关系,更侧重于说明哪些对象之间有消息的传递。
8、构件图(Coponent Diagram):构件图由组件、接口及其关系构成。表示的是系统中的不同物理部件及其关系。
9、实施图(Deployment Diagrams):部署图定义了系统中硬件的物理体系结构,用来描述实际的物理设备以及他们之间的连接关系。
二、对比整合
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。
(一)事物
构件事物是名词,是模型的静态部分。
行为事物是动态部分,表示行为。
分组事物是组织部分。
注释事物是解释部分。
(二)关系
1、依赖和关联
   异:依赖是一种使用关系,具有偶然性、临时性、非常弱。例如手机和充电器是依赖关系,手机持续有电,用不到充电器,那么这种依赖就不存在。
            关联的关系一般是长期性的,而且双方的关系一般是平等的。例如我和我的朋友具有关联关系,即便我们不见面,我们依赖具有关联关系。
强度:关联>依赖,关联是一种强依赖。
2、聚合和组合
     同:都是关联关系的特例,描述的都是整体和部分的关系。
     异:聚合描述的整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,也可      以为多个整体对象共享。
            组合描述的整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。
强度:组合>聚合,组合是一种强聚合。
       泛化和实现体现的是一种类与类、或者类与接口间的纵向关系;其他的四者关系则体现的是类与类、或者类与接口间的引用的横向关系,总体来说,关系强度:组合>聚合>关联>依赖。
(三)图
1、类图和对象图
同:都属于静态图,反应系统的静态过程,对象图是类图的实例,它们基本上使用同样的标识。
异:对象图显示类的多个对象实例,而不是实际的类。类图描述的是具体的模块的结构,对象图描述的是模块的实现。类不存在多重性,对象可以有。
2、状态图和活动图
同:都属于行为图,活动图是状态图的一个变体。
异:状态图以某个特定对象为主体来描述,活动图强调的是对象之间的流程控制。
3、序列图和协作图
同:都属于交互图,描述多个对象之间的动态。
异:序列图侧重显示对象之间发送消息的时间顺序,协作图侧重收发消息的对象之间的组织结构。
4、构件图和部署图
同:都属于实现图
异:构件图表达的是代码本身的结构,描述的是各种软件构件之间的关系。而部署图描述的是系统硬件的物理拓扑结构以及在该结构上执行的软件的分布情况。
5、使用阶段不同
需求分析时要生成用例图
总体设计时要有行为图
详细设计时要有序列图
三、小结
     知识在于运用,知识列举的再详细对比的再多也只是纸上谈兵。
           
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值