uml05(第五章)

合集下载

UML面向对象分析、建模与设计课件第五章 类图

UML面向对象分析、建模与设计课件第五章 类图
即可变、只增与冻结。
类——操作
操作是一个可以由类的对象请求以影响其行为的服务的实现,也即 是对一个对象所做的事情的抽象,并且由这个类的所有对象共享。
操作是类的行为特征或动态特征。 操作的语法格式为:
可见性OPT 操作名 ⌊(参数列表)⌋OPT ⌊:返回类型⌋OPT ⌊{特性}⌋OPT
操作名:操作的标识符。在描述操作时,操作名是必须的,其他部 分可选。
Student
+monitor 1
1..*
自关联
类图中的关系——关联关系
关联名称:放在关联路径的旁边,但远离关联端。 角色:放在靠近关联端的部分,表示该关联端连接的类在这一关联
关系中担任的角色。角色名上也可使用可见性修饰符号。 多重性:放在靠近关联端的部分,表示在关联关系中源端的一个对
象可以与目标类的多少个对象之间有关联。 导航性:一个布尔值,用来说明运行时刻是否可能穿越一个关联。 限定符:是二元关联上的属性组成的列表的插槽,其中的属性值用
/WorksForCompany
Department * +department 1 WorksForDepartment
* Person
类图中的关系——泛化关系
泛化关系定义为一个较普通的元素与一个较特殊的元素之间的类元 关系。其中描述一般的元素称为父,描述特殊的元素称为子。
通过泛化对应的继承机制使子类共享父类的属性和操作,小了模型 的规模,同时也防止了模型的更新所导致的定义不一致的意外。
法了,此时称之为N元关联。
类图中的关系——关联关系
class Logical View
ClassA
AssociationName
+rolename 0..*

UML第5章

UML第5章

5.2.1 对象类的关联 在对象类图上, 在对象类图上,关联用一条把对象类连接在 一起的实线表示。 一起的实线表示。一个关联至少有两个关联 每个关联端连接到一个类, 端,每个关联端连接到一个类,关联端是有 序的。 序的。 关联线旁可以标出关联的名字。 关联线旁可以标出关联的名字。线旁的小实 心三角箭头表示关联的方向, 心三角箭头表示关联的方向,从源对象类指 向目标对象类。箭头起关联的导航作用。 向目标对象类。箭头起关联的导航作用。
第5章 对象类图与对象图 章
5.1 5.2 5.3 5.4 5.5
对象类图 对象类的关联 聚合与组合 泛化 依赖
5.6 5.7 5.8 5.9
对象图 接口与端口 对象类的高级概念 对象类图的应用
Home
5.1 对象类图 对象类(Class)简称类, 对象类(Class)简称类,是面向对象模型 的最基本的模型元素。 的最基本的模型元素。对象类图表达一组对 象类和它们的联系。 象类和它们的联系。 在对象类图中, 在对象类图中,一方面描述各个对象类本 身的组成,即类的属性、 身的组成,即类的属性、操作和对对象的约 束;另一方面描述系统中对象类之间的各种 静态的联系。 静态的联系。 对象类图描述的是系统的静态结构。 对象类图描述的是系统的静态结构。 对象类的结构性联系:关联、聚合、组合、 对象类的结构性联系:关联、聚合、组合、 泛化/特化。 泛化/特化。
5.1.3 操作 操作是对象类的行为特征或动态特征。 操作是对象类的行为特征或动态特征。 一个类可以有多个操作, 一个类可以有多个操作,也可以没有一个操 作。没有一个操作的类常用于表达接口或数 据表。 据表。 操作用文字串说明,如图5.4所示。 5.4所示 操作用文字串说明,如图5.4所示。 操作有在本对象类中唯一的操作名或标识符。 操作有在本对象类中唯一的操作名或标识符。 参数列表是可选项目, 参数列表是可选项目,即一个操作可以有参 也可以没有参数。 数,也可以没有参数。 操作 参数列表) 可视性 操作名 (参数列表):返回列表 {性质} 性质}

第五章 包图

第五章 包图

