第2章 UML概述
UML基础教程(很全面的教材)(PDF)

UML
-2-
目录
5.4对消息标签的详细讲解 5.5协作图例子 5.6协作图与顺序图的区别和联系 5.7练习题
6. 状态图
6.1状态图概要 6.2状态图的组成 6.3状态图中的事物及解释 6.4状态的可选活动表 6.5简单的例子:对象的状态图 6.6复杂的例子:网上银行登陆系统 6.7练习
7. 活动图
※ 协作图的一个用途是表示一个类操作的实现
1.5.6 状态图(State Chart Diagram)
※ 状态图是一个类对象所可能经历的所有历程的 模型图。状态图由对象的各个状态和连接这些 状态的转换组成
初始状态
assigned
to
subscription
time out 状态
Available
lock
UML 基础教程
UML
-1-
目录
1. 前言
1.1前言 1.2UML概述 1.3UML事物 1.4UML关系 1.5各UML图及特征 1.6各UML图的关系 1.7UML语法 1.8习题
2. 用例图
2.1用例图概要 2.2用例图中的事物及解释 2.3用例图中的关系及解释 2.4例子 2.5习题
3. 类图
UML
-4-
1. 前言
1.3 UML事物
UML包含4种事物:构件事物 行为事物 分组事物 注释事物 1.3.1 构件事物: UML模型的静态部分,描述概念或物理元素
它包括以下几种:
类:具有相同属性相同操作 相同关系相同语义的对象的描述 接口:描述元素的外部可见行为,即服务集合的定义说明 协作:描述了一组事物间的相互作用的集合 用例:代表一个系统或系统的一部分行为,是一组动作序列的集合 构件:系统中物理存在,可替换的部件 节点:运行时存在的物理元素 另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体
UML概述

UML建模基础——UML概述东软人才实训中心3 Sept. 2008©Neusoft Confidential课程结构1第五章:状态图和活动图2第三章:类图1第四章:交互图1第二章:用例图1第一章:UML 概述、Rose 简介课时(H )内容培训目标•能够使用Rose工具画UML类图•能够看懂用UML表示的设计第一章:UML 概述、Rose 简介学时:1学时教学方法:讲授ppt +上机练习目标:本章旨在向学员简要介绍UML建模的重要性、UML的概念模型,通过本课的学习,学员应该掌握如下知识:1)了解UML的概念模型2)简要介绍UML的“4+1view ”3)了解Rose工具UML概述•什么是UML?–UML: 统一建模语言Unified Modeling Language–UML是由Rational公司三位世界级面向对象技术专家Grady Booch,Ivar Jacobson和Jim Rumbaugh提出的。
–UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
•什么是UML?–不是一种可视化编程语言,而是一种可视化建模语言–不是工具或知识库的规格说明,而是建模语言的规格说明,是一种表示的标准–不是过程,也不是方法,但是允许任何一种过程和方法使用它•什么是模型?–模型就是真实世界的简化–为我们提供一个系统的原型•为什么要建模?–为了更好的理解我们将要或正在开发的系统–是把复杂的系统变成小的系统,采用“各个击破”的原则逐一解决–因为我们通常无法理解一个复杂系统的全部–模型能为我们做什么?•帮助我们对系统进行可视化•允许我们详细说明系统的结构或行为•给出一个指导我们构造系统的模板•对我们做出的决策进行文档化业务流程计算机系统可视化建模可视化建模就是用标准的图形表示法来建模“建模获取系统的关键部分”UML•什么是可视化建模?可视化建模的作用•可视化建模获取业务流程–用例(use case)分析是一种从用户的角度获取业务流程的技术–使用相同的语言,不至于产生歧义–用例分析能让分析师在构建系统之前理解要构建什么可视化建模的作用(续)•可视化建模是一个交流工具–使用相同的语言,不至于产生歧义业务领域计算机领域Logical ViewPhysical View User InterfaceBusiness Logic Database Java JSPC++ JavaSQL•管理复杂性–把3000多个类放在一张图中不好–可视化建模的“包”(package)•把元素模型化成有意义的组合•为不同的人提供不同级别的抽象–软件构架(architecture)•促进复用(reuse)–复用是软件的“圣杯”–不止是复用代码,而是复用建立原始工件时需要的所有分析、设计、实现、测试、文档化–可以有一个类复用、多个类(或一个组件)的复用、应用模式等复用方式–可视化建模让你从复用的角度看,如果想复用工件,什么是可用的UML的概念模型•UML的概念模型–UML建模的三个主要元素•构造块:事物、关系、图•规则:命名、范围、可见性、完整性、执行•公共机制:规范说明、通用划分、扩展机制•UML元素–构造块–事物•对模型中最具有代表性的成分的抽象–关系•把事物结合在一起–图•聚集了相关的事物•UML元素–构造块–事物–结构事物:通常是UML模型的静态部分,描述概念或物理元素•类•接口•用例:通常代表一个需求•协作:表示一个用例的实现•主动类:至少拥有一个进程或线程的类•组件:系统中物理的、可替代的部件,如源代码文件•节点:运行时存在的物理元素,如一个设备•UML元素–构造块–事物(续)–行为事物:是UML模型的动态部分,是模型中的动词•交互(interaction):可描述一个对象群体的行为或单个操作的行为•状态机(state machine):可描述单个类或一组类之间协作的行为–分组事物:是UML中的组织部分•包(package)–注释事物:是UML中的注释部分•注解(note)•UML元素–构造块–关系–关系•依赖(dependency):一个事物发生变化会影响到另一个事物。
第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
UML基础及Rose建模实用教程课后习题及答案

