您好,欢迎访问三七文档
状态图和活动图细分:状态图是描述某一对象的状态转化的,它主要表现的是该对象的状态。从状态图中可以看出,该对象在接受了外界的某种刺激之后,会做出什么样的反应。描述的是一个对象的事情。可以说是对类图的一种补充,帮助开发者完善某一类。活动图是描述系统在执行某一用例时的具体步骤的,它主要表现的是系统的动作。从活动图中可以看出,系统是如何一步一步的完成用例规约的,主要用于业务建模阶段。活动图描述的是整个系统的事情。可以说活动图是对用例图的一种细化,帮助开发者理解业务领域。比如说:学校用的学生选课系统。在系统中,学生是一个对象(UML中的对象,不是编程语言中的对象),那么学生“未登录”“已登录”“未完成选课”“已完成选课”“已选XX课”“未选XX课”等都是学生的状态。描述这些状态之间是如何转化的,就要用状态图。而学生选课的这个动作涉及到:学生、课程、教师、学生课表等多个对象。同时这个动作也是学生选课系统的一个用例,所以要描述它就要用到活动图。包图、构建图和部署图包图在UML的建模机制中,模型的组织是通过包来实现的。包把建立的各种模型组织起来,形成各种功能或用途的模块,并可以控制包中元素的可见性以及描述包之间的依赖关系。通过这种方式,系统模型的实现者可在高层把握系统的结构。包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。包图由两个矩形表示(单选项卡),包图名称写在大矩形中间。除包名外,还有元素,元素可见性,包构造型及包间的关系组成。在包下可以创建各种模型元素:类,接口,构件,节点,用例,图以及其它包。包图的作用包图可以描述需求,设计的高阶概况;包图通过合理规划自身功能反应系统的高层架构,在逻辑上将系统进行模块化分解;包图最终是组织源码的方式。例:构件图构件图提供系统物理视图,在一个非常高的层次上显示系统中的构件与构件之间的依赖关系。将系统中可重用的模块封装为具有可替代性的物理单元,就是构件。它是一个系统或子系统中的封装单元,提供一个或多个接口,是系统高层的可重用部件。构件作为系统中的一个物理实现单元,包括:软件代码(源码,二进制代码,可执行文件,脚本,命令行等),带有身份标识并且有物理实体的文件(文档,数据库)。标准构件用左边有两个小矩形的大矩形表示,构件名在大矩形内部。构件有不同的类型。构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。其中,构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。例:(astah中的构件图与rationalrose2003中的不同)部署图部署图描述了一个系统运行时的硬件节点,在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的静态视图。部署图包括两种基本模型元素:节点和节点间的连接。每个模型中,仅包含一个部署图。节点包括两种类型:处理器和设备。处理器指本身具有计算能力且能执行各各软件的节点,如服务器。处理器具有处理能力,所以在描述处理器方面应当包含了处理器的调度和进程。调度指在处理器处理其进程中为实现一定的目的而对共同使用的资源进行时间分配。调度方式包含:抢占,无优先级,循环,算法控制,手动执行。进程表示一个单独的控制纯种,是系统中一个重量级的并发和执行单元。设备指本身不具备处理能力的节点,如打印机。连接用来表示两个节点之间的硬件连接。节点之间的连接可以通过光缆直接进行,或通过卫星等方式非直接连接,通常连接都是双向的。连接用实线表示,实线上可加连接名和构造型。系统开发人员和部署人员可以利用部署图去了解系统的物理运行情况。如果,开发的软件系统只需在一台计算机上运行,且使用的标准设备,则不需要为它画出系统部署图。部署图只需要给那些复杂的物理运行情况进行建模。部署图显示了系统的硬件,安装在硬件上的软件,用于连接硬件的各种协议和中间件等。部署模型的目的:描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。例:(astah中部署图)协作图协作图中表示了角色之间的关系,通过协作图限定协作中的对象或链。协作指的是在一定的语境中一组对象以及实现某些行为的对象间的相互作用。协作图是表现对象协作关系的图,表示了协作中作为各种类元角色的对象所处的位置。图中主要显示了类元角色和关联角色,类元角色表示参与协作执行的对象的描述,对象可以参与一或多个协作;关联角色表示参与协作执行的关联的描述。类元角色和关联角色描述了对象的配置和当一个协作的实例执行时可能出现的连接。在一个协作中,描述了该协作所有对象组成的网络结构以及相互发送消息的整体行为,表示了潜藏于计算过程中的三个主要结构的统一:数据结构,控制流和数据流。从结构上,协作图和对象图一样,包含了一个角色集合和它们之间定义了行为方面的内容的关系,从这个角度上说,协作图也是类图的一种,但静态视图描述了类固有的内在属性,协作图描述了类实例的特性。从行为上,协作图和序列图一样,包含了一系列消息的集合,这些消息在具有某一角色的各对象间进行传递交换,互相协作达到目标。协作图中的涉及的对象可以标识为四个组:存在于整个交互作用中的对象,在交互中创建的对象,在交互中销毁的对象,在交互中创建并销毁的对象。在UML中,协作图中的类元角色表示为类的符号,也就是矩形,关联角色表现为实现的关联路径,路径上带有消息符号。如果关联线上标有消息,图形就可以表示一个交互,一个全国性用来表示一个操作或用例的实现。协作图的作用协作图是在一种给定语境中描述协作中各个对象间的组织交互关系的空间组织结构的图形化方式,从定义中可以分析它的作用为:对象间消息的传递来反映具体的使用语境的逻辑表达,一个使用情境的逻辑可能是一个用例的一部分或是一条控制流;它的交互关联显示对象交互的空间组织结构,显示一种对象间的关系,而不注重顺序;表现一个类的操作实现,协作图中可以说明类操作中使用的参数,变量,返回值。当表现一个系统的行为时,消息编号对应了程序中嵌套调用的结构和信号传递过程。序列图常用来表示方案,协作图用于过程的详细设计。协作图的组成协作图由对象,消息,链等构成。对象:类的实例。对象的角色表示一个或一组对象在完成目标的过程中所起的部分作用。对象是角色所属类的直接或间接实例,在协作图中,一个类的对象可能充当多个角色。对象名:类名消息:消息用来描述系统动态行为,它是从一个对象向另一个或几个对象发送信息,或由一个对象调用另一个对象的操作。由三部分组成:发送者,接收者,活动。消息用带标签的箭头表示,它附在链上。链连接了发送者和接收者,箭头所指方向为接收者。每个消息包括一个顺序号以及消息的名称,其中顺序号标识了消息的相关顺序。消息的名称可以是一个方法,包含名字,参数表,返回值。链:表示两个或多个对象间的独立连接,是关联的实例。协作图中,关联角色是与具体语境有关的暂时的类元之间的关系,关系角色的实例也是链。链表示为一个或多个相连的线或弧。例:序列图序列图主要用于展示对象之间交互的顺序。序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。序列图中涉及的元素:1.生命线:生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。2.同步消息发送人在它继续之前,将等待同步消息响应。3.异步消息在发送方继续之前,无需等待响应的消息。4.注释5.约束约束的符号很简单;格式是:[BooleanTest]6.组合片段组合片段用来解决交互执行的条件及方式。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。常用的组合片段有:抉择(Alt)抉择用来指明在两个或更多的消息序列之间的互斥的选择,相当于经典的if..else..。抉择在任何场合下只发生一个序列。可以在每个片段中设置一个临界来指示该片段可以运行的条件。else的临界指示其他任何临界都不为True时应运行的片段。如果所有临界都为False并且没有else,则不执行任何片段。选项(Opt)包含一个可能发生或不发生的序列循环(Loop)片段重复一定次数。可以在临界中指示片段重复的条件。并行(Par)下表列出了常用的组合片段:片段类型名称说明Opt选项包含一个可能发生或可能不发生的序列。可以在临界中指定序列发生的条件。Alt抉择包含一个片段列表,这些片段包含备选消息序列。在任何场合下只发生一个序列。可以在每个片段中设置一个临界来指示该片段可以运行的条件。else的临界指示其他任何临界都不为True时应运行的片段。如果所有临界都为False并且没有else,则不执行任何片段。Loop循环片段重复一定次数。可以在临界中指示片段重复的条件。Loop组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最大次数。默认值是无限制。Break中断如果执行此片段,则放弃序列的其余部分。可以使用临界来指示发生中断的条件。Par并行并行处理。片段中的事件可以交错。Critical关键用在Par或Seq片段中。指示此片段中的消息不得与其他消息交错。Seq弱顺序有两个或更多操作数片段。涉及同一生命线的消息必须以片段的顺序发生。如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。Strict强顺序有两个或更多操作数片段。这些片段必须按给定顺序发生。有关如何解释序列的片段默认情况下,序列图表明可能发生的一系列消息。在运行的系统中,可能会出现您未选择显示在关系图上的其他消息。以下片段类型可用于更改此释义:片段类型名称说明Consider考虑指定此片段描述的消息列表。其他消息可发生在运行的系统中,但对此描述来说意义不大。在“Messages”属性中键入该列表。Ignore忽略此片段未描述的消息列表。这些消息可发生在运行的系统中,但对此描述来说意义不大。在“Messages”属性中键入该列表。Assert断言操作数片段指定唯一有效的序列。通常用在Consider或Ignore片段中。Neg否定此片段中显示的序列不得发生。通常用在Consider或Ignore片段中。
本文标题:UML笔记
链接地址:https://www.777doc.com/doc-3969674 .html