1.3 UML 与面向对象的软件分析与设计OOA&D
每一位软件设计方法学家都有许多有关软件质量的理论他们会讨论软件危机软件质量低下以及良好的设计的重要性那么UML 对提高软件的质量有什么帮助吗
1.3.1 标准的表示方法
UML 是一种建模语言是一种标准的表示而不是一种方法或方法学方法是一种把人的思考和行动结构化的明确方式方法需要定义软件开发的步骤告诉人们做什么如何做什么时候做以及为什么要这么做而UML 只定义了一些图以及它们的意义它的思想是与方法无关因此我们会看到人们将用各种方法来使用UML 而无论方法如何变化它们的基础是UML 的图这就是UML 的最终用途为不同领域的人们提供统一的交流标准.我们知道软件开发的难点在于一个项目的参与包括领域专家软件设计开发人员客户以及用户他们之间交流的难题成为软件开发的最大难题,UML 的重要性在于表示方法的标准化有效地促进了不同背景人们的交流有效地促进软件设计开发和测试人员的相互理解无论分析设计和开发人员采取何种不同的方法或过程他们提交的设计产品都是用UML 来描述的这有利地促进了相互的理解
1.3.2 与软件开发的成功经验集成
UML 尽可能地结合了世界范围内面向对象项目的成功经验因而它的价值在于它体现了世界上面向对象方法实践的最好经验并以建模语言的形式把它们打包以适应开发大型复杂系统的要求,在众多成功的软件设计与实现的经验中最突出的两条一是注重系统架构的开发,一是注重过程的迭代和递增性尽管UML 本身没有对过程有任何定义,但UML 对任何使用它的方法或过程提出的要求是支持用例驱动use-case driven 以架构为中心architecture-centric 以及递增incremental 和迭代iterative 地开发,注重架构意味着不仅要编写出大量的类和算法还要设计出这些类和算法之间简单而有效地协作所有高质量的软件中似乎大量是这类的协作而近年出现的软件设计模式也正在为这些协作起名和分类使它们更易于重用最好的架构就是概念集成conceptualintegrity 它驱动整个项目注重开发模式并力图使它们简单迭代和递增的开发过程反映了项目开发的节奏不成功的项目没有进度节奏因为它们总是机会主义的在工作中是被动的成功的项目有自己的进度节奏反映在它们有一个定期的版本发布过程注重于对系统架构进行持续的改进
1.4 UML 的应用领域
UML 被用来为系统建模它可应用的范围非常广泛可以描述许多类型的系统,它也可以用来系统开发的不同阶段从需求规格说明到对已完成系统的测试
1.4.1 在不同类型系统中的应用
UML 的目标是用面向对象的方式描述任何类型的系统,最直接的是用UML 为软件系统创建模型,但UML 也可用来描述其它非计算机软件的系统或者是商业机构或过程
以下是UML 常见的应用
信息系统Information System 向用户提供信息的储存检索转换和提交处理存放在关系或对象数据库中大量具有复杂关系的数据
技术系统Technical System 处理和控制技术设备如电信设备军事系统或工业过程它们必须处理设计的特殊接口标准软件很少技术系统通常是实时系统
嵌入式实时系统Embedded Real-Time System 在嵌入到其它设备如移动电话汽车家电上的硬件上执行的系统通常是通过低级程序设计进行的需要实时支持
分布式系统Distributed System 分布在一组机器上运行的系统数据很容易从一个机器传送到另一台机器上需要同步通信机制来确保数据完整性通常是建立在对象机制上的如CORBA COM/DCOM 或Java Beans/RMI 上,系统软件System Software 定义了其它软件使用的技术基础设施操作系统数据库和在硬件上完成底层操作的用户接口等同时提供一般接口供其它软件使用
商业系统Business System 描述目标资源人计算机等规则法规商业策略政策等和商业中的实际工作商业过程,要强调的是通常大多数系统都不是单纯属于上面的某一种系统而是一种或多种的结合,例如现在许多信息系统都有分布式和实时的需要,商业工程是面向对象建模应用的一个新的领域引起了人们极大的兴趣面向对象建模非常适合为公司的商业过程建模运用商业过程再工程Business Process ReengineeringBPR 或全质量管理Total Quality Management TQM 等技术可以对公司的商业过程进行分析改进和实现使用面向对象建模语言为过程建模和编制文档使过程易于使用UML 具有描述以上这些类型的系统的能力
<<上一页
1
2
3
4
下一页>>