`
zhoushuping
  • 浏览: 45403 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UML建模之顺序图

阅读更多
交互视图描述了实现系统行为角色之间的消息交换序列。分类角色是对交互中充当特殊角色的对象的描述。交互视图提供了系统中行为在全局的描述,显示了多个角色间的控制流程。交互视图用侧重点不同的两种图来显示:顺序图和协作图。

消息指角色间的单向通信,从发送者到接收者的携带信息的控制流。消息可能带有角色间传递值的参数。

顺序图和协作图均显示了交互,但它们强调了不同的方面。顺序图显示了时间顺序,但角色间的关系是隐式的。协作图表现了角色之间的关系,并将消息关联至关系,但时间顺序由于用顺序号表达,并不十分明显。每一种图应根据主要的关注焦点而使用。

a.顺序图

顺序图表示了随时间安排的一系列消息。每个分类角色显示为一条生命线,代表整个交互期间上的角色。消息则显示为生命线之间的箭头。顺序图可以表达场景,即一项事务的特定历史。

顺序图以二维图表来显示交互。纵向是时间轴,时间自上而下。横向显示了代表协作中单个对象的分类角色。每个对象用方框表示,对象的名字在方框内部,并在名字的下方加下划线。每个分类角色表现为垂直列-生命线。在角色存在的时间内,生命线显示为虚线;在角色的过程激活时间内,生命线显示为双线。

消息显示为从一个角色生命线出发至另一个角色生命线的箭头,箭头用从上而下来的时间顺序来安排。顺序图的一个用途是显示用例的行为序列。当行为被实现时,每个顺序图中的消息同对象的操作或状态机中迁移上的事件触发相一致。



图4 表示处理请求用例的顺序图。图中五个方框分别表示五个对象:ProcessMonitor、EngineManager、Engine、 EntactmentDB、Logfiles。这个用例是由ProcessMonitor 接收用户操作,再将这些操作转换成固定的请求,发送给引擎执行而产生的。

当ProcessMonitor 接收到用户在界面上所作的操作后,将这些操作转换为固定的命令请求,发送给EngineManager。EngineManager 再根据接收到命令的类别,将命令分发给不同的Engine。Engine 则具体执行相应的命令。Engine 执行完命令后,通知EntactmentDB 修改相应的数据。接下来,Engine 再通知Logfiles 将所作的操作记录下来,以供以后查询。最后,Engine 直接将结果返回给ProcessMonitor,由ProcessMonitor将结果包装,显示给用户。

b.协作图

协作图对交互中存在意义的对象和链建模。对象和链仅在提供的上下文中存在意义。分类角色描述了对象,关联角色描述了协作中的链。协作图通过图形的几何排布显示交互中的角色。消息显示为附属在连接分类角色的关系直线上的箭头。消息的顺序由消息描述前的顺序号来表示。

协作图的一个用途是表现操作的实现。协作显示了操作的参数和局部变量,以及更永久性的关联。当行为被实现时,消息的顺序与程序的嵌套调用结构和信号传递一致。



图5表示对应于处理请求用例的协作图。这个用例是由ProcessMonitor 接收用户操作,再将这些操作转换成固定的请求,发送给引擎执行而产生的。这个协作图表现了处理请求用例所涉及的五个相关对象之间相互协作的关系。

5.3 创建状态机视图

状态机视图通过对一种对象的可能生命历史进行建模,描述了对象在时间序列上的动态行为。每个对象被认为是通过检测事件并对之响应来与外界进行通讯的孤立实体。事件表达了对象可以检测的变动-对象间的调用或显示信号、某个值的改变或时间的推移。任何影响对象的事物可以被描述成事件。真实世界发生的事情被建模成外部世界至系统的信号。

状态指就某个特定类而言,对于发生的事件具有相同性质响应的一系列对象值。换言之,同一状态的所有对象以相同的方式响应某个事件,即对于给定的所有对象在接收到同一事件时执行相同的动作。而不同状态的对象可能对相同事件具有不同的响应,执行不同的动作。

状态机包含由事件连接的状态。每个状态对对象生命期中的一段时间建模,该时间内对象满足一定的条件。当事件发生时,它可能导致迁移的激发,使对象改变至新状态。当迁移激发时,附属于迁移的动作可 能被执行。状态机在UML 中显示为状态图。

在状态机视图中,状态用带圆角的长方形表示,初始状态用实心填充的圆表示,结束状态用实心填充的圆外套一个圆圈表示。



图6 表示过程实例的状态机视图。从图中可以看出,一个工作流定义的过程实例,在运行时可能有五种不同的过程,分别为初始状态、就绪状态、运行状态、挂起状态与结束状态。

一个过程实例在初始时,均为初始状态(initial state)。根据需要,某个过程实例被创建(create),成为就绪状态(Ready)。随后,用户可以根据需要,选择就绪状态的过程实例进行启动(start),被启动的过程实例的状态就变为运行状态(Running)。处于就绪状态和运行状态的过程实例都可以通过取消操作(abort)转变为结束状态(end state)。处于运行状态的过程实例,通过挂起操作(hold),可以转变为暂时停止的挂起状态(Holded),同时处于挂起状态的过程实例也可以通过运行操作(run)转变为运行状态。挂起状态与结束状态的区别在于挂起状态并不释放所占用的资源,因而是可以恢复的。最后,一个处于运行状态的过程实例如果运行完毕,通过完成操作(finish)转变为结束状态。

状态机可以用于描述用户界面、设备控制和其它交互式子系统。它们还可用于在生命期中经历了若干特定阶段,每个阶段拥有特殊的行为的对象。

5.4 创建活动视图

活动视图是用于显示执行某个计算过程中的运算活动的状态机的一种特殊形式。活动状态代表了运算执行的状态:流程的步骤或操作的执行。活动图描述了顺序和并发活动分组。活动视图表达为活动图。

活动图包含活动状态。活动状态表现了过程中语句的执行或工作流中活动的运行。与一般等待状态等待事件不同,活动状态等待的是运算的结束。当活动结束时,执行处理到图中的下一个活动。前一个活动结束时,活动图中的结束迁移被激发。活动状态通常没有外部事件的迁移,但它们可以由外围状态的事件而被取消。

在活动图中,用左右两段是圆弧的长方形表示活动,用较粗的横线表示活动的分发,用带有箭头的线表示活动处理的先后顺序。



图7 表示用户的操作活动图。用户在使用系统所提供的功能之前,首先应当登录系统,也就是说,操作的第一步是登录(login)。登录之后,用户可以在三种操作中任选一个执行:选择过程定义(choose process define)、选择过程实例(choose process instance)以及选择工作项(choose workitem)。这三个活动的执行,没有先后顺序,完全由用户进行选择。

当用户选择了过程定义后,可以创建一个所选的过程定义的实例,也就是执行创建过程定义活动(create process define);当用户选择了一个过程实例后,根据这个过程实例状态的不同,可以对这个过程实例进行终止(abort)、启动(start)、挂起(hold)与运行(run)等操作,这些操作的执行是没有先后顺序的;当用户选择了一个工作项后,可以执行这个工作项,也就是做这个工作项的内容(do workitem)。

根据以上使用用例视图、交互视图、状态机视图以及活动视图对工作流管理系统所应具有的功能层次进行的分析,对通用工作流管理系统要达到的目标,应当有了一个较为清晰的认识。而这些认识与理解,将为进一步的设计,奠定良好的基础。 
  • 大小: 17.3 KB
  • 大小: 3.6 KB
  • 大小: 11.7 KB
  • 大小: 16.1 KB
分享到:
评论

相关推荐

    使用EnterpriseArchitect进行UML建模顺序图PPT学习教案.pptx

    使用EnterpriseArchitect进行UML建模顺序图PPT学习教案 本资源是一个关于使用EnterpriseArchitect进行UML建模顺序图的PPT学习教案,主要针对会计学专业学生,旨在帮助他们学习和掌握UML建模顺序图的知识和技能。 ...

    UML建模实例大全

    《UML建模实例大全》是一本深入探讨UML(统一建模语言)在实际项目中的应用的书籍,尤其强调了其在设计模式中的实践。UML作为一种强大的可视化建模工具,是软件开发过程中的重要组成部分,它为系统分析、设计和沟通...

    超市管理系统UML建模实例+完整实验报告

    包括全套的UML建模图,用例图(3级),类图,顺序图,协作图,状态图,活动图,协作图,部署图。 附有完整的实验报告,报告包括实验内容,需求分析设计方法,思路和主要技术,软件系统建模(包括完整建模图),和三...

    uml建模实验报告

    ### UML建模实验报告知识点总结 #### 一、UML与软件建模基础 - **UML(Unified Modeling Language)概述**: - UML是一种面向对象的建模语言,用于软件系统的可视化建模。 - 它提供了一套标准化的符号体系,帮助...

    UML建模顺序图

    UML(统一建模语言)是软件工程领域用来对软件系统进行建模的标准语言,它包括多种图形表示法,其中顺序图(Sequence Diagram)是UML交互图的一种形式,用于展示对象之间的交互过程,并侧重于强调消息的时序性。顺序...

    UML建模之活动图介绍(Activity_Diagram)

    【UML建模之活动图介绍(Activity Diagram)】 活动图是统一建模语言(UML)中的一个重要组成部分,主要用于描述系统或过程的动态行为。它以一种流程图的形式展现了控制流从一个活动到另一个活动的顺序,尤其适用于...

    UML建模技术.pdf

    ### UML建模技术知识点详解 #### UML的基本概念与作用 **UML**(Unified Modeling Language,统一建模语言)是一种标准化的图形化建模语言,被广泛应用于软件工程和系统架构的设计过程中。UML的主要作用在于: - ...

    UML建模风格之顺序图

    【UML建模风格之顺序图】 UML(Unified Modeling Language)是一种标准化的建模语言,用于软件开发的可视化表达。顺序图是UML中的一种重要动态建模工具,尤其适用于展示系统中对象间的交互行为。它强调时间序列,...

    uml图之顺序图

    其中,序列图(Sequence Diagram)是UML中的动态视图,主要用于展示系统中对象之间的交互过程,特别是消息传递的顺序。它按照时间轴的顺序来描绘对象间的交互,是理解系统行为的重要手段。 ### 1. 序列图的基本元素...

    UML建模——图书管理系统需求分析报告

    《UML建模——图书管理系统需求分析报告》 图书管理系统是一种使用计算机技术高效处理大量图书信息的电子档案管理系统。该系统旨在满足三个主要用户群体的需求:借书者、图书管理员和系统管理员。对于借书者,系统...

    B2C电子商务系统UML建模——淘宝网系统.docx

    系统的UML建模包括用例图、类图、顺序图、活动图、包图和构件图等部分。 (1)用例图 系统的用例图包括系统用户参与的总的用例图、People的详细用例、会员详细用例图、买家详细用例图、卖家详细用例图和职员详细用...

    《UML建模实例教程》【PPT】

    3.1.2理解UML建模 3.2UML的特点 3.3UML的结构 3.3.1UML的事物 3.3.2UML的关系 3.4UML的视图 3.4.1用例视图 3.4.2逻辑视图 3.4.3并发视图 3.4.4组件视图 3.4.5部署视图 3.5UML图形符号 3.5.1用例图 ...

    考试成绩管理UML建模

    在“考试成绩管理UML建模”这个项目中,我们将关注如何使用Rational Rose这一专业工具来实现考试成绩管理系统的建模工作。 首先,UML是一种图形化语言,它提供了一套标准符号和图示,帮助开发人员理解、记录和沟通...

    UML建模-网上购物

    创建系统顺序图(协作图),描绘了不同对象间的消息传递顺序,如客户下单、支付过程中的交互。创建状态图,展示了对象在生命周期中可能经历的各种状态及其转换,如订单从创建到完成的过程。创建活动图,用于表示复杂...

    图书馆管理系统UML建模ppt讲解

    在图书馆管理系统的UML建模中,用例图是起点,它描绘了用户与系统之间的交互。例如,读者可能有借书、还书、续借、查询图书等需求,这些需求可以转化为用例,用图形化的方式展现出来,以便于分析系统的核心功能。 ...

    uml实例建模 用例图 类图 时序图 活动图

    UML 实例建模 - 用例图、类图、时序图、活动图 UML(Unified Modeling Language)是一种标准的建模语言,用于描述软件系统的结构、行为和演化过程。在软件开发过程中,UML 模型是非常重要的,它可以帮助开发者更好...

    航空订票系统 uml建模设计.docx

    本文主要介绍了航空订票系统的 UML 建模设计,包括需求分析、用例图、类图、状态图、顺序图、合作图等。系统主要分为订票模块、航班信息管理模块和个人信息管理模块三个核心模块。 用例图 用例图是从用户的角度...

    UML建模实例详解

    "全书图.rar"可能包含了整个教程的综合图解,这些图可能涵盖UML的所有主要图示类型,帮助读者全面理解UML建模的各个层面。 5. **SQL代码txt** SQL(Structured Query Language)是数据库查询和管理的语言。在UML...

    餐馆预约管理系统UML建模

    《餐馆预约管理系统UML建模》是一份详尽的IT资料,主要涵盖了餐馆预约管理系统的UML(统一建模语言)设计过程。该系统通过Rose工具进行建模,旨在实现高效、便捷的餐馆预约服务。这份资料深入浅出地解析了系统的需求...

    uml实例...UML建模实例

    Rational Rose是IBM开发的一种强大的UML建模工具,支持多种UML图的绘制,包括用例图、类图、序列图等。PowerDesigner则是一个全面的数据建模和企业架构工具,也支持UML建模。 在实验步骤中,我们首先进行软件需求...

Global site tag (gtag.js) - Google Analytics