• •
构造性
<<system>>
<<subsystem>>
说明
表示正在建模的整个系统
表示正在建模的系统中某个独立的部分。 对于较大的系统,经常需要将其划分为几个独 立的子系统,每个子系统从较低的抽象层次观 察的时候就像一个较小的系统
<<facade>> <<stub>>
描述一个只引用其他包内元素的包,主要 用来为其他一些复杂的包提供简略视图 一个代理包,通常应用于分布式系统的建 模中,它服务于某个其他包的公共内容
总结:
本章介绍了UML包图,应用包图的目的是为了简化图, 通常当一个图变得庞大且在单一页中无法打印的时候引入 包。 • 包图中可以包含任何一种UML图,但通常更多的是用例 图或类图; • 创建用例包图,可以帮助组织需求,对需求进行高层次 的概述; • 创建类包图,可以在逻辑上组织类,对设计进行高层次 的概述。
在Rational Rose 中,支持4种包的构造型,如图5-6~
5-9。
5.2.4 子系统

系统是组织起来以完成一定目的的连结单元的集合,由 一个高级子系统建模,该子系统间接包含共同完成现实世 界目的的模型元素的集合。 子系统是指有单独说明和实现部分的包。它表示具有 对系统其他部分存在接口的连贯模型单元。 子系统使用具有构造型关键字subsystem的包表示,如 下图所示。
包的依赖性可以加上许多构造型规定它的语义,其中最 常见的是引入依赖。引入依赖(Import Dependency)是包与 包之间的一种存取依赖关系。 • 引入是指允许一个包中的元素存取另一个包中的元素, 引入依赖是单向的。引入依赖的表示方法是在虚箭线上标有构 造型Inport,箭头从引入方的包指向输出方的包。 • 如图所示

第五章 类图和对象图(UML)

第五章 类图和对象图(UML)


size
:integer
=(100)
9
第 五 章 类 图 和 对 象 图
5.1 类的定义
说明:
3、属性还有取值范围。类型表示该属性的种类。 它可以是基本数据类型,例如整数、实数、布尔 型和枚举型等,也可以是用户自定义的类型。一 般它由所涉及的程序设计语言确定必须为其指定 数据类型。当一个类的属性被完整定义后,它的 任何一个对象的状态都由这些属性的特性值所决 定。
20
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
关联是一种结构关系,它指明一个事物的对象与 另一个事物的对象间的联系 例如,一个人为一家公司工作,一家公司有许多办 公室。我们就认为人和公司、公司和办公室之间 存在某种语义上的联系。在分析设计的类图模型 中,则在对应人类和公司类、公司类和办公室类 之间建立关联关系
改变的因素:1.一个类向另一个类发送消息。 2.一个类是另一个类的数据成员类型 3.一个类是另一个类的操作的参数类型 注:如果两个类之间有关联,那么这两个类就有依赖关 系,但是我们一般不标出依赖关系。
37
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
3、泛化(generalization)关系
泛化关系:定义了一般元素和特殊元素之间的分类关系。 也就是一种继承关系。继承是在现有类的基础上定义和 实现一个新类的技术,刻画了类的一般性和特殊性。被 继承的类称为父类或超类,继承的类称为子类。 表示形式:用空心三角箭头实心线表示
25
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
角色:当一个类处于关联的某一端时,该类就在 这个关系中扮演着一个特定的角色。角色就是关 联关系中一个类对另一个类所表现的职责

面向对象与UML 第五章 序列图和通信图

面向对象与UML 第五章 序列图和通信图

5.3 建立序列图
3. 添加消息
按发生的顺序在对象之间添加交互消息。
– 客户通过发送创建消息EntryDialogue打开登录对话 框
– 客户通过发送inputUserInfo消息向登录对话框中输 入用户信息
– 登录对话框通过发送sendUserInfo消息将用户信息发 往服务器
5.3 建立序列图
server:Server
database:DataBase
e n tryDi a l o g :En tryDi a l o g En tryDi a l o g ()
«create»
i n p u tUse rIn fo ()
sendUserInfo()
i n p u tUse rIn fo ()
5.3 建立序列图
1. 确定事件流
“用户登录”的异常流: 用户输入的信息与数据库中存储的信息不匹配,数据库 验证不通过,弹出错误信息。
5.3 建立序列图
2. 布置对象
基本流中的对象主要有客户(client)、数据库(database)、 服务器(server)、登录对话框(entryDialogue)、好友 列表(friendList)
– 服务器再把该用户信息发往数据库进行身份验证, 若合法,返回消息允许用户登录,同时服务器通过 向自身发送updateList消息更新在线用户列表
– 服务器通过创建消息FriendList创建该用户好友列表 – 通过消息getOfflineMessage向数据库请求其他好友向
该用户发送的离线
5.3 建立序列图
3. 添加消息
按发生的顺序在对象之间添加交互消息。
– 客户通过发送创建消息EntryDialogue打开登录对话框

