收藏 分享(赏)

UML基础知识课件.ppt

上传人:hwpkd79526 文档编号:9517313 上传时间:2019-08-12 格式:PPT 页数:55 大小:2.30MB
下载 相关 举报
UML基础知识课件.ppt_第1页
第1页 / 共55页
UML基础知识课件.ppt_第2页
第2页 / 共55页
UML基础知识课件.ppt_第3页
第3页 / 共55页
UML基础知识课件.ppt_第4页
第4页 / 共55页
UML基础知识课件.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、UML结构,构造块这些是基本UML建模元素(事物、关系和图) 公共机制达到特定目标的公共UML方法。(规格说明等) 构架系统构架的UML视图。(可见性,完整性等),1:32 AM,1,1、UML构造块,物件(事物)这些是建模元素本身。(结构、行为、分组、注释) 关系这些把物件联系在一起,关系说明两个或多个物件是如何语义相关的。(依赖、关联、泛化、实现) 图这些是UML模型的视图,它们展现物件的集合。(9种),1:32 AM,2,1)UML物件,UM L物件可以分成: 结构物件UML模型的名词,如类、接口、协作、用例、活动类、组件、节点。 行为物件UML模型的动词,如交互、状态机。 分组物件包,

2、它用于把语义上相关的建模元素分组为内聚的单元。 注解物件注解,它附加到模型以捕获特殊信息。,1:32 AM,3,2)UML关系,1:32 AM,4,用UML对系统建模,1、UML中的图:用例图、类图、对象图、状态图、序列图、协作图、活动图、构件图、部署图共九种 用例图 :用于显示若干角色,以及这些角色与系统提供的用例之间的连接关系。 类图:用来表示系统中的类和类之间的关系,它是对系统静态结构的描述。 对象图:是类图的变体,两者之间的差别在于,对象图表示的是类的对象实例,而不是真实的类。对象图是类图的一个范例。 序列图:用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝对象之间是如何交互

3、的。 协作图:和序列图的作用一样,反映的也是动态协作,除了显示消息变化称为交互 外,协作图还显示了对象和它们之间的关系,称为上下文有关。由于协作图或序列图都反映对象之间的交互,所以建模者可以任意选择一种反映对象间的协作,如果需要强调时间和序列,最好选择序列图,如果需要强调上下文相关,最好选择协作图。 状态图:是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件。 活动图:反映一个连续的活动流,相对于描述活动流来说,活动图更常用于描述某个操作执行时的活动状况。 构件图: 用来反映代码的物理结构 部署图:用来显示系统中软件和硬件的物理架构,1:32 AM,5,用U

4、ML对系统建模,2、UML模型: 包含用例模型,静态模型,动态模型共三种 用例模型:从用户角度描述系统需求,是所有开发活动的指南。包含:一或者多张用例图 静态模型:描述系统的元素与元素间的关系。包括:类图,对象图,构件图,部署图 动态模型:描述系统随时间发展的行为。包含:状态图,序列图,协作图,活动图,1:32 AM,6,1:32 AM,7,UML中的图,类图 对象图 用例图 顺序图 协作图 状态图 活动图 构件图 实施图,1:32 AM,8,类图和对象图,面向对象的开发方法的基本任务是建立对象模型,是软件系统开发的基础。UML中的对象类图(Class Diagram)与对象图(Object

5、Diagram)表达了对象模型的静态结构,能够有效地建立专业领域的计算机系统对象模型。,一、类图,是面向对象模型的最基本的模型元素,用类图来描述。类图(Class diagram)由系统中使用的类以及它们之间的关系组成,是描述系统的一种图式,分为长式和短式。类及类型名均用英文大写字母开头,属性及操作名为小写字母开头。常见类型有:Char,Boolean,Double,Float, Integer, Object,Short,String等。类图是构建其它图的基础。,1:32 AM,9,类名,对象是对象类的实例(instance),用对象图来描述。对象图亦分长式和短式。,对象名,类图与对象图,对

