RSS
热门关键字:
当前位置 : 主页>编程开发>软件工程>列表

统一建模语言UML轻松入门之动态建模

来源:我要研发网 作者: 时间:1970-01-01 点击:



静可描形,动可描行。动和静是辩证两面,在UML中,静态建模可以描述系统组织和结构,而动态建模则可描述系统行为和动作。 字串7

  前一节中介绍类图和对象图主要用于静态建模,本节我们将描述UML中动态建模机制。在动态建模机制中,以消息来完成对象之间交互,用状态图、顺序图、协作图和活动图来描述系统行为。

字串7

  4.1消息 字串8

  在面向对象领域,两个对象交互是通过消息发送和接收来完成。消息分为简单消息、同步消息和异步消息: 字串5

  (1)简单消息:只是表示控制如何从一个对象发给另一个对象,并不包含控制细节; 字串7

  (2)同步消息:同步意味着阻塞和等待,如果对象A给对象B发送一个消息,对象A会等待对象B执行完这个消息,接着才进行自身工作;

字串3

  (3)异步消息:异步意味着非阻塞,如果对象A给对象B发送一个消息,对象A不必等待对象B执行完这个消息,就可以接着进行自身工作。 字串3

  4.2顺序图

字串2

  顺序图(也称序列图)是一种交互图(Interaction Diagram,用于描述执行系统功能各个角色之间相互传递消息顺序关系,显示跨越多个对象系统控制流程),强调是时间和消息次序,用来说明系统动态情况,顺序图由参与者、对象、对象生命线和消息组成。一个顺序图显示了一系列对象(通常是类实例,也可以代表其他事物实例,例如协作、组件和节点)和在这些对象之间发送和接收消息。 字串9

  图4.1 图书入库顺序图

字串5

  图书管理系统中图书入库顺序图如图4.1所示,对于顺序图,往往在文字表述上会出现"当…时…"、"首先"、"然后"、"接着"、"…发出…消息","…响应…消息"等词汇。例如图4.1顺序图可用文字表达为: 字串4

  当管理人员把新书入库时,首先要求登录(输入用户名和口令),经系统"注册表单"验证,若正确无误,则可继续下一步交互,否则拒绝该管理人员进入系统。若登录正确,管理人员可发出查询请求消息,系统"图书入库表单"对象响应请求。若管理人员发出增加或删除库存图书请求,"库存图书"对象将响应该消息,找出数据库中相关数据并执行相应操作。此后,管理人员应按下提交键确认请求,"图书入库表单"接口对象应该响应该请求,并发出存储消息,才由"库存图书"对象响应存储消息,进行数据库存储操作。如果管理人员结束图书入库,发出退出系统请求,则系统"注册表单"接口对象响应请求,关闭系统。

字串4


字串5

  图4.2 购买商品顺序图

字串3

  而图4.2则给出了电子购物系统中购买商品顺序图,通过观察顺序图,我们可以很清晰地看出顾客购买商品流程。

字串3

  4.3状态图

字串7

  状态图是UML中状态机视图。状态机由对象各个状态和连接这些状态转换组成。每个状态对一个对象在其生命期中满足某种条件一个时间段建模,当一个事件发生时,它会触发状态间转换,导致对象从一种状态转化到另一新状态。与转换相关活动执行时,转换也同时发生。 字串5

  状态图用于描述对象可以拥有状态以及引起状态相互转移事件和条件,它揭示了对象生命周期,是针对类一种建模工具。状态是对象前一次操作结果,事件是引起状态向另一状态转化活动。所有对象都有状态,但通常只对具有复杂行为类建立状态图。状态图强调是事件驱动对象动作,这在对反应式系统建模是相当重要

字串3

  两个类状态图之间可以相互发送消息,一个状态还可以有嵌套子状态,各子状态之间关系可以为与/或关系。 字串7

  在如图4.3所示车载GPS终端系统中,车载GPS终端一方面与GPS卫星通信,另一方面将从GPS卫星获得位置信息(经度、维度等)通过GSM短消息与车辆监控调度中心进行交互。 字串7

  图4.3 车载GPS终端系统 字串2


字串1

  在这样系统中,鉴于通信过程中GPS终端可能处于不同状态,我们可用状态图来对其进行描述,这样很直观和明确。图4.4给出了GPS终端状态(待命、有问题、通话中、短消息通讯中)及其状态之间变迁关系。

字串4

  图4.4 GPS终端状态图

字串1

  4.4 活动图

字串8

  活动图用于描述系统、用例、程序模块中逻辑流程先后执行次序、并行次序,是对人类组织现实世界中工作流程建模,有助于理解系统高层活动执行行为。 字串3

  活动图中主要概念是"活动",而"活动"具体含义又取决于作图目和抽象层次:

字串5

  (1)当活动图用于描述系统行为时,主要侧重于系统多个用例活动之间相互制约执行顺序,同时,识别出系统中存在可以并行进行用例,此时,活动表示系统要完成任务;

字串8

  (2)当活动图用于描述用例时,用于描述用例中操作执行次序和操作完成结果,显示多个对象操作是如何相互结合起来共同完成用例一个脚本,揭示出操作之间并行性,为编码实现提供开发并行程序便利,此时,活动表示类中方法,即操作。允许将某个组织或执行者要完成若干操作聚集在泳道中,以明确责任。 字串6

  活动图用于低层次程序模块作用类似于流程图,但活动图还可以描述并行操作,而流程图则只能描述串行操作。例如,图4.5给出了生产管理系统中定单处理用例活动图,它明显地带有流程图特色,但是,它还表示了处理过程中并行过程。图4.5中付款认可活动属于财务管理用部门职责,其它活动属于销售部门职责,这两个部门在并行运作。 字串4

  图4.5 定单处理活动图 字串3


字串3

  图4.6则给出了药品管理系统中药品采购入库过程活动图。 字串5

  图4.6 药品入库活动图

字串2

  4.5协作图 字串6

  与顺序图一样,协作图也是一种交互图,用于描述对象之间协作关系,其模型元素与序列图基本相同,但它侧重于描述对象之间是如何相互连接,强调是发送和接收消息对象之间组织结构。顺序图着重体现对象间消息传递时间顺序,协作图着重于哪些对象间有消息传递,表达了对象之间静态连接关系。顺序图和协作图是同构,它们相互之间可以转化而不损失信息,依靠工具协作图和顺序图可互相转换。 字串1

  图4.7 注册新课程协作图

字串3

  图4.7给出了注册新课程协作图,图中描述了注册者、课程表单、管理员和课程对象之间协作关系,对象之间连接关系上给出了发送和接收消息。

字串4

  4.6 UML图之间关系

字串8

  连载2-4给出了多种类型图,这些图之间存在着或直接或间接关系(如图4.8),这体现了UML中辩证法。

字串3

  图4.8 UML图关系 字串7


字串9

  用例图主要用来描述系统外部行为;类图和对象图用来定义类和对象以及它们属性和操作;状态图描述类对象所有可能状态以及事件发生时状态转移条件;顺序图显示对象之间动态合作关系,它强调对象之间消息发送顺序,同时显示对象之间交互;合作图强调对象间动态合作关系;活动图描述满足用例要求所要进行活动以及活动间约束关系,有利于识别并行活动。

字串1

  除此之外,我们还没有详细讲解包图用于描述系统分层结构,构件图描述代码部件物理结构及各部件之间依赖关系,配置图定义系统中软硬件物理体系结构。 字串8

字串5

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
相关文章