UML基础教程(很全面的教材)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

UML-1-UML-1-UML基础教程UML-2-UML-2-目录1.前言1.1前言1.2UML概述1.3UML事物1.4UML关系1.5各UML图及特征1.6各UML图的关系1.7UML语法1.8习题2.用例图2.1用例图概要2.2用例图中的事物及解释2.3用例图中的关系及解释2.4例子2.5习题3.类图3.1类图概要3.2类图中的事物及解释3.3类图中的关系及解释3.4类图与代码的映射3.5类图例子3.6习题4.顺序图4.1概要4.2顺序图中的事物及解释4.3顺序图与用例图和类图的关系4.4顺序图例子4.5练习题5.协作图5.1概要5.2协作图中的事物及解释5.3协作图中的关系及解释UML-3-UML-3-目录5.4对消息标签的详细讲解5.5协作图例子5.6协作图与顺序图的区别和联系5.7练习题6.状态图6.1状态图概要6.2状态图的组成6.3状态图中的事物及解释6.4状态的可选活动表6.5简单的例子:对象的状态图6.6复杂的例子:网上银行登陆系统6.7练习7.活动图7.1活动图概要7.2活动图事物7.3活动图关系7.4活动图实例7.5活动图练习8.构件图8.1构件图概要8.2构件图中的事物及解释8.3构件图中的关系及解释8.4构件图的例子8.5习题9.部署图9.1部署图概要9.2部署图中的事物及解释9.3部署图中的关系及解释9.4部署图的例子9.5关于部署图与构件图9.6习题附录UML-4-1.前言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):图是事物和关系的可视化表示UML-5-1.前言1.3UML事物UML包含4种事物:构件事物行为事物分组事物注释事物1.3.1构件事物:UML模型的静态部分,描述概念或物理元素它包括以下几种:类:具有相同属性相同操作相同关系相同语义的对象的描述接口:描述元素的外部可见行为,即服务集合的定义说明协作:描述了一组事物间的相互作用的集合用例:代表一个系统或系统的一部分行为,是一组动作序列的集合构件:系统中物理存在,可替换的部件节点:运行时存在的物理元素另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体1.3.2行为事物:UML模型图的动态部分,描述跨越空间和时间的行为交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接状态机:描述事物或交互在生命周期内响应事件所经历的状态序列1.3.3分组事物:UML模型图的组织部分,描述事物的组织结构包:把元素组织成组的机制1.3.4注释事物:UML模型的解释部分,用来对模型中的元素进行说明,解释注解:对元素进行约束或解释的简单符号UML-6-1.前言1.4UML关系1.4.1依赖依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义1.4.2关联关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系1.4.3泛化泛化(generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系1.4.4实现实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约UML-7-1.前言1.5各UML图及特征1.5.1用例图(UseCaseDiagram)※用例图是从用户角度描述系统功能,是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元※类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)※类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联1.5.2类图(ClassDiagram)UML-8-1.前言1.5各UML图及特征1.5.3对象图(ObjectDiagram)※对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类1.5.4顺序图(SequenceDiagram)※顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互※顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件UML-9-1.前言1.5各UML图及特征1.5.5协作图(CollaborationDiagram)※协作图描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系.※协作图的一个用途是表示一个类操作的实现1.5.6状态图(StateChartDiagram)※状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成AvailableLockedSold初始状态assignedtosubscriptionlocktimeoutunlockbuy状态exchange转换触发器事件UML-10-1.前言1.5各UML图及特征1.5.7活动图(ActivityDiagram)※活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动※活动图描述了一组顺序的或并发的活动1.5.8构件图(ComponentDiagram)※构件图为系统的构件建模型—构件即构造应用的软件单元—还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响UML-11-1.前言1.5各UML图及特征1.5.9部署图(DeploymentDiagram)部署视图描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配类图顺序图需求分析BDFD/DD类图顺序图用例图用例文档用例图顺序图主要图之间的关系1.6各UML图的关系UML-12-1.前言1.7UML语法描述NewClassInterfaceusecase类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的描述对象接口是描述了一个类或构件的一个服务的操作集协作定义了一个交互,它是由一组共同工作以提供某种协作行为的角色和其他元素构成的一个群体用例是对一组动作序列的描述主动类对象至少拥有一个进程或线程的类构件是系统中物理的、可替代的部件参与者在系统外部与系统直接交互的人或事物节点是在运行时存在的物理元素交互它由在特定语境中共同完成一定任务的一组对象间交换的消息组成状态机它描述了一个对象或一个交互在生命期内响应事件所经历的状态序列包把元素组织成组的机制注释事物是UML模型的解释部分依赖一条可能有方向的虚线关联一条实线,可能有方向泛化一条带有空心箭头的实线实现一条带有空心箭头的虚线actorNewProcessorstateNewPackagecomponetUML-13-1.前言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.(a)(b)7.(a)(c)(d)UML-14-2.1用例图概要2.用例图事物名称解释UML表示参与者(Actor)在系统外部与系统直接交互的人或事物(如另一个计算机系统或一些可运行的进程)。我们需要注意的是:1.参与者是角色(role)而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。2.参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。3.在后面的顺序图等中出现的“参与者”,与此概念相同,但具体指代的含义,视具体情况而定。用例(UseCase)系统外部可见的一个系统功能单元。系统的功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。创建新用例,确认候选用例和划分用例范围的优秀法则----“WAVE”测试(见附录)2.2用例图中的事物及解释用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。(《UML参考手册》)用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行(或称为发起了哪个用例)。用例图多用于静态建模阶段(主要是业务建模和需求建模)。UML-15-2.用例图关系解释图参与者与用例之间的关系关联表示参与者与用例之间的交互,通信途径。(关联有时候也用带箭头的实线来表示,这样的表示能够显示地表明发起用例的是参与者。)用例之间的关系包含箭头指向的用例为被包含的用例,称为包含用例;箭头出发的用例为基用例。包含用例是必选的,如果缺少包含用例,基用例就不完整;包含用例必须被执行,不需要满足某种条件;其执行并不会改变基用例的行为。《include》扩展箭头指向的用例为被扩展的用例,称为扩展用例;箭头出发的用例为基用例。扩展用例是可选的,如果缺少扩展用例,不会影响到基用例的完整性;扩展用例在一定条件下才会执行,并且其执行会改变基用例的行为。参与者之间的关系泛化发出箭头的事物“isa”箭头指向的事物。泛化关系是一般和特殊关系,发出箭头的一方代表特殊的一方,箭头指向的一方代表一般一方。特殊一方继承了一般方的特性并增加了新的特性。《extend》2.3用例图中的关系及解释UML-16-2.用例图实例1参与者之间的泛化关系参与者:经理,安全主管,保安用例:管理人事,批准预算,批准安全证书,监视周边在参与者之间不存在泛化关系的情况下,各个参与者参与用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。实例2用例之间扩展和包含关系用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。2.4例子UML-17-2.用例图实例3.航空售票的用例图参与者(actor):clerk,监督员,信用卡服务商,信息亭用例(usecase):Buytickets,BuySubscription,Makecharges,Surveysales参与者Clerk参与(或称发起)Buytickets和BuySubscription两个用例(关联关系)。这两个用例的

1 / 63
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功