第二章UML建模语言介绍

合集下载

第2章 统一建模语言UML

第2章 统一建模语言UML

UML 2.0
1997年对象管理组织(Object Management Group
,OMG)采纳UML作为其标准建模语言,并通过严 格有序的OMG过程对其进行修订和维护。 1999,UML 1.3,相对稳定成熟阶段 2001-05, UML 1.4 2003年6月宣告完成了UML 2.0 : Infrastructure(底层结构) Superstructure(上层结构) OCL(对象约束语言) Diagram Interchange(图形交换)
关联类
关联类用来记录与关联(关系)有关的信息,提
供与关联有关的操作。
+Employee +Employer
Person
* 1
Company
Employment +Contract
(2)包图
包图在UML中可以看作是类图的一部分。
包用来对一组元素进行划分,是对复杂模型的一
种分而治之的层次划分。 常用来描述一个复杂系统逻辑上的子系统划分。 包图主要由包和包之间的关系组成。 包的划分应遵循高内聚、低耦合的原则,一个包 中可以包含多个类和子包。 包图的图元: 包、依赖关系、导入关系、合并关系
UML 2.0的建模机制
类图 (Class Diagram) 包图 (Package Diagram) 对象图 (Object Diagram) 结构建模 (Structure) 构件图 (Component Diagram)
组合结构图 (Composite Structure Diagram)
UML 2.0 建模机制
* 1
OrderItem
Order
泛化(继承)关系
Person

电子商务系统分析与设计0300UML统一建模语言

电子商务系统分析与设计0300UML统一建模语言
19:45
练习2
有一台自动销售商品(食品或 者饮料等)的机器,任何人都 可以通过按上面的按钮来购买 商品,每个商品旁边都有一个 指示灯,用来表示有没有该商 品,机器上有一个人民币入口 和找零出口,用来收钱和找钱, 如果你需要购买一瓶果汁,请 绘制出用例图。
28
19:45
练习3
29
图书馆管理系统是对书籍的借阅及师生信息进行统一管 理的系统,具体包括读者的借书、还书、书籍预订;
19:45
19
4.3 注释
在用例建模中,为了更加清楚的描述用例或者参与者,会使用 到注释。
19:45
20
4.4 用例图的作用
用例图是需求分析中的产物,主要作用是描述参与者和用例之 间的关系,帮助开发人员可视化的了解系统的功能。
借助于用例图,系统用户、系统分析人员、系统设计人员、领 域专家能够以可视化的方式对问题进行探讨,减少了大量交流 上的障碍,便于对问题达成共识。
图书馆管理员的书籍借出处理、书籍归还处理、预订信 息处理;
还有系统管理员的系统维护,包括增加书目、删除或更 新书目、增加书籍、减少书籍、增加读者账户信息删除 或更新读者账户信息、书籍信息查询、读者信息查询等。
19:45
第一题答案
30
班级信息管理用例图
成绩管理用例图 19:45
31
网上选课用例图
19:45
4
1.2 UML能做什么? ① 提供了便于不同人之间有效地共享和交流设计结果的机制。
UML作为通用的可视化建模语言,用于对软件进行描述、可 视化处理、构造和建立软件系统制品的文档。 ② 它记录了对必须构造的系统的决定和理解,可用于对系统的 理解、设计、浏览、配置、维护和信息控制。 ③ UML 适用于各种软件开发方法、软件生命周期的各个阶段、 各种应用领域以及各种开发工具,UML 是一种总结了以往 建模技术的经验并吸收当今优秀成果的标准建模方法。

UML概述

UML概述

45
UML的基本视图
UML的五类基本视图;
UML的用例视图; UML的逻辑视图; UML的构件视图; UML的并发视图; UML的配置视图。
2020/1/4
成都信息工程学院软件工程系
2020/1/4
成都信息工程学院软件工程系
33
场景(Scenarios)
场景用于刻画构件之间的相互关系,将四个视 图有机地联系起来。可以描述一个特定的视图 内的构件关系,也可以描述不同视图间的构件 关系。
2020/1/4
成都信息工程学院软件工程系
34
UML中的图和各视图的对应关系
场景视图:用例图 逻辑视图:类图和对象图 开发视图:类图和组件图 进程视图:顺序图、协作图、状态图、活
2020/1/4
成都信息工程学院软件工程系
3
Rational三剑客
Jim Rumbaugh Ivar Jacobson
Grady Booch
2020/1/4
成都信息工程学院软件工程系
4
方法学大 战阶段
UML的历史
统一阶段

标准化阶 段
众 反

工业化阶 段
2020/1/4
成都信息工程学院软件工程系
依赖( dependency)
依赖关系描述一个元素对另一个元素的依附。
聚合(aggregation)
描述元素之间整体和部分的关系
2020/1/4
成都信息工程学院软件工程系
15
图(diagram)
UML模型图(5类,9种): 用例图 静态图(类图,对象图) 行为图(状态图,活动图) 交互图(顺序图,协作图) 实现图(构件图,配置图)

UML(UnifiedModelingLanguage统一建模语言)

UML(UnifiedModelingLanguage统一建模语言)

UML(UnifiedModelingLanguage统⼀建模语⾔)UML(Unified Modeling Language 统⼀建模语⾔),⼜称标准建模语⾔。

是⽤来对软件密集系统进⾏可视化建模的⼀种语⾔。

UML是⼀种⾯向对象的建模语⾔,它可以实现⼤型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建⽴各种所需的⽂档,是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的建模语⾔。

UML基本内容详述(1)视图 视图是表达系统的某⼀⽅⾯特征的UML建模元素的⼦集;试图并不是图,它是由⼀个或多个图组成的对系统某个⾓度的抽象。

1)⽤例视图(核⼼视图) 强调从⽤户的⾓度看到的或需要的系统功能。

2)逻辑视图 该视图⽤于描述系统内实现的逻辑功能,展现系统的静态或结构组成及特征。

3)组件视图 该视图从系统实现的⾓度来描述模型对象间的关系。

4)配置视图 该视图⽤于说明系统的物理配置。

(2)图表 图表是描述视图内容的图。

1)⽤例图 ⽤于描述外部项与系统提供的使⽤事件之间的联系。

⼀个使⽤事件是系统提供的功能的具体描述,是系统分析⼈员从⽤户⾓度描述系统的功能,是功能与功能之间以及功能与⽤户之间的关系。

使⽤事件定义了系统的功能需求。

简单理解:⽤来描述系统的功能。

2)类图 ⽤于描述系统的静态结构。

类可以⽤不同⽅式连接,主要包括联合、依赖、独⽴和包装。

⼀个系统⼀般有多张类图,⼀个类可在不同的视图中出现。

3)对象图 ⽤于表述系统在某个时刻的静态结构。

对象图也可作为协作图的⼀部分,说明⼀组对象之间的动态协作关系。

对象图与类图的区别:对象图表⽰的是类中的许多对象实例,⽽不是类本⾝。

4)状态图 ⽤于说明类中的对象可能具有的状态,以及由时间引起的状态的改变。

简单理解:描述了系统元素的状态条件和响应。

5)顺序图(时序图) ⽤于描述对象间的动态协作关系。

表达了对象间发⾏消息的时序,同时也表达出对象间的相互作⽤,以及当系统执⾏到某个特定位置时可能会发⽣的事。

2统一建模语言UML

2统一建模语言UML

出现的方式

