统一建模语言UML.ppt
《统一建模语言UML.ppt》由会员分享,可在线阅读,更多相关《统一建模语言UML.ppt(141页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、统一建模语言UML,UML核心视图,视图,视图是UML的“语法”,UML通过视图将基本元素组织在一起,形成有意义的“句子”来描述系统。,如何描述系统?,要描述系统的结构性特征,结构决定了系统能做什么。UML中用静态视图来表达。也要描述系统的运行时行为,这些行为决定了系统怎么做。UML中用动态视图来表达。这两者结合起来才能把系统描述清楚。,视图的类型,静态视图:描述静态事物,描述事物的静态结构,不描述其动态行为。动态视图:描述事物的动态行为动态视图不能独立存在,它必须特指一个静态视图或UML元素,说明在静态视图规定的事物结构下它们的动态行为。,静态视图,用例图类图包图,用例图,采用参与者与用例作
2、为基本元素,以不同的视角展现系统的功能性需求。对客户:用例视图是他们业务领域的逻辑化表达。对建设单位:用例视图是系统蓝图和开发的依据。,用例图的类型,一般来说,有以下几种用例视图:业务用例视图业务用例实现视图概念用例视图系统用例视图系统用例实现视图,业务用例视图,使用业务主角和业务用例展现业务建模的结果。通常业务用例视图需要从业务主角和业务模块两个视角进行展示。,业务主角视角,展示业务主角在业务中使用哪些业务用例来达成业务目标。有利于业务主角确认其业务目标是否都已经齐全,以此来检查是否有遗漏的业务用例没有发现。,借书管理系统的借阅人业务用例视角,借书管理系统的借阅人业务用例视角,这个视角的含义
3、是:借阅人业务主角在借书管理系统中有借阅图书和办理借阅证两个业务目标。如果主角认为他所有的目标都已经齐全,就可以认为针对这个主角的业务用例定义完成了。,业务模块视角,展示业务领域的业务目标,将参与了达成这一业务目标的业务主角与业务用例展现在这个视图中。这个视角有利于从业务的完整性角度出发,检查完成某个业务的所有业务主角和业务用例是否都齐全,以此来检查是否有遗漏的业务用例。,借书业务视角,借书业务视角,这个视图的含义是:这些业务主角和业务用例完整的概括了借书业务的业务目标。如果这些业务能够被这些业务主角和业务用例完整的说明,则认为针对此业务模块的业务用例定义完成。,其他视角,建模中,还可以根据实
4、际需要,从更多的视角来绘制业务用例视图:部门视角重要业务的实体的生命周期角度每当需要展现某个方面的视角时,都可以将获取到的业务主角和业务用例用例视图展现出来。,业务用例实现视图,用于展现业务用例有哪些实现途径。实际中:如果一个业务用例只有一个实现途径,没必要用业务用例实现视图。如果一个业务用例有多种实现途径,则应当绘制业务用例实现视图来组织实现业务的那些业务对象和业务过程。,借阅图书业务用例实现视图,概念用例视图,用于展现业务用例中经过分析分解出来的关键概念用例,并表示概念用例和业务用例之间的关系。一般关系有:扩展、包含、精化概念用例视图一般以业务用例为单元展现,即将视图名称命名为业务用例名称
5、,如果某几个业务用例关系紧密也可以放在一个视图里展示。,借阅图书概念用例视图,注意,概念用例视图不是必须的。如果业务用例时一个复杂业务,绘制概念用例视图有助于细化和更准确的理解业务用例。,系统用例视图,用于展现系统范围,将对业务用例进行分析以后得到的系统用例展现出来。一般,系统用例视图是以业务用例为单位展现的,即将视图名称命名为业务用例名称。,借阅图书系统用例视图,类图,用于展示系统中的类及其相互之间的关系。类图是现实世界问题领域的抽象对象的结构化、概念化、逻辑化描述。类图的建模围绕着三个层次:概念层说明层实现层随着抽象层次的逐步降低而逐步细化。,概念层类图,这个层次的类图描述的是现实世界中的
6、问题领域的概念理解。类图中表达的类与现实世界的问题领域有着明显的对应关系,类之间的关系也与问题领域中实际事物的关系有着明显的对应关系。,概念层类图,概念层类图中的类和类关系与最终的实现类不一定有直接和明显的对应关系。在概念层上,类图着重于对问题领域的概念化理解,而不是实现,因此类名称通常都是问题领域中实际事物的名称。概念层类图是独立于实现语言和实现方式的,通常位于业务建模阶段,以业务实体图来表示。,概念层类图,网上购物的业务实体图,主要由商品、定单、支付卡这几个关键类组成,这个几个类的交互可以完成网上购物这个业务目标。这个类图表达了概念层类图的观点。,说明层类图,这个层次的类图为主考察类的接口
7、而不是实现。类图中表达的类和类关系应当是对问题领域在接口层次抽象的描述。即此时不用关心类最终是用何语言编码、用什么设计模式,遵循什么标准,只要关心这样一些类,它们通过接口进行交互,进而完成了问题领域中的业务目标。,说明层类图,是搭建在现实世界和最终实现之间的一座桥梁。说明层类图位于概念建模阶段,这个阶段,类图是以分析类和分析模型图来表示的。,说明层类图,网上购物的分析类图,表达了从计算机视角,网上购物这个业务目标是由哪些类来完成的,这些类的接口保证了这个业务目标的达成。,实现层类图,这个层次的类图中,类是实现代码的描述,类图中的类直接映射到可执行代码。这个层次上,类必须明确采用哪种实现语言、什
8、么设计模式、什么通信标准、遵循什么规范。实现层类图是用得最普遍的。,实现层类图,实现层类图位于设计阶段这个阶段,类图可以视为伪代码,甚至可以用工具直接将实现层类图生成可执行代码。如下图:J2EE架构的实现查询商品功能的类图。,包图,一般用于展示高层次的观点。使用不同包的版型来绘制包图,包图就展示了这个版型所寓意的软件观点。通过包可以从大到小、从粗到细的建立元素之间的关系。,领域包图,展示了网上购物的领域包图,表达了关键业务领域及其依赖关系。,层次包图,展示了查询商品功能的类层次,表达了实现类位于哪个层次的软件架构的观点。,动态视图,活动图状态图时序图协作图,活动图,活动图描述为了完成某一个目标
9、需要做的活动以及这些活动的执行顺序。UML中有两个层面的活动图:用于描述用例场景用于描述对象交互,用例活动图,用例活动图是最经常使用的,用来描述用例场景,也就是通常说的业务流程。业务流程一般包括一个基本业务流程和一个或多个备选业务流程,业务流程通过多个活动按照一定的条件和顺序执行来推进。,登机手续用例场景活动图,活动图中的基本元素,起始点一种特殊状态,标记业务流程的开始。一个活动图,或一个业务流程只有一个起始点。结束点也是一种特殊状态,表示业务流程的终止。一个活动图可以有一个或者多个结束点。,活动图中的基本元素,基本流:表示最主要的、最频繁使用的、默认的业务流程分支。例如:登机手续用例场景活动
10、图中从开始到结束办理的流程。,活动图中的基本元素,分支:判断:根据某个条件进行决策,执行不同的流程分支。一个分支可以有一个进入转移和两个或多个输出转移在每条输出转移上都有监护条件表达式保护,当且仅当监护条件表达式为真时,该输出路径才有效。在所有输出转移中,其监护条件不能重叠,而且它们应该覆盖所有的可能性。分支在图形表示上 用菱形表示,分支,活动图中的基本元素,活动:是业务流程中的一个执行单元。UML中活动被赋予四个特定的事件Entry:只进入(启动)活动时要执行的动作Do:活动执行过程中要进行的动作(或者类方法)Event:活动在执行中接收到某个事件时执行的动作Exit:活动在退出时要进行的动
11、作,活动图中的基本元素,同步:同步起始:表示从它开始多个支流并行执行。同步汇合:表示多个支流同时到达后再执行后续活动。同步起始和汇合应该是平衡的。同步起始和汇合在图形上都使用同步条来表示。,示例:描述打电话活动中的并发事件,活动图中的基本元素,组合活动:可以用嵌套的活动来表示。这种方式会导致活动图太复杂,不建议使用,宁可另外用一副活动图来表示这些子活动。,对象活动图,用于展示对象之间的交互。例如:查询商品的对象交互图,泳道,每个泳道代表了一个特定的类、人、部门、层次等对象的职责区,这些对象在业务流程中负责执行的活动集合构成了它们的职责。泳道弥补了活动图不能描述对象职责的遗憾。,加入泳道前的对象
12、活动图,加入泳道后的对象活动图,实际情况中,活动图主要应用于以下两个场景建模:业务场景用例场景,业务场景建模,客户的业务通常是以业务流程的形式存在,仅从单个客户代表处得到的需求不足以说明业务的全貌,此时我们常以业务主角作为泳道,以从业务主角处获取的用例作为活动来编排活动图。这种活动图对我们获取正确的业务用例和检查已经获得的业务用例有很好的帮助。,业务主角为泳道建模活动图,可以:帮助发现业务用例帮助检查业务用例粒度 帮助检查业务主角 帮助检查业务用例,用例场景建模,通过用例场景来说明如何达到业务目标。常以业务主角和业务工人为泳道、以工作单元作为活动来编排活动图来描述用例场景。它能够:帮助发现概念
13、用例帮助发现角色帮助发现业务实体帮助建立领域模型,关于活动图的争议,活动图描述的是业务流程,是一种过程化的分析法。将面向过程的活动图引入是否会导致面向对象的类职责的混乱?面向对象中是没有业务流程的概念,流程不过是在某个外部力量推动下对象之间相互交流的一个过程。如果从活动图的观点来描述业务,实际上不能直接看到对象是如何发挥作用的。在观念上很容易导致对象独立性被破坏。,关于活动图的争议,面向对象要求对象越独立、封装度越高越好,但同时也越难理解这些对象将会做什么。保持面向对象观点中对象的独立性,又要保持现实世界中业务目标的过程化描述,这是一个矛盾。活动图的引入虽然给对象分析造成一些混乱,但解决了业务
14、目标过程化描述的困难。,状态图,显示一个状态机,用于对模型元素的动态行为进行建模,即对系统行为中受事件驱动的方面进行建模。通常使用状态图来说明单个业务实体对象、或分析类对象、或设计类对象在它的整个生命周期内可能的状态,以及导致状态转换的事件和状态转换引起的操作。注意:状态图不用于描述对象之间的交互。,状态图,示意图:,状态图的基本元素,状态(State)转换(Transition)初始状态(Start State)终结状态(End State)判定(Decision),状态,状态(State)是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。,例如,打印机pri
15、nter在工作时可能有6种状态:“就绪”(Ready)“打印”(Print)“缺纸”(Lack paper)“忙”(Busy),“暂停”(Pause)“停止”(Stop)这里具体的打印机在UML中就表示为对象,而它工作时可能出现的状态则是状态图中的状态。,状态概述,状态图中的状态一般是给定类对象中的一组属性值,这组属性值是对象所有属性的子集。在对系统建模时,我们可以只关心那些明显影响对象行为的属性以及由他们表达的对象状态,而不用理睬那些于对象行为无关的状态。,状态,状态由一个带圆角的矩形表示。,状态组成,状态组成:状态名(Name)活动(Activity)入口动作(Entry Action)出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 统一 建模 语言 UML
限制150内