UML(教学课件).ppt
- 文档编号:8384922
- 上传时间:2023-05-13
- 格式:PPT
- 页数:55
- 大小:748KB
UML(教学课件).ppt
《UML(教学课件).ppt》由会员分享,可在线阅读,更多相关《UML(教学课件).ppt(55页珍藏版)》请在冰点文库上搜索。
2023年5月13日9时11分,1,UML结构,构造块这些是基本UML建模元素(事物、关系和图)公共机制达到特定目标的公共UML方法。
(规格说明等)构架系统构架的UML视图。
(可见性,完整性等),2023年5月13日9时11分,2,1、UML构造块,物件(事物)这些是建模元素本身。
(结构、行为、分组、注释)关系这些把物件联系在一起,关系说明两个或多个物件是如何语义相关的。
(依赖、关联、泛化、实现)图这些是UML模型的视图,它们展现物件的集合。
(9种),2023年5月13日9时11分,3,1)UML物件,UML物件可以分成:
结构物件UML模型的名词,如类、接口、协作、用例、活动类、组件、节点。
行为物件UML模型的动词,如交互、状态机。
分组物件包,它用于把语义上相关的建模元素分组为内聚的单元。
注解物件注解,它附加到模型以捕获特殊信息。
2023年5月13日9时11分,4,2)UML关系,2023年5月13日9时11分,5,用UML对系统建模,1、UML中的图:
用例图、类图、对象图、状态图、序列图、协作图、活动图、构件图、部署图共九种用例图:
用于显示若干角色,以及这些角色与系统提供的用例之间的连接关系。
类图:
用来表示系统中的类和类之间的关系,它是对系统静态结构的描述。
对象图:
是类图的变体,两者之间的差别在于,对象图表示的是类的对象实例,而不是真实的类。
对象图是类图的一个范例。
序列图:
用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝对象之间是如何交互的。
协作图:
和序列图的作用一样,反映的也是动态协作,除了显示消息变化称为交互外,协作图还显示了对象和它们之间的关系,称为上下文有关。
由于协作图或序列图都反映对象之间的交互,所以建模者可以任意选择一种反映对象间的协作,如果需要强调时间和序列,最好选择序列图,如果需要强调上下文相关,最好选择协作图。
状态图:
是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件。
活动图:
反映一个连续的活动流,相对于描述活动流来说,活动图更常用于描述某个操作执行时的活动状况。
构件图:
用来反映代码的物理结构部署图:
用来显示系统中软件和硬件的物理架构,2023年5月13日9时11分,6,用UML对系统建模,2、UML模型:
包含用例模型,静态模型,动态模型共三种用例模型:
从用户角度描述系统需求,是所有开发活动的指南。
包含:
一或者多张用例图静态模型:
描述系统的元素与元素间的关系。
包括:
类图,对象图,构件图,部署图动态模型:
描述系统随时间发展的行为。
包含:
状态图,序列图,协作图,活动图,2023年5月13日9时11分,7,2023年5月13日9时11分,8,UML中的图,类图对象图用例图顺序图协作图状态图活动图构件图实施图,2023年5月13日9时11分,9,类图和对象图,面向对象的开发方法的基本任务是建立对象模型,是软件系统开发的基础。
UML中的对象类图(ClassDiagram)与对象图(ObjectDiagram)表达了对象模型的静态结构,能够有效地建立专业领域的计算机系统对象模型。
一、类图,是面向对象模型的最基本的模型元素,用类图来描述。
类图(Classdiagram)由系统中使用的类以及它们之间的关系组成,是描述系统的一种图式,分为长式和短式。
类及类型名均用英文大写字母开头,属性及操作名为小写字母开头。
常见类型有:
Char,Boolean,Double,Float,Integer,Object,Short,String等。
类图是构建其它图的基础。
2023年5月13日9时11分,10,类名,对象是对象类的实例(instance),用对象图来描述。
对象图亦分长式和短式。
对象名,类图与对象图,对象图,2023年5月13日9时11分,11,
(1)属性(attribute)属性用来描述类的特征,表示需要处理的数据。
属性定义:
visibilityattribute-name:
type=initial-valueproperty-string可见性属性名:
类型=缺省值约束特性其中:
可见性(visibility)表示该属性对类外的元素是否可见。
分为:
public(+)公有的,即模型中的任何类都可以访问该属性。
private(-)私有的,表示不能被别的类访问。
protected(#)受保护的,表示该属性只能被该类及其子类访问。
如果可见性未申明,表示其可见性不确定。
2023年5月13日9时11分,12,
(2)操作对数据的具体处理方法的描述则放在操作部分,操作说明了该类能做些什么工作。
操作通常称为函数,它是类的一个组成部分,只能作用于该类的对象上。
操作定义:
visibilityoperating-name(parameter-list):
return-typeproperty-string可见性操作名(参数表):
返回类型约束特性其中:
可见性同上。
参数表:
参数名:
类型,Parameter-name:
type=default-value返回类型:
操作返回的结果类型。
类图的描述,2023年5月13日9时11分,13,UML中类的关系有关联(association)、聚集(aggregation)、泛化(generalization)、依赖(depending),实现。
一、关联关联是表示实例之间的结构关系,图A顾佣关联,UML中类之间的关系,依赖表示类之间的使用关系。
泛化(概括)表示一般类和特殊类之间的关系。
关联和聚集都表示实例之间的结构关系。
2023年5月13日9时11分,14,聚集是一种特殊的关联,它指出类间的“整体-部分”关系。
关联又分为:
1、聚集(aggregation)聚集:
整体类由部分类组成的关联,其中部分类可以独立于整体类而存在。
、组合或组装(composition)组装:
整体类由部分类组成的关联,其中部分类不可以独立于整体类而存在。
整体与部分同时存在。
聚集,组合关系,2023年5月13日9时11分,15,三、泛化,泛化指出类之间的“一般与特殊关系”,即继承关系。
父类与子类之间构成类的分层结构。
抽象类指没有实例的类,定义一些抽象的操作,即不提供实现方法的操作,只提供操作的特征。
并附以abstract。
交叠泛化在继承树中,若存在某种具有公共父类的多重继承,称为是交叠(overlapping)的。
否则是不交的(disjoint)。
完全泛化一般类特化出它所有的子类,称为完全泛化,记为complete。
不完全泛化即未特化出它所有的子类,称为是不完全泛化的,表示为incomplete.,2023年5月13日9时11分,16,三、泛化,完全泛化,泛化中的多态性及带识别名称的泛化,propulsion,propulsion,2023年5月13日9时11分,17,继承性的实例,泛化关系,2023年5月13日9时11分,18,泛化关系,2023年5月13日9时11分,19,用例建模技术,用于描述系统的功能需求。
在宏观上给出模型的总体轮廓。
通过对典型用例的分析,使开发者能够有效地了解用户的需求。
用例建模概述,用例图,2023年5月13日9时11分,20,用例模型(Usecasemodel)用例模型描述的是外部执行者(Actor)所理解的系统功能。
它描述了待开发系统的功能需求。
它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和UML的各个模型。
用例模型由若干个用例图构成,用例图中主要描述执行者和用例之间的关系。
在UML中,构成用例图的主要元素是用例和执行者及其它们之间的联系。
创建用例模型的工作包括:
定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。
2023年5月13日9时11分,21,一、执行者(Actor)执行者是指用户在系统中所扮演的角色。
执行者在用例图中是用类似人的图形来表示,但执行者可以是人,也可以是一个外界系统。
注意:
用例总是由执行者启动的。
供货,买饮料,取货款,客户,供货人,收银员,自动售货系统,2023年5月13日9时11分,22,二、用例,二、用例(usecase)从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。
在UML中,用例被定义成系统执行的一系列动作(功能)。
用例有以下特点:
用例捕获某些用户可见的需求,实现一个具体的用户目标。
用例由执行者激活,并将结果值反馈给执行者。
用例必须具有功能上的完整描述。
二、用例,2023年5月13日9时11分,23,用例图的元素,用例图,用例图描述了系统的功能需求,它是从执行者的角度来理解系统,由“执行者”、“用例”和“用例之间的关系”3类模型元素构成。
图中还有另外两种类型的连接,即include和extend关系,是两种不同形式的泛化关系。
include表示一个用例使用另一个用例。
(一定要先做)如图(b)要实现用例1,2必顺要先去实现用例3Extend通过向被扩展的用例添加动作来扩展用例。
(不是非要做的,如图(c),实现用例A不一定必要先实现用例B),2023年5月13日9时11分,24,用例图实例,用例图实例,金融贸易系统,贸易经理,风险分析,设置边界,进行交易,交易估价,更新帐目,包含,包含,扩展,营销人员,超越边界,评价,记帐系统,销售人员,2023年5月13日9时11分,25,例1建立项目与资源管理系统的Usecase图,系统的主要功能是:
项目管理,资源管理和系统管理。
项目管理包括项目的增加、删除、更新。
资源管理包括对资源和技能的添加、删除和更新。
系统管理包括系统的启动和关闭,数据的存储和备份等功能。
1、分析确定系统的执行者(角色),项目管理员、资源管理员、系统管理员、备份数据系统。
项目管理,资源管理和系统管理。
2、确定用例,3、对用例进行分解,画出下层的Usecase图对上层的用例进行分解,并将执行者分配到各层次的Usecase图中。
角色描述模板,还应画出相应的执行者描述模板及用例描述模板。
2023年5月13日9时11分,26,例1项目与资源管理系统(PRMS),UseCase图可以自顶而下不断精化,抽象出不同层次的UseCase图。
2023年5月13日9时11分,27,例1项目与资源管理系统(PRMS),2023年5月13日9时11分,28,顺序图存在两个轴:
水平轴表示一组对象,垂直轴表示时间。
顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。
垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。
对象间的通信通过在对象的生命线之间消息来表示,消息的箭头类型指明消息的类型。
2.5.5顺序图(序列图),顺序图(SequenceDiagram)用来描述对象之间动态的交互行为,着重体现对象间消息传递的时间顺序。
一、概述,2023年5月13日9时11分,29,当收到消息时,接收对象立即开始执行活动,即对象被激活了,通过在对象生命线上显示一个细长矩形框来表示激活。
二、消息,2023年5月13日9时11分,30,带分支的顺序图,2023年5月13日9时11分,31,呼叫者,交换,接受者,拿起话筒,响拨号声,拨号码,路由选择,鸣响音,停音,响铃声,接电话,停铃声,ABCDE,B-A1SC-B10S通过网络选择通话路径E-D5S双方通话,打电话的顺序图,2023年5月13日9时11分,32,创建对象与对象的消亡,在顺序图中,还可以描述一个对象通过发送一条消息来创建另一个对象。
当对象消亡(destroying)时,用符号表示。
创建或删除对象,2023年5月13日9时11分,33,协作图(CollaborationDiagram),也称为合作图,用于描述相互合作的对象间的交互关系和链接(Link)关系。
虽然顺序图和合作图都用来描述对象间的交互关系,但侧重点不一样。
顺序图着重体现交互的时间顺序,合作图则着重体现交互对象间的静态链接关系。
协作图,一、合作图中的模型元素,合作图中对象的外观与顺序图中的一样。
如果一个对象在消息的交互中被创建,则可在对象名称之后标以new。
类似地,如果一个对象在交互期间被删除,则可在对象名称之后标以destroy。
1、对象,对象名new,对象名destroy,2023年5月13日9时11分,34,在对象之间的静态链接关系上可标注消息,消息类型有简单消息,同步消息和异步消息三种。
用标号表示消息执行的顺序。
消息定义的格式如下:
消息类型标号控制信息:
返回值:
=消息名参数表,标号有种:
顺序执行:
按整数大小执行。
嵌套执行:
标号中带小数点。
1.1,1.2,1.3,并行执行:
标号中带小写字母。
1.1.1a,1.1.1b,,Predecessorguard-conditionsequence-expressionreturn-value:
=signature,2023年5月13日9时11分,35,电路设计的合作图,在控制器控制下进行布线,找出左端点r0和右端点r1,创建对象“直线”,并在窗口显示出来。
布线,2023年5月13日9时11分,36,下图为一销售结果统计的合作图。
统计销售结果的合作图,2023年5月13日9时11分,37,状态图(StateDiagram)用来描述一个特定对象的所有可能的状态及其引起状态转移的事件。
一个状态图包括一系列的状态以及状态之间的转移。
状态所有对象都具有状态,状态是对象执行了一系列活动的结果。
当某个事件发生后,对象的状态将发生变化。
状态图中定义的状态有:
状态图,初态状态图的起始点,一个状态图只能有一个初态。
终态是状态图的终点。
而终态则可以有多个。
中间状态可包括三个区域:
名字域、状态变量与活动域。
复合状态可以进一步细化的状态称作复合状态。
2023年5月13日9时11分,38,中间态,响应事件的内部动作或活动的列表,定义为:
事件名(参数表条件)/动作表达式,状态变量是状态图所显示的类的属性。
活动列出了在该状态时要执行的事件和动作。
有3个标准事件:
entry事件用于指明进入该状态时的特定动作。
exit事件用于指明退出该状态时的特定动作。
do事件用于指明在该状态中时执行的动作。
例:
2023年5月13日9时11分,39,状态迁移一个对象的状态的变迁称为状态迁移。
通常是由事件触发的,此时应标出触发转移的事件表达式。
如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。
状态图,电梯状态图,2023年5月13日9时11分,40,细化的状态表示,UML给出了电梯细化的状态表示,状态名状态变量活动,2023年5月13日9时11分,41,状态图之间的消息发送,状态图之间可以发送消息,用虚箭头表示。
消息发送状态图,2023年5月13日9时11分,42,活动图是由状态图变化而来的,它们各自用于不同的目的。
活动图描述了系统中各种活动的执行的顺序。
刻化一个方法中所要进行的各项活动的执行流程。
活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的变迁可能需要事件的触发)。
活动图,一、概述,2023年5月13日9时11分,43,二、活动图的模型元素,构成活动图的模型元素有:
活动、转移、对象、信号、泳道等。
、活动是构成活动图的核心元素,是具有内部动作的状态,由隐含的事件触发活动的转移。
活动的解释依赖于作图的目的和抽象层次,在概念层描述中,活动表示要完成的一些任务;在说明层和实现层中,活动表示类中的方法。
活动用圆角框表示,标注活动名。
2023年5月13日9时11分,44,二、活动图的模型元素,活动还有其它的图符:
初态、终态、判断、同步。
图5.55活动,2、转移转移描述活动之间的关系,描述由于隐含事件引起的活动变迁,即转移可以连接各活动及特殊活动(初态、终态、判断、同步线)。
转移用带箭头的直线表示,可标注执行该转移的条件,无标注表示顺序执行。
2023年5月13日9时11分,45,活动图的模型元素:
泳道,3、泳道泳道进一步描述完成活动的对象,并聚合一组活动。
活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生(泳道)。
泳道也是一种分组机制。
2023年5月13日9时11分,46,活动图的模型元素:
泳道,3、泳道泳道进一步描述完成活动的对象,并聚合一组活动。
活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生(泳道)。
泳道也是一种分组机制。
2023年5月13日9时11分,47,活动图,、活动图中只有一个起点一个终点,表示方式和状态图一样,泳道被用来组合活动,通常根据活动的功能来组合。
具体说泳道有如下目的:
直接显示动作在哪一个对象中执行,或显示的是一项组织工作的哪部分。
泳道用纵向矩形来表示,如图。
三、活动图举例,泳道,2023年5月13日9时11分,48,、控制图符活动图中可发送和接收信号,发送符号对应于与转移联系在一起的发送短句。
接收符号也同转移联系在一起。
、对象流活动图中可以出现对象,对象作为活动的输入输出,用虚箭头表示。
控制图符,图5.57对象流,控制图符例,2023年5月13日9时11分,49,、活动图中可发送和接收信号,发送符号对应于与转移联系在一起的发送短句。
接收符号也同转移联系在一起。
转移又分两种:
发送信号的转移和接收信号的转移。
发送和接收信号可以和消息的的发送对象和接收对象联系在一起,如图5.61。
aPrinter:
Printer,Print(file),Print(file),打印,创建PS文件,在屏幕上的报文框中显示“打印”,删除报文框,CustomerWindow.PrintAllCustomers(),2023年5月13日9时11分,50,活动图举例,
(1),
(2),2023年5月13日9时11分,51,构件图,图形库(graphic.dll),构件图描述代码部件的物理结构及各部件之间的依赖关系。
一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。
它包含逻辑类或实现类的有关信息。
部件图有助于分析和理解部件之间的相互影响程度。
构件的描述如下图所示。
构件图专注于系统的静态实现视图.,2023年5月13日9时11分,52,2023年5月13日9时11分,53,Circle.obj类Circle.cpp,Main类Main.obj,Main类Main.cpp,图形库Graphic.dll,Square类Square.cpp,Square类Square.obj,Circle类Circle.obj,可执行程序Main.exe,2023年5月13日9时11分,54,部署图,又叫配置图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件,即系统运行时刻的结构。
配置图中的结点代表某种计算机构件,通常是某种硬件。
同时结点还包括在其上运行的软构件,软构件代表可执行的物理代码模块。
如一个可执行程序。
结点的图符是一个立方体。
(主要用在分布式系统中),2023年5月13日9时11分,55,保险系统的配置图,配置图各结点之间进行交互的通信路径称为连接,连接表示系统中的结点存在着联系,用结点之间的的连线表示连接,在连接的连线上要标注通信类型。
如图.,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 教学 课件