状态机视图是一个类对象所可能经历的所有历程的模型图。状态机由对象的各个状态和连接这些状态的转换组成。每个状态对一个对象在其生命期中满足某种条件的一个时间段建模。当一个事件发生时,它会触发状态间的转换,导致对象从一种状态转化到另一新的状态。与转换相关的活动执行时,转换也同时发生。状态机用状态图来表达。
图 3–5是票这一对象的状态图。初始状态是Available状态。在票开始对外出售前,一部分票是给预约者预留的。当顾客预定票,被预定的票首先处于锁定状态,此时顾客仍有是否确实要买这张票的选择权,故这张要票可能出售给顾客也可能因为顾客不要这张票而解除锁定状态。如果超过了指定的期限顾客仍未做出选择,此票被自动解除锁定状态。预约者也可以换其他演出的票,如果这样的话,最初预约票也可以对外出售。
状态图可用于描述用户接口、设备控制器和其他具有反馈的子系统。它还可用于描述在生命期中跨越多个不同性质阶段的被动对象的行为,在每一阶段该对象都有自己特殊的行为。
活动图是状态机的一个变体,用来描述执行算法的工作流程中涉及的活动。活动状态代表了一个活动:一个工作流步骤或一个操作的执行。活动图描述了一组顺序的或并发的活动。活动视图用活动图来体现。
图 3–6 是售票处的活动图。它表示了上演一个剧目所要进行的活动(这个例子仅供参考,不必太认真地凭着看戏的经验而把问题复杂化)。箭头说明活动间的顺序依赖关系—例如,在规划进度前,首先要选择演出的剧目。加粗的横线段表示分叉和结合控制。例如,安排好整个剧目的进度后,可以进行宣传报道、购买剧本、雇用演员、准备道具、设计照明、加工戏服等,所有这些活动都可同时进行。在进行彩排之前,剧本和演员必须已经具备。
这个例说明了活动图的用途是对人类组织的现实世界中的工作流程建模。对事物建模是活动图的主要用途,但活动图也可对软件系统中的活动建模。活动图有助于理解系统高层活动的执行行为,而不涉及建立协作图所必须的消息传送细节。
用连接活动和对象流状态的关系流表示活动所需的输入输出参数
前面介绍的视图模型按照逻辑观点对应用领域中的概念建模。物理视图对应用自身的实现结构建模,例如系统的构件组织和建立在运行节点上的配置。这类视图提供了将系统中的类映射成物理构件和节点的机制。物理视图有两种:实现视图和部署视图。
实现视图为系统的构件建模型—构件即构造应用的软件单元—还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响。
实现视图用构件图来表现。图 3–7是售票系统的构件图。图中有三个用户接口:顾客和公用电话亭之间的接口、售票员与在线订票系统之间的接口和监督员查询售票情况的接口。售票方构件顺序接受来自售票员和公用电话亭的请求;信用卡主管构件之间处理信用卡付款;还有一个存储票信息的数据库构件。构件图表示了系统中的各种构件。在个别系统的实际物理配置中,可能有某个构件的多个备份。
图中的小圆圈代表接口,即服务的连贯集。从构件到接口的实线表明该构件提供的列在接口旁的服务。从构件到接口的虚线箭头说明这个构件要求接口提供的服务。例如,购买个人票可以通过公用电话亭订购也可直接向售票员购买,但购买团体票只能通过售票员。
部署视图描述位于节点实例上的运行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配。
部署视图用部署图来表达。图 3–8是售票系统的描述层部署图。图中表示了系统中的各构件和每个节点包含的构件。节点用立方体图形表示。
图 3–9是售票系统的实例层部署图。图中显示了各节点和它们之间的连接。这个模型中的信息是与图 3–8的描述层中的内容相互对应的。
分享到:
相关推荐
UML实战教程_面向.NET开发人员,pdf, 清晰,分卷2
ECLIPSEUML_E310_FREEEDITION_2.1.0.20050906.JAR Eclipse常用插件
UML教程 面向对象的分析与设计(OOA&D)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的...
"UML教程(中文版)"是一个很好的资源,可以帮助初学者和经验丰富的从业者更好地掌握UML的各种概念和应用。通过阅读提供的PDF文档,你将有机会了解每个图形的用途、符号和实例,从而提升你在软件开发中的建模能力。
UML实战教程_面向.NET开发人员UML实战教程_面向.NET开发人员,总所传完了一共六个
标题中的“UML1.rar_UML小例子_lab.mdl uml_mdl_uml _visual c”表明这个压缩包包含了与统一建模语言(UML)相关的示例,特别是涉及到MDL(Model Driven Language)文件以及可能与Visual C++的集成。描述中的“UML ...
UML实战教程_面向.NET开发人员UML实战教程_面向.NET开发人员UML实战教程_面向.NET开发人员
**UML2.rar_uml_mdl_UML_mdl.uml_.mdl_visual_c** 本文将深入探讨UML(统一建模语言)及其在软件开发中的应用,特别是在MDL(Model Driven Development,模型驱动开发)和Visual C++环境中的作用。UML是一种标准化...
UML实战教程_面向.NET开发人员.part1UML实战教程_面向.NET开发人员.part1
UML实战教程_面向.NET开发人员.part5UML实战教程_面向.NET开发人员.part5
UML实战教程_面向.NET开发人员.part3UML实战教程_面向.NET开发人员.part3
UML实战教程_面向.NET开发人员.part2UML实战教程_面向.NET开发人员.part2
UML实战教程_面向.NET开发人员.part4UML实战教程_面向.NET开发人员.part4
**UML(统一建模语言)**是一种标准的图形化建模语言,广泛应用于软件工程领域,用于描述软件系统的设计和实现。它提供了一种可视化的方式来表达系统的结构和行为,帮助开发者、分析师和项目团队更好地理解和沟通...
《UML 图书 系统_UML建模_uml.rar》是一个包含有关UML(统一建模语言)在图书租赁系统中的应用的压缩文件。这个压缩包提供了对UML建模技术的深入理解和实践示例,特别关注了如何在图书租赁系统这样的业务环境中运用...
UML实战教程_面向.NET开发人员UML实战教程_面向.NET开发人员
UML实战教程_面向.NET开发人员UML实战教程_面向.NET开发人员
UML实战教程_面向.NET开发人员UML实战教程_面向.NET开发人员