静态结构模型类图
软件工程---交互建模之交互图,顺序图与协作图

2.5 消息
格式
[前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
带返回值的嵌套消息
[x<0] 4: invert(x, color) 条件消息
3.1 *[x = 1..10] : update() 循环消息
[ 条件子句 ] 条件子句一般用来表示分枝而不是用作守卫条件[x<0]是两个可
以用来分枝的条件子句这两个条件只能有一个为真因而只有一 个分枝被执行(即发送与分枝有关的消息) 条件子句和循环子句都可以用伪代码或真正的编程语言来表示 序列表达式用冒号结束
返回值、消息名和参数表
返回值表示一个操作调用(即一个消息)的结 果
顺序图中消息编号可显示,也可不显示。 协作图中必须显示Procedure Call) 异步(Asynchronous) 返回(Return) 自关联消息(Self Message)
2.5 消息
UML三种消息:
调用(Procedure Call) 发送者把消息发送后,等待直到接收者返回控制, 可以表示同步(synchronous message); 实心箭头符号
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时 间内的存在
垂直的虚线 如果对象生命期结束, 则用注销符号表示 对象默认的位置在图 顶部,表示对象在交互 之前已经存在 如果是在交互过程中 由另外的对象所创建, 则位于图的中间某处。
顺序图
面向时间描述对象交互的图
协作图
浅谈UML中常用的几种图

浅谈UML中常用的几种图1 UML简介2 UML常见图分类3 用况图(用例)4 类图简单类图使用举例5 其他辅助用图●时序图(顺序图)●协作图(Collaboration Diagram/communication Diagram)/通信图●状态图●活动图(Activity Diagram)6 组件图(ComponentDiagram)、配置图(Deployment Diagram)1 UML简介统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
‘UML感兴趣的可以阅读UML 1规范,包含了UML 的所有知识内容。
注:OMG, Object Management Group 对象管理组织2 UML常见图分类UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。
分类:面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。
“序列图”与“协作图”表述的是相似的消息,“活动图”是“状态图”的一种。
•静态结构图Static Structure Diagram•类图Class Diagram•对象图Object Diagram•用况图Use Case Diagram•交互图Interaction Diagram•顺序图Sequence Diagram•协作图Collaboration Diagram•状态图State chart Diagrams•活动图Activity Diagrams•实现图Implementation Diagrams•构件图Component Diagram•部署图Deployment Diagram3 用况图(用例)用例图,展现了一组用例、参与者(actor)以及它们之间的关系。
第三课时:静态结构图

类图
泛化关系
存在于一般元素和特殊元素间的分类关系。 可以用于类、用例以及其他模型元素。 描述了一种“is a kind of” 的关系。 泛化主要用途: 1、多态; 2、继承。继承又分为单继承和多重继承。
序列号的生成 参考美国政府 标准EV5-2211
类图
类之间的关系
1. 依赖关系: 类之间使用关系 2. 泛化关系: 类之间一般和特殊关系 3. 关联关系: 对象之间结构关系 4. 实现关系: 类中规格说明和实现之间关系
பைடு நூலகம்
类图
依 赖 关 系
表示两个或多个模型元素之间语义上的关系。 客户以某种形式依赖于提供者。 关联、实现和泛化都是依赖关系。 依赖关系分为: 1. 使用依赖(Usage) 2. 抽象依赖(Abstraction) 3. 授权依赖(Permission) 4. 绑定依赖(Binding)
类图
2、抽象依赖
表示客户与提供者之间的关系,依赖于在不同抽象层 次上的事物,包括: 跟踪(trace) 跟踪(trace):声明不同模型中的元素之间存在一些 连接,但不如映射精确。 精化(refine) 精化(refine):声明具有两个不同语义层次上的元素 之间的映射。 派生(derive) 派生(derive):声明一个实例,可以从另一个实例导 出。
类图
1、使用依赖
表示客户使用提供者提供的服务以实现它的行为,包括: 使用(use):声明使用一个模型元素需要用到已存在的 使用(use) 另一个模型元素,这样才能正确实现使用者的功能(包 括了调用、实例化、参数和发送) 。 调用(call):声明一个类调用其他类的操作的方法。 调用(call) 参数(parameter):声明一个操作和它的参数之间的关 参数(parameter) 系。 发送(send):声明信号发送者和信号接收者之间的关 发送(send) 系。 实例化(instantiate):声明用一个类的方法创建了另一 实例化(instantiate) 个类的实例 。
UML科普文,一篇文章掌握14种UML图