多态性
(section 2.3.2)
capturing use of single action word to represent different things,
depending on context根据上下文,捕获单一行为词表示的不同内 容
Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.

2.1面向对象开发方法
面向对象的目标: 为实现现实世界和设计中的结构单元间提供直接映射。 基本概念: 类,对象,聚集,消息,客户 面向对象方法的优势: 面向对象的特点:继承,多态,接口,封装 简化开发过程 支持软件复用 改善软件结构
面和向对象以前
Real world concepts
第二章 统一建模语言UML
主要内容
面向对象的设计开发方法 面向对象的目标 面向对象的概念 面向对象的特点 面向对象方法的优势
UML概述
UML的产生发展 UML的基本组成
UML建机制
UML静态建模 类图,对象图,包图,构件图,组合结构图,部署图 UML动态建模 活动图,顺序图,通信图,交互图,时序图,状态图,用例
继承
相对于结构化编程中 的模块重用,面向对 象中的继承体系显得 更灵活,对代码的控 制手段更多,从而推 动了代码复用的程度, 但却加大了学习掌握 的难度。
电子邮件创建示例的需求 Page 1 of 4
1. 概要: Produces e-mail text for various types of customers.给不同类型的用户撰写 电子邮件

第2章 UML通用知识点概述

第2章 UML通用知识点概述

2、图
序 列 图
序列图显示了一个具体用例或者用例的一部分的一个详细流程。它几 乎是自描述的,序列图不仅可以显示了流程中不同对象之间的调用关系, 还可以很详细地显示对不同对象的不同调用。 序列图有两个维度:垂直维度,也称时间维度,以发生的时间顺序显 示消息或调用的序列;水平维度显示消息被发送到的对象实例。
UML统一建模语言
二、常用的UML元素分析
1、视图
活 动 视 图
活动视图是一种特殊形式的状态机视图,是状态机的一个变体,用 来描述执行算法的工作流程中涉及的活动。 通常活动视图用于对计算流程和工作流程建模。活动视图中的状态 表示计算过程中所处的各种状态。 活动视图是在假定整个计算处理的过程中没有外部事件引起的中断 的条件下进行描述的,否则普通的状态机更加适合于描述这种情况。
UML统一建模语言
二、常用的UML元素分析
2、图
用 例 图
用例图描述了系统提供的一 个功能单元。用例图的主要目的 是帮助开发团队以一种可视化的 方式理解系统的功能需求,包括 基于基本流程的“角色”关系, 以及系统内用例之间的关系。 使用用例图可以表示出用例 的组织关系,这种组织关系包括 整个系统的全部用例或者是完成 相关功能的一组用例。 在用例图中画出某个用例方 式是在用例图中绘制一个椭圆, 然后将用例的名称放在椭圆的中 心或椭圆下面的中间位置。
三、UML的通用机制
2、修饰
在UML的图形表示中,每一个模型元素都有一个基本符号,这个基本 符号可视化地表达了模型元素最重要的信息。 用户也可以把各种修饰细节加到这个符号上以扩展其含义。这种添加 修饰细节的做法可以为图中的模型元素在一些视觉上的效果上发生一些 变化。
UML统一建模语言
三、UML的通用机制

《统一建模语言UML》课程介绍

《统一建模语言UML》课程介绍

《统一建模语言UML》课程介绍一、课程概况英文名:Unified Model Language开课单位:计算机学院课程编码:203082学分学时:52学时(含12个实验学时)授课对象:软件工程专业本科学生先修课程:《软件工程》、《面向对象分析与设计》课程目的和主要内容:本课程以介绍面向对象的统一建模语言UML为主,目的是了解面向对象技术的基本概念,掌握面向对象的分析和设计方法,以及与面向对象技术相关的一些软件开发技术,同时掌握在Rose环境下用UML进行分析和设计的要求。

学会使用UML(Unified Modeling Language)这一建模工具,掌握面向对象建模所必需的描述手段和处理方法,为科学研究中的软件开发工作奠定良好基础;同时培养学生的分析能力、设计能力和工程思想,以提高学生的科学研究素质。

使用教材:《面向对象技术UML教程》,软件工程系列,王少锋编著,清华大学出版社《统一建模语言UML》教学大纲二、课程概况英文名:Unified Model Language开课单位:计算机学院课程编码:203082学分学时:52学时(含12个实验学时)授课对象:软件工程专业本科学生先修课程:软件工程、面向对象分析与设计课程目的和主要内容:本课程以介绍面向对象的统一建模语言UML为主,目的是了解面向对象技术的基本概念,掌握面向对象的分析和设计方法,以及与面向对象技术相关的一些软件开发技术,同时掌握在Rose环境下用UML进行分析和设计的要求。

学会使用UML(Unified Modeling Language)这一建模工具,掌握面向对象建模所必需的描述手段和处理方法,为科学研究中的软件开发工作奠定良好基础;同时培养学生的分析能力、设计能力和工程思想,以提高学生的科学研究素质。

二、课程内容第一章(3学时)UML概述1.1(1学时)UML的历史、特点与构成1.2(1学时)UML的应用领域1.3(1学时)支持UML的工具第二章(3学时)面向对象技术概述1.1(1学时)软件工程概述1.2(1学时)控制软件复杂性的基本方法1.3(1学时)面向对象领域中的基本概念第三章(6学时)用例和用例图1.1(1学时)用例、参与者及脚本1.2(2学时)用例间的关系1.3(2学时)用例图的构成及实例第四章(8学时)顺序图和协作图1.1(2学时)交互图概述及顺序图的构成1.2(2学时)顺序图中的各种消息1.3(2学时)协作图的构成及其建立步骤1.4(1学时)顺序图和协作图的比较及工具支持第五章(8学时)类图和对象图1.1(1学时)类的属性及操作1.2(2学时)类之间的关系1.3(2学时)派生1.4(2学时)3种主要的类版型1.5(1学时)类图和对象图的构成第六章(8学时)状态图和活动图1.1(1学时)状态图概述1.2(3学时)状态图中的基本概念及其支持工具1.3(3学时)活动图中的基本概念及其支持工具1.4(1学时)状态图和活动图两者比较第七章(6学时)构件图和部署图1.1(1学时)构件和构件图的概念及作用1.2(2学时)支持构建图的工具1.3(1学时)部署图和部署图中的概念1.4(2学时)支持部署图的工具实验(12学时)1.安装及使用UML开发工具Rational Rose 2003和Microsoft的Visio 20032.使用开发工具绘制项目案例中所涉及的用例图、顺序图、协作图3.使用开发工具绘制项目案例中所涉及的类图、对象图、状态图、活动图、构件图、部署图4.按照软件开发流程绘制图书借阅系统中的各种图例。

第二章 统一建模语言UML

第二章 统一建模语言UML

Person
JoeSmith:Person
:Person

