基本信息
文件名称:UML精要介绍明细.doc
文件大小:841.5 KB
总页数:76 页
更新时间:2024-12-31
总字数:约4.01万字
文档摘要

UML精要

第1章UML简介

了解面向对象机制和可视模型

了解图形说明类型

了解UML框图类型

用可视模型开发软件

本章介绍UML(统一建模语言,UnifiedModelingLanguage),这是最广泛使用的面向对象系统的建模方法。

何谓可视化建模

软件中的模型视系统的蓝图。蓝图可以帮你规划要作的补充,模型可以帮你规划要建的系统。这就可以保证系统设计良好,要求得到满足,系统能在要求改变时站得住脚。

收集系统要求时,把用户的业务需求映射到开发小组能理解的要求(功能要求)。最终你要利用这些要求产生代码。通过将要求映射为代码,可以保证代码满足这些要求,代码也能方便的回溯要求。这个过程成为建模。建模过程的结果就是可以跟踪从业务需求、到要求、到模型、到代码的过程及其相反的过程,而不会在这个过程中迷路。

可视化建模将模型的信息用标准图形元素直观地显示。标准对实现可视化建模的通信功能至关重要。可视化模型的主要目的就是用户、开发人员、分析人员、测试人员、管理人员和其他涉及项目人员之间的通信。利用系统的可视化建模,可以在几个层次上显示系统如何工作。我们可以建模用户与系统间的交互,可以建模系统对象间的交互,甚至可以建模系统之间的交互(如果需要)。

建立模型后,可以向所有感兴趣的方面显示这个模型,让他们对模型中的重要信息一目了然。例如,用户可以通过模型直观地看到用户与系统间的交互,分析人员可以看到系统对象间的交互,开发人员可以看到要开发的对象和每个对象的任务,测试人员可以看到对象间的交互并根据这些交互准备测试实例,项目管理人员可以看到整个系统及各部分的交互,而信息总管可以看看高层模型,看看公司的各系统如何相互交互。总之,可视化模型提供了向各方面显示系统计划的强大工具。

UML框图

利用UML可以开发几种不同的可视框图,表示系统的不同方面。RationalRose支持开发这些模型的大部分,包括:

UseCase框图 用例图

Sequence框图 序列图

Collaboration框图 协作图

Class框图 类图

StateTransition框图 活动图

Component框图 组件图

Deployment框图 部署图

这些模型框图表示系统的不同方面。

UseCase框图

UseCase框图显示使用案例(表示系统功能)与角色(表示提供或接受系统信息的人或系统)间的交互。图1.8是自动柜员机(ATM)系统的UseCase框图。

图1.8自动柜员机(ATM)系统的UseCase框图

UseCase框图显示使用案例与角色间的交互。使用案例表示从用户的角度对系统的要求,因此表示系统功能。角色是系统的主体。这些框图显示哪个角色启动使用案例,并显示角色何时从使用案例受到信息。这个UseCase框图显示ATM系统使用案例与角色间的交互。实际上,UseCase框图可以演示系统的要求。

外部系统可能是角色,这里信用系统是个角色,因为她在ATM系统之外。箭头从使用案例到角色表示使用案例产生一些角色要使用的信息。这里的付款使用案例向信用系统提供信用卡付款信息。

大部分信息可以从UseCase框图看到。这个框图显示系统的总体功能。用户、项目管理员、分析人员、开发人员、质量保证工程师和任何对系统感兴趣的人都可以浏览这个框图,了解系统的功能。

Sequence框图

Sequence框图显示使用案例中的功能流程。例如,取钱使用案例有几个可能的程序,如取美元,想取而没钱、想取而PIN错等等。取20美元的正常情形如图1.9。

这个Sequence框图显示使用案例的过程流程。每个箭头表示角色与对象或对象之间为完成所需的功能而传递的消息。关于Sequence框图要说明的另一点是,它只显示对象而不显示类,类表示对象的类型。对象是特定的,Sequence框图不只显示客户,而显示Joe。

图1.9Joe取20美元的Sequence框图

这样,Sequence框图用Joe取20美元的例子演示了取钱使用案例的全过程。用户可以从整个框图看到业务过程的细节。分析人员从Sequence框图可以看到处理流程。开发人员看到需要开发的对象和这些对象的操作。质量保证工程师可以看到过程的细节,并根据这个过程开发测试实例。Sequence框图对项目的各方面人员都有用。

Collaboration框图

Collaboration框图显示的信息与Sequence框图相同,但Collaboration框图用不同方式显示这个信息,具有不同作用。图1.9的Sequence框图对应图1.10的Collaboration框图。

图1.10Joe取20美元的Collaboration框图

因此,Collaboration框图显示的信息与Se