6、象图,1:32 AM,10,(1)属性(attribute)属性用来描述类的特征,表示需要处理的数据。属性定义:visibility attribute-name : type = initial-value property-string可见性 属性名:类型=缺省值约束特性其中:可见性(visibility)表示该属性对类外的元素是否可见。 分为:public(+) 公有的,即模型中的任何类都可以访问该属性。private(-) 私有的,表示不能被别的类访问。protected(#) 受保护的,表示该属性只能被该类及其子类访问。如果可见性未申明,表示其可见性不确定。,1:32 AM,11,(

7、2) 操作对数据的具体处理方法的描述则放在操作部分,操作说明了该类能做些什么工作。操作通常称为函数,它是类的一个组成部分,只能作用于该类的对象上。操作定义:visibility operating-name(parameter-list): return-type property- string可见性 操作名(参数表):返回类型约束特性其中:可见性同上。参数表:参数名:类型,Parameter-name :type =default-value返回类型:操作返回的结果类型。,类图的描述,1:32 AM,12,UML中类的关系有关联(association) 、聚集(aggregation)

8、、泛化(generalization) 、 依赖(depending) ,实现。,一、关联关联是表示实例之间的结构关系,图A 顾佣关联,UML中类之间的关系,依赖表示类之间的使用关系。 泛化(概括)表示一般类和特殊类之间的关系。 关联和聚集都表示实例之间的结构关系。,1:32 AM,13,聚集是一种特殊的关联,它指出类间的“整体-部分”关系。关联又分为:,1、聚集(aggregation) 聚集:整体类由部分类组成的关联,其中部分类可以独立于整体类而存在。,、组合 或组装(composition) 组装:整体类由部分类组成的关联,其中部分类不可以独立于整体类而存在。整体与部分同时存在。,聚集,

9、组合关系,1:32 AM,14,三、泛化,泛化指出类之间的“一般与特殊关系”,即继承关系。父类与子类之间构成类的分层结构。,抽象类 指没有实例的类,定义一些抽象的操作,即不提供实现方法的操作,只提供操作的特征。并附以abstract。 交叠泛化 在继承树中,若存在某种具有公共父类的多重继承,称为是交叠(overlapping)的。否则是不交的(disjoint)。 完全泛化 一般类特化出它所有的子类,称为完全泛化,记为complete。 不完全泛化 即未特化出它所有的子类,称为是不完全泛化 的,表示为incomplete.,1:32 AM,15,三、泛化,完全泛化,泛化中的多态性 及带识别名称

10、的泛化,propulsion,propulsion,1:32 AM,16,继承性的实例,泛化关系,1:32 AM,17,泛化关系,1:32 AM,18,用例建模技术,用于描述系统的功能需求。在宏观上给出模型的总体轮廓。通过对典型用例的分析,使开发者能够有效地了解用户的需求。,用例建模概述,用例图,1:32 AM,19,用例模型(Use case model)用例模型描述的是外部执行者(Actor)所理解的系统功能。它描述了待开发系统的功能需求。它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和 UML

11、 的各个模型。用例模型由若干个用例图构成,用例图中主要描述执行者和用例之间的关系。在UML中,构成用例图的主要元素是用例和执行者及其它们之间的联系。,创建用例模型的工作包括:定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。,1:32 AM,20,一、执行者(Actor)执行者是指用户在系统中所扮演的角色。执行者在用例图中是用类似人的图形来表示, 但执行者可以是人,也可以是一个外界系统。,注意:用例总是由执行者启动的。,供货,买饮料,取货款,客户,供货人,收银员,自动售货系统,1:32 AM,21,二、 用例,二、用例(use case)从本质上讲,一个用例是用户与计算机之间的

12、一次典型交互作用。在UML中,用例被定义成系统执行的一系列动作(功能)。 用例有以下特点:用例捕获某些用户可见的需求,实现一个具体的用户目标。用例由执行者激活,并将结果值反馈给执行者。用例必须具有功能上的完整描述。,二、用例,1:32 AM,22,用例图的元素,用例图,用例图描述了系统的功能需求,它是从执行者的角度来理解系统,由“执行者”、“用例”和“用例之间的关系”3类模型元素构成。图中还有另外两种类型的连接,即include和extend关系,是两种不同形式的泛化关系。,include表示一个用例使用另一个用例。(一定要先做) 如图(b)要实现用例1,2必顺要先去实现用例3 Extend通

13、过向被扩展的用例添加动作来扩展用例。(不是非要做的,如图(c),实现用例A不一定必要先实现用例B),1:32 AM,23,用例图实例,用例图实例,金融贸易系统,贸易经理,风险分析,设置边界,进行交易,交易估价,更新帐目,包含,包含,扩展,营销人员,超越边界,评价,记帐系统,销售人员,1:32 AM,24,例1 建立项目与资源管理系统的Use case图,系统的主要功能是:项目管理,资源管理和系统管理。项目管理包括项目的增加、删除、更新。资源管理包括对资源和技能的添加、删除和更新。系统管理包括系统的启动和关闭,数据的存储和备份等功能。,1、分析确定系统的执行者(角色),项目管理员、资源管理员、系