对象
Person name birthdate changeJob changeAddress
File fileName sizeInBytes printFile
类名: 属性:
ClassName (visibility) attributeName1 : dataType1 = defaultValue1 (visibility) attributeName2 : dataType2 = defaultValue2 (visibility) Operation1(argumentList1) : resultType1 (visibility) Operation2(argumentList2) : resultType2
hasCapital
2. 一对多关系 一对多关系:
类图 人 人名 1 驾驶 小汽车
*
小汽车名
驾驶
帕沙特: 帕沙特 小汽车 小车名=“帕沙特” 小车名 帕沙特” 帕沙特
孙悟空: 孙悟空 人 对象图 人名=“孙悟空” 人名 孙悟空” 孙悟空
驾驶 富康:小汽车 富康 小汽车 小车名=“富康” 小车名 富康” 富康 驾驶 标志:小汽车 标志 小汽车 小车名=“标志” 小车名 标志” 标志
易于使用,表达能力强,进行可视化建模; 与具体的实现无关,可应用于任何语言平台和工具平台; 与具体的过程无关,可应用于任何软件开发的过程; 为面向对象的设计与开发中涌现的高级概念( 为面向对象的设计与开发中涌现的高级概念(如 协作 框架 模式和组件)提供支持; 模式和组件) 可升级,具有广阔的适用性和可用性。
第二章 统一建模语言

UML复习资料(完整)

UML复习资料(完整)

2011UML复习题纲一、选择、判断、填空第一章UML与面向对象1、UML(Unified Modeling Language,统一建模语言)是软件和系统开发的标准建模语言,它主要以图形的方式对系统进行分析、设计。

2、UML是在多种面向对象分析与设计方法相互融合的基础上形成的,是一种专用于系统建模的语言。

它为开发人员与客户之间,以及开发人员之间的沟通与理解架起了“桥梁”。

3、UML不是开发工具,只是建模语言。

4、OOA三种基本模型:功能模型、对象模型、动态模型。

5、软件是程序、数据和相关文档的完整集合。

6、软件开发过程分为如下几个阶段:需求分析、总体设计、详细设计、编程与测试、维护。

7、面向对象的软件工程方法包括面向对易用的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)。

8、软件方法学包含3个要素:方法、工具和过程。

9、对象是现实世界中一个实际存在的事物,它可以是看得见摸得着的东西。

10、类是一组具有相同属性的操作的对象集合,它为所有属于该类的对象提供了统一的描述。

11、封装是指将对象属性和操作结合在一起,构成一个独立的对象。

封装使得对象属性和操作紧密结合在一起,这反映了事物的状态特性与动作是事物不可分割的特征。

12、继承是指子类可以拥有父类的全部属性和操作,继承是OO方法的一个重要的概念,并且是OO技术可以提高软件开发效率的一个重要原因。

13、多态性是指在父类中定义的属性和操作被子类继承后,可以具有不同的数据类型或表现出不同的行为。

14、OO开发中的三层设计:问题域类、GUI类和数据访问类。

15、面向对象设计准则:模块化、抽象、信息隐藏、低耦合、高内聚。

16、UML的构成:元元模型层、元模型层、模型层、用户模型层。

17、UML的核心是由视图、图、模型元素、通用机制组成。