uml课后习题答案

uml课后习题答案

uml课后习题答案第一章系统建模与分析设计的演变课后习题:1、A2、C3、D4、B5、软件按照其工作方式可划分为实时处理软件、分时处理软件、交互式软件和批处理软件。

6、软件生存周期由软件的定义、软件的开发和软件的使用维护和更新换代三部分组成。

7、软件开发模型有瀑布模型、增量模型、螺旋模型、智能模型和快速原型模型等五种主要模型8、面向对象技术采用以类为中心的封装、继承、多态等不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造。

9、UML的优点是:唯一性、连续性、维护性、复用性和完善性。

第二章统一建模语言UML1、A2、B3、C4、D5、B6、UML分析和设计模型由三类模型图表示,三类模型图是:用例模型图、静态模型图和动态模型图。

7、UML的软件统一开发过程,即生命周期按时间顺序可以划分为,开始,详细设计,系统构造和移交四个阶段及阶段中一系列的循环重复。

8、UML开发过程是一种二维结构软件开发过程,软件项目开发过程流程包括的核心工作内容是,分析,设计,实现,测试和配置9、UML中的五个不同的视图可以完整地描述出所建造的系统,这五种视图是用例视图、逻辑视图、构件视图、进程视图和配置视图。

10、UML中有10中基本图可以完整地描述出所有建造的系统,这10中视图是用例图、类图、对象图、包图、构件图、配置图、序列图、活动图、状态图和合作图。

第三章需求分析与用例建模习题:1、B2、A3、C4、D5、B6、A7、A8、UML软件开发过程需求分析阶段产生的模型由三类模型图表示。

他们是:用例模型图、静态模型图和动态模型图。

9、CRC卡中的描述由类名、类特征、类类型、责任和协作者共五部分组成10、软件项目的目的的可行性研究分析中,技术可行性研究包括风险分析、资源分析、技术分析三部分组成11、在UML软件开发过程的需求分析阶段,建立用例模型的步骤分为,确定系统的范围和边界,确定系统的执行者和用例,对用例进行描述,定义用例之间的关系和审核用例模型。

课件—UML系统建模与分析设计(5)

课件—UML系统建模与分析设计(5)
第五章
系统设计与对象动态交互模型
动态模型主要描述系统的动态行为和控制结构。动态行 为包括系统中对象生存期内可能的状态以及事件发生时状态 的转移,对象之间动态合作关系,显示对象之间的交互过程 以及交互顺序,同时描述了为满足用例要求所进行的活动以 及活动间的约束关系。 在动态模型中,对象间的交互是通过对象间消息的传递来 完成的。对象通过相互间的通信(消息传递)进行合作,并在其 生命周期中根据通信的结果不断改变自身的状态。
16
5.2.1 一个简单的顺序图例子
17
顺序图有两个坐标: 垂直坐标--时间(从上到下),水平坐标—对象。
对象
生存线
时间
18
激活期
消息
顺序图和用例图、类图的关系
19
5.2.2顺序图的主要元素:
(1)对象:顺序图中所包含的每个对象用一个 对象框(短式)表示,对象名需带下划线。
对象图
(2)生存线:对象框下画的一条垂直虚线,称 为该对象的生存线,表示对象的生存时间。 (3)激活期:对象生存线上的一个细长方形框, 表示该对象的激活时间段,即活动期间。一 个激活的对象要么正在执行自己的代码,要 么等待另一个对象的返回。 (4)消息:对象之间消息的发送和接收用两个 对象生存线(激活期)之间的消息箭头线。
28
5.3
对象之间的同步与异步操作
1.对象之间的同步操作
同步消息的发送者把进程控制传递给消息 的接收者,然后暂停活动,等待消息的接收者 放弃或返回控制; 同步消息的接收者执行所请求的操作,如 果需要的话,可以把控制传递给另一个对象角 色,请求做某个操作,并且当该操作完成后把 控制返回给原来的同步消息的发送者; 同步消息的接收者也可以直接返回或发送 信息给原来的消息发送者。

tanhuobin_uml05[1].Use-Case+Analysis

tanhuobin_uml05[1].Use-Case+Analysis

