【UML】学习笔记(1)——初识UML

来源:互联网 发布:手机淘宝改中差评 编辑:程序博客网 时间:2024/05/22 05:22

What is UML?

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。

Models

在UML系统开发中有三个主要的模型:

-功能模型:
从用户的角度展示系统的功能,包括用例图。
-对象模型:
采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图、对象图、包图。
-动态模型:
展现系统的内部行为。 包括序列图,活动图,状态图。

Diagrams

标准建模语言UML可以由下列5类图来定义。

  1. 用例图:从用户角度描述系统功能,并指出各功能的操作者。

  2. 静态图:包括类图和对象图。类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

  3. 行为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件,状态图是对类图的补充,活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。

  4. 交互图:描述对象间的交互关系,包括时序图和协作图。时序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用时序图;如果强调上下级关系,则选择协作图。

  5. 实现图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。

采用UML来设计系统时,第一步是描述需求;第二步根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。

  • 其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图、对象图、组件图和部署图等5种图形,是标准建模语言UML的静态建模机制。
  • 其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系,它包括状态图、活动图、时序图和协作图等4种图形,是标准建模语言UML的动态建模机制。

1 用例图(use case diagrams)

【概念】
描述用户需求,从用户的角度描述系统的功能
【描述方式】
椭圆表示某个用例;人形符号表示角色
【目的】
帮组开发团队以一种可视化的方式理解系统的功能需求
【用例图】
这里写图片描述

2 静态图

2.1 类图(class diagrams)

【概念】
显示系统的静态结构,表示不同的实体是如何相关联的
【描述方式】
三个矩形
这里写图片描述
【目的】
表示一个逻辑类或实现类,逻辑类通常是用户的业务所涉及的事物;实现类是程序员处理的实体
【类图】
这里写图片描述

2.2 对象图(object diagrams)

【概念】
类图的一个实例,描述系统在具体时间点上所包含的对象以及各个对象的关系
【对象图】
这里写图片描述

3 交互图

用来描述对象之间的交互关系。

3.3 序列图(顺序图)

【概念】
描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序
【描述方式】
横跨图的顶部,每个框表示每个类的实例或对象;类实例名称和类名称使用冒号分开
【目的】
显示流程中不同对象之间的调用关系,还可以显示不同对象的不同调用。
【序列图】
这里写图片描述

3.4 协作图(collaboration diagrams)

【概念】
描述对象之间的合作关系,侧重对象之间的消息传递

4 行为图

描述系统的动态模型和对象之间的交互关系。

4.1 状态图(statechart diagrams)

【概念】
描述对象的所有状态以及事件发生而引起的状态之间的转移
【描述方式】
起始点:实心圆
状态之间的转换:使用开箭头的线段
状态:圆角矩形
判断点:空心圆
一个或多个终止点:内部包含实心圆的圆
【目的】
表示某个类所处的不同状态以及该类在这些状态中的转换过程

4.2 活动图(activity diagrams)

【概念】
描述满足用例要求所要进行的活动以及活动时间的约束关系
【描述方式】
起始点:实心圆
活动:圆角矩形
终止点:内部包含实心圆的圆
泳道:实际执行活动的对象
【目的】
表示两个或多个对象之间在处理某个活动时的过程控制流程
【活动图】
这里写图片描述
【状态图与活动图区别】
这里写图片描述

5 实现图

5.1 构件图(Component diagrams)

【概念】
描述代码构件的物理结构以及各构件之间的依赖关系构件
【目的】
提供系统的物理视图,根据系统的代码构件显示系统代码的整个物理结构
【构架图】
这里写图片描述

5.2 部署图(Deployment diagrams)

【概念】
系统中硬件的物理体系结构
【描述方式】
三维立方体表示部件
节点名称位于立方体上部
【目的】
显示系统的硬件和软件的物理结构
【部署图】
这里写图片描述

Conlusion

通过本次学习,了解了UML的基本九种图的类型和功能。其中较为重要的是用例图、类图、时序图、活动图四种图,建议我们初学者首先熟悉掌握这四种,其余图在可能的情况下再继续了解。

今后我会学习并整理以上四种图的具体画法和注意点,希望与大家共同学习。


SeekJoy整理自:
http://blog.csdn.net/jiuqiyuliang/article/details/8552956
http://www.cnblogs.com/Yogurshine/archive/2013/01/14/2859248.html


0 0