18、UML中的视图细分:(1)用例视图(用例视图强调从系统的外部参与者角度需要的功能,描述系统应该具有的功能);(2)逻辑视图(逻辑视图的使用者主要是设计人员和开发人员,描述用例视图提出的系统功能的实现);(3)并发视图(并发视图的使用者主要是开发人员和系统集成人员,它主要考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理);(4)组件视图(组件是不同类型的代码模块,它是构造应用的软件单元。

UML建模语言 ppt课件

UML建模语言 ppt课件

2021/3/26
20 UML建模语言 ppt课件
手机类图案例分析2
请用UML类图描述如下关系: • 每个品牌的手机开关机的功能相同 • 每个品牌备wifi功能,但是普通手
机不具备此功能、而有些手机具有蓝牙的功能 • 所有手机都可以打电话,发短信
2021/3/26
21 UML建模语言 ppt课件
时序图(Sequence Diagram)
• 时序图(Sequence Diagram)是强调消息时间 顺序的交互图。时序图描述类系统中类和类之间 的交互,它将这些交互建模成消息交换。时序图 是一个模型,用于描述对象组如何随着时间在某 些行为方面进行协作。

1. UML介绍

2. 用例图
3. 类图
4. 顺序图
5. 状态图
UML介绍
• 什么是软件危机 • 什么是软件工程 • UML概念、发展、意义
2021/3/26
2 UML建模语言 ppt课件
UML用例图
• 用例图概述 • 用例图包含的2元素4关系 • 用例图实例:京东商城用例图
2021/3/26
}
2021/3/26
14 UML建模语言 ppt课件
类图—泛化关系(generalization)
• 泛化关系实际上就是继承关系,他是依赖关系的 特例
public abstract class DaoSupport{ public void save(Object entity){ } public void delete(Object id){ }
单向一对 一关系
Person 1
-card IDCard 1
双向一对 一关系
Person -person 1

软件工程 UML建模语言

软件工程 UML建模语言
关联的表示
关联分为二元关联(binary)、三元关联(ternary)、 多元关联(higher order)。
人员 雇用 公司
二元关联的例
(人员) 雇用 (公司)
张涛
通大
链的例子
(a) 二元关联
项目 ◆ 语言

三元关联的例
(项目)
CAD系统

(人) 李波
链的例子
(语言)
C ++
关联
(b)三元关联
5.2.3 关联的表示
通常,开发一个计算机系统是为了解决某个领域 特定问题,问题的求解过程,就是从领域问题到计算 机系统的映射。
2.为什么要建模?
鉴于软件系统的复杂性和规模的不断增大,需要 建立不同的模型对系统的各个层次进行描述。
软件模型包括:数学模型、描述模型和图形模型。 便于开发人员与用户的交流。
模型为以后的系统维护和升级提供了文档。
Use case View描述
系统的外部特性、系
包括结构模型视 图和行为模型视
统功能等。
图,前者描述系
统的静态结构(类 图、对象图),后 者描述系统的动 态行为(交互图、
设计视图
实现视图
Use case 视图
状态图、活动图)。 过程视图
配置视图
UML常用视图
Implementation View 表示系统
依赖
关联
泛化(继承)
组合
细化
聚合
连接关系
关联:连接(connect)模型元素及链接(link)实例。 依赖:表示一个元素以某种方式依赖于另一种元素。 泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关 系的泛化。 聚合:表示整体与部分的关系。

标准建模语言UML教程2

标准建模语言UML教程2

返回总目录目录第2章 UML语言概述 (2)2.1 视图 (2)2.2 图 (4)2.3 模型元素 (10)2.4 通用机制 (11)2.5 扩展机制 (12)2.6 用UML建模 (14)2.7 工具的支持 (16)第2章 UML 语言概述统一建模语言Unified Modeling Language 简称UML 的应用领域很广泛它可以用于商业建模business modeling 软件开发建模的各个阶段也可以用于其他类型的系统它是一种通用general 的建模语言具有创建系统的静态结构和动态行为等多种结构construction 模型的能力UML 语言本身并不复杂也不很专业化它具有可扩展性和通用性适合为各种多变的系统建模本章主要介绍UML 语言的概况使大家了解UML 的结构和基本元素基本元素只给出简要的描述更详细深入的讨论将在后继章节中叙述因此读者在本章的学习中只要知道与UML 有关的概念即可并不需要完全理解图例UML 由视图views 图Diagrams 模型元素Model elements 和通用机制general mechanism 等几个部分构成视图用来表示被建模系统的各个方面从不同的目的出发建立为系统建立多个模型这些模型都反映同一个系统且具有一致性视图由多个图Diagrams 构成它不是一个图片graph 而是在某一个抽象层上对系统的抽象表示如果要为系统建立一个完整的模型图只需定义一定数量的视图每个视图表示系统的一个特殊的方面就可以了另外视图还把建模语言和系统开发时选择的方法或过程连接起来图由各种图片graph 构成用来描述一个视图的内容UML 语言定义了种不同的图的类型把它们有机地结合起来就可以描述系统的所有视图模型元素代表面向对象中的类对象消息和关系等概念是构成图的最基本的常用概念一个模型元素可以用在多个不同的图中无论怎样使用它总是具有相同的含义和相同的符号表示通用机制用于表示其他信息比如注释模型元素的语义等另外它还提供扩展机制使UML 语言能够适应一个特殊的方法或过程或扩充至一个组织或用户2.1 视 图给复杂的系统建模是一件困难和耗时的事情从理想化的角度来说整个系统像是一张画图这张图画清晰而又直观地描述了系统的结构和功能既易于理解又易于交流但事实上要画出这张图画几乎是不可能的因为一个简单的图画并不能完全反映出系统中需要的所有信息描述一个系统涉及到该系统的许多方面比如功能性方面它包括静态结构和动态交互非功能性方面定时需求可靠性展开性等和组织管理方面工作组映射代码模块等完整地描述系统通常的做法是用一组视图反映系统的各个方面每个视图代表完整系统描述中的一个抽象显示这个系统中的一个特定的方面每个视图由一组图构成图中包含了强调系统中某一方面的信息视图与视图之间有时会产生轻微的重叠从而使得一个图实际上可能是多个视图的一个组成部分如果用不同的视图观察系统每次只集中地观察系统的一个方面视图中的图应该简单易于交流且与其他的图图用图形符号表示图符号代表系统中的模型元素和视图有关联关系UML中的视图包括用例视图Use-case view逻辑视图Logical view组件视图Component view并发视图Concurrency View展开视图Deployment View等五种能够使用的其他视图还有静态动态视图逻辑物理视图工作流程workflow等视图但UML语言中并不使用这些视图它们是UML语言的设计者意识中的视图因此在未来的大多数CASE工具中有可能包含这些视图当用户选择一个CASE工具作图diagram的时候一定要保证该工具能够容易地从一个视图导航navigate到另一个视图另外为了看清楚一个功能在图中是怎样工作的该工具也应该具备方便地切换至用例视图或展开视图的长处因为用例视图下可以看到该功能是怎样被外部用户描述的展开视图下可以看到物理结构中该功能是怎样分布的即确定在哪台计算机中得到该功能2.1.1用例视图用例视图Use-case view用于描述系统应该具有的功能集它是从系统的外部用户角度出发对系统的抽象表示用例视图所描述的系统功能依靠于外部用户或另一个系统触发激活为用户或另一个系统提供服务实现用户或另一个系统与系统的交互系统实现的最终目标是提供用例视图中描述的功能用例视图中可以包含若干个用例use-case用例用来表示系统能够提供的功能系统用法一个用例是系统用法功能请求的一个通用描述用例视图是其他视图的核心和基础其他视图的构造和发展依赖于用例视图中所描述的内容因为系统的最终目标是提供用例视图中描述的功能同时附带一些非功能性的性质因此用例视图影响着所有其他的视图用例视图还可用于测试系统是否满足用户的需求和验证系统的有效性用例视图主要为用户设计人员开发人员和测试人员而设置用例视图静态地描述系统功能为了动态地观察系统功能偶尔也用活动图activity diagram描述2.1.2 逻辑视图用例视图只考虑系统应提供什么样的功能对这些功能的内部运作情况不予考虑为了揭示系统内部的设计和协作状况要使用逻辑视图描述系统逻辑视图Logical view用来显示系统内部的功能是怎样设计的它利用系统的静态结构和动态行为来刻画系统功能静态结构描述类对象和它们之间的关系等动态行为主要描述对象之间的动态协作当对象之间彼此发送消息给给定的函数时产生动态协作一致性persistence和并发性concurrency等性质以及接口和类的内部结构都要在逻辑视图中定义静态结构在类图和对象图中描述动态建模用状态图序列图协作图和活动图描述2.1.3 组件视图组件视图Component view用来显示代码组件的组织方式它描述了实现模块implementation module和它们之间的依赖关系组件视图由组件图构成组件是代码模块不同类型的代码模块形成不同的组件组件按照一定的结构和依赖关系呈现组件的附加信息比如为组件分配资源或其他管理信息比如进展工作的进展报告也可以加入到组件视图中组件视图主要供开发者使用2.1.4 并发视图并发视图Concurrency View用来显示系统的并发工作状况并发视图将系统划分为进程和处理机方式通过划分引入并发机制利用并发高效地使用资源并行执行和处理异步事件除了划分系统为并发执行的控制线程外并发视图还必须处理通信和这些线程之间的同步问题并发视图所描述的方面属于系统中的非功能性质方面并发视图供系统开发者和集成者integrator使用它由动态图状态图序列图协作图活动图和执行图组件图展开图构成2.1.5 展开视图展开视图Deployment View用来显示系统的物理架构即系统的物理展开比如计算机和设备以及它们之间的联接方式其中计算机和设备称为结点node它由展开图表示展开视图还包括一个映射该映射显示在物理架构中组件是怎样展开的比如在每台独立的计算机上哪一个程序或对象在运行展开视图提供给开发者集成者和测试者2.2 图图diagram由图片graph组成图片是模型元素的符号化把这些符号有机地组织起来形成的图表示了系统的一个特殊部分或某个方面一个典型的系统模型应有多个各种类型的图图是一个具体视图的组成部分在画一个图时就相当于把这个图分配给某个视图了依据图本身的内容有些图可能是多个视图的一部分UML中包含用例图类图对象图状态图序列图协作图活动图组件图展开图共九种本小节讨论九种图的基本概念关于图的语法含义它们之间怎样交互等所有细节将在后继章节中叙述使用这九种图就可以描述世界上任何复杂的事物这就充分地显示了UML的多样性和灵活性2.2.1用例图用例图use-case diagram用于显示若干角色actor以及这些角色与系统提供的用例之间的连接关系如图2-1所示用例是系统提供的功能即系统的具体用法的描述通常一个实际的用例采用普通的文字描述作为用例符号的文档性质当然实际的用例图也可以用活动图描述用例图仅仅从角色触发系统功能的用户等使用系统的角度描述系统中的信息也就是站在系统外部察看系统功能它并不描述系统内部对该功能的具体操作方式用例图定义的是系统的功能需求关于用例图的图示方法含义等更进一步的介绍放在第三章中客户图2.1 用例图示例2.2.2 类图类图class diagram 用来表示系统中的类和类与类之间的关系它是对系统静态结构的描述如图2-2所示类用来表示系统中需要处理的事物类与类之间有多种连接方式关系比如关联彼此间的连接依赖一个类使用另一个类通用化一个类是另一个类的特殊化或打包packaged多个类聚合成一个基本元素类与类之间的这些关系都体现在类图的内部结构之中通过类的属性attribute 和操作operation 这些术语反映出来在系统的生命周期中类图所描述的静态结构在任何情况下都是有效的一个典型的系统中通常有若干个类图一个类图不一定包含系统中所有的类一个类还可以加到几个类图中在第四章中我们再详细讨论图2-2 金融贸易类图示例2.2.3 对象图对象图是类图的变体两者之间的差别在于对象图表示的是类的对象实例而不是真实的类对象图是类图的一个范例example它及时具体地反映了系统执行到某处时系统的工作状况对象图中使用的图示符号与类图几乎完全相同只不过对象图中的对象名加了下划线而且类与类之间关系的所有实例也都画了出来如图2-3所示图2-3a 的类图抽象地显示各个类及它们之间的关系图2-3b 的对象图则是图2-3a 类图的一个实例表示对象图没有类图重要对象图通常用来示例一个复杂的类图通过对象图反映真正的实例是什么它们之间可能具有什么样的关系帮助对类图的理解对象图也可以用在协作图中作为其一个组成部分用来反映一组对象之间的动态协作关系姓名string 年龄integer名称string 内存integer丁一作家=丁一PC名称Dell 466=64PC名称长城P MMX=64图2-3 对象图与类图示例2.2.4 状态图一般说来状态图是对类所描述事物的补充说明它显示了类的所有对象可能具有的状态以及引起状态变化的事件如图2-4所示事件可以是给它发送消息的另一个对象或者某个任务执行完毕比如指定时间到状态的变化称作转移transition一个转移可以有一个与之相连的动作action 这个动作指明了状态转移时应该做些什么并不是所有的类都有相应的状态图状态图仅用于具有下列特点的类具有若干个确定的状态类的行为在这些状态下会受到影响且被不同的状态改变另外也可以为系统描绘整体状态图关于状态图更进一步的讨论详见第五章和第八章上升楼层图 2.4 电梯的状态图示例2.2.5序列图序列图用来反映若干个对象之间的动态协作关系也就是随着时间的流逝对象之间是如何交互的如图2-5所示序列图主要反映对象之间已发送消息的先后次序说明对象之间的交互过程以及系统执行过程中在某一具体位置将会有什么事件发生序列图由若干个对象组成每个对象用一个垂直的虚线表示线上方是对象名每个对象的正下方有一个矩形条它与垂直的虚线相叠矩形条表示该对象随时间流逝的过程从上至下对象之间传递的消息用消息箭头表示它们位于表示对象的垂直线条之间时间说明和其他的注释作为脚本放在图的边缘对序列图的讨论详见第五章和第八章文件打印文件打印机忙] 存储文件图 2.5 序列图示例2.2.6协作图协作图和序列图的作用一样反映的也是动态协作除了显示消息变化称为交互外协作图还显示了对象和它们之间的关系称为上下文有关由于协作图或序列图都反映对象之间的交互所以建模者可以任意选择一种反映对象间的协作如果需要强调时间和序列最好选择序列图如果需要强调上下文相关最好选择协作图协作图与对象图的画法一样图中含有若干个对象及它们之间的关系使用对象图或类图中的符号对象之间流动的消息用消息箭头表示箭头中间用标签标识消息被发送的序号条件迭代iteration 方式返回值等等通过识别消息标签的语法开发者可以看出对象间的协作也可以跟踪执行流程和消息的变化情况协作图中也能包含活动对象多个活动对象可以并发执行如图2-6所示第五章和第八章详细讨论协作图打印 1.2文件图2.6协作图示例2.2.7活动图活动图activity diagram 反映一个连续的活动流如图2-7所示相对于描述活动流比如用例或交互来说活动图更常用于描述某个操作执行时的活动状况活动图由各种动作状态action state 构成每个动作状态包含可执行动作的规范说明当某个动作执行完毕该动作的状态就会随着改变这样动作状态的控制就从一个状态流向另一个与之相连的状态活动图中还可以显示决策条件动作状态的并行执行消息被动作发送或接收的规范说明等内容活动图在第五章中详述图2.7 活动图示例2.2.8 组件图组件图component diagram 用来反映代码的物理结构代码的物理结构用代码组件表示组件可以是源代码二进制文件或可执行文件组件组件包含了逻辑类或逻辑类的实现信息因此逻辑视图与组件视图之间存在着映射关系组件之间也存在依赖关系利用这种依赖关系可以方便地很容易地分析一个组件的变化会给其他的组件带来怎样的影响组件可以与公开的任何接口比如OLE COM 接口一起显示也可以把它们组合起来形成一个包package 在组件图中显示这种组合包实际编程工作中经常使用组件图如图2-8所示第六章中将进一步详述组件图图2.8 组件图示例2.2.9 展开图展开图deployment diagram用来显示系统中软件和硬件的物理架构通常展开图中显示实际的计算机和设备用结点表示以及各个结点之间的关系还可以显示关系的类型每个结点内部显示的可执行的组件和对象清晰地反映出哪个软件运行在哪个结点上组件之间的依赖关系也可以显示在展开图中正如前面所陈述展开图用来表示展开视图描述系统的实际物理结构用例视图是对系统应具有的功能的描述它们二者看上去差别很大似乎没有什么联系然而如果对系统的模型定义明确那么从物理架构的结点出发找到它含有的组件再通过组件到达它实现的类再到达类的对象参与的交互直至最终到达一个用例也是可能的从整体来说系统的不同视图给系统的描述应当是一致的如图2-9所示关于展开图的讨论放在第六章中详述TCP/IP A Compaq Pro PC BCompaq Pro PC数据库服务器应用服务器Silicon Graphics O2TCP/IP DecNet 图2.9 展开图示例whnd.cpp comhnd.cppcomhnd.objwhnd.objmain.cppmain.obj graphic.dllclient.exe2.3 模 型 元 素可以在图中使用的概念统称为模型元素模型元素用语义元素的正式定义或确定的语句所代表的准确含义来定义模型元素在图中用其相应的视图元素符号表示利用视图元素可以把图形象直观地表示出来一个元素符号可以存在于多个不同类型的图中但是具体以怎样的方式出现在哪种类型的图中要符合依据一定的规则图2-10给出了类对象状态结点包package 和组件等模型元素的符号图例接口图2.10 一些通用的模型元素符号示例模型元素与模型元素之间的连接关系也是模型元素常见的关系有关联association通用化generalization依赖dependency和聚合aggregation 其中聚合是关联的一种特殊形式这些关系的图示符号如图2-11所示通用化继承图2.11 关系的图示符号示例除了上述的模型元素外模型元素还包括消息动作和版类stereotype 所有模型元素的意义和允许的用法在后续章节中解释它们的语义采用非正式的可行方式描述而不采用UML 语言参考手册中的正式定义2.4 通 用 机 制UML 语言利用通用机制为图附加一些信息这些信息通常无法用基本的模型元素表示常用的通用机制有修饰adornment笔记note和规格说明specification 等2.4.1 修饰在图的模型元素上添加修饰为模型元素附加一定的语义这样建模者就可以方便地把类型与实例区别开当某个元素代表一个类型时它的名字被显示成黑体字当用这个元素代表其对应类型的实例时它的名字下面加下划线同时还要指明实例的名字和类型的名字比如类用长方形表示其名字用黑体字书写比如计算机如果类的名字带有下划线它则代表该类的一个对象比如丁一的计算机对结点的修饰方式也是一样的结点的符号既可以是用黑体字表示的类型比如打印机也可以是结点类型的一个实例丁一的HP 打印机其他的修饰有对各种关系的规范说明比如重数multiplicity重数是一个数值或一个范围它指明涉及到关系的类型的实例个数修饰紧靠着模型元素书写2.4.2 笔记无论建模语言怎样扩展它不可能应用于描述任何事物为了在模型中添加一些额外的模型元素无法表示的信息UML 语言提供了笔记能力笔记可以放在任何图的任意位置并且可以含有各种各样的信息信息的类型是字符串UML语言不能解释如果某个元素需要一些解释或说明信息那么就可以为该元素添加笔记通常用虚线把含有信息的笔记与图中的一些元素联系起来如图2-12所示图2.12 笔记图示笔记中可以包含建模者的注释或问题用以提示建模者防止日后出现不清楚该元素的含义等情况笔记中也可以包含版类版类用于描述笔记的类型版类在下一节的扩展机制中详细叙述2.4.3 规格说明模型元素含有一些性质这些性质以数值方式体现一个性质用一个名字和一个值表示又称作加标签值tagged value 加标签值用整数或字符串等类型详细说明UML 中有许多预定义的性质比如文档documentation响应responsibility 持续性persistence 和并发性concurrency 性质一般作为模型元素实例的附加规格说明比如用一些文字逐条列举类的响应和能力这种规范说明方式是非正式的并且也不会直接显示在图中但是在某些CASE 工具中通过双击模型元素就可以打开含有该元素所有性质的规格说明窗口通过该窗口就可以方便地读取信息了2.5 扩 展 机 制UML 语言具有扩展性因此也适用于描述某个具体的方法组织或用户这里我们介绍三种扩展机制版类stereotype加标签值tagged value和约束constrains这三种机制的更详细的讨论在第七章中进行2.5.1 版类版类扩展机制是指在已有的模型元素基础上建立一种新的模型元素版类与现有的元素相差不多只不过比现有的元素多一些特别的语义罢了版类与产生该版类的原始元素的使用场所是一样的版类可以建立在所有的元素类型上比如类结点组件笔记关系关联通用化和依赖UML 语言中已经预定义了一些版类这些预定义的版类可以直接使用从而免去了再定义新版类的麻烦使得UML语言用起来比较简单版类的表示方法是在元素名称旁边添加一个版类的名字版类的名字用字符串用双尖角括号括起来表示如图2-13所示版类也可以用一个图形表示比如图标具体的版类元素的图示方法有三种第一种在元素名称之上写版类名这是一般的表示法第二种是在元素名称旁画出版类的图标图形化表示第三种是把元素名称和版类图标合在一起图2-13图示了这三种表示法客户角色客户图2-13版类的图示方法当一个元素与版类连接在一起后该元素称为指定版类的元素类型比如与版类window 相连的类就称为window版类的类这意味着该类是window类型的了当用户定义版类的时候与之相关的类也要定义比如定义window版类时必须定义window 版类的类图2-13中的客户是具有版类角色的类由于版类角色添加了特别的语义给客户类所以该类代表的是系统的外部角色用户版类是非常好的扩展机制它的存在避免了UML 语言过于复杂化同时也使UML 语言能够适应各种需求很多需求的新模型元素已做成了UML 语言的基础原型prototype 用户可以利用它添加新的语义后定义新的模型元素2.5.2 加标签值在 2.4.3节中已讨论过元素有很多性质性质用名字和值一对信息表示性质也称为加标签值UML 语言中已经预定义了一定数量的性质用户还可以为元素定义一些附加信息即定义性质任何一种类型的信息都可以定义为元素的性质比如具体的方法信息建模进展状况的管理信息其他工具使用的信息用户需要给元素附加的其他各类的信息图2-14表示的是仪器类的性质其中抽象abstract 详细含义见第四章是预定义的性质作者和状态是用户定义的加标签值图2.14 仪器类的性质示例2.5.3 约束约束是对元素的限制通过约束限定元素的用法或元素的语义如果在几个图中都要使用某个约束可以在工具中声明该约束当然也可以在图中边定义边使用图2-15显示的是老年人类与一般人类之间的关联关系显然并不是所有的人都是老年人为了表示只有岁以上的人才能加入老年人类我们定义了一个约束条件年龄属性大于岁的人person.age > 60有了这个条件哪个人属于这种关联关系中也就自然清楚了反过来说假如没有约束条件这个图就很难解释清楚在最坏情况下它可能会导致系统实现上的错误在上述例子中约束被直接定义和应用在了需要使用的图上当然也可以用名字加规格说明的方法定义约束比如老年人和person.age > 60UML 语言中预定义了一部分约束这些约束的具体内容在第七章中讨论图2.15 约束示例。

