




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML系统建模及系统分析与设计王欣张毅编著中国水利水电出版社UML系统建模及系统分析与设计王欣张毅编著第5章面向对象系统设计与行为建模第5章面向对象系统设计与行为建模教学目的1.掌握交互图和状态机图的表示方法。2.掌握顺序图和通信图的区别。3.掌握顺序图、通信图、状态机图的建模步骤。4.清楚在实际的建模中什么时候该使用顺序图、通信图和状态机图等。教学目的1.掌握交互图和状态机图的表示方法。35.1面向对象系统设计概述系统设计是问题求解及建立解答的高级策略,必须制定解决问题的基本方法。系统设计要决定系统功能的软件和硬件的分配问题。系统的高层结构形式包括子系统的分解、它的固有并发性、子系统分配给硬软件、数据存储管理、资源协调、软件控制实现、人机交互接口等。用面向对象方法设计软件,原则上也是先进行总体设计(即系统设计),然后再进行详细设计(即对象设计),当然,它们之间的界限非常模糊,事实上是一个多次反复迭代的过程。5.1面向对象系统设计概述系统设计是问题求解及建立解答的45.1.1面向对象系统体系结构设计设计阶段先从高层入手,然后细化。⑴系统分解。每次分解的各子系统数目不能太多,最底层子系统称为模块。⑵确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。⑶处理器及任务分配。各并发子系统必须分配给单个硬件单元。⑷数据存储管理。⑸全局资源的处理。⑹选择软件控制机制。⑺人机交互接口设计。5.1.1面向对象系统体系结构设计设计阶段先从高层入手,然55.1.2系统对象设计系统对象设计主要是对分析模型进行整理,生成设计模型提供给OOP作为开发依据。OOD包括:架构设计、用例设计、子系统设计、类设计等。架构设计的侧重点在于系统的体系框架的合理性,保证系统架构在系统的各个非功能性需求中保持一种平衡;子系统设计一般是采用纵向切割,关注的是系统的功能划分;类设计是通过一组对象、顺序图展示系统的逻辑实现。5.1.2系统对象设计系统对象设计主要是对分析模型进行整理,61.面向对象设计的准则⑴模块化。⑵抽象。⑶信息隐藏。⑷低耦合。一般地对象之间的耦合可分为交互耦合和继承耦合。①交互耦合。尽量降低消息连接的复杂程度,应该尽量减少消息中包含的参数个数,降低参数的复杂程度,减少对象发送(或接收)的消息数。②继承耦合。与交互耦合相反,应该提高继承耦合程度。1.面向对象设计的准则⑴模块化。71.面向对象设计的准则⑸高内聚。在面向对象设计中存在3种内聚,即服务内聚、类内聚和一般—特殊内聚。①服务内聚。一个服务应该完成一个且仅完成一个功能。②类内聚。设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。③一般——特殊内聚。一般说来,紧密的继承耦合与高度的一般——特殊内聚是一致的。⑹可重用。类构件有3种重用方式,分别是实例重用、继承重用和多态重用。①1.面向对象设计的准则⑸高内聚。在面向对象设计中存在3种82.面向对象设计的启发规则⑴设计结果应该清晰易懂。使设计结果清晰、易懂、易读是提高软件可维护性和可重用性的重要措施。①用词一致。②使用已有的协议。③减少消息模式的数目。④避免模糊的定义。⑵一般——特殊结构的深度应适当。类等级层次数应保持为7±2。⑶设计简单类。2.面向对象设计的启发规则⑴设计结果应该清晰易懂。使设计92.面向对象设计的启发规则⑷使用简单的协议。一般来说,消息中参数不要超过3个。⑸使用简单的操作。面向对象设计出来的类中的操作通常都很小,一般只有3至5行源程序语句,可以用仅含一个动词和一个宾语的简单句子描述它的功能。⑹把设计变动减至最小。在设计的早期阶段,变动较大,随着时间推移,设计方案日趋成熟,改动也越来越小了。中的峰值与出现设计错误或发生非预期变动的情况相对应。峰值越高,表明设计质量越差,可重用性也越差。2.面向对象设计的启发规则⑷使用简单的协议。一般来说,105.1.3面向对象系统设计优化面向对象系统设计优化的方式有:提高优先级;提高效率技术和增加继承等。1.确定优化级系统的各项质量指标并不是同等重要的,设计人员须确定各项质量指标的相对重要性(即确定优先级),以便在优化设计时制定折衷方案。最糟糕的情况是,没有站在全局高度正确确定各项质量指标的优先级,以致系统中各个子系统按照相互对立的目标做了优化,这将导致系统资源的严重浪费。5.1.3面向对象系统设计优化面向对象系统设计优化的方式有112.优化设计时提高效率技术⑴增加冗余关联以提高访问效率。⑵调整查询次序。⑶保留派生属性。通过某种运算而从其他数据派生出来的数据,是一种冗余数据,通常把这类数据“存储”(或称为“隐藏”)。在计算它的表达式中,如果希望避免重复计算复杂表达式所带来的开销,可以把这类冗余数据作为派生属性保存起来。派生属性既可以在原有类中定义,也可以定义新类,并用新类的对象保存它们。每当修改了基本对象之后,所有依赖于它的、保存派生属性的对象也必须相应地修改。2.优化设计时提高效率技术⑴增加冗余关联以提高访问效率。123.建立良好的继承结构⑴抽象与具体。在设计类继承时,很少使用纯粹自顶向下的方法。通常的作法是,首先创建一些满足具体用途的类,然后对它们进行归纳,一旦归纳出一些通用的类以后,往往可以根据需要再派生出具体类。在进行了一些具体化(即门化)的工作之后,也许就应该再次归纳了。⑵为提高继承程度而修改类定义。⑶利用委托实现行为共享。仅当存在真实的一般——特殊关系(即子类确实是父类的一种特殊形式)时,利用继承机制实现行为共享才是合理的。3.建立良好的继承结构⑴抽象与具体。在设计类继承时,很少使135.2系统交互建模 交互图(interactiondiagram)是用来描述对象之间以及对象与参与者之间的动态协作关系和协作过程中行为次序的图形文档。它通常用来描述一个用例的行为,显示该用例中所涉及的对象及这些对象之间的消息传递情况。交互图可以帮助分析人员对照检查每个用例中所描述的用户需求UML2.0交互图包括交互概览图、顺序图、通信图和时间图。5.2系统交互建模 交互图(interactiondia145.2系统交互建模 交互概览图是顺序图和活动图的结合,将顺序图和活动结合起来描述交互流程和交互细节的一种交互图。时间图应用不多。主要介绍顺序图和通信图,顺序图和通信图在语义上是等价的。建模人员可以先用一种交互图进行建模,然后再将其变换为另一种图而不丢失任何信息。5.2系统交互建模 交互概览图是顺序图和活动图的结合,将顺155.2.1顺序图1.顺序图符号5.2.1顺序图1.顺序图符号16顺序图⑴类角色类角色(ClassRole)代表顺序图中的对象在交互中所扮演的角色,位于顺序图顶部的对象代表类角色,类角色一般代表实际的对象。顺序图中对象符号和对象图中对象所用的符号一样将对象置于顺序的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的。顺序图⑴类角色17顺序图ObjectName:ClassName:ClassNameObjectName显示对象名和类名只显示类名只显示对象名类角色的表示顺序图ObjectName:ClassName:ClassN18顺序图⑵生命线生命线(Lifeline)是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线,生命线是一个时间线,从顺序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间。同一条生命线上的时序是重要的,生命线上的时距并不重要,生命线只表示相对的时序,所以,生命线不是一个时间标尺。对象与生命线结合在一起称为对象的生命线,对象的生命线包含矩形的对象图标以及图标下面的生命线顺序图⑵生命线19顺序图⑶激活期。激活(Activation)表示该对象被占用以完成某个任务,去激活指的则是对象处于空闲状态、在等待消息。激活是顺序图中表示时间段的符号,在这个时间段内,对象将执行相应的操作。在UML中,为了表示对象是激活的,可以将该对象的生命线拓宽成为矩形,其中的矩形称为激活条或控制期,对象就是在激活条的顶部被激活的,对象在完成自己的工作后被去激活。顺序图⑶激活期。20顺序图theCustomer:SafeCharlteratortheRequestOrder:RequestOrder(a)生命线(b)激活期生命线与激活期顺序图theCustomer:theRequestOrder21顺序图⑷消息。消息(Message)定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。消息是两个对象之间的单路通信,从发送方到接收方的控制信息流。消息可以用于在对象间传递参数,消息可以是信号,也可以是调用。在UML中,消息使用箭头来表示,箭头的类型表示了消息的类型。顺序图⑷消息。22顺序图⑸分支与从属流。在UML中存在两种方式可以来修改顺序图中消息的控制流,分别是:分支和从属流。分支是指从同一点发出的多个消息并指向不同的对象,根据条件是否互斥,可以有条件和并行两种结构。从属流指的是从同一点发出多个消息指向同一个对象的不同生命线。顺序图⑸分支与从属流。232.消息和消息发送消息是对传送信息的对象之间所进行的通信的规约,其中对将要发生的活动的期望。对一个消息实例的接收可以看做一个事件的发生。在传送消息时,对消息的接收通常会产生一个动作。这个动作可能引发目标对象以及该对象可以访问的其他对象的状态改变。在UML中有以下几种动作:调用:调用某个对象的一个操作。对象也可以给自己发送消息,引起本地的操作调用。返回:给调用者返回一个值。发送:向对象发送一个信号。创建:创建一个对象。撤销:撤销一个对象,对象也可以撤销自己。2.消息和消息发送消息是对传送信息的对象之间所进行的通信的24顺序图顺序图25顺序图消息类型顺序图消息类型263.顺序图中的结构化控制⑴可选执行。可选执行的标签是opt。⑵条件执行。条件执行的标签是alt。⑶并行执行。并行执行标签是par。⑷循环(迭代)执行。标签是loop。3.顺序图中的结构化控制⑴可选执行。可选执行的标签是opt273.顺序图中的结构化控制3.顺序图中的结构化控制284.时间约束的表示在顺序图上,如果消息的箭头和生命线垂直,那么表明立即发送该消息。如果箭头是倾斜的,那么表明该消息的传送有一定的时间延迟,其间可以传送其他消息。建模人员可在顺序图的时间轴附近用标签来定义消息上的时间约束4.时间约束的表示在顺序图上,如果消息的箭头和生命线垂直,294.时间约束的表示4.时间约束的表示305.顺序图构建⑴确定交互过程的上下文(context),即工作流。⑵识别参与交互过程的对象,即从左到右布置对象。⑶为每个对象设置生命线,即确定哪些对象存在于整个交互过程中,哪些对象在交互过程中被创建和撤消。⑷从引发这个交互过程的初始消息开始,在生命线之间自顶向下依次画出随后的各个消息,即添加消息和条件以便创造每一个工作流。⑸如果需要表示消息的嵌套,和/或表示消息发生时时间点,则采用控制焦点。⑹如果需要说明时间约束,在消息旁边加上约束说明。⑹如果需要,可为每个消息附上前置条件和后置条件。⑺根据消息之间的关系,确定循环结构及循环参数和出口条件。5.顺序图构建⑴确定交互过程的上下文(context),31核对付款单的顺序图核对付款单的顺序图325.2.2通信图1.通信图符号5.2.2通信图1.通信图符号33通信图包含内容⑴类角色类角色(ClassRole)代表通信图中对象在交互中所扮演的角色。在通信图中矩形中的对象代表类角色,类角色代表参与交互的对象,它的命名方式和对象的命名方式一样⑵关联角色。关联角色(AssociationRole)代表通信图中的连接在交互中所扮演的角色通信图中连线代表着关联角色。通信图包含内容⑴类角色34通信图包含内容⑶消息流。消息流(MessageFlow)代表通信图中对象间通过链接发送的消息。通信图中类角色之间的箭头表明在对象间交换的消息流,消息由一个对象发出,由消息所指向的对象接收。链接用于传输或实现消息的传递。消息流上标有消息的序列号和类角色间发送的消息,一条消息会触发接受对象中的一项操作。通信图包含内容⑶消息流。35通信图包含内容⑶消息流消息定义的格式如下:消息类型标号控制信息:返回值:=消息名参数表消息的类型与顺序图相同。消息的标号有3种:顺序执行:按整数大小顺序执行。标号为1,2…,n。嵌套执行:标号中带小数点。标号为1.1,1.2,1.3,…。并行执行:标号中带小写字母。标号为1.1.1a,1.1.1b,…。多数情况下,只对单调的、顺序的控制流建模。通信图包含内容⑶消息流362.通信图构建⑴确定交互过程的上下文(context),即工作流。⑵识别参与交互过程的对象类角色,把它们作为图形的节点安置在通信图中。⑶如果需要,为每个对象设置初始特性。⑷确定对象之间的链(Link),以及沿着链的消息⑸从引发这个交互过程的初始消息开始,将随后的每个消息附到相应的链上。⑹如果需要说明时间约束,则在消息旁边加上约束说明。⑺如果需要,可以为每个消息附上前置条件和后置条件。⑻处理一些特殊情况,如循环、自调用、回调、多对象等。2.通信图构建⑴确定交互过程的上下文(context),37大学生注册系统的通信图大学生注册系统的通信图385.2.3交互建模的选择1.顺序图与通信图的区别顺序图和通信图都属于交互图,都用于描述系统中对象之间的动态关系。顺序图着重描述对象按照时间顺序的消息交换,并且把用例行为分配给类。通信图着重描述系统成分如何协同工作,强调对象间的结构关系。顺序图和通信图从不同的角度表达了系统中的交互和系统的行为。5.2.3交互建模的选择1.顺序图与通信图的区别395.2.3交互建模的选择顺序图与通信图的区别顺序图有两个不同于通信图的特征:第一,顺序图有对象生命线。第二,顺序图有控制焦点。通信图有两个不同于顺序图的特征:第一,通信图有路径。第二,通信图中有序号。5.2.3交互建模的选择顺序图与通信图的区别405.2.3交互建模的选择交互图和类图的关系:交互图和类图可以相互补充。类图对类的描述比较充分,但对对象之间的消息交互情况的表达不够详细交互图不考虑系统中的所有类和对象,但可以表示系统中某几个对象之间的交互交互图描述对象之间的消息发送关系,而不是类之间的关系。在交互图中一般不会包ㄏ低持械乃有类的对象,但同一个类可以有多个对象出现在交互图中。5.2.3交互建模的选择交互图和类图的关系:412.交互图的选择一个结构好的交互图,应满足如下的要求:⑴关注与系统动态特性的一个方面的交流。⑵只包含那些对于理解这个方面必不可少的元素。⑶提供与它的抽象层次相一致的细节,只能加入那些对于理解问题必不可少的修饰。⑷不应该过分简化信息,避免读者误解重要的语义。2.交互图的选择一个结构好的交互图,应满足如下的要求:42当绘制一个交互图时,要遵循以下的策略:⑴给出一个能表达其用途的名称。⑵如果想强调消息的时间顺序就使用顺序图;如果想强调参加交互的对象的组织,就使用通信图。⑶其元素的摆放尽量减少线的交叉。⑷用注解和颜色作为可视化提示,以突出图中重要的特征。⑸少使用分支,用活动图来表示复杂的分支要好得多。当绘制一个交互图时,要遵循以下的策略:⑴给出一个能表达其用435.3系统行为建模 5.3.1状态机图符号1.UML状态机图符号状态机图的组成元素包括:初始状态、终止状态、状态、转换。转换将各种状态连接在一起,构成一个状态机图。5.3系统行为建模 5.3.1状态机图符号445.3系统行为建模 5.3系统行为建模 452.状态机图组成元素状态机图实质上是一种由状态、转移、事件、动作和连接点组成的状态机,下面简要介绍这些要素。2.状态机图组成元素状态机图实质上是一种由状态、转移、事件46⑴状态状态是给定类的对象的一组属性值,这组属性值对所发生的事件具有相同性质的反应。状态定义对象在其生命周期中的条件或状况,在此期间,对象满足某些条件,执行某些操作或等待某些事件。状态用于对实体在其生命中状况建模。状态图中的状态用圆角矩形表示,它由状态名、状态变量和活动三部分组成。一般情况下,一个状态的状态变量部分可以省略。状态的活动部分通常包括进入/退出活动、内部转换、子状态、延迟事件和内部活动等部分。⑴状态状态是给定类的对象的一组属性值,这组属性值对所发生的47⑴状态①状态名。状态的名称可以包含任意数量的字母、数字和某些标点符号(有些标点符号除外,如冒号),并且可以连续几行。②进入/退出活动。入口动作用“entry/要执行的动作”表达,而出口动作用“exit/要执行的动作”表达。③内部转换。是对象接收到指定事件时执行OnEvent动作,但执行的结果并不改变对象状态。④子状态。状态的嵌套结构,包括非正交(顺序活动)或正交(并发活动)子状态。⑤延迟事件。延迟的事件是其处理过程被推迟的事件,它们的处理过程要到事件不被延迟的状态被激活时才会执行。⑴状态①状态名。状态的名称可以包含任意数量的字母、数字和48状态的种类:①初始状态。初始状态代表状态机图的起始位置,只能作为转换的源,而不能作为转换的目标。初始状态在一个状态机图中只允许有一个,它用一个实心的圆表示。②终止状态。终止状态是对象的最后状态,是一个状态机图的终止点。终止状态只能作为转换的目标,而不能作为转换的源。终止状态在一个状态机图中可以有多个,它用一个套有一个实心圆的空心圆表示。③中间状态。中间状态即上面介绍的状态,包括名称、进入/退出活动、内部转换、子状态和延迟事件等。状态的种类:①初始状态。初始状态代表状态机图的起始位置,只49⑵转移转移是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的行为,并在某个特定事件发生时且满足特定条件时进入第二个状态。转移用带箭头的直线表示,箭尾连接源状态(转出的状态),箭头连接目标状态(转入的状态)。一个转移分为5部分:源状态、事件触发器、监护条件、动作和目标状态。⑵转移转移是两个状态之间的一种关系,表示对象将在第一个状态50转移的种类:转换种类描述语法进入动作进入某一状态时执行的动作entry/action退出动作离开某一状态时执行的动作exit/action外部转换引起状态转换或自身转换,同时执行一个具体的动作,包括引起入口动作和出口动作被执行的转换e(a:T)[exp]/action内部转换引起一个动作的执行但不引起状态的改变或不引起入口动作或出口动作的执行e(a:T)[int]/action转移的种类:转换种类描述语法进入动作进入某一状态时执行的动作51转移、事件和状态的之间的关系转移、事件和状态的之间的关系52⑶连接点UML2.0提供了一个新的建模符号,叫做连接点,用来表示进入一个状态或退出一个状态的位置。如在图书馆中的一本书具有不同的状态。首先,它要上架,如果借阅者打电话预约这本书,管理员调出这本书,并把它的状态置为“beingcheckedout”。如果借阅者从书架挑中这本书,并决定借阅,这本书就以另外不同的方式进入“beingcheckedout”状态。也就是可以认为进入“beingcheckedout”状态可以通过两种不同的入口。另外,在借阅时还可能会出现借阅图书册数已满,或者是有超期的图书,这时候也不能借阅,图书会直接通过一个出口从“beingcheckedout”状态退出⑶连接点UML2.0提供了一个新的建模符号,叫做连接点,用53⑶连接点UML2.0入口和出口的表示方法ResidingonShellBeingCheckedout[reserved]edded⑶连接点UML2.0入口和出口的表示方法Residing543.高级状态和转移在UML中可以只使用状态和转移的基本特征来对广泛的、各种各样的行为建模。使用这些特征,最终可以产生简单状态机。UML的状态机具有许多可以帮助管理复杂行为的高级特征。这些特征常常可以减少需要的状态和转移的数量,并且将使用简单状态机时遇到的许多通用的而且有点复杂的惯用法编集在一起。这些高级的特征包括进入效应、退出效应、内部转移、do活动和延迟事件。这些特征作为一个文本串显示在状态符号的文本分栏内。3.高级状态和转移在UML中可以只使用状态和转移的基本特征553.高级状态和转移3.高级状态和转移564.子状态机状态有简单状态和组合状态。简单状态是指不包含子状态,没有子结构的状态,但它可以具有状态名、入口/出口动作、Do动作、OnEvent动作、内部转移。一个具有子状态(嵌套状态)的状态被称为组合状态或复合状态,它包括顺序(非正交的)子状态或并发(正交的)子状态等。子状态是UML状态机的另一个特征,它能帮助简化对复杂行为的建模。子状态是嵌套在另一个状态中的状态,子状态可能被嵌套到任意级别。嵌套的状态机最多可能有一个初始状态和一个终止状态。4.子状态机状态有简单状态和组合状态。574.子状态机通过显示某些状态只能在特定环境(包含状态)中存在,子状态可以简化复杂的平面状态机。在一个状态机中可以引用另一个状态机,被引用的状态机称为子状态机。在建立结构化的大型状态模型时使用子状态机是非常有用的。4.子状态机通过显示某些状态只能在特定环境(包含状态)中存584.子状态机(1)顺序子状态4.子状态机(1)顺序子状态594.子状态机(2)并发子状态4.子状态机(2)并发子状态60⑶历史状态4.子状态机⑶历史状态4.子状态机615.3.2状态机图的构建1.状态机图的绘制步骤⑴确定状态机图描述的主体,可以是一个完整的系统、一个用例、一个类或一个对象。⑵确定状态机图描述的范围,明确起始状态和结束状态。⑶确定描述主体在其生存期的各种稳定状态,包括高层状态和可能的子状态。⑷确定状态的序号,对这些稳定状态按其出现顺序编写序号。⑸取得触发状态迁移的事件,该事件可以触发状态进行迁移。5.3.2状态机图的构建1.状态机图的绘制步骤625.3.2状态机图的构建1.状态机图的绘制步骤⑹附上必要的动作,把动作附加到相应的迁移线上。⑺简化状态机图。⑻确定状态机图的可实现性。⑼确定有无死锁。⑽审核状态机图。5.3.2状态机图的构建1.状态机图的绘制步骤63画状态机图需要注意的几个问题:⑴状态的变迁原因要在图上说明清楚。⑵最好标明清楚状态的开始和结束。⑶不要遗漏任何状态之间的切换。⑷状态机是一种深度关注细节的图,是观察对象状态变化的紧缩型视图。状态视图是一个类对象所可能经历的所有历程的模型图。状态机图由对象的各个状态和连接这些状态的转换组成。状态机图是对单个对象的“放大”,它说明对象所经历的状态变化。强调单个对象内状态的变化。通过状态机图很难看到全局,系统的整体行为一定是通过多个状态机的结果来决定的,交互视图则正好起到了这个作用。画状态机图需要注意的几个问题:⑴状态的变迁原因要在图上说明642.状态机图的应用状态机图的主要应用有两种:一是在对象生命周期内,对一个对象的整个活动状态建模;二是对反应型对象的行为建模。使用状态机图最通常的目的是对对象的生命周期建模,即描述对象在生命周期内,各种状态以及在外部事件的作用下,状态之间的转换。2.状态机图的应用状态机图的主要应用有两种:652.状态机图的应用交互图建模是用来描述多个协作对象的行为;状态机图是对单个对象在整个生命周期内的行为建模。在对对象的生命周期建模时,主要描述对象能够响应的事件、对这些事件响应产生的行为以及行为的后果。一个状态机图只适合描述一类对象,不必对每一类对象都进行状态建模,把状态建模和对象建模进行结合,通过状态机图帮助发现和定义对象的操作,通过定义对象的操作完善状态机图。在打电话时,需要进行判断。2.状态机图的应用交互图建模是用来描述多个协作对象的行为;662.状态机图的应用电话机通话过程的状态机图2.状态机图的应用电话机通话过程的状态机图673.UML活动图与状态机图的区别虽然UML活动图与状态机图都是状态机的表现形式,但是两者还是有本质区别的:活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程;状态机图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。活动图用来表示用例的执行流程,一般活动图和状态机图结合使用,很多状态的变迁都是一个活动单元。状态是行为的结果,活动是行为的动作,在UML中图符不一样。3.UML活动图与状态机图的区别虽然UML活动图与状态机图683.UML活动图与状态机图的区别在实际的项目中,活动图不是必须的。主要用活动图描述并行的过程或者行为;描述一个算法;描述一个跨越多个用例的活动。状态机图描述了一个具体对象的可能状态以及它们之间的转换。活动图很抽象,但是当把活动图与流程图进行简单的比较之后就不难理解了。活动图可以使用泳道把活动进行分组,目的是用来描述对象间的合作关系。状态机图中某些标记符与活动图的标记符非常相似,有时候会让人混淆。活动图是用来建模不同区域的工作如何彼此交互的状态机图用来表示单个对象以及对象的行为如何改变其状态。3.UML活动图与状态机图的区别在实际的项目中,活动图不是695.5系统设计实例5.5.1顺序图建模创建顺序图模型包含4项任务:确定需要建模的用例;确定用例的工作流;确定各工作流所涉及的对象,并按从左到右顺序进行布置;添加消息和条件以便创建每一个工作流。建模顺序图的第一步是确定要建模的用例。系统的完整顺序图模型是为每一个用例创建顺序图。5.5系统设计实例5.5.1顺序图建模70借阅图书用例至少包括4个工作流:⑴借阅图书操作一切正常。⑵借阅者的借阅证失效。⑶所借图书数目已经超过规定。⑷在借阅图书操作的过程中,该学生被提醒有超期借阅信息。在确定用例的工作流后,下一步是从左到右布置工作流所涉及到的所有参与者和对象。接下来就要为每个工作流创建独立的顺序图。借阅图书用例至少包括4个工作流:⑴借阅图书操作一切正常。71正常借阅图书的顺序图正常借阅图书的顺序图72借阅证失效时的工作流顺序图借阅证失效时的工作流顺序图73借阅图书超过规定数目时的工作流顺序图借阅图书超过规定数目时的工作流顺序图745.5.2通信图建模 与顺序图类似,可以绘制出图书管理系统借阅图书的通信图。正常借阅图书的通信图5.5.2通信图建模 与顺序图类似,可以绘制出图书管理系统借75借阅证失效时的工作流通信图借阅证失效时的工作流通信图76借阅图书超过规定数目时的工作流通信图借阅图书超过规定数目时的工作流通信图775.5.3状态机图建模借书业务在系统的业务建模中是一个用例,而这种用例是一个应对型对象。从前面章节对该业务描述可知,借书业务是由借书空闲(idle)、书目查询(finding)、借书(Lending)、预约(reservation)、取消预约(removereservation)、借书成功(Succes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聚焦海上成品油运输合同新篇章
- 瑜伽课程预约合同
- 酒店经营转让合同范本
- 草莓购销合同范本
- 工程项目合同廉政承诺书范文
- 诚信标志合作合同范本
- 人工智能在医疗保健中的创新考核试卷
- 木材切削刀具的选用与磨损分析考核试卷
- 云母制品在太阳能热水器中的应用考核试卷
- 安全网络数据安全应急响应考核试卷
- 2025年高考作文备考训练之二元思辨作文题目解析及范文:我与“别人”
- 《中央集成式商用车电驱动桥总成技术要求及台架试验方法》
- 交通法规教育课件
- 小学校长任期五年工作目标(2024年-2029年)
- 2022-2024年浙江中考英语试题汇编:阅读理解(说明文)教师版
- 第1课 中国古代政治制度的形成与发展 课件-历史统编版(2019)选择性必修1国家制度与社会治理
- 小学生思政课课件
- 2016届高三备考建议
- 北师大版六年级下册数学全册表格式教案
- 开曼群岛公司法2024版中文译本(含2024年修订主要内容)
- 2021年阿里巴巴全球数学竞赛预选赛试题及参考答案
评论
0/150
提交评论