行为都是由相应的类来完成的 因此这些行为必须被分配到类中
分析阶段就是对这个过程的第一次尝试 这是一个从“无”到“有”的跨越
用例分析:对于每个用例实现
查找分析类
为分析类分配职责
构造参与类类图
-38-
分析类:达成目标的第一步
用例分析
-39-
什么是分析类
分析类代表了“系统中必须具备职责
用例分析流程
-20-
构架分析
构架分析的过程就是定义系统高层组
织结构和核心构架机制的过程
1.定义系统高层组织结构—备选构架
2.确定系统通用构架机制—分析机制
-21-
1.定义备选构架
RUP中的“定义备选构架”
创建系统
构架的初始草图 初步定义一组在构架方面具有重要意义的元素,
层之间建立依赖关系
-28-
2.构架机制
构架机制是对通用问题的决策、方针
和实践
构架机制描述了针对一个经常发生的问
题的一种通用解决方案 作为系统构架的一部分,构架机制常常 集中和定位在系统的非功能需求上
三类构架机制
分析机制(概念) 设计机制(具体) 实现机制(实际)
-29-
为什么使用分析机制
删除多余候选 删除不清楚的候选 删除执行者(系统外) 删除实现构造 删除属性 删除操作
-47-
示例:候选实体类
“学生选课”用例基本路径中的候选
实体类
-48-
示例:总结:分析类
-49-
总结:从用例中查找分析类
-50-
实例-旅店预订系统中查找分析类
-51-
2.2将用例行为分配给类
-26-
MVC备选构架示意图B-C-E
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


从在构架方面具有重要意义的用例中确定分析类 通过分析类交互来更新用例实现
-34-
经典的三层构架-1
表示层
应用逻辑层
记录销售信息
支付授权
存储层
数据库
-35-
多层体系结构的动机



将应用逻辑作为单独的构件从系统中分离出来, 以便这些构件在其他系统中能得到重用 将各个层次分配到各个不同的物理计算节点, 或者分配给不同的进程。这样可以改善系统性 能、更好地支持客户和服务器系统中的信息共 享和协调 将不同层的开发任务在开发者之间适当地分配, 这可以有效地利用开发人员的专长和开发技巧, 并且能够提高并行开发能力

完备的


-19-
从用例开始-2

根据风险、重要性以及项目组的能力确定用例的优先 级:用例分级


风险 重要性 团队能力以及团队建设

在迭代开发中,通过一次全面的需求收集来获得所有 的用例;之后找出一个用例集,开发一个符合这些需 求的最小系统,完成一次迭代过程;在此基础上,进 行后续的增量开发过程


清晰地区分问题域(业务需求)和解域(详细 的设计考虑)

总是关注存在于问题域的抽象
-29-
经验法则-2

总是尽力最小化耦合

类之间的每个关联都是在它们之间建立耦合

继承关系


继承是类间耦合的最强形式 如果看起来存在自然的、强迫的抽象层次,则可探 索继承关系 分析中,永远不要仅为了复用代码而使用继承
-3-
下构化 分析设计
其它方法
自己的 土方法
系统
-4-
内容安排


面向对象分析设计过程 面向对象分析基础 面向对象分析原则 开始分析之前 用例分析技术
-5-
面向对象分析、设计

基于面向对象的分析和设计理论,产生 了许多开发过程实践

RUP:Ration Unified Process MSF:Microsoft Solution Framework ALM:Application Lifecycle Manage
第 5 章用例分析技术
Use-Case Analysis
Review: Use-Case Modeling

基于用例的需求获取过程

1. 获取原始需求 2. 开发一个可以理解的需求

2.1 识别参与者 2.2 识别用例 2.3 构建用例图
进行用例阐述 4.1 识别用例间的关系 4.2 对用例进行组织和分包
Login Login
Employee Employee
Record Time Record Time Create Charge Code Create Employee
-26-
内容安排


面向对象分析设计过程 面向对象分析基础 面向对象分析原则 开始分析之前 用例分析技术
-27-
分析的基本原则
-16-
分析模型与用例模型
用例:外观
类图:内部机理
-17-
如何开始?
从 用 例 开 始!
-18-
从用例开始-1

根据高层用例图和文档来确认需求定义是可靠 的、一致的

可靠的

每个用例都包含对正常事件流和异常事件流的描述 存在备选事件流、异常事件流的描述
如果在分析过程中发现一些新的用例,说明需求是不完备 的,此时应对用例进行重构 在分析过程中,还有可能精化对每一个用例的理解
-31-
分析模式-2



