Returnhead 2010-06-08
本节向大家继续介绍UML技术方面的内容,本节主要包括基于UML的面向对象建模和UML 技术两部分内容,希望通过本节的介绍你对UML技术有新的理解。下面让我们一起来学习UML技术吧。
一、基于UML的面向对象建模
UML包括概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。它可被交互的可视化建模工具所支持,这些工具提供了代码生成器和报表生成器。它是为支持大部分现存的面向对象开发过程而设计的。
UML描述了一个系统的静态结构和动态行为。UML将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定的功能的模型结构。静态结构定义了系统中的重要对象的属性和操作以及这些对象之间的相互关系。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度对系统建立的模型可用于不同的目的。
利用UML技术可以开发几种不同的可视框图,表示系统的不同方面。
BusinessUseCase框图
BusinessUseCase框图表示整个机构提供的功能。显示业务用例与业务角色之间的交互。业务用例表示公司执行的过程,而业务角色表示业务要交互的角色。也就是说业务角色表示公司外与公司交互的任何人,而不表示公司内的角色或人员。公司内的角色或人员表示为业务工人。
UseCase框图:
UseCase框图显示用例与角色间的交互。用例表示从用户角度对系统的要求,因此表示系统功能。角色是系统的主体,表示提供或接收系统信息的人或系统。UseCase框图可以演示系统的需求。如图为一个客户关系管理系统的一个用例图,它描述了系统的整体功能:
Active框图
Active框图演示了系统中的功能刘,可以在业务模型中显示业务工作流;可以在收集需求时显示一个用例中的事件流。这些框图定义工作流从那里开始到哪里结束,工作流中发生哪些活动,这些活动按什么顺序发生。活动是工作流其间完成的任务。如图表示客户关系管理系统中服务管理的活动图:
Sequence框图
Sequence框图显示用例中的功能流程,显示了对象间的交互关系。其中最重要的是显示了对象间消息传递的时间顺序。用户可以从这个框图看到业务过程的细节。分析人员可以从Sequence框图可以看到处理流程。开发人员看到需要开发的对象和这些对象的操作。质量保证工程师可以看到过程的细节,并根据这个过程开发测试用例。总之,Sequence框图对项目的所有人都有用。如图显示某系统中对应一个用例的一个顺序图。
Collaboration框图
Collaboration框图显示的信息与Sequence框图相同,但是Collaboration框图具有不同的作用:质量保证工程师和系统架构师用Collaboration框图显示对象间处理过程的分布。
Class框图
Class框图显示系统中类与类之间的交互。类是对象的蓝图,Class框图中的类是对Sequence框图或Collaboration框图中每种对象创建的。它可以显示每个用例中类的相互作用,也可以显示整个系统或子系统。
开发人员用Class框图开发类。分析人员用Class框图显示系统细节。架构师可以从这这个Class框图中看出问题并将功能划分到多个类中。如图显示某系统接口类的类图:
Statechart框图
Statechart框图提供了建模对象各种状态的方式,可以建模系统的动态功能,可以生成实际系统的全部代码。Statechart框图显示对象的功能。它只用于对复杂的类创建状态图。许多项目根本不需要这种框图。
Component框图
Component框图显示模型的物理视图,也显示系统中的软件组件及其相互关系。框图中有两种组件:执行组件和代码库。在Rose中,模型中的每个类映射到源代码组件,一旦创建组件,就加进Component框图中,然后标出组件间的相关性。相关性包括编译相关性和运行相关性。
编译系统的人员要使用Component框图。Component框图显示组件应以什么顺序编译,框图还显示编译时会创建哪些运行组件。Component框图显示类与实现组件之间的映射。这些框图还启动代码生成。
Deployment框图
Deployment框图显示网络的物理布局和各种组件的位置。
二、UML技术的应用
可视化建模的主要目的就是用户、开发人员、分析人员、测试人员、管理人员和其他设计项目的人员之间的通信。建立模型后,可以向所有感兴趣的部门显示这个模型,让他们对模型中的重要信息一目了然。例如:
用户可以通过模型直观地看到用户与系统间的交互;
分析人员可以看到模型对象间的交互;
开发人员可以看到要开发的对象和每个对象的任务;
测试人员可以看到对象间的交互并根据这些交互准备测试案例;
项目管理人员可以看到整个系统及各部分的交互;
信息总管可以看看高层模型,看看公司的各个系统如何相互交互。
总之,可视化建模提供了向各有关部门显示系统计划的强大工具。
具体的说,UML技术有如下应用:
1.为软件系统的产出建立可视化模型
UML符号具有良好的语义,不会引起歧义;基于UML的可视化模型,使系统结构直观、易于理解;使用UML作为软件系统建立的模型不但有利于交流,还有利于软件维护。
模型是系统的蓝图,蓝图可以对你的规划进行补充,模型可以帮你规划要建的系统。这就可以保证系统设计良好,要求得到满足,系统能在需求改变时站得住脚。对于一个软件系统,模型就是开发人员为系统设计的一组视图。这组视图不仅描述了用户需要的功能,还描述了怎样去实现这些功能。
2.规约软件系统的产出
UML定义了在开发软件系统过程中需要作的所有重要的分析、设计和实现决策的规格说明,使建立的模型准确、无歧异并且完整。