(转)uml各类图

原文:http://www.cnblogs.com/way-peng/archive/2012/06/11/2544932.html

一、UML是什么?UML有什么用?

二、UML的历史

三、UML的上层结构(Superstructure)

四、UML建模工具

五、UML的图(重点)

1、用例图(use case diagram)

2、活动图(activity diagram)

3、静态结构图

4、顺序图(Sequence Diagram)

5、交互纵览图(Interaction Overview Diagram)

6、通信图(Communication Diagram)

7、时间图(Timing Diagram)

8、状态机图(State Machine Diagram)

9、构件图(Component Diagram)

10、部署图(Deployment Diagram)



一、UML是什么?UML有什么用?

UML是什么?

Unified Modeling Language(统一建模语言)是对象管理组织(OMG)制定的一个通用的、可视化的建模语言标准,可以用来可视化(visualize)、描述(specify)、构造(construct)和文档化(document)软件密集型系统的各种工件(artifacts,又译制品)

UML是一种标准的图形化建模语言,是面向对象分析与设计的标准表示,它:

不是一种可视化的程序设计语言,而是一种可视化的建模语言(用于分析设计)

不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准

不是过程,也不是方法,但允许任何一种过程和方法使用

UML有什么用?

软件开发系统规模比较复杂时,需要用图形抽象地表达复杂概念,增强设计的灵活性、可读性和可理解性,以便暴露深层次的设计问题,降低开发风险。有必要采用一套通用的图形语言和符号体系描述组织的业务流程和软件需求,促进业务人员、开发人员之间一致、高效地交流。

二、UML的历史

UML发展背景:

P. Coad和E.Yourdon提出OOA和OOD

G. Booch提出面向对象开发方法

Jacobson提出OOSE

Rumbaugh提出的OMT

……

UML的出现结束了这场方法学战争

UML发展历程:

三、UML的上层结构(Superstructure)

至于UML底层的基础结构(Infrastructure),软件开发工程师们没必要了解,只需要懂得上层结构就行了。

构造块(building blocks) 通用机制(common mechanisms) 构架(architecture)

事物(things)

结构、行为、分组、注释

关系(relationships)

依赖、关联、泛化、实现

图(diagram)

静态(7种):类图、对象图、构件图、部署图、包图、组合结构图、外廓图

动态(7种):顺序图、通信图、时间图、交互纵览图、活动图、状态机图、用例图


规格说明(Specifications)

文本维度的模型描述

修饰(Adornments)

描述建模元素的细节信息

通用划分(Common Divisions)

建模时对事物的划分方法

扩展机制(Extensibility Mechanisms)

构造型、约束、标记值

4+1视图 
UML中的视图包括用例视图(Use Case View)、逻辑视图(Logical View)、实现视图(Implementation View)、进程视图(Process View)、部署视图(Deployment View)等,这5个视图被称作”4+1”视图.

四、UML建模工具

比较流行的有Rational Rose ,Microsoft Visio、Enterprise Architect 、Visual UML等。我现在使用的UML建模工具是Enterprise Architect 8.0,推荐使用这款,比较好用。

五、UML的图(重点)

1、用例图(use case diagram)


用例图(Use Case Diagram)是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图

列出系统中的用例和参与者

显示哪个参与者参与了哪个用例的执行

核心概念

用例:系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用

参与者、参与者泛化

用例与参与者之间的关系:关联

用例之间关系:扩展、包括、泛化

推荐使用场合

业务建模、需求获取、定义



某图书馆管理系统:

是一个基于Web的计算机应用系统;

读者可以查询图书信息以及借阅信息;

读者可以通过系统预约所需的图书;

图书馆工作人员利用该系统完成读者的借书、还书业务;

图书馆工作人员可以对图书信息、读者信息等进行维护;

对于到期的图书,系统会自动向读者发送催还信息;

管理员会定期进行系统维护;

……

UC01:“借书”用例文档

用例名称:借书

用例标识:UC01

涉及的参与者:工作人员

涉及的用例:

描述:工作人员利用该用例为读者完成借书过程

前置条件:工作人员必须登录到当前系统

涉众利益:

读者:能够方便的找到并借出所需的图书

工作人员:能够快速并准确的完成借书工作

基本事件流:工作人员帮助读者借阅图书

1.用例起始于读者带着所要借的图书来到借阅前台;

2.工作人员录入读者信息;

3.工作人员逐一录入所有的图书信息:

* 3.1 工作人员录入一本图书信息;

* 3.2 系统确认该读者可以借阅当前图书;

4.工作人员确认本次借阅信息;

5.系统记录本次借阅情况。

后置条件:系统将读者借阅信息正确地记录到数据库中

备选事件流

2a. 读者身份不合法

2b. 读者存在欠费信息,不允许借书

3.2a. 该读者不允许借阅当前图书

字段列表:

5. 借阅信息主要包括:读者图书证号、图书编号、借阅日期(默认为当天日期)、借阅天数以及归还日期。

业务规则

3.2 系统根据当前读者的借阅规则来判断是否可以借阅图书;而借阅规则取决于读者的类型(如本科生、研究生、老师等)和图书的类型(如科技类、文学类、新书等),并可动态配置

非功能需求:

设计约束:

部署约束:

未解决的问题

2b. 读者存在多少欠费记录时,才不允许借书?

3.2 借阅规则的具体配置情况需和用户进一步讨论?

2、活动图(activity diagram)


活动图(Activity Diagram)

通过动作来组织,主要用于描述某一方法、机制或用例的内部行为

核心概念

状态、活动、组合活动、对象

转移、分支

并发、同步

