求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code
会员   
订购 | 案例 | 建模扩展语言 | 模型框架 | 学习资源 | 培训&咨询 | 解决方案 | 用户组 | 客户专区 | 联系我们
 
学习视频
在线讲座
文章
白皮书
教程
EA手册库
sysml指南
Archimate
解决方案
学习中心库
市场活动
Code模型
 

工具 > Enterprise Architect > 产品服务

UML 教程 - 第二部分

 

我们已经在第一部分建立了这样一种认识,即UML是一种用于制定软件系统构成要素和交互方式标准的语言。UML涉及6大主要方面- 从用例模型、动态和逻辑模型到最终
的物理部署模型,以及允许给模型添加特别标注的扩展机制。

那么,如何使用UML呢?

一般地,UML作为软件开发过程的一部分,在具体的CASE工具支持下,用来定义所开发系统的需求,交互和元素。开发过程的确切性质则取决所采用的开发方法。一个典型
的开发过程大致如下:

1 建立一个业务过程模型业务过程模型被用来定义发生在企业或组织内部的高级业务活动和业务过程,并且是建立用例模型的基础。一般来说业务过程模型比一个软件系统所能实现的更多(比如:业务模型包括人力和其他过程)。
2 映射用例模型业务过程模型以 精确定义你要提供的功能,并且是站在业务用户角度考虑的。每增加一个用例时,将创建一个从适当的业务过程到该用例的可跟踪链接(如:一个实现链接)。这个 映射清楚地表达新系统将提供什么样的功能来满足业务过程中所描述的业务需求。这种映射也确保系统中每个用例都是有用的。
3 完善用例-包括需求,约束、复杂程度、注释及情形。这些信息清楚地描述用例做什么,如何做以及执行时的相关约束。这个过程要保证用例始终满足业务过程的需 求,包括每个用例的系统测试定义,该定义为该用例定义了接收标准。也包括了一些用户可接受的测试脚本:这些脚本定义了用户将如何进行测试和测试接收的标 准。
4 有了业务过程模型的输入与输出和用例的详细信息,就可以开始构建领域模型(高级业务对象)、顺序图、协作图和用户接口模型。这些图描述新系统中的要素以及这些要素之间的相互作用和用户执行用例时所需各种情形的接口。
5 在领域模型、用户接口模型和情形图的基础上,开始建立对象类模型。 这是制定系统中对象的明确规范:数据、属性、行为和操作。使用继承机制,可将领域对象抽象为类层次结构。处理各种情形的消息一般被映射到类的操作。如果使 用一个现存的框架或设计模式,则可能导入现存模型的元素到新系统中。为每一个类定义单元测试、集成测试和系统测试。测试目的:1)类的功能是否如所定义 的,2)类与其它类及组件的交互是否如期望的。
6 当开发类模型时,可能需要将它分解成包和组件。一个组件代表一个可使用的软件块,它是一个类或者多个类的数据和行为的结合,并严格定义一个对外提供服务的接口。所以,从类模型的角度看,构造组件模型就是定义类的逻辑包。对于每一个组件,需要定义集成测试,以证实组件的接口满足规范要求,即与其它软件元素的关系。
7 在完成上述工作的同时,需要获取一些额外的需求并整理成文档。例如:非功能性需求,性能需求,安全需求,义务需求,发布计划等。将这些需求在模型内部进行整合并随模型的进展而更新。
8 部署模型定 义系统的物理架构。这个工作可以提前开始以便于掌握系统的物理结构特性-使用什么样的硬件、操作系统、网络规模、接口与支持软件,来构成新系统,和系统部 署在那里,以及出现灾难性故障时的系统恢复,系统可靠性、系统备份与支持等方面所使用的参数。随着模型开发的不断进展,物理系统模型应该不断更新以反映所 开发系统的实际情况。
9 构造系统:将模型的分散模块分配给一个或多个开发者。如果采用用例驱动的方法构造系统,这将意味分配一个用例给开发小组,让他们构造用户界面,业务对象, 数据库表以及执行该用例所必须的相关组件。在构造每个用例时,应该同时完成单元测试、集成测试和系统测试。如果采用组件驱动的方法构造系统,则需将各个组 件分配给开发小组。
10 对照模型中的元素,跟踪查找出现在测试阶段的缺陷。如:查看针对用例的系统测试缺陷,查看针对对象类的单元测试缺陷等等,跟踪相关模型元素的修改以防止范围漫延。
11 随着工作进展不断更新和完善模型-每次修改模型或完善模型,都要评价所做的修改或改善对后续工作的影响。在模块设计中使用反复式工作方法,评介当前构造的模块,新到达的需求,以及开发过程发现的任何问题。
12 将完整的,并经过测试的软件发送到测试生产环节。如果采用分阶段发送,那么这种软件生产方式需要从测试到生产的多次往复才能最终完成整个项目。

 

注意:上面描述的过程只是项目开发所必须经历的一个简要概述,还有很多没有提及。它不是告你应该如何工作,或者不遵循你已经采用的方法。它只给出如何用UML
来支持软件开发项目的一个例子。