UML根底与Rose建模实用教程课后习题及答案第1章面向对象概述1. 填空题〔1〕软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
〔2〕类是具有一样属性和操作的一组对象的组合,即抽象模型中的“类〞描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
〔3〕面向对象程序的根本特征是抽象、封装、继承和多态。
2. 选择题〔1〕可以认为对象是ABC。
〔A〕某种可被人感知的事物〔B〕思维、感觉或动作所能作用的物质〔C〕思维、感觉或动作所能作用的精神体〔D〕不能被思维、感觉或动作作用的精神体〔2〕类的定义要包含以下的要素ABD。
〔A〕类的属性〔B〕类所要执行的操作〔C〕类的编号〔D〕属性的类型〔3〕面向对象程序的根本特征不包括B。
〔A〕封装〔B〕多样性〔C〕抽象〔D〕继承〔4〕以下关于类与对象的关系的说法不正确的选项是A。
〔A〕有些对象是不能被抽象成类的〔B〕类给出了属于该类的全部对象的抽象定义〔C〕类是对象集合的再抽象〔D〕类用来在存中开辟一个数据区,并存储新对象的属性3. 简答题〔1〕什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维、感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
〔2〕什么是抽象?抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进展简化、将事物特征进展概括、将抽象模型组织为层次构造、使软件重用得以保证。
〔3〕什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:防止对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序的影响。
电子商务系统分析与设计0300UML统一建模语言

练习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概述

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种): 用例图 静态图(类图,对象图) 行为图(状态图,活动图) 交互图(顺序图,协作图) 实现图(构件图,配置图)
2020 智慧树知到 烟台大学郭艳燕《面向对象与UML》山东联盟

