lec-09统一建模语言UML和Rational统一过程RUP
统一建模语言
第九讲 统一建模语言UML和Rational统一过程RUP 现代软件开发面临着要尽快将产品推向市场和开发高质量、低成本产品的矛盾。要成功解决软件开发中的矛盾,必须将软件开发作为一种团队活动。为了有效组织开发和进行交流,团队中不同参与者统一使用公共的过程、公共的表达语言、以及支持该语言和过程的工具。Rational统一过程(RUP)就是这样一种公共过程,而且已经在多个软件开发组织的实践中被证实可以有效解决上述矛盾。统一建模语言(UML)则可以作为开发团队的公共语言。UML不是完整的开发方法,UML规范也没有定义标准的过程,而RUP则是有效使用UML的指南。本讲着重介绍UML和RUP的基本概念,并描述了如何在RUP的指导下用UML建模。
一.引言
现代软件开发中存在着一个基本矛盾:一方面,开发组织需要将产品尽快推向市场;另一方面,推出的软件系统必须兼具高质量和低成本。要在这二者之间取得平衡很困难:仓促地将一个软件系统推向市场,其质量肯定会受到影响;但是过分注重质量可能会需要过多的时间才能将软件交给用户。
要解决这个矛盾,首先要认识到软件开发已经发生了本质的变化。以前,许多信息系统的体系结构相当简单:上层的应用程序建立在中间层上,中间层则封装了业务规则和数据存取;中间层建立在持久存储之上,通常表现为一个关系数据库,这个数据库实质上就是系统的中心。Client/Server体系结构的出现有助于实现这种三层分离的体系,并且易于有效控制系统的变更。特别地,在保持系统状态不变的情况下可以快速创建和修改应用,可以引入新的业务规则而不影响系统的稳定,也可以随着时间以新的和不可预知的方式来进行数据挖掘。这种稳定的体系结构使得许多组织以相应的形式组织他们的开发团队:分析人员和最终领域专家一起将用户的要求转化为需求,数据建模人员建立满足用户功能需求的领域模型,应用开发人员则迅速建造满足系统行为需求的新系统。
然而,随着Web的出现,软件开发的世界发生了不可逆转的改变。首先,传统C/S结构的系统中,用户的数目是可以控制的,通常是数百或者数千。而Web上一个系统的用户可能数以百万计,并且大多不在系统开发组织的控制之中。再者,在传统的C/S系统中,应用和数据在概念上距离相当小,而Web上的许多系统都是由数千个可移动的部件组成,其中有使用脚本语言的,有经过编译的,使用的机制与传统的关系型存储大相径庭。第三,在C/S系统中,变更是不可避免的,但可以适度地控制;而在Web上,变更是持续的,并且在系统体系结构和实现技术的每个层次上都会发生。最后,在C/S系统中,参与系统开发的人员相对较少,而在Web上除了传统的软件开发团队以外,还有许多新的参与者,从内容创建人员、信息架构构造人员到网络设计人员,大家共同合作进行E-软件的开发。
另外,传统上着重处理大量数据的系统在实现上是相对同构的,主要使用Cobol语言。而Web的出现改变了一切。在Web上一个这样的系统可能在服务器端使用Cobol、C++或Java,或者少量的脚本语言和4GL,在客户端使用传统的语言如VB和Java。有时也会使用诸如XML这样的语言,而且XML本身就是作为一种在Web上表示结构化数据的通用语言出现的。除了面对这些庞杂的编程语言,开发队伍还必须处理众多的技术,如Micosoft的WinDNA,Sun的EJB等,这些技术提供给开发人员的编程模型也各不相同。
统一建模语言
对于一个组织而言,开发队伍的成员能够以一种通用的方式沟通是至关重要的,不同的参与者对系统的设计和实现有不同的看法,只有使用通用的语言表达,才可能统一开发团队的活动。
因此,要成功解决软件开发中的矛盾,必须将软件开发作为一种团队活动,团队中从事开发和部署的不同参与者统一使用公共的过程、公共的表达语言、以及支持该语言和过程的工具。
Rational统一过程(Rational Unified Process,RUP)就是这样一种公共过程,而且已经在多个软件开发组织的实践中被证实可以有效解决上述矛盾。RUP提供在开发机构中分派任务和责任的纪律化方法,它的目标是在可预见的日程和预算的前提下,确保满足最终用户需求的高质量产品。RUP是风险和用例驱动的过程,它鼓励系统可执行版本的迭代和增量式交付,其迭代以用例为依据。除此之外,RUP还是体系结构优先的过程,系统的体系结构在早期就稳定下来,以便对设计进行验证,在后续的迭代中逐步进行精化。
统一建模语言UML(Unified Modelling Languae,UML)可以作为开发团队的公共语言。UML是一种直观化、明确化、构建和文档化软件系统产物的图形化语言。UML最主要的目标是成为所有建模人员可以使用的通用建模语言,它包含了当前主流建模技术的概念,并针对许多当前软件开发的问题,如大规模、分布、并发和团队开发等。
UML不是完整的开发方法,不包括逐步的开发流程。对于软件开发来说,良好的开发过程非常重要。UML规范没有定义标准的过程,但是可以用于迭代的开发过程,并支持现有的大多数面向对象的开发过程。而RUP则是有效使用UML的指南。
下面将分别介绍统一建模语言和Rational统一过程。
二.统一建模语言——UML
UML是一种可视化的建模语言,结合了Booch、Objectory和OMT方法,同时吸收了其它大量方法学的思想,提供了一种表示的标准。1997年OMG采纳UML作为软件建模语言的标准,可以应用于不同的软件开发过程。
下面介绍UML涉及的一些基本概念。
1.视图(Views)
UML用模型来描述系统的静态结构和动态行为。为了捕捉要构建的软件系统的所有决策信息,需要从团队中不同参与者的角度出发,为系统的体系结构建模,形成不同的系统视图。要描述一个软件系统,下面的五种视图尤为重要:
(1)用例视图(Use case view)
用例视图定义系统的外部行为,是最终用户、分析人员和测试人员所关注的。用例视图定义了系统的需求,是描述系统设计和构建的其它视图的基础,即用例驱动。用例视图也称为用户模型视图。
(2)逻辑视图(Logic view)
逻辑视图描述逻辑结构,该逻辑结构支持用例视图描述的功能,它描述了问题空间中的概念以及实现系统功能的机制,如类、包、子系统等,因而是编程人员最关心的。逻辑视图又称作结构模型视图或静态视图。
(3)实现视图(Implementation view)
实现描述用于组建系统的物理组件,如可执行文件、代码库和数据库等系统程序员所看到的软件产物,是和配置管理以及系统集成相关的信息。实现视图又称为组件视图(Component view)。
统一建模语言
(4)过程视图(Process view)
过程视图描述将系统分解为过程和任务,以及这些并发元素之间的通信与同步。过程视图对于系统集成人员特别重要,因为他们需要考虑系统的性能和吞吐量等。过程视图也称为并发视图、动态视图或者协作视图等。
(5)配置视图(Deployment view)
描述系统的物理网络布局,是系统工程师和网络工程师所感兴趣的。又称作物理视图。
2.图(Diagrams)
每个视图都由一个或者多个图组成,一个图是系统体系结构在某个侧面的表示,所有的图在一起组成系统的完整视图。UML提供了九种不同的图,分为静态图和动态图两大类。静态图包括用例图、类图、对象图、组件图和配置图,动态图包括序列图、状态图、协作图和活动图。
(1)用例图(Use case diagram):
相关推荐:
- [文秘资料]班长职务辞职报告
- [文秘资料]完美的辞职报告
- [文秘资料]经典的员工辞职报告
- [文秘资料]医院口腔医生辞职报告
- [文秘资料]总经理辞职报告范文四篇
- [文秘资料]超市职员个人辞职报告
- [文秘资料]村妇联主任的辞职报告
- [文秘资料]辞职报告书格式
- [文秘资料]酒店辞职报告简单范文
- [文秘资料]联通的辞职报告
- [文秘资料]2017最新私企员工辞职报告范文
- [文秘资料]2019年度医院基层党组织书记抓党建述职
- [文秘资料]工作时间长辞职报告
- [文秘资料]辞职报告怎么写出来
- [文秘资料]个人能力原因辞职报告
- [文秘资料]网络工程师辞职报告
- [文秘资料]项目部辞职报告
- [文秘资料]缝纫工辞职报告怎么写
- [文秘资料]XXX州委书记述职报告
- [文秘资料]抓基层党建工作述职报告
- (王虎应老师讲课记录)六爻理象思维
- 八个常见投影机故障排除法
- 质量专业综合知识(中级)第一章质量管理
- 煤矿班组建设实施意见
- 我国快餐业与肯德基经营模式的比较与分
- 汽车保险杠模具标准化模架技术工艺研究
- 汽车二级维护作业团体赛比赛规程
- 装卸搬运工安全操作规程
- 高效的工作方法-刘铁
- 依据《生产安全事故报告和调查处理条例
- 2015专业PS夜景亮化效果图制作教程
- 企业劳动定额定员浅析
- 中枢神经系统医学影像学本科五年制第五
- 长城汽车参观探营第三站:研发试验中心
- 小升初语文专项训练
- 建筑工程质量检测资质分类与等级标准
- 周燕珉-我国养老社区的发展现状与规划
- 《生命里最后的读书会》读后感
- 实验室管理评审报告
- CCNA思科网院教程精华之网络基础知识