分析模式更接近系统的概念模型,如果系统概 念模型经过抽象,可以应用在多个相似的环境 中,那么,它就变成了模式 在代码实现层面,我们很容易看到和理解重用 的概念,从最开始的函数库,到类库,到设计 模式,到应用框架,我们的对代码的重用程度 越来越高 在业务领域的分析层面,重用的可能性依然存 在,分析模式,就是这种重用的一部分,如果 我们都可以利用以往的经验,得到业务领域的 通用解决方案,它们将直接影响到应用系统的 设计,因而这种重用的价值将更加显著
-13-
OOA目标

开发一系列模型,以描述计算机软件, 从而满足客户定义的需求:分析模型


包括两种图,描述对象及其交互 这些图按照用例模型来组织,每个用例图都 会产生数张图


类图(class diagram):描述了构成一类对象 特征的状态和行为(描述软件架构) 交互图(interaction diagram):描述对象之 间的交互行为(演示用例实现)(描述系统行为)
------------------------------------------------------------------------------Glossary
Analysis workflow
: :
Analysis Class
-15-
OOA与用例模型

分析是建立在需求收集的基础上

Vision/Scope Approved
Release Readiness Approved
Product Management
Development
MSF
User Experience
Scope Complete Project Plans Approved
Communication
Test Release Management
-2-

3 详细、完整地描述需求


4 重构用例模型


References



[Arri02]CT Arrington, Enterprise Java with UML(马波,李雄锋译,Enterprise Java with UML中文版,机械工业出版社,2003年) [Larm01], Craig Larman, Applying UML and Patterns, 2e(姚淑珍、李虎等译,UML和模式应用 -面向对象分析与设计导论,机械工业出版社,2002 年) [DEV475], IBM Rational, Mastering ObjectOriented Analysis and Design with UML, 2003 [Kruc00], Philippe Kruchten, The Rational Unified Process: An Introduction (Second Edition)(周伯生等译,Rational统一过程引论,机 械工业出版社,2002.5)


1-用户几乎不注意用例的存在,在没有它的情况下系统不 会有什么影响 2-用户注意用例的存在,但稍加想象,系统仍然可以很好 的使用 3-系统的大部分可以独立于这个用例 4-系统的一部分可以独立于这个用例 5-没有它,就不可能使用这个系统
-24-
从用例开始-其它问题

合适性(suitability):这个用例是否适合你 的团队
Employee
Record Time
Create Charge Code Create Employee
-21-
从用例开始-风险分析-1

项目本身风险(risk):项目的风险清 单

无法接受的系统性能 无法应付新的需求 不确定的进度以及开发周期 无法接受的用户界面 ……
-22-
从用例开始-风险分析-2

分析模型建立在用例模型的基础上 用例模型确定了分析模型的结构(通过用例来组织 分析模型) 用户视角理解用户问题过渡到开发团队视角分析用 户问题

与需求一样,它还是在问题域中 用例分析也是分析的一个阶段,而OOA是分析的后期阶段, 从这个阶段开始,我们从用户域跨入开发团队域

分析与需求捕获在很大程度上重叠,这两个活动常 常相辅相成,为了澄清和找出任何遗漏或歪曲的需 求,常常需要在需求之上作一些分析
-6-
IBM RUP
-7-
RUP中的分析和设计工作流
软件构架文档 用例实现规约
分析 Analysis
设计 Design
-8-
分析阶段主要工件
用例视图:
用例模型 用例实现(分析)
逻辑视图:
分析(概念)模型 体系结构包图
:
:
-9-
MSF
Deployment Complete
Program Management
相对来说,策划一系列的小胜利和接受一些小的 失误总要好一点。策划一个巨大的胜利经常会导 致灾难性的失败!
-20-
用例图:考勤卡系统
Export Time Entries Billing System Change Password <<include>>
Administrativ e User
Login

“该模型对所有项目干系人有用吗?”
保持模型简单!
-30-
题外话:分析模式-1

分析模式(analysis pattern):描述通用业 务/分析问题解决方案的一种模式



例:“游戏者击中白球,它以一定的速度前进,并 以特定的角度碰到红球,于是红球在某个特定的方 向上前进一段距离 ” 除了这些表面现象,还必须了解背后的本质,那就 是和质量有关的运动定律,速度,动量,等等。了 解这些规律将更容易看到软件可以怎样建立 我们建造应用系统的时候,需要大量的了解和研究, 才能接触到问题的本质
把分析限制在问题域词汇的那部分类 保持分析模型是一个对系统结构和行为 的精确和简单陈述
-28-
经验法则-1
相关文档
最新文档