RUP(统一软件开发过程)之最佳软件开发实践

Rational统一过程:简称为RUP 是一个软件开发过程 是一个过程产品 是一个过程框架 包含了6个最佳软件开发实践 为所有方面和层次的程序开发提供指导、模板和工具指南的支持。

软件工程的三个要素是:工具、方法和过程。

采用有效的软件过程,是实现软件成功开发的前提。当前流行的软件过程有:

Rational Unified Process(RUP)

OPEN Process

Object-Oriented Software Process(OOSP)

Extreme Programming(XP)

Catalysis

Dynamic System Development Method(DSDM)

统一软件过程把UML建模语言有机的结合到一起,非常适合采用面向对象软件技术进行软件项目开发。

最佳实践:以一种循环的、可预测的方式开发和维护高质量的软件产品。

软件开发的六大最佳实践

1、迭代式开发

2、管理需求

3、基于组件的体系结构

4、可视化建模

5、验证软件质量

6、控制软件变更

Rational统一过程将6大最佳实践活动以一种适当的形式结合起来,从而适应了广泛的项目和开发组织。

迭代式开发  Develop Software Iteratively

随需求变化和理解深入,最初的设计很可能会出现问题。 如果设计问题直到后期才被发现,则很有可能导致费用超支,甚至项目失败。

好处:能及早发现和修正一些错误的需求理解 鼓励用户反馈信息,以明确系统的真实需求 使开发小组重视项目中最关键的问题 通过不断的迭代测试给出项目状况的客观评价 尽早发现需求、设计和实现中的不一致 更加平均的分配各环节的工作量 在开发中学习和改进 通过具体证据了解项目状况

 

管理需求

需求在整个软件生命周期中是变化的。 确定一个系统的真正需求是一个连续的过程。 一个新系统或升级系统的出现也会改变用户对系统需求的理解。

动态需求管理包括三项活动:提取、组织系统的功能和约束,并将它们写成文档; 估计需求的变化,评估它们会产生的影响; 跟踪并记录双方商议的决定。

好处:能够规定原则性的方法 人员之间的交流建立在已定义的需求之上 区分需求的优先级、对需求进行过滤和跟踪 尽可能对功能和性能作出客观评价 更容易发现系统中的不一致性 借助适当的工具支持,运用到外部文档的自动链接,可以为系统的需求、特性和踪迹提供一个知识库。

基于组件的体系结构

一个系统的构架决定: 软件系统的组织 构成系统的结构元素及其界面 结构元素的行为,通过这些元素之间的协作来说明 将这些结构元素和行为元素植入更大的子系统 确定系统组织的架构风格:这些元素以及它们的界面、协作和组合

架构要考虑的因素:基本因素:结构、行为 其他因素:用途、功能、性能、弹性、重用、经济和技术限制,美学等等。 建立弹性的构架是非常重要的: 大幅度提高重用率 使软件和硬件相互独立,从而更加适应变化 提高可维护性

好处:组件有利于创建有弹性的构架 模块化使得人们可以逐个关注系统中易改变的不同元素 通过使用标准化的框架(如COM+、CORBA、EJB)和商业上可获得的组件来提高重用。 组件为配置管理提供一个非常自然的基础。 可视化建模工具为基于组件的开发提供自动化的工具。

可视化建模

建模帮助开发团队将一个系统构架的结构和行为可视化、具体化、结构化,并写出文档记录。

好处:毫无二义性地说明行为 毫无二义性地理解软件设计 非模型和不灵活的构架被暴露出来 必要时可以隐藏细节 容易揭示不一致性  可以帮助开发团队提高管理复杂软件的能力。 捕获架构和组件的结构和行为 展示系统各个要素之间的协作方式 维护设计和实现之间的一致性 促进清晰的交流

验证软件质量

完成软件实施之后再去查找并修改软件问题要比早期进行这项工作多花100到1000倍的费用。因此从功能、可靠性、应用性和系统性能等多方面不断地对软件质量进行评估是非常重要的。

好处:能够客观评估项目状况(评价的是检测结果,而非书面文档) 揭示出需求、设计和实现中的不一致 关注高风险领域,提高这些领域的质量水平和效率 提早发现缺陷,从而降低修改成本 测试功能、可靠性和性能

控制软件变更

迭代开发软件密集型系统面临的最大挑战: 安排不同组、不同地点的开发人员同时工作于多个迭代过程、发布版本、产品和平台中。 为解决上述问题,要建立用于管理软件变更和其他开发制品变更的循环工作流: 根据项目的优先级和风险分配资源 根据变更动态地管理工作 每次迭代过程结束时应建立并发布一个已检测过的基线

好处:能够定义需求变更的工作流,并不断重复这个工作流 变更请求促进了更加清晰的交流 为开发人员建立独立的工作空间,减少平行工作之间的干扰 变更率为客观评价项目状况提供了很好的度量 工作空间包括了所有制品,有益于保持一致性 变更的产生和传播是可评价和可控制的 可以在一个健壮的定制系统中维护变更

 

 

你可能感兴趣的:(项目管理)