UML统一建模语言 第二章__UML建模基础知识

UML统一建模语言 第二章__UML建模基础知识
在系统开发中,通常在两个地方需要使用实现关系,一 种是用在接口和实现接口的类或构件之间;另一种是在用例 和实现用例的协作之间。见图2-14。
思考练习题
假设你正在设计一个能显示公司全体成员的制 表系统,公司的员工可填写这个系统中的表格。 在你的设计中,有一个系统类和一个Form(表格) 类。在系统类的众多操作中有一个displayForm类, 系统所要显示 的表格取决于用户选择的表格。
六、物理视图
物理视图是对应有自身的实现结构建模,如系统 的构件组织情况以及运行节点的配置等。包含了两种 视图,分别是实现视图和部署视图。
实现视图将系统中可重用的块包装成为具有可代替 性的物理单元,这些单元被称为构件。实现视图用构 件及构件间的接口和依赖关系来表示设计元素(如类) 的具体实现。
部署视图表示运行时的计算资源的物理布置。这些 运行资源被称为节点。在运行时,节点包含构件和对 象。
关联关系是指事物之间的一种结构关系,在系统 开发中经常使用,系统元素之间的关系如果不能明 显地由其他三类关系来表示,都可以被抽象为关联 关系。
关联关系可以是聚集、组成,也可以是没有方 向的普通关联关系。
聚集是一种特殊类型的关联,它描述了整 体和部分之间的结构关系;
组成也是一种关联关系,描述了整体和部 分间的结构关系,只是部分是不能离开整 体而独立存在的。见图2-12
三、泛化关系
泛化关系是指事物之间的一种特殊/一般关系,特殊元素 (子元素)的对象可替代一般元素(父元素)的对象,也就 是在面向对象中提及的继承。
子元素具有父元素的全部结构和行为,并允许在此基础 上再拥有自身特定的结构和行为。见 图2-13。 四、实现关系
实现关系也是UML元素之间的一种语义关系,它描述 了一组操作的规约和一组对操作的具体实现之间的语义关系。