D. UML 是一种可视化的建模语言。 正确 本题总得分 20 分
2
【单选题】 (20 分) 以下关于 UML 的叙述中,不正确的是( )
A. UML 也是一种编程语言
B. UML 是一种可视化的建模语言
C. UML 适用于面向对象开发方法
D. UML 适用于软件生命周期的各个阶段 正确 本题总得分 20 分
2
【单选题】 (20 分)
模型的实质是什么?( )
A. 对现实的简化
B. 可视化
C. 对现实的复杂化
D. 便于交流 正确 本题总得分 20 分
3
【单选题】 (20 分)
对软件模型而言,下面说法错误的是(
)
A. 是软件的中间形态
B. 是人员交流的媒介
C. 是软件的标准文档
D. 是软件升级和维护的依据 正确 本题总得分 20 分
D. 面向对象的设计原则 错误 本题总得分 0 分
5
【多选题】 (3 分)
平时分析问题,总要获取哪些方面的信息?(
)
A.
事物之间如何协作完成任务?
B.
事物之间的关系是什么?
C.
事物的特征和行为是什么?
D.
问题中涉及哪些事物?
正确 本题总得分 3 分
第一章-软件建模概述
1
【多选题】 (20 分)
以下对软件建模描述正确的是(
B. 可分解性、可组合性、可分类性
C. 抽象性、继承性、封装性、多态性
D. 继承性、封装性、抽象性
正确 本题总得分 10 分
7
【单选题】 (10 分) 封装是一种( )技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分 开。
UML概述ppt课件精选全文

注释体 用于对UML实体进行文字描述
注释连接
注释连接将注释体与要描述的实体相连。说 明该注释体是对该实体所进行2-
协作图(通讯图)
协作图表示一组对象间关系以及交互活动
协作图可以认为是对象图的扩展,它增加了一些符号用于表 示对象间的交互。协作图和顺序图具有同构性。
指向源同步 消息
表示对象间从目的对象向源对象发送同步消息
指向目的的 同步消息
表示对象间从源对象向目的对象发送同步消息
注释体
注释连接
-35-
示例:协作图
-36-
活动图
活动图:通过动作来组织,主要用于描述某一方法、机制或 用例的内部行为
主要使用场合:业务建模、用例分析
-37-
活动图元语-1
活动 组合活动
1997.1公布 UML 1.0 合作伙伴
业
公
意见
众 1996.6和1996.10 UML 0.9&0.91
化
反
馈 OOPSLA95 Unified Method 0.8
标
准
Booch93 OMT-2
化
Booch91 OOSE
OMT-1 其他方法 统
一
UML基本图
静态模型 (系类统图结 构) class diagrams
转移
用于说明两个对象间存在某种关系,如满足某 个条件并当某一事件发生时,对象将从一个状 态变迁到另一个状态并同时执行一些活动
注释体
注释连接
示例:状态图
顺序图
顺序图:主要用于显示对象间的交互活动,但没有明确的交 互环境和对象状态
主要使用场合:系统分析(用例分析)、设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章UML概述
2.1 UML的发展
UML----统一建模语言(Unified Modeling Language)
进一步定义:是对软件系统中的制品(模型、代码等)进行可视化、详述、构造和文档化的语言。
产生时间:上个世纪九十年代中后期(96/97年)
产生背景:
面向对象方法(OO)出现于20世纪70年代。
从1989~1994年,面向对象建模方法(语言工具)从不到10个猛增到50多个,这些不同的建模方法具有不同的建模符号体系,各自均有不同的特点,用户很难找到一个完全满足自己要求的建模语言工具,这给软件开发和市场带来了混乱。
其中最为流行的方法有以下3个:
1.OMT(Object Modeling Technology对象建模技术)方法:
提出:James Rumbaugh
特点:分析是强项,设计是弱项
2.Booch方法:
提出:Grady Booch
特点:分析是弱项,设计是强项
3.OOSE(Object Oriented Software Engineering--面向对象软件工程)方法:(注:也称Jacobson方法)
提出:Ivar Jacobson
特点:行为分析(use case)是强项,其它是弱项
基于上述原因,有必要博采众家之长,建立一个标准的、统一的建模语言。
UML设计者:由Rumbaugh 、Booch和Jacobson 等人联合设计
注:1993~1995年他们三人顺次分别加入Rational公司后联合设计的。
其中:
1995年后期,正式推出UM0.8(UM--Unified Method)
1996年中期,改进的UM正式更名为UML(Unified Modeling Language)1997年前期,UMLl.0被提交给OTG(Object Technology Organization--对象技术组织)
1997年后期,OMG(Object Management Group--对象管理组织)将UML1.1作为行业标准。
1998年中期,OMG发布了UMLl.2
1998年后期,OMG发布了UMLl.3
1999年中期,OMG发布了UML2.0
归纳起来,UML的产生有以下三方面的原因:
1. 不同的面向对象方法有着许多相似之处,通过这项工作,消除可能会给使用者造成混淆的不必要的差异是非常有意义的;
2. 语义和表示法的统一,可以稳定面向对象技术的市场,使工程开发可以采用一门成熟、统一的建模语言;
3.这种统一能使现有的方法继续向前发展,积累已有的经验,解决以前没有解决好的问题。
总之,UML的产生是许多人集体智慧的结晶。
2.2 UML的特点
UML的主要特点可归纳以下几点:
1.UML统一了Booch、OMT、OOSE和其他面向对象方法的基本思想、概念和符号。
2.UML是支持面向对象软件开发的建模语言。
3.UML可视化、表达能力强大。
4.UML是一种建模语言而不是一种方法。
其中:方法包括表示符号和开发过程的指导原则,而UML仅提供了建模使用的表示符号及其应用规则,不依赖于特定的软件开发过程。
这也是它能够被大众接受的一个原因。
例如:RUP(Retional Unified Process)
Retional公司统一制定的开发过程,同UML(Retional Rose)配套使用5.UML仍然在不断的完善和发展。
2.3 UML的组成
UML中有3类主要元素:
1.基本构造块(basic building block)
2.规则(rule)
3.公共机制(common mechanism)
说明:
1.基本构造块(basic building block)包含的类型及成分为:
结构元素
行为元素
分组元素
注释元素
依赖关系
关联关系
类属关系
实现关系
用例图
类图、对象图状态图、活动图时序图、协作图组件图、配置图
其中:
(1)元素(element/thing):
●结构元素(structural):是模型中主要的静态部分,代表了概念的或物理的部
分。
共有7种结构元素:
①类(class)
②接口(interface)
③协作(collaboration)
④用例(use case)
⑤活动类(active class)
⑥构件(component)
⑦结点(node)
●行为元素(behavioral):是模型中主要的动态部分,代表了跨越时空的行为。
主要有2种行为元素:
①交互作用(interaction)
②状态机(state machine)
●分组元素(grouping):是用来组织元素的元素。
主要有1种分组元素:包(package)
●注释元素(annotational):一种:注解(note)
(2)UML提供9种不同的图:
①用例图:描述系统的功能,并指出其功能的操作者
②类图:描述系统的静态结构
③对象图:描述系统在某个时刻的静态结构
注:一个对象图是类图的一个实例,它存在着生命周期
④状态图:描述类的对象的所有可能的状态和事件发生时的跃迁
注:状态图通常是对类图的补充
⑤活动图:描述了满足用例要求所要进行的活动及活动间的跃迁
注:活动图有利于识别并发活动
⑥时序图:按时间顺序描述对象之间的交互
⑦ 协作图:按时间和空间顺序描述对象之间的交互和它们之间的关系 ⑧ 组件图:描述了组件之间的组织关系
注:组件指系统中应用的各类文件
⑨ 配置图:描述了环境元素的配置
注:配置图指出系统中软硬件的物理体系结构
2.UML 定义了5个方面的语义规则(rule )如下:
3.UML 中包含4种类型的通用机制(common mechanism):
2.4 UML 中的视图
图(diagram ):元素+关系(弧)
视图(view ):由多个图构成,是表达系统的某一特征的UML 建模元素的子集,是在某一抽象层上,对系统的抽象表达。
UML 中的视图包括5个,一般称为“4+1”视图:
命名 范围 可见性 完整性 执行 name
scope
visibility
integrity
execution
规范说明 修饰 通用划分 扩展:版型、标记值、约束 specification adornment common division extensibility :stereotype 、tagged value 、constraint
其中:
用例试图:从用户的角度描述的系统功能
逻辑视图:展现系统的静态或结构组织与特征。
也称为:静态视图(Static View )或结构视图(Structural View )
其中
并发视图:体现了系统的动态或行为特征
也称为:进程视图(Process View
)
其中:
组件视图:体现了系统实现的结构和行为特征。
也称为:实现视图(Implementation View )
配置视图:体现了系统实现环境的结构和行为特征。
也称为:环境视图(Environment View )
说明:
采用面向对象技术开发软件时:
第一步:描述需求
给出系统需求的文字陈述,包括:
(1)功能性需求:描述系统的功能(做什么)
(2)非功能性需求:描述系统的功能实现更好的方面:性能、安全性和可靠性等
(3)可用性需求:描述系统的应用程度
其中:功能性需求是必不可少的,另两个是辅助的。
第二步:根据“描述需求”建立系统的静态模型
包括5个静态图:用例图、类图、对象图、组件图和配置图
其中:用例图和类图是主要的。
第三步:建立描述系统的行为的动态模型
包括4个动态图:状态图、活动图、时序图和协作图
其中:状态图和时序图是主要的。
并发视图 时序图 协作图 状态图 活动图
2.5 支持UML的工具
Rational Rose - Visual Modeling Tool
Visual Paradigm For UML (VP-UML) Enterprise Architect - OO Modeling ProxyDesigner - UML Design Tool
ArgoUML - OO Design Tool
MagicDraw UML - Visual Modeling Tool Objecteering - O-Technologies For e-Applications UMLStudio - Documentation Tool
Visual Object Modelers Visual UML
OOAD Tools Links
UML Tools Links
Design Tools Introduction & Resources
Objects By Design -- UML Tool ObjectDomain R3。