泳道

推荐使用场合

业务建模、需求、类设计

3、静态结构图


类图(Class Diagram)


是软件的蓝图,详细描述了系统内各个对象的相关的类,以及这些类之间的静态关系。

核心概念:类、接口、依赖、关联、泛化、实现

类图展示实体类的静态关系:


对象图(Object Diagram)


表示在某一时刻类的对象静态结构和行为。

核心概念:对象、链接、多重性

对象图展示我当前借书情况:


包图(Package Diagram)


展现有模型本身分解而成的组织单元(包)以及它们的依赖关系。

核心概念:包(、框架、层、子系统) 、依赖

包图展示系统分层结构:


组合结构图(Composite Structure Diagram)

描述系统中某一部分(组合结构)的内部结构,包括该部分与系统其它部分的交互点。

核心概念:组合结构、部件、端口、协议

组合结构图展示借书内部结构:

4、顺序图(Sequence Diagram)


顺序图(Sequence Diagram)

用于显示对象间的交互活动

关注对象之间消息传送的时间顺序

核心概念

对象、生命线、激活、交互、消息

交互帧(Interaction Frame)

推荐使用场合

用例分析、用例设计

“借书”用例实现的顺序图

5、交互纵览图(Interaction Overview Diagram)


交互纵览图(Interaction Overview Diagram)

活动图和顺序图的混合物

直观地表达一组相关顺序图之间的流转逻辑

核心概念

交互帧

分支、转移

推荐使用场合

用例分析、用例设计

交互纵览图组织多个顺序图

6、通信图(Communication Diagram)


通信图(Communication Diagram)

UML 1.x中称为协作图(Collaboration Diagram)

表示一组对象间关系以及交互活动

核心概念

对象、协作角色

协作、交互、消息

推荐使用场合

用例分析、用例设计

“借书”用例实现的通信图 

7、时间图(Timing Diagram)


时间图(Timing Diagram)

一种交互图,展现消息跨越不同对象或角色的实际时间信息;

具体描述单个或多个对象状态变化的时间点以及维持特定状态的时间段;

顺序图是表示交互的主要手段,可以在顺序图中增加时间约束来表明对象状态变化的时间点以及维持特定状态的时间段。

核心概念

时间约束、持续时间约束、生命线

状态、条件、事件

“打电话”顺序图的时间约束 

利用时间图描述时间约束 

8、状态机图(State Machine Diagram)


状态机图(State Machine Diagram)

UML1.x为状态图(Statechart Diagram)

利用状态和事件描述对象本身的行为

主要概念

状态、初态、终态、复合状态

事件、转移、动作

并发

推荐使用场合

类设计

“图书”类的状态机图 

9、构件图(Component Diagram)


构件图(Component Diagram)

封装类为构件

描述在系统实现环境中的软件构件和之间的关系

主要概念

构件、工件、接口(所供接口、所需接口)

依赖、实现

推荐使用场合

系统设计、实现、部署

构件图描述类的实现环境 

10、部署图(Deployment Diagram)


部署图(Deployment Diagram)

描述系统所需的硬件构件的物理部署

主要概念

节点、构件、位置

连接、依赖

推荐使用场合

系统设计、实施、部署

部署图描述系统部署情况 
时间: 2024-10-10 07:38:38

(转)uml各类图的相关文章

UML建模之各类图

原文:http://www.cnblogs.com/way-peng/archive/2012/06/11/2544932.html 一.UML是什么?UML有什么用? 二.UML的历史 三.UML的上层结构(Superstructure) 四.UML建模工具 五.UML的图(重点) 1.用例图(use case diagram) 2.活动图(activity diagram) 3.静态结构图 4.顺序图(Sequence Diagram) 5.交互纵览图(Interaction Overvie

UML各种图总结-精华

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明.可视化.和编制文档的一种标准语言.下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景. 一.基本概念 如下图所示,UML图分为用例视图.设计视图.进程视图.实现视图和拓扑视图,又可以静动分为静态视图和动态视图.静态图分为:用例图,类图,对象图,包图,构件图,部署图.动态图分为:状态图,活动图,协作图,序列图. 1.用例图(UseCase Diagrams): 用例图主

[转载]UML类图总结

前言 类图和序列图是UML中最常用的两种Diagram.我将做详细的总结.在许多书中,或者网站中,在介绍一个系统的子系统的设计时,很多时候,都是给出简单的类图来简述构成子系统的类之间的关系.这足以说明类图的重要性. 对类图的基本认识有以下两点: 类图是以反映类的结构(属性.操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法: 类图中的类与面向对象语言中的类的概念是对应的,是对现实世界中的事物的抽象. 我们基于以上两点,来对类图进行更详细的学习. 类图中基本语法学习 在UM

UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)

http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html http://sundensky.blog.163.com/blog/static/7728873420109299167434/ 继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系:在Java中此类关系

UML 类图笔记

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类 2. 实现(Real

UML类图及依赖,泛化,关联,聚合,组合,实现

UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称. 2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法). 3) 类的属性即类的数据职责,类的操作即类的行为职责 一.依赖关系(Dependence) 依

[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图

[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是他们的主要用途简介: 1.用例图:对系统的使用方式分类. 2.类图:显示类和它们的相互关系. 3.对象图:只显示对象及它们的相互关系. 4.活动图:显示人或对象的活动,其方式类似于流程

UML类图几种关系的总结(转)

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类 2. 实现(Real

(转载)UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) [泛化关系]:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为.例如:老虎是动物的一种,即有老虎的特性也有动物的共性. [箭头指向]:带三角箭头的实线,箭头指向父类         2.