UML建模语言

UML建模语言
顺序图、合作图和活动图 ; 重要性:描述了系统的静态结构和因发
送消息而出现的动态协作关系 。
206
3.构件视图
作用:描述系统代码构件组织和实现模 块,及它们之间的依赖关系 ;
适用对象:设计者、开发者 ; 描述使用的图:构件图 ; 重要性:描述系统如何划分软件构件,
如何进行编程 。
2020/10/17
UML系统建模与分析设计
7
4.进程视图
作用:描述系统的并发性,并处理这些 线程间的通信和同步 ;
适用对象:开发者和系统集成者 ; 描述使用的图:状态图、顺序图、合作
图、活动图、构件图和配置图 ; 重要性:将系统分割成并发执行的控制
线程及处理这些线程的通信和同步 。
1.用例视图
作用:描述系统的功能需求,找出用例 和执行者;
适用对象:客户、分析者、设计者、开 发者和测试者;
描述使用的图:用例图和活动图; 重要性:系统的中心,它决定了其他视
图的开发,用于确认和最终验证系统。
2020/10/17
UML系统建模与分析设计
5
2.逻辑视图
作用:描述如何实现系统内部的功能 ; 适用对象:分析者、设计者、开发者 ; 描述使用的图:类图和对象图、状态图、
第二章 统一建模语言UML
本章目的:
掌握UML特点和基本图标元素的表示符 掌握UML软件系统体系结构的五种视图和
九种基本图 了解UML的用例模型、静态模型、动态模
型的简单建模方法 了解UML的系统体系结构模型 掌握UML与软件开发统一过程
2020/10/17
UML系统建模与分析设计
1
2.1 UML模型系统体系结构
UML五步法又称为模型驱动开发的实例,其中 模型成为过程的中心产品,系统所有知识的中 心储存库。 具体步骤: 1、定义:通过用例图标示系统的需求。添加其 他可清楚显示用例的图。 2、细化:通过活动图中捕获的场景来详细描述 每个需求中的步骤