14、统管理员、备份数据系统。,项目管理,资源管理和系统管理。,2、确定用例,3、对用例进行分解,画出下层的Use case图对上层的用例进行分解,并将执行者分配到各层次的Use case图中。,角色描述模板,还应画出相应的执行者描述模板及用例描述模板。,1:32 AM,25,例1 项目与资源管理系统(PRMS),Use Case图可以自顶而下不断精化,抽象出不同层次的Use Case图。,1:32 AM,26,例1 项目与资源管理系统(PRMS),1:32 AM,27,顺序图存在两个轴:水平轴表示一组对象,垂直轴表示时间。 顺序图中的对象用一个带有垂直虚线的矩形框表示, 并标有对象名和类名。垂直虚

15、线是对象的生命线,用于表示在某段时间内对象是存在的。 对象间的通信通过在对象的生命线之 间消息来表示,消息的箭头类型指明消息的类型。,2.5.5 顺序图(序列图),顺序图(Sequence Diagram)用来描述对象之间动态的交互行为,着重体现对象间消息传递的时间顺序。,一、概述,1:32 AM,28,当收到消息时,接收对象立即开始执行活动,即对象被激活了,通过在对象生命线上显示一个细长矩形框来表示激活。,二、消息,1:32 AM,29,带分支的顺序图,1:32 AM,30,呼叫者,交换,接受者,拿起话筒,响拨号声,拨号码,路由选择,鸣响音,停音,响铃声,接电话,停铃声,A B C D E,

16、B-A1S C-B10S通过网络选择通话路径 E-D5S 双方通话,打电话的顺序图,1:32 AM,31,创建对象与对象的消亡,在顺序图中,还可以描述一个对象通过发送一条消息来创建另一个对象。,当对象消亡(destroying)时,用符号 表示。,创建或删除对象,1:32 AM,32,协作图(Collaboration Diagram),也称为合作图,用于描述相互合作的对象间的交互关系和链接(Link)关系。虽然顺序图和合作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,合作图则着重体现交互对象间的静态链接关系。,协作图,一、 合作图中的模型元素,合作图中对象的外观

17、与顺序图中的一样。如果一个对象在消息的交互中被创建,则可在对象名称之后标以new。类似地,如果一个对象在交互期间被删除,则可在对象名称之后标以destroy。,1、对象,对象名new,对象名destroy,1:32 AM,33,在对象之间的静态链接关系上可标注消息,消息类型有简单消息,同步消息和异步消息三种。用标号表示消息执行的顺序。消息定义的格式如下:消息类型 标号 控制信息:返回值:=消息名 参数表,标号有种:顺序执行:按整数大小执行。,嵌套执行:标号中带小数点。1.1,1.2,1.3,并行执行:标号中带小写字母。1.1.1a,1.1.1b,,Predecessor guard-condi

18、tion sequence-expression return-value:=signature,1:32 AM,34,电路设计的合作图,在控制器控制下进行布线,找出左端点r0和右端点r1,创建对象“直线”,并在窗口显示出来。,布线,1:32 AM,35,下图为一销售结果统计的合作图。,统计销售结果的合作图,1:32 AM,36,状态图(State Diagram)用来描述一个特定对象的所有可能的状态及其引起状态转移的事件。一个状态图包括一系列的状态以及状态之间的转移。 状态 所有对象都具有状态,状态是对象执行了一系列活动的结果。当某个事件发生后,对象的状态将发生变化。状态图中定义的状态有:,

19、状态图,初态状态图的起始点,一个状态图只能有一个初态。 终态是状态图的终点。而终态则可以有多个。 中间状态可包括三个区域:名字域、状态变量与活动域。 复合状态可以进一步细化的状态称作复合状态。,1:32 AM,37,中间态,响应事件的内部动作或活动的列表,定义为: 事件名 (参数表条件)/动作表达式,状态变量 是状态图所显示的类的属性。 活动 列出了在该状态时要执行的事件和动作。有3个标准事件:entry事件用于指明进入该状态时的特定动作。exit事件用于指明退出该状态时的特定动作。 do事件用于指明在该状态中时执行的动作。,例:,1:32 AM,38,状态迁移 一个对象的状态的变迁称为状态迁