UML科普⽂,⼀篇⽂章掌握14种UML图前⾔上⼀篇⽂章写了⼀篇建造者模式,其中有⼏个UML类图,有的读者反馈看不懂了,我们今天就来解决⼀哈。
什么是UML?UML是Unified Model Language的缩写,中⽂是统⼀建模语⾔,是由⼀整套图表组成的标准化建模语⾔。
为什么要⽤UML?通过使⽤UML使得在软件开发之前,对整个软件设计有更好的可读性,可理解性,从⽽降低开发风险。
同时,也能⽅便各个开发⼈员之间的交流。
UML提供了极富表达能⼒的建模语⾔,可以让软件开发过程中的不同⼈员分别得到⾃⼰感兴趣的信息。
Page-Jones 在《Fundamental Object-Oriented Design in UML》⼀书中总结了UML的主要⽬的,如下:1. 为⽤户提供现成的、有表现⼒的可视化建模语⾔,以便他们开发和交换有意义的模型。
2. 为核⼼概念提供可扩展性 (Extensibility) 和特殊化 (Specialization) 机制。
3. 独⽴于特定的编程语⾔和开发过程。
4. 为了解建模语⾔提供⼀个正式的基础。
5. ⿎励⾯向对象⼯具市场的发展。
6. ⽀持更⾼层次的开发概念,如协作,框架,模式和组件。
7. 整合最佳的⼯作⽅法 (Best Practices)。
UML图有哪些?UML图分为结构图和⾏为图。
结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。
⾏为图⼜分活动图、⽤例图、状态机图和交互图。
交互图⼜分为序列图、时序图、通讯图、交互概览图。
UML图概览什么是类图?【概念】类图是⼀切⾯向对象⽅法的核⼼建模⼯具。
类图描述了系统中对象的类型以及它们之间存在的各种静态关系。
【⽬的】⽤来表⽰类、接⼝以及它们之间的静态结构和关系。
在类图中,常见的有以下⼏种关系。
泛化(Generalization)【泛化关系】是⼀种继承关系,表⽰⼦类继承⽗类的所有特征和⾏为。
【箭头指向】带三⾓箭头的实线,箭头指向⽗类。
UML主要功能及特点

UML主要功能及特点1 UML概述2 UML主要功能3 UML特点4 UML优缺点分析1UML概述UML(Unified Modeling Language,统一建模语言)承袭面向对象分析与设计(OOAD Object Oriented Analysis and Design)的方法,是一种用来描述系统蓝图的标准模式语言。
它是由三位面向对象方法领域著名的方法学家Booch、Rumbaugh 和Jacobson提出,结合了他们以及其它众多优秀方法和思想,得到了世界知名公司如Microsoft,HP,IBM,Rational 等的使用和支持,并于1997 年11 月被OMG(Object Management Group)组织采纳作为基于对象技术的标准建模语言。
它融入了软件工程领域的新思想、新方法和新技术,不仅支持面向对象的分析和设计,还支持从需求开始的软件开发过程,是近十年来最具有划时代意义的软件技术之一。
它是一种可以应用于任何软件开发过程的标记法和语义语言)。
作为对软件解决方案的业务领域进行描述的事实上的标准,UML 是第一种获得大多数从业者、软件厂商和学术界一致认同的表示法。
UML 是一种通用的可视化建模语言,用于对软件描述、可视化处理、构造和建立软件系统制品的文档。
它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。
UML 适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。
UML 包括概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。
它可被交互的可视化建模工具所支持,这些工具提供了代码生成器和报表生成器。
UML 标准并没有定义一种标准的开发过程,但它适用于迭代式的开发过程。
它是为支持大部分现存的面向对象开发过程而设计的。
UML 描述了一个系统的静态结构和动态行为。
UML静态模型