统一建模语言uml_02

统一建模语言uml_02
2013-7-3 32
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
1. 泛化关系
参与者之间也存在着这种泛化关系 比如,你建模了一个数据库管理员和一个备 份管理员,然后你发现他们的工作中有一部 分是重叠的,那么,你就可以创建一个称为 系统管理员的参与者作为数据库管理员和备 份管理员的泛化
2.3.2 用例
Booch等人在1999年出版的Unified Modeling Language User Guide中将用例定 义为
“若干动作序列集合的描述,包括由系统执行 并产生可观察的、对某参与者有价值的结果的 变体”
Rational统一过程(Rational Unified Process, RUP)将用例定义为
2013-7-3
11
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
2.3.1 参与者
planner
图2-1 参与者的符号
2013-7-3
12
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
2.3.1 参与者
在UML2.0中,参与者的符号被表示为图2-2 的形式:
2.3.2 用例
Storage System
Stock In
Stock Out storeman Estimate Available Inventory
图2-7 库管员的系统边界
2013-7-3 25
袁涛 孔蕾蕾
统一建模语言UML -用例图 ( Use Case Diagram )
2.3.2 用例
2.3用例图的表示方法

UML软件建模语言入门

UML软件建模语言入门

软件架构师培训课程之一U M L建模语言入门讲师:廖素文福州特力惠电子有限公司内部资料2008-10-31序言学习UML,不仅仅是学习UML的语法和使用方法,更是学习UML代表的由若干世界级面向对象设计大师总结的OOA和OOD的设计方法和最佳实践。

而且,在我看来,UML的学习内容甚至以后者为主。

只有透彻理解了面向对象设计的基本理论,才可能理解用以表达面向对象软件系统的模型的语言――UML,另一方面,如果理解了面向对象设计的基本理论并有一定的面向对象分析、设计和编程经验,那末UML的学习就简化为一种文档化的技巧而已。

由此可见,UML学习,首先是面向对象的分析、设计和编程的方法的学习,是组件化的、松耦合的有良好体系结构的软件系统的架构设计的研究。

如果软件没有良好的体系结构,或者没有采用面向对象分析设计、编程,即使采用UML也无法建立良好的模式,甚至无法用UML表达出来。

目前,关于UML的书籍可以说是汗牛充栋。

由于UML在软件建模方面独步天下,因此大量的书籍介绍UML的使用。

拜师要拜名师、读书要读经典,UML类的书籍,自然以UML三巨头(Grandy Booch、James Rumbaugh、Ivar Jacobson)和Martin Fowler为代表的UML国际级的大师的著作为上上之选。

其中Grady Booch、James Rumbaugh、Ivar Jacobson著《UML用户指南》和《UML参考手册》(上面两本书目前已经到第二版),Martin Flower 著《UML精粹第三版—对象模型语言标准简介》最为著名和优秀。

《UML用户指南》全面的介绍了UML基本概念,是良好的UML入门书籍。

《UML参考手册》详细介绍UML的各中语法和词汇,是一本不可多得的详尽的参考书。

而《UML精粹第三版》中,Martin Fowler 以一贯的口语化的笔法生动的讲解了UML中最常用的部分,也是一本适合的入门书籍。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章UML建模语言介绍1、UML(统一建模语言),统一了:Booch方法、OMT方法、OOSE方法的概念和表示法。

2、UML:一种通用的、标准的、可视化的建模语言,能让系统构造者用标准的、易于理解的方式建立起项目中所有静态结构和动态行为,便于不同的人之间有效的共享和交流工作结果。

3、UML的特点:一、统一了面向对象方法的基本概念。

1、UML是在Booch方法、OMT方法、OOSE方法的基础上发展起来的,是这些方法的延续和发展。

2、消除了不同方法在表示法和术语上的差异,3、避免了在符号表示和理解上不必要的混乱。

二、强大的建模能力。

1、吸收了不同面向对象方法的长处,2、融入了其他面向对象方法的可取之处,其中也包括非面向对象方法的影响,3、汇入了面向对象领域中很多先进思想,4、UML表达能力更强,表示更清晰一致,建模能力更强。

三、提出了很多新概念。

1、UML符号表示涵盖了很多方法的图形表示,2、删除了大量容易引起混乱的、多余的和极少使用的符号,3、增加了一些新符号,4、提出了一些新概念,如,构造型、职责、扩展机制、线程、模式、合作图和活动图等。

四、独立于开发过程。

1、UML是一个标准的图形表示法,2、它不是面向对象的分析和设计,也不是一种方法,只是一组符号。

3、UML只是一种建模语言,与具体软件开发过程无关,因此独立于开发过程。

4、可用于软件开发过程,支持从用户需求到测试的各个开发阶段。

五、易于掌握。

UML概念明确,表示方法简洁明了,图形结构清晰,因此易于掌握。

4、UML的目标是:以面向对象图的方式来描述任何类型的系统。

5、UML的用途说明:一、以面向对象图的方式来描述任何类型的系统。

具有很广泛的应用领域,最常见的是:建立软件系统的模型,同样可以用于描述非软件领域的系统。

二、适用于系统开发过程中的不同阶段。

(适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。

)1、系统分析和设计。

A、在需求分析阶段,可以用用例来捕获用户需求。

B、分析阶段主要关心问题域中的主要概念和机制,需要识别这些类,以及它们相互间的关系,并用UML类图来描述。

2、编程。

一个独立的阶段,任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。

3、测试。

UML模型还可以作为测试阶段的依据。

系统通常需要经过:A、单元测试(使用类图和类规格说明做为测试依据)、B、集成测试(使用构件图和合作图做为测试依据)、C、系统测试(使用用例图来验证系统的行为作为测试依据)和D、验收测试(由用户进行)。

6、UML的发展历史变革:1、面向对象建模语言出现于20世纪70 年代中期。

2、1989年到1994年面向对象语言从10余种发展到50余种,爆发了一场方法大战。

3、最引人注意的是Booch方法、OMT方法、OOSE方法。

4、Booch是面向对象最早的提倡者之一,提出了面向对象软件工程的概念。

适合于系统的设计和构造。

5、OMT(对象建模技术)采用了面向对象的概念,引入各种独立于语言的表示符。

OMT2适用于分析和描述以数据为中心的信息系统。

6、OOSE(面向对象软件工程)方法是由Jacobson于1994年提出,最大特点是面向用例,在用例的描述中引入了外部角色的概念。

OOSE适合支持商业工程和需求分析。

7、1994年10月,Booch和Rumbaugh将Booch和OMT统一起来,1995年10月发布了第一个公开版本UM0.8。

8、1995年秋,Jacobson加入,三人一起努力,1996年6月和10月发表了UML0.9和UML0.91,将UM命名为UML。