20、移。通常是由事件触发的,此时应标出触发转移的事件表达式。如果转移上未标明事件,则表示在源状态的内部活动执行完毕后自动触发转移。,状态图,电梯状态图,1:32 AM,39,细化的状态表示,UML给出了电梯细化的状态表示,状态名 状态变量 活动,1:32 AM,40,状态图之间的消息发送,状态图之间可以发送消息,用虚箭头表示。,消息发送状态图,1:32 AM,41,活动图是由状态图变化而来的,它们各自用于不同的目的。活动图描述了系统中各种活动的执行的顺序。刻化一个方法中所要进行的各项活动的执行流程。活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的变迁可能需要事件的触发)。,活动图,一、

21、概述,1:32 AM,42,二、活动图的模型元素,构成活动图的模型元素有:活动、转移、对象、信号、泳道等。,、活动是构成活动图的核心元素,是具有内部动作的状态,由隐含的事件触发活动的转移。活动的解释依赖于作图的目的和抽象层次,在概念层描述中,活动表示要完成的一些任务;在说明层和实现层中,活动表示类中的方法。活动用圆角框表示,标注活动名。,1:32 AM,43,二、活动图的模型元素,活动还有其它的图符:初态、终态、判断、同步。,图 5.55 活动,2、转移转移描述活动之间的关系,描述由于隐含事件引起的活动变迁,即转移可以连接各活动及特殊活动(初态、终态、判断、同步线)。转移用带箭头的直线表示,可

22、标注执行该转移的条件,无标注表示顺序执行。,1:32 AM,44,活动图的模型元素:,泳道,3、泳道泳道进一步描述完成活动的对象,并聚合一组活动。活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生(泳道)。泳道也是一种分组机制。,1:32 AM,45,活动图的模型元素:,泳道,3、泳道泳道进一步描述完成活动的对象,并聚合一组活动。活动图是另一种描述交互的方式,描述采取何种动作,做什么(对象状态改变),何时发生(动作序列),以及在何处发生(泳道)。泳道也是一种分组机制。,1:32 AM,46,活动图,、活动图中只有一个起点一个终点,表示方

23、式和状态图一样,泳道被用来组合活动,通常根据活动的功能来组合。具体说泳道有如下目的:直接显示动作在哪一个对象中执行,或显示的是一项组织工作的哪部分。泳道用纵向矩形来表示,如图。,三、活动图举例,泳道,1:32 AM,47,、控制图符活动图中可发送和接收信号,发送符号对应于与转移联系在一起的发送短句。接收符号也同转移联系在一起。,、对象流活动图中可以出现对象,对象作为活动的输入输出,用虚箭头表示。,控制图符,图5.57 对象流,控制图符例,1:32 AM,48,、活动图中可发送和接收信号,发送符号对应于与转移联系在一起的发送短句。接收符号也同转移联系在一起。转移又分两种:发送信号的转移和接收信号

24、的转移。发送和接收信号可以和消息的的发送对象和接收对象联系在一起,如图5.61。,aPrinter:Printer,Print(file),Print(file),打印,创建PS文件,在屏幕上的 报文框中显示“打印”,删除报文框,CustomerWindow. PrintAll Customers(),1:32 AM,49,活动图举例,(1),(2),1:32 AM,50,构件图,图形库(graphic.dll),构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相

25、互影响程度。 构件的描述如下图所示。构件图专注于系统的静态实现视图.,1:32 AM,51,52,1:32 AM,Circle.obj类Circle.cpp,Main类Main.obj,Main类Main.cpp,图形库Graphic.dll,Square类Square.cpp,Square类Square.obj,Circle类Circle.obj,可执行程序Main.exe,1:32 AM,53,部署图,又叫配置图用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件,即系统运行时刻的结构。配置图中的结点代表某种计算机构件,通常是某种硬件。同时结点还包括在其上运行的软构件,软构件代表可执行的物理代码模块。如一个可执行程序。 结点的图符是一个立方体。 (主要用在分布式系统中),1:32 AM,54,保险系统的配置图,配置图各结点之间进行交互的通信路径称为连接,连接表示系统中的结点存在着联系,用结点之间的的连线表示连接,在连接的连线上要标注通信类型。如图.,1:32 AM,55,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报