UML静态建模—类图与对象图
关系
关联(Association)
关联用于描述类与类之间的连接。由于对象是类的实例,因此类与 类之间的关联也就是其对象之间的关联。
泛化(Generation)
又称继承,A generalization is a relationship between a more general and a more specific element。
9.
{
10.
employee = p;
11.
}
12. }
13. class Person
14. {
15.
… (略)
16. }
UML静态建模—类图与对象图
关系—组合聚合(composition Aggregation)
如果构成整体类的部分类完全隶属于整体类,则这样 的聚合称为复合聚合。换句话说,如果没有整体类则 部分类也没有存在的价值,部分类的存在是因为有整 体类的存在。
关系—共享聚合(Shared aggregation)
1. // 主程序 2. Person p = new Person(); 3. Team t = new Team(p);
4. class Team
5. {
6.
Person employee;
7.
// Constructor
8.
public Team(Person p)
由名称、属性 、方法构成
对象是类的实例。
类之间的关系一共有四种:关联、泛化、依赖、 实现化。 包(Package) 用来分类、组织类。
关联:用于表示类的对象之间的关系。其特殊
user
形式有组成关联和聚集关联。
UML2.0

计时图
下图中给出了计时图的一种示例,它是 用于表示对象“:User”的生命线的计时 图。
sd UserAcc_User 状态 WaitAccess :User WaitCard 对象 Idle Code OK {t..t+3} {d..3*d} 状态变化
CardOut 时间约束
0
1
2
t
事件
计时图
计时图
用定时图表示一个电子门禁系统的控制 逻辑,该门禁系统包括门(物理的门), 智能读卡器(读取用户的IC卡信息), 处理器(用来处理是否开门的判断)。
计时图
计时图
在这个例子中,一开始读卡器是启用的(等用 户来刷卡),处理器是空闲的(没有验证的请 求),门是关的.现在看用户使用门禁系统时, 电子门禁系统的控制逻辑:
概述
概述
一个协作有两个方面:结构和行为。
在结构方面,一个协作可以包含任意的分类符的组 合,如类、接口、组件、节点,以及它们的联系等。 但是,一个协作并不拥有参与协同的这些模型元素, 而只是引用它们。协作只是一种概念性的结构块, 而不是系统的一个物理性的结构块,在这一点上协 作与包、子系统是不同的。 在行为方面,一个协作规定了参与协同的模型元素 相互交互的动态行为。
下图表示,只接受start或stop消息 (consider{start,stop}),而且在start消息之后必须是一 个stop消息(assert操作符表示),而不能是其他消息
顺序图——表示循环和分支
consider和assert操作符
顺序图——表示循环和分支
ignore和assert操作符混用。
交互概述图
UML复习知识要点

UML 复习知识要点1.什么是UML ?用UML 进行建模的目的是什么?UML 的主要特点是什么?2.UML 中包含哪9 种图?每种图的用途是什么?3.什么是用例?什么是参与者?用例之间、参与者之间以及用例与参与者之间有分别什么关系?其表示符号是什么?根据需求分析要求能画出系统的用例图。
4.什么是交互图?什么是顺序图和协作图?二者有何异同?顺序图和协作图中分别包含哪些建模元素?5.怎么设计顺序图和协作图?会根据需求分析设计顺序图和协作图。
6.什么是类和类图?类之间的关系有哪几种?关联的命名方式?会判断类之间的各种关系。
会画类图。
7.一般可以把类图分为哪三个抽象层次?各有什么用途?8.类关联中聚集( aggregation )和组合( composition )两者之间有何区别?9.类和对象的关系?关联和链的关系?10.数据库设计可分为哪几个阶段?在Rose 中数据库设计的步骤是什么?何谓对象模型转换为数据模型?何谓数据模型转换为对象模型?11.什么是正向工程和逆向工程?12.什么是活动图和状态图?二者有何异同点?分别适用于什么场合?掌握状态图和活动图中的基本概念?会根据需求描述画系统的状态图和活动图。
13. 什么是构件图和部署图?二者有什么作用?构件有哪几种类型?熟悉部署图中的基本概念?考试题型:一、选择题(每题1分,共20分)二、填空题(每题2分,共20分)三、判断改错题(每题2分,共10分。
对的打“,错的打“X”并说明错误原因,只打“X”未说明错误原因记1分)四、简答题(约30分)五、案例分析与设计:(约20分)1、网络的普及带给了人们更多的学习途径,随之用来管理远程网络教学的“远程网络教学系统”也诞生了。
“远程网络教学系统”的功能需求包括:(a) .学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。
(b) .教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。
UML中共有5种静态图

UML中共有5种静态图:用例图,类图,对象图,组件图和配置图。
(1)用例图Use Case Diagram用例图展现了一组用例、参与者以及它们之间的关系可以用来描述系统的静态使用情况。
上图中小人形状的用户和ATM是参与者、椭圆形状的如插入卡、输入密码等是用例(2)类图Class Diagram类图展示了一组类、接口、子类以及他们之间的关系,在建模中最常用到的图就是类图;可以用类图说明系统的静态设计视图,包含主动类的类图。
上图中反应了5个类之间的关联关系,人民币账户和美元帐户从账户继承,账户和ATM相关联,两种账户和用户相关联(3)对象图Object Diagram对象图展示了一组对象和他们间的关系,可以用来说明类图中翻译的事物实例的数据结构和静态快照,表达了系统的静态设计视图和静态过程视图,除了显示和原型方面的因素外,它与类图的作用是相同的。
(4)组件图Component Diagram组件图,又名构件图,展现了一组组件之间的组织和依赖,用于对源代码、可执行的发布、物理数据库和可调整的系统建模。
上图中组件1和组件3依赖于组件2(5)配置图Deployment Diagram配置图展现了对运行时处理节点以及其中组件的配属,它描述系统硬件的物理拓扑结构,以及在此结构上执行的软件。
用配置图说明系统结构的静态配置视图,即说明分布、交互和安装的物理系统。
上图中,三个处理机与两个涉笔,相互之间是关联的关系UML中动态图有四种,分别是:时序图、协作图、状态图和活动图。
(1)时序图Sequence Diagram时序图展现了一组对象和由这组对象收发的信息,用于按时间顺序对控制流建模。
可以用时序图来说明系统的动态视图。
这里貌似有不同的说法Visual Paradigm里面叫时序图为Timing Diagram,而我参照的教材里边没有这种图,按理说是应该有的。
上图反应了用户与ATM交互的整个过程。
(2)协作图Collaboration Diagram协作图展现了一组对象之间的链接以及这组对象收发的消息,强调收发消息对象的组织结构,按组织结构对控制流建模。
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
转移
用于说明两个对象间存在某种关系,如满足某 个条件并当某一事件发生时,对象将从一个状 态变迁到另一个状态并同时执行一些活动
注释体
注释连接
示例:状态图
顺序图
顺序图:主要用于显示对象间的交互活动,但没有明确的交 互环境和对象状态
主要使用场合:系统分析(用例分析)、设计
基于UML的企业库存管理系统的分析与设计

吉林 工 程技 术 师 范 学 院 学报
2因7 年 3 月
需求分析的主要任务是确定软件系 统的需求。即:确定用户要求软件解决某 个问题或达到某个目 标的能力;也是指一 个系统或系统成分必须具备的能力。系 统需求分析的结果可以用一个用例( U e s
Vo . 23 No 3 l .
文章编号 :1《 一 拜 (2佣7 )0 一 刃 一 X 以2 )9 3 以5 0 3
基 于 UM 的企业库存 管理 系统 的分析与设计 L
杨 峰, 巍2 , 魏
( 1. 吉林工程技术师范学院信息工程学院, 长春 130 5 ; 吉林 0 2 2. 中国兵器工业第五五研究所, 吉林 长春 1 0 12 3 )
件系统的各种成分进行描述、 可视化处理、 构造和建立软件系统模型, 以及建立软件文档。它记录了 对必 须构造的系统的规定和理解, 可用于对系统的理解、 设计、 浏览、 配置、 维护和信息控制。UM 是面向对象 L 开发中的一种通用、 统一图 形化模型语言, 是近代软件工程环境中对象分析和设计的重要工具。UM 提 L 供了3 类基本的标准模型建筑块:事物、 联系和图 形。各个模型建筑块之间的基本联系有4 种:依赖( De-
20 7 年3 月 0
吉林工程技术师范学院学报( 自 然科学版)Ma . 2 ( 7 r ) X
第23 卷第3 期 Jo ma o jil n T a be玲lns tute of Engin er ng a d T ch o o留( Natur sciences E tio ) u l f i ec i t e i n e al l a i d n
静态图之欧阳光明创编

第3章类图、对象图和包图欧阳光明(2021.03.07)使用面向对象的思想描述系统,能够把复杂的系统简单化、直观化,这有利于用面向对象的程序设计语言实现系统,并有利于未来对系统的维护。
构成面向对象模型的基本元素有类、对象和类与类之间的关系等。
类图和对象图合称为结构模型视图或者静态视图,用于描述系统的结构或静态特征。
其中,类图用来描述系统中的类以及类与类之间的静态关系等;对象用来描述特定时刻实际存在的若干对象以及它们之间的关系。
一个系统的模型中可以包含多个对象图,每个对象图描述了系统在某个特定时刻的状态。
人们为了控制现实系统的复杂性,通常会将系统分成较小的单元,以便一次只处理有限的信息。
UML提供了包这一机制,使用它可以把系统划分成较小的便于处理的单元。
本章主要介绍类、类图、对象、对象图、类与类之间的关系以及包图等内容,并且还将创建图书管理系统的类图。
本章学习要点:➢理解类图的基本概念➢为系统建模类➢建模类之间的关联关系➢理解并建模泛化关系➢了解依赖关系和实现关系➢了解对象图和包图的概念➢构造类图3.1 类图构建面向对象模型的基础是类、对象以及它们之间的关系。
可以在不同类型的系统(例如,商务软件、嵌入式系统、分布式系统等)中应用面向对象技术,在不同的系统中描述的类可以是各种各样的。
例如,在某个商务信息系统中,包含的类可以是顾客、协议书、发票、债务等;在某个工程技术系统中,包含的类可以有传感器、显示器、I/O卡、发动机等。
在面向对象的处理中,类图处于核心地位,它提供了用于定义和使用对象的主要规则,同时,类图是正向工程(将模型转化为代码)的主要资源,是逆向工程(将代码转化为模型)的生成物。
因此,类图是任何面向对象系统的核心,类图随之也成了最常用的UML图。
3.1.1 概述类图是描述类、接口以及它们之间关系的图,它显示了系统中各个类的静态结构,是一种静态模型。
类图根据系统中的类以及各个类的关系描述系统的静态视图。
软件工程---UML动态分析-活动图

Make Plan
entry/ SetGoal
2020/5/4
26
动作流
与状态图不同,活动图的转换一般都不需要特 定事件的触发。
一个动作状态执行完本状态需要完成的动作后 会自发转换到另外一个状态。
2020/5/4
27
动作流
一个活动图有很多动作或者活动状态,
活动图通常开始于初始状态,然后自动转换到 活动图的第一个动作状态,一旦该状态的动作 完成后,控制就会不加延迟地转换到下一个动 作状态或者活动状态。
7
活动图与流程图的区别
⑴ 流程图着重描述处理过程,它
的主要控制结构是顺序、分支 和循环,各个处理过程之间有 严格的顺序和时间关系
找饮料 [ 发现咖啡 ]
活动图描述的是对象活动的顺序
把咖啡放入 滤器
关系所遵循的规则,它着重表 将滤器放入 现的是系统的行为,而非系统 机器
的处理过程。
往容器里加 水
开机器
活动图着重表现从一个活动到另一个活动的控制流, 是内部处理驱动的流程。
找饮料
[ 发现咖啡 ]
[ 没有咖啡 ] [ 发现可乐 ]
把咖啡放入 滤器
往容器里加 水
拿茶杯
拿可乐
将滤器放入 机器
[ 没有可乐 ]
开机器 冲咖啡
倒咖啡
喝饮料
2020/5/4
12
活动的图形表示
在UML中,活动表示成圆角矩形,与状态的圆角矩 形相比,活动的矩形的圆角更柔和,看上去接近椭 圆。
不能中断,一直运行到结束。 ⑶ 动作状态是瞬时的行为,它所占用的处理时
间极短,有时其至可以忽略。
2020/5/4
19
动作状态
动作状态有如下特点:
系统静态模型分析

服务 员1
会员档案
2.2 顾客 会员信息变更 登记表 会员信息 变更处理
3、卡作业处理详细需求调查
服务 员2 会员卡 业务 员1 卡提交凭证 3.1 发放新卡 服务 员1 会员登记表 会员卡 顾客
会员持卡记录 3.2 顾客 挂失申请 卡挂失 处理 服务 员3
对象 属性
类名称 属性定义
对象 操作 (b)类描述
方法
§
2.3.1 对象图、类图
一、类图 类图中,描述了每个类的属性与操作以及 类与类之间的关系。
Consignee -address -name -moblieNumber 1..* Order Customer -name -address +getCreditRating() -orderDate -destArea -price 1 0..* -paymentType +dispatch() +close() 1 1..* OrderItem -productId -quatity -price -deliverState +stateChange() DeliverOrder -delliverOrderld +Close() 0..* 1 Peddllery -peddlerld -destArea 1 0..* Product -productId -productName -producType -price
对象类
对象类是对象的集合,这些对象具有共同的结 构特征、行为特征、联系和语义。 对象类的图标(Icon)用实线矩形框表示,矩 形框中含有若干分隔框,分别包含类的名字、属 性、操作、约束以及其他成分等。 类名可以是简单名,也可以是路径名。 属性框中包含对象类的属性。属性是类的命名 的性质,它描述类性质的实例所能具有的值。 操作框中包含对象类的操作。操作实现类的服 务功能,它可以被本类的对象请求执行,从而发 生某种行为。 其他的框可以包含责任、联系、约束、业务规 则、事件、例外情况等内容的说明。
软件工程---状态图

语法形式: exit/动作名
3.内部转移---Do动作(do action),用于标 记内部活动,用来指定处于该状态时执行的 动作。 语法形式: do/动作名
内部转移不会改变对象的状态,内部转移在 入口动作执行完毕后开始执行。
4. 还可以添加其他事件和动作
event用来指定当特定事件触发时发生指定动 作,但此事件不会激发状态的改变,属于内部 活动。
(2)中间状态----由一个带圆角的矩形表示。
内部活动
注意:由于入口动作和
与状态相关的动作
出口动作是隐式地激活, 因此它们既没有参数也
在一个状态中允许有多个动作。没有守卫条件。
1.入口动作 (entry action),用来指定进入状态时
发生的动作。
语法形式: entry/动作名 2.出口动作(exit action),用来指定离开该状态时
状态图
状态和状态图 状态图的组成 转换的种类 状态图建模技术
用例图(功能模型): 从用户的角度描述系统能提供哪些功能。
• 结构模型视图(静态): 类图:描述系统的静态结构; 对 象图:描述系统在某个时刻的静态结构; 包图:将类分组成更高层次的静态结构。
• 行为模型视图(动态) 顺序图:按时间顺序描述系统元素之间的交互; 协作图:从时间和空间的顺序描述系统元素之间的交互; 状态图:描述系统元素对事件的响应引起的状态转换; 活动图:描述系统元素的活动。
图 带有历史指示器的软件安装过程状态图
2.2 转换(转移)
转换用带箭头的直线表示,一端连接源状态即转 出的状态,箭头一端连接目标状态即转入的状态。
转移连接了源状态和目标状态。但需要各种条件 才能激活转移。这些条件包括事件、监护条件和 动作。
UML 10 种图的总结

UML 2.0共有10种图,分别为表示系统静态结构的静态模型(包括类图、组合结构图、部署图),以及表示系统动态结构的动态模型(包括用例图、序列图、对象图、协作图、状态图、活动图、组件图),它们各用以表现不同的视图,如表1-1所示。
用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。
(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。
它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。
在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。
所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。
当父用例能够被使用时,任何子用例也可以被使用。
如在图2.4中,订票是电话订票和网上订票的抽象。
UML3定义、组成、五种视图

动态建模
第二次作业
▪ 认真思考,五种视图各自关注的系统不同侧 面是什么?
▪ 状态图和活动图的关系是什么?
▪ 什么是业务对象,在类图中它是如何被识别 出来的?活动图中的泳道你认为应该如何应 用?
▪ Grady Booch在Rational软件公司开发Ada 系统作了许多构件(Component),并以此由 底向上构筑大型软件系统,即OOD方法;
▪ Jim Rumbaugh在通用电子(General Electric)领导一个研究小组,提出了对象建 模技术(OMT)方法,通过面向对象的三种模 型:对象模型、动态模型和功能模型,从不 同角度对系统进行描述。
3)继承/泛化(Generalization)-- 一般/特殊关 系
4)实现(Realization/Implementation) -- 用在 两种地方:接口和实现他们之间的类和构件之间; 基用例和具体用例之间。
UML的视图(View)和图( Diagram)
UML中的各种组件和概念之间没有明显的划分 界限,但为方便起见,我们用视图来划分这些 概念和组件。视图只是表达系统某一方面特征 的UML建模组件的子集。在每一类视图中使用 一种或几种特定的图来可视化地表示视图中的 各种概念。
▪ 交互视图(Interactive View),包括协作图和顺序图。
▪ 动态视图(Dynamic View) ,也称为行为视图 (Behavior View), 也称为并发视图(Concurrent View),进程视图(Process View)包括状态图和活 动图。
▪ 实现视图( Implementation View),也称为组件视图 或物理视图(Component View),包括组件图和部署 图。
UML基础知识

UML基础知识⼀:UML定义了5类,10种模型图UML提供的基本模型图包括:(1)、⽤例图:展⽰系统外部的各类执⾏者与系统提供的各种⽤例之间的关系(2)、类图:展⽰系统中类的静态结构(类是指具有相同属性和⾏为的对象,类图⽤来描述系统中各种类之间的静态结构)(3)、对象图:是类图的⼀种实例化图(对象图是对类图的⼀种实例化)(4)、包图:是⼀种分组机制。
在UML1.1版本中,包图不再看作⼀种独⽴的模型图)(5)、状态图:描述⼀类对象具有的所有可能的状态及其转移关系(它展⽰对象所具有的所有可能的状态以及特定事件发⽣时状态的转移情况)(6)、顺序图:展⽰对象之间的⼀种动态协作关系(⼀组对象组成,随时间推移对象之间交换消息的过程,突出时间关系)(7)、合作图:从另⼀个⾓度展⽰对象之间的动态协作关系(对象间动态协作关系,突出消息收发关系)(8)、活动图:展⽰系统中各种活动的执⾏流程(各种活动的执⾏顺序、执⾏流程)(9)、构件图:展⽰程序代码的物理结构(描述程序代码的组织结构,各种构件之间的依赖关系)(10)、配置图:展⽰软件在硬件环境中(特别是在分布式及⽹络环境中)的配置关系(系统中硬件和软件的物理配置情况和系统体系结构)建模过程⾸先:描述需求次之:根据需求建⽴系统的静态模型,以构造系统的结构第三:描述系统的⾏为其中第⼀步与第⼆步中所建⽴的模型都是静态的,包括⽤例图、类图(包括包图)、对象图、构件图和配置图等六种图。
这些图构成了标凖建模语⾔UML的静态建模机制。
第三步中所建⽴的模型或者可吧执⾏或者表⽰执⾏时的时序状态或交互关系,它包括状态图、活动图、顺序图和合作图等四种图。
这些图构成了标准建模语⾔UML的动态建模机制。
可⽤以下常⽤视⾓来描述⼀个系统:(1)、系统的使⽤实例:从系统外部的操作者的解度描述系统的功能(2)、系统的逻辑结构:描述系统内部的静态结构和动态⾏为,即从内部描述如何设计实现系统功能(3)、系统的构成:描述系统由哪些程序构件所组成(4)、系统的并发性:描述系统的并发性,强调并发系统中存在的各种通信和同步问题(5)、系统的配置:描述系统的软件和各种硬件设备之间的配置关系⼆:软件开发过程(RUP概述):迭代开发过程:由四个阶段构成,每个阶段都包含软件开发的每个过程:分析、设计、实现和测试阶段四个阶段:初始阶段、细化阶段、构造阶段、移交阶段通常在移交阶段后进⾏总体测试、性能测试、⽤户培训等1. 初始阶段:项⽬的总体需求、可⾏性分析等,并确认是否启动该项⽬2. 细化阶段:(1/5周期)启动该项⽬后,(1)、实际要做什么?(2)、如何做?(3)、将采⽤什么技术?风险分析和风险管理(1)、需求风险:不能偏离⽤户需要,要充分了解⽤户需求及各需求的相对优化程度处理需求风险:⽤例分析技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
建立静态结构模型
基本的分析过程: Step 1:从用例模型入手,识别概念类; Step 2:描述各个类的属性; Step 3:定义各个类的操作; Step 4:建立类之间的关系; Step 5:绘制类图(class diagram)
识别概念类
如何从用户的需求陈述中找到“概念类”? ——名词驱动的识别方法
并收款。付款完成后,顾客带着所购买的商品和收据离开。
明显无意义的对象:收款处
用例名称:预定房间 涉及的参与者:酒店前台 正常事件流: 1) 前台人员向系统提供需要预定房间的类型、时间和预定天数。 2) 系统确认有相应档次的空闲房间,并计算出总费用和定金。 3) 前台人员向系统提供旅客信息(姓名、地址、联系电话、证件号等)。 4) 系统记录旅客信息。 5) 前台人员确认已经交纳定金。 6) 系统记录房间已经预定,工作完成。
用例名称:预定房间 涉及的参与者:酒店前台 正常事件流: 1) 前台人员向系统提供需要预定房间的类型、时间和预定天数。 2) 系统确认有相应档次的空闲房间,并计算出总费用和定金。 3) 前台人员向系统提供旅客信息(姓名、地址、联系电话、证件号等)。 4) 系统记录旅客信息。 5) 前台人员确认已经交纳定金。 6) 系统记录房间已经预定,工作完成。
面向对象的分析模型
面向对象的分析模型
面向对象分析的过程
第一阶段:业务领域分析 分析应用领域的业务范围、业务规则和业务处理过程,确定系统的责 任、范围和边界,确定系统的需求。 在分析中需要着重对系统与外部的用户和其他系统的交互进行分析, 确定交互的内容、步骤和顺序。 ——用例模型
第二阶段:发现和定义对象和类 识别对象和类,确定它们的内部特征:属性与服务操作。 这是一个从现实世界到概念模型的抽象过程,而抽象是面向对象分析 的基本原则。 第三阶段:识别对象的外部联系 在发现和定义对象和类的过程中,需要同时识别对象与对象、类与类 之间的各种外部联系,如一般与特殊、整体与部分、实例连接(关联)、 消息连接等联系。 对象和类是现实世界中的事物的抽象,它们之间的联系也要从分析现 实世界事物的各种真实的联系中获得。
借书用例描述
用例描述如下: 1.图书管理员将读者借书卡提供给系统; 2.系统验证读者身份和借书条件; 3.图书管理员将读者所借图书输入系统; 4.系统记录借书信息,并且修改图书的状态和此种书的可借数量; 5.系统修改读者的可用限额; 6.重复3-5,直到图书管理员确认全部图书登记完毕; 7.系统打印借书清单,交易成功完成。
图书馆系统的对象
名词类别
概念类列表
显而易见的对象 明显无意义的对象
读者 借书卡 图书 借书信息 借书清单
读者身份
不确定类别的对象
借书条件 图书状态 可借数量 可用限额
• 图书状态总是和具体的图书联系在一起,不是一个独立的对象。同理, 借书数量、可用限额是读者属性。
• 可借数量是某个图书品种的特性,每本图书归属于一个图书品种,图书 品种是一个隐含概念
对用户需求陈述进行“语法分析”,找出所有的名词或名词短语,对 其标注下划线; 合并同义词; 将最终得到的每一个名词映射为一个类; 动词映射为类的操作,形容词/名词映射为类的属性。
借书用例
借书用例描述
用例描述如下: 1.图书管理员将读者借书卡提供给系统; 2.系统验证读者身份和借书条件; 3.图书管理员将读者所借图书输入系统; 4.系统记录借书信息,并且修改图书的状态和此种书的可借数量; 5.系统修改读者的可用限额; 6.重复3-5,直到图书管理员确认全部图书登记完毕; 7.系统打印借书清单,交易成功完成。
不同类别的概念
人员:系统需要保存或管理其信息的人员(如录像商店的会员、图书 馆的读者),或在系统中中扮演一定角色的人员(如录像商店的职员、 论文评阅教师)。 组织:在系统中发挥一定作用的组织机构(如录像商店的连锁店,医 疗保险系统中的医院,学校中的系)。 物品:需要由系统管理的各种物品(如录像商店的商品、图书),包 括无形事物(如学校的一门课程、毕设题目)。 设备:在系统中被使用或由系统进行监控的设备、仪器等,系统运行 中的硬件设备(如打印机)除外。 事件:需要由系统长期记忆的事件(如在自动柜员机上的每次取款事 件、每次借书事件)。
不同类别的概念(续)
规格说明:系统中关于对象的规格信息的描述。 – 如图书品种,每种图书有一个唯一的馆藏号,同时该图书还包含一些描述信
息,如书号、价格、作者、出版社等,多本图书对象共用这些规格说明。这 是一种经过了抽象的概念,应该识别为概念类。 业务规则或政策:系统中经常使用的业务规则或政策的文字描述。 – 业务规则通常会在用例文档之外以其他条款说明。如图书馆系统中,对不同 违规行为指定不同的罚款金额,商店对不同顾客或产品有不同的折扣策略等。 如果这些规则无法并入到其他对象中,则可以作为概念类建立。 – 通常规则可能仅有属性,或者仅有操作,比如折扣策略可能是一个纯粹的计 算类。
面向对象的分析
分析业务领域,找出问题解决方案,发现对象,分析对象的内部构成 和外部关系,建立软件系统的对象模型。 着重分析业务领域和系统责任,建立独立于实现的OOA模型,暂时忽 略与系统实现有关的问题。 主要使用5种图描述完整的系统需求: 用例图 类图 时序图 协作图 状态图
面向对象的分析模型
功能模型:从用户的角度获取功能需求,由用例模型表示 (已在上堂课学习过); 静态结构模型(分析对象模型):描述系统的概念实体,由 类图表示; 动态行为模型:描述对象之间的交互行为,由状态图和顺 序图表示。
第四阶段:建立系统的静态结构模型 分析系统的行为,建立系统的静态结构模型,并将其用图形和文字说 明表示出来,如绘制类图、对象图、系统与子系统结构图等,编制相 应的说明文档。 第五阶段:建立系统的动态行为模型 分析系统的行为,建立系统的动态行为模型,并将其用图形和文字说 明表示出来,如绘制用例图、交互图、活动图、状态图等,编制相应 的说明文档。
• 借书条件是一种规则,可以作为对象吗?
练习
阅读用例描述,找出概念类
用例名:购买商品 参与者:出纳员 描述:顾客带着所要购买的商带着所购买的商品和收据离开。
练习
阅读用例描述,找出概念类 用例名:购买商品 参与者:出纳员 描述:顾客带着所要购买的商品来到收款处。出纳员记录下商品信息