9、1996年成立了UML会员协会。

10、1997年1月和7月公布了UML1.0和UML1.1版本。

11、1997年11月,OMG(对象管理组织)采纳了UML1.1作为面向对象技术的标准建模语言。

7、UML建模型语言的描述方式:以标准的图形表示为主8、UML模型图由:元素、关系和图构成。

9、元素:是UML模型中最基本的构成元素,是具有代表性的成分的抽象。

10、关系:把元素紧密联系在一起。

11、图:是元素和关系的可视化表示。

12、UML表示法:提供标准的图形符号和正文语法。

13、UML的图形表示法:1、用例图。

从用户的角度描述系统功能,并指出各功能的操作者,用于描述表示系统的功能。

2、静态图。

包括类图、对象图及包图,用于描述系统的静态结构。

3、行为图。

包括状态图和活动图。

用于描述系统的动态行为和对象之间的相互关系。

4、交互图。

包括序列图和合作图,用于描述系统的对象之间的动态合作关系。

5、实现图。

包括构件图和部署图。

用于描述系统的物理实现。

14、十种图也可分为:1、静态模型图(类图、对象图、包图、构件图、部署图)描述的是系统的与时间不相关的属性和行为。

2、动态模型图(用例图、状态图、活动图、序列图和合作图)描述了系统随时间变化的行为。

15、UML的通用模型元素:构造型元素和基元素。

16、模型元素:由构造型元素和基元素组成。

是UML构造系统各种模型的元素,是UML构建模型的基本单位。

17、基元素:指由UML定义的模型元素。

(类、对象、节点、包、构件、注释、关联、依赖、泛化等)18、构造型元素:是指在基元素的基础上增加新的定义而构造的新的模型元素,是UML的一种扩展机制。

简称构造型。

19、构造型元素:用带有一对尖括号的字符串表示。

如:<使用>、<扩展>泛化关系的构造型元素。

20、常见的关系有:关联、依赖、泛化。

21、关联关系:一种结构关系,主要是指两个元素间的相互联接结构,表示整体和部分的关系。

22、关联关系的图形符号是:一条实线。

23、泛化关系:指出类之间的“一般和特殊”关系,即继承关系。

特殊化元素(子元素)可以共享一般化元素(父元素)的结构和行为。

24、泛化关系的图形符号是:一条带有空心箭头的由特殊元素指向一般化元素的实线。

25、依赖关系:是指两个事物或者元素之间拥有相互影响的关系,当一个事物或者元素发生改变时,会影响到另一个事物。

(其中一个事物或元素是独立、另一个非独立)26、依赖关系的图形符号是:一条带有箭头的由非独立元素指向独立元素的虚线。

27、UML中,类图、包图、构件图和部署图都会用到依赖关系。

28、约束:UML中提供的一种简便、统一和一致的约束,是各种模型元素的一种语义条件或限制,用于类、关系、属性、操作等元素及其基本构成要素的约束条件,这些约束条件描述了这些元素及其构成要素应遵守的限制和应满足的条件。

29、约束的图形符号:由一对花括号括起约束的内容。

30、约束的示例:{abstract}:用于类的约束,表明该类是一个抽象类。

{complete}:用于关系的约束,表明该分类是一个完全分类。

{hierarchy}:用于关系的约束,表明该关系是一个分层关系。

{xor}:用于关联的约束,称为“或约束”,即某时刻只有一个当前的关联实例。

31、细化:两个元素A和B,若B元素是A元素的详细描述,则称为B元素细化A元素。

细化关系表示了元素之间更详细的一层描述。

32、细化的图形符号:用两个元素之间带空心三角箭头的虚线来表示,箭头的方向由细化的元素指向被细化的元素。

33、注释:用于对UML的元素或实体进行说明、解释和描述,通常用自然语言进行注释。

34、注释的图形符号:注释由注释体和注释连接组成。

图形符号是由一个矩形,其右上角翻下,矩形中间标注释注释的内容;注释连线用虚线表示,它把注释体和被注释的元素或实体连接起来。

35、用例图符号表示:由用例(一个椭圆形表示),参与者(直立人形图表示)和关联线(实线)组成。

用例属于系统内部,装入矩阵内,参与者是系统外部,放在矩阵外面。

36、用例图的组成:用例、参与者、关联线。

37、用例图:从用户角度描述系统功能,并指出各功能的操作者,用于描述表示系统的功能。

38、用例图的作用:1、用例是系统提供的一个功能单元,2、从用户角度对系统行为的一个描述,3、从用户的角度来描述系统需求,4、用例图就是参与者、用例以及它们之间的关系构成的用于描述系统功能的模型图,5、用例图主要用于对系统功能进行建模,F:帮助开发团队以一种可视化的方式理解系统的功能我需求。

6、它是从系统外部看系统功能,并不描述系统内部对功能的具体实现。

39、参与者:是与所建系统交互的人或事物,可以是实际的人,也可以是其他系统或事物,是系统的一部分,是用例图的重要组成部分,是系统的外部实体,放在矩阵外面。

40、类图:一个类是一类或者一组具有类似属性和共同行为的事物。

类图由系统中使用的类以及它们之间的关系组成。

41、类图的作用:1、描述系统中类的静态结构,2、不仅定义系统中的类,3、表示类之间的联系,如关联、依赖、聚合等,4、也包括类的内部结构(类的属性和操作)。

42、类图的表示:类在类图上使用包含三个区域的矩形来描述。

最上面是:类名,中间区域是:类的属性,最下面区域是:类的操作。

43、类的属性和方法都具有可见性,表示该属性或方法对类外的元素是否可见。

常见的可见性有:公用、私有、受保护三种。

分别用:“+”、“-”、“#”来表示。

44、状态图:用来描述一个对象所有可能的状态以及状态之间的转移,并给出了状态变化序列的起点和终点。

45、状态图常用的模型元素:状态、转换、初态、终态。

46、状态图的初态:是状态图的起始点,一个状态图只有一个初态,用一个黑点表示。

47、状态图的终态:是状态图的终点,终态可以有多个,用黑点外加一个圆表示。

48、状态图的状态:是一个圆角四边形表示。

带箭头的连线被称为转移,箭头指向目标状态。

状态的转移需要事件的触发。

49、活动图:活动描述的是系统要完成的一个任务或要进行的一个过程。

活动图描述了一组顺序的或并发的活动。

50、活动图作用:应用广泛,1、即可用来描述操作(类的方法)的行为,2、也可描述用例和对象内部的工作过程,3、还可用于表示并行过程。

51、活动图常用的模型元素:活动、起点、终点、转移、对象、条件判断、同步线、信息流和泳道。

52、活动:是活动图中的一个原子活动,是构成活动图的核心元素,用一个圆角的矩形表示,并标上活动名。

53、起点:描述活动图的开始状态,用一个黑色的圆表示,可以有多个起点。

54、终点:描述活动图的终止状态,用一个带圆圈的黑色圆表示,可以有多个终点。

55、转移:描述活动之间的转换,也就是被描述对象的控制流。

转移用带箭头的实线段表示,箭头指向转向的活动,可以在线段上用文字标识转移发生的条件56、对象:活动图中参与的对象,它可以发送信号给活动或是接收活动的信号,也可以表示活动输入/输出的结果。

57、条件判断:描述活动间转换的分支,只有一个流入的信息流,不同的条件下输出的信息流有不同的流向,条件判断用一个菱形表示。

相关文档
最新文档