UML复习总结.docx
- 文档编号:11590664
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:45
- 大小:494.46KB
UML复习总结.docx
《UML复习总结.docx》由会员分享,可在线阅读,更多相关《UML复习总结.docx(45页珍藏版)》请在冰豆网上搜索。
UML复习总结
1.1前言
本资料对UML1.5各种模型图的构成和功能进行说明,通过本资料的学习达到可
以读懂UML模型图的目的。
本资料不涉及模型图作成的要点等相关知识。
1.2UML概述1.2.1UML简介
UML(UnifiedModelingLanguage)为面向对象软件设计提供统一的、标准的、可视化的建模语言。
适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。
UML的定义包括UML语义和UML表示法两个部分。
(1)UML语义:
UML对语义的描述使开发者能在语义上取得一致认识,消除了因人
而异的表达方法所造成的影响。
(2)UML表示法:
UML表示法定义UML符号的表示法,为开发者或开发工具使用这
些图形符号和文本语法为系统建模提供了标准。
1.2.2UML模型图的构成
事物(Things):
UML模型中最基本的构成元素,是具有代表性的成分的抽象关系(Relationships):
关系把事物紧密联系在一起
图(Diagrams):
图是事物和关系的可视化表示
1.3UML事物
UML包含4种事物:
构件事物行为事物分组事物注释事物
1.3.1构件事物:
UML模型的静态部分,描述概念或物理元素,它包括以下几种:
类:
具有相同属性相同操作相同关系相同语义的对象的描述
接口:
描述元素的外部可见行为,即服务集合的定义说明
协作:
描述了一组事物间的相互作用的集合
用例:
代表一个系统或系统的一部分行为,是一组动作序列的集合
构件:
系统中物理存在,可替换的部件
节点:
运行时存在的物理元素另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体
1.3.2行为事物:
UML模型图的动态部分,描述跨越空间和时间的行为
交互:
实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接状态机:
描述事物或交互在生命周期内响应事件所经历的状态序列
1.3.3分组事物:
UML模型图的组织部分,描述事物的组织结构包:
把元素组织成组的机制
1.3.4注释事物:
UML模型的解释部分,用来对模型中的元素进行说明,解释注解:
对元素进行约束或解释的简单符号
1.4UML关系1.4.1依赖
依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,
会影响到另一个事物(依赖事物)的语义
1.4.2关联
关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系
1.4.3泛化
泛化(generalization)是一种特殊/一般的关系。
也可以看作是常说的继承关系
1.4.4实现
实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保
证执行的契约
1.5各UML图及特征
1.5.1用例图(UseCaseDiagram)
是用户所能观察到的系统功能的模型图,用例
探用例图是从用户角度描述系统功能,是系统中的一个功能单元
保安1.5.2类图(ClassDiagram)
探类图描述系统中类的静态结构。
不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)
探类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联
1.5.3对象图(ObjectDiagram)
探对象图是类图的实例,几乎使用与类图完全相同的标识。
他们的不同点在于对象图
显示类的多个对象实例,而不是实际的类
対象
1.5.4顺序图(SequenceDiagram)
探顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示
对象之间的交互
探顺序图的一个用途是用来表示用例中的行为顺序。
当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件
,1:
.3
1.5.5协作图(CollaborationDiagram)
探协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。
除显示信息交换外,协作图还显示对象以及它们之间的关系
探协作图的一个用途是表示一个类操作的实现
1.5.6状态图(StateChartDiagram)
探状态图是一个类对象所可能经历的所有历程的模型图。
状态图由对象的各个状态和连接这些状态的转换组成
1.5.7活动图(ActivityDiagram)
探活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动探活动图描述了一组顺序的或并发的活动
1.5.8构件图(ComponentDiagram)
探构件图为系统的构件建模型一构件即构造应用的软件单元一还包括各构件之间的依
构件
赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响
OSpell-check
OSynonyms
接口
1.5.9部署图(DeploymentDiagram)
节点是一组运行资源,如计算机、设
部署视图描述位于节点实例上的运行构件实例的安排。
备或存储器。
这个视图允许评估分配结果和资源分配
serverHostMachine
«d9tabase>rneetingsOB
I_1—Scheduler
reservations
«directchannel*
\:
irm&内部节点冋rm酣
1.6各UML图的关系
需求分析
BD基本设计
DD详细设计
FD
功能设计
◎:
最适用
o:
适用
△:
可能适用
——:
不适用
BD
FD/DD
主要图之间的关系
4
分折3
B£>*-
FD<
t>a・
用例图•
O-^1
—A
—4
类图“
—A
jr
Of
1
Of-1
.1
—和
-h
Q2
"1
&>*•
.1
1.7UML语法描述
NewClass
疥踽宙誌逐呼廖浇灘海曲运越运逛曲曲曲整住逛曲曲迦輕逛平血适逸型型型述迪型型迪卷是对一组具有相同属性、相同操作*相同关系和相同语文的对象的插逹
对象
接口
O
是描述了一个类或构件的一个服务的操作集
定义了一个交互,它是由一组共
协作同工作以提供某种协作行为的角
色和具他元素枸成的一个群体
3.
用例是対一组动作序列的描谜
class
主动
类
对象至少拥有一个进程或线程的
'Sj^pend0flustiQ
枸件
是系统中捌理的、可替代的部件
蚤与
者
在系统外部与系绒直接交互的人或事物
节点
墨在运行时存在的物理兀耒
cessor
它由右特定语境中共同完成一定任务的一组对象间交换的消息组成
>
状态机
它描述了一个对象或一个交互在生命期内响应事件所经历的状态序列
state\
包
把元簣组织咸组的机制
注释事物
1UMLS型的鶴释部分
二
依赖
一条可能有方向的虚线
->
关联
一条实线,可能有方向
泛化
一条希有空心箭头的实线
[>
实规
一条帯有空心箭头的虚线
>
1.8习题
判断题
1、UML中一共有九种图:
它们是用例图、类图、对象图、顺序图、协作图、状态图、活动图、构件图、部署图
2、用例图是从程序员角度来描述系统的功能
3、类图是描述系统中类的静态结构,对象图是描述系统中类的动态结构
4、活动图和状态图用来描述系统的动态行为
5、协作图的一个用途是表示一个类操作的实现
选择题
6、请在下面选项目中选出两种可以互相转换的图
(a)顺序图(b)协作图(c)活动图(d)状态图
7、下面哪些图可用于BD阶段
(a)用例图(b)构件图(c)类图(d)顺序图
答案:
1•正确2•错误3•错误4•正确5•正确6.⑻(b)7.(a)(c)(d)
2.1用例图概要
用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。
(《UML参考手册》)
用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个
用例的执行
(或称为发起了哪个用例)。
用例图多用于静态建模阶段(主要是业务建模和需求建模)。
2.2用例图中的事物及解释
UML表示
孫轴骷絲飜如瞅嘉撇0肝忖聲
谢跳(颐不題瞅它備修騎帖緬扳越邂輛摊輔包刪在藏據麻逊钟厂悵砺闷斜据繃狎參辅」碉朋世服研断甘翦名踊備肝餌訓不験际
2鮎訓娜訓円而視橢肖系轶牧疏尿鸵的主谿江
粧刪io删的喙糊
同,mmu
r■t-■
ACtOrt
fflM(UseCsse)
啟啊规肝谯勒髀元藏炳帥啟和划分刪褪軌蒯卜jwavfWiW录)
(
UseCasel\
O
23用例图中的关系及懈
关系
解释
与间
呑Z系
羯
表示鮎者与用例之何的交®通懺岳伕联有时馳瞬箭头的实隸表示,这醐表示能毎显示岐明发起删的是参与款)
的关系
箭头指向曲用艄被包含的用饥称为包含朋;箭头岀发的用例为基用佻齢卵是她的,如飄少齢用例.基用例就不完劉包舘例必须隸伉不需要龊某种条件:
其执斤并不会邂基朋
(include}
鼻
扩展
箭头指向的用例为被扩展的用佻称为扩胡例;箭头出发的用例燧用饥扩删题选亂如縣少扩展删不鑼响到基翩的翹性;rm在-定条件下才会执花并且其師会改变基帥的
(extend))
——*
参与者之间的赫
泛化
黜箭头曲事折躅头指向的事抓泛化关系是-卿特糕系,发岀箭头的-方代表特殊的-则箭头断的-方胰-段-九辆-方野了-般方狒性并增加了新的特也
>
2.4例子
实例1参与者之间的泛化关系
参与者:
经理,安全主管,保安
用例:
管理人事,批准预算,批准安全证书,监视周边
在参与者之间不存在泛化关系的情况下,各个参与者参与用例的情况分别是:
经理参与用
例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。
由于安
全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安
的角色,就能够参与经理和保安参与的用例。
这样,安全主管就可以参与全部4个用例。
但
经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。
走全主習
实例2用例之间扩展和包含关系
用例的上下文是:
短途旅行但汽车的油不足以应付全部路程。
那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。
吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。
实例3.航空售票的用例图
参与者(actor):
clerk,监督员,信用卡服务商,信息亭
用例(usecase):
Buytickets,BuySubscripton,Makecharges,Surveysales
参与者Clerk参与(或称发起)Buytickets和BuySubscription两个用例(关联关系)。
这两个用例的事件流都包含Make
charges用例(包含关系)。
系统由:
Buytickets,BuySubscription,Makecharges,Surveysales组成。
该系统主要包含:
Buytickets,BuySubscription,Makecharges,Surveysales这
几个功能。
该系统主要面向的用户(参与者):
clerk,监督员,信用卡服务商,信息亭。
系统
BoxOffice
信息亭
r—-
关系
Buytickets
< BuySubscription Clerk 参与者 信用卡服务商 Makecharges 用例 Surveysales 监督员 2.5习题 1.右图中的参与者有? (a)1(b)2 (c)3(d)4 2.右图中的用例有? (a)1(b)2 (c)3(d)4 3.2和3之间是什么关系? 5和6呢? (a)扩展,包含(b)包含,扩展 4.5缺少了3仍然是个完整的用例? (a)是的(b)不是 5.4能够参与2吗? 1能够参与5吗? (a)可以,不可以 (b)不可以,可以 习题答案: 1、⑻(d)2、(b)(c)3、(b)4、(b)5、(b) 3.1类图概要 类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法 探类图中的类”与面向对象语言中的事物的抽象 类”的概念是对应的,是对现实世界中的 3.2类图中的事物及解释 3.2.1类 探从上到下分为三部分,分别是类名、属性和操作。 类名是必须有的 探类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述 信息,如可见性、数据类型、缺省值等 探类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等 3.2类图中的事物及解释 322接口 探一组操作的集合,只有操作的声明而没有实现 3.2.3抽象类 探不能被实例化的类,一般至少包含一个抽象操作 3.2.4模版类 探一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从 而产生不同的类 ShapeShape+Draw() 爱林图形) Vehicle -fMaxSpeed: float +Start(): int +Stopf): ini COTLEtT& 模版参数 ^Tushldem: Ti*Fopij: •CetTop[}: 33.2酬关系 坏咅丽號申-腓为解关爲存肝建与子类、娥西子知 niO B泓'觌、W 繃蛾臟删 ^CirclesRectangle B 334谶系 niLSS 做诫(bind)、航伽id)等 类Mem嗣Q类Ori测or竝及元術縣嫌OriginatorilfflMementoWistate Stack %size: int 勺u$h(elen: T): int^Pop(): iat °GetTopO: con$tT& ~^r~\ 鹼徹<T斂 7WB就碱肖斯 Bit删 33类图中的关系及解释 331关联关系 煞描述了类的结构之间的关系.具有方向、名字、角色和多重性等信息匚一般的关联关系语文较弱,也有两种语文较强,分别是聚合与组合 ClassDiagram 方向 覲向关联(省昭爾头) 参重性 (用數宇和*克示) ]...*: 1个或參亠■ I个类图有1个或參牛类rb类属于1*或务牛类图 Class 实惻 聚合关系 >特殊关联关系.指明一个聚奧(整体)和组成部分之间的关系 组合关系 >语义更强的聚合,部分和整体具有相同的生命周期 类图包含有事物和关系,类图不方在了: 車物和关系还匸用干其它的类图 Class 煤心疑)、 ■* Association 实例 粪与关联关系之间有组合关系,类不存在了,则相应的关联关系也不存在 3.5类图例子 3.5.1图形编辑器 探图形编辑器一般都具有一些基本图形,如直线、矩形等,用户可以直接使用基本图形画图,也可以把基本图形组合在一起创建复杂图形 探如果区别对待基本图形和组合图形,会使代码变得复杂,而且多数情况下用户认为二者是一样的 探组合模式可以用相同的方式处理两种图形 /(L1 Graphics: 基本图形和组合图形的父类,声明了所有图形共同的操作,如用于组合图形管理子图形的操作,如Add、Remove Draw;也声明了专 Line、Rectangle: 基本图形类 GroupGraphics: 组合图形类,与父类有组合关系,从而可以组合所有图形对象(基本图形和 组合图形) 3囂mm 在肪腿动册翹程中,鮒刖洛悄鹼參辅觸类和分桶胭眦斟韻很釣向对铀馭跚魏矯讎刪的輔酬类的離和辭 Bo ice 側o Clerk ffim騷同< Buyticket^W BuySubscription: Makecharges: 款 剧知xeT 愤裁妙咚如翻: mm 机岬泌刪lotpsfoEEUDOCi ft 藏碗魁酬删胸M韵 X f 宇险僦 □ 1i 1D ii b '" 力M <►削肚釉伸 4.1概要 顺序图用来表示用例中的行为顺序。 当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。 顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生 的。 顺序图属于动态建模。 顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。 表示了对象之间传送消息的时间顺序。 浏览顺序图的方法是: 从上到下查看对象间交换的消息。 42 S3 4.3顺序图与用例图和类图的关系 4.4顺序图例子简单的例子消息格式: operation(parameterlist) 就是调用箭头指向的对象所在类的 向哪个对象发消息实际上就是调用它的类中的操作,个operation。 例: _ 验证客户 订单类发消息给客户类调用客户类中的验证客户”操作 3: inn 复杂的例子 匚necut匚日广口 HFiTWlGFi ShowAx/aiatilet;seat-lIst) insertcam(cardiMumrier) 亠 OritianrJPaymrnrt(c口吕f) SelectSeats i-? ecjje3t(coiurit,peiTorimance) 土金线〔沾动的) 泮f包 丁匚厂自电电(匚3旳number,匚口3包[autriOflzeciU |printtic: ktjLis(purT口「rnLince,sbuj— eject匚ard 从这个例子中可以看出: Kjosk类中的操作有 ShowAvailable(seat-list) DemandPayment(cost) printtickets(performanee,seats) ejectcard BoxOffice中的操作有 Request(count,performanee) SelectSeats InsertCard(CardNumber) authorized CreditCardService类中的操作有 charge(cardnumber,cost) 此图是描述购票这个用例的顺序图。 顾客在信息亭与售票中心通话触发了这个用例的执行。 顺序图中付款这个用例包括售票中心与信息亭和信用卡服务处使用消息进行通信过程。 此图中存在的事物有: 对象(信息亭Kjosk,售票中心BoxOffice,信用卡服务CreditCardService),生命线,消息符号。 信息亭发Request(count,performanee)消息给售票中心,表示调用售票中心类的Request (count,performanee)操作,来查询演出的信息。 售票中心发ShowAvailable(seat-list)消息给信息亭,表示调用信息亭类中的ShowAvailable(seat-list)操作,给出可用的座位表。 4.5练习题 i指出左图中的参与者? A①E②C③D® ⑦ submit{orded amount) OK I*- authorize f(gT-; J1 (seats)亠 offer(seatfhoke) /: ;、、jmegid 彳參PickOd忸〔也闻丁 农pfint(o : St&gr|[仃xiiTSereccj 2哪些是对臻? A®E②③®C④D@®©@@® 3SgrvH类谓用了氐鮒黝V盘类中的什么操作? A⑦B⑧C®®D®⑨ LA2.B3.B 6.1状态图概要 6.1.1状态图 说明对象在它的生命期中响应事件所经历的状态序列,以及它们对那些事件的响应。 6.1.2状态图用于 揭示Actor、类、子系统和组件的复杂特性。 为实时系统建模。 6.2状态图的组成 6.2.1状态 对象的状态是指在这个对象的生命期中的一个条件或状况,在此期间对象将满足某些条件、执行某些活动,或等待某些事件。 6.2.2转移 转移是由一种状态到另一种状态的迁移。 这种转移由被建模实体内部或外部事件触发。 对一个类来说,转移通常是调用了一个可以引起状态发生重要变化的操作的结果。 6.3状态图中的事物及解释 状态 上稱放置名称,下格说明处于该狀态时,系统或对象要做的工作(见可选活动表) Enr|»rPaiffwvirri digil/h«e(ihniwfc&s*ck«r/pmiwordhiHp>/halp 转移 转移上标出触发转移的事件表达式,如果转務上未标明事件,则表示在源状态的内部活动执■行左毕后自动趟发转移 消息阑性)條件]动、 开始 初始状态(一个) • 结束 终态(可以多个) 严 6.4状态的可选活动表 转换种类 描述 语法 入口动作 进入某一状态时执行的动作 entry/'actlon 出口动作 离开某一状态时执行的动作 exi? /action 外部转换 引起状态转换或自身转换,同时执行一个具体的动作,包括引起入口动作和出口动作被执行的转换 内部转换 引起一个动作的执行但不引起状态的改变或不引起入口动作或出口动作的执行 dKTH™]/action 6.5例子 (1)对象的状态图图中包含以下状态初始状态 Available状态Locked状态 Sold状态 状态间的转移 初始状态Available状态 票被预订(lock): AvailableLocked预定后付款(buy): LockedSold预定解除 预定过期直接购买 osagned tirTEcut Awilcbe tc Sold (uniock): LockedAvailable(timeout): LockedAvailable(assignedto):
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 复习 总结