您的位置:软件测试 > 软件项目管理 > 开发管理 >
软件开发项目的佳实践
作者:网络转载 发布时间:[ 2013/5/20 15:43:53 ] 推荐标签:

引言

大多数软件项目都是失败的。事实上,Standish group 的报告显示 80% 多的项目是不成功的,原因是超出了预算、未能按时完成、遗漏功能或者因为一个项目中同时出现了这些问题中的其中几个。此外,30% 的软件项目执行得很糟糕以至于半途而废。根据我们的经验,使用现代技术(例如 Java、J2EE、XML 以及 Web 服务)的软件项目都逃不出这个规则。

本文概述了软件开发项目的佳实践。一些业界泰斗,如 Scott Ambler、Martin Fowler、Steve McConnell 和 Karl Wiegers,已经在因特网上写了许多这样的佳实践,本文也引用了这些佳实践。另请参阅本文末尾的相关信息部分。附带的文章软件开发项目实施指南描述了有助于提高项目成功率的十条重要的因素。

佳实践项目

1. 开发流程(Development process)-为手头的项目选择适当的开发生命周期流程很重要(CMMI三级自定义过程大的一个裁剪项),因为其他的所有活动都是从这个流程派生出来的。现代的软件开发项目多数都是在瀑布式流程的基础上采用某种螺旋式方法。有几种方法可供选择,包括 Rational 统程(Rational Unified Process,RUP)、IBM® Global Services 方法(IBM® Global Services Method)以及极端编程(eXtreme Programming,XP)。(还要改进型的瀑布模型,增量等相关模型可以供选择)流程当然比根本没有要好,但在多数情况下流程的执行情况要比使用的是什么流程更重要。以上列举的常用方法都包含关于如何执行流程的指南和构件模板。此外,RUP 还有一系列描述使用 RUP 的佳实践的书  [1][2][3][4],即便不选用 RUP,这些书也是获得佳实践的极好来源。给 RUP 加插件也是可以的。请为基于 WebSphere® J2EE 的项目下载  WebSphere 插件。(RUP是很好的一套增量迭代的开发方法,RUP方法论可以更好的应当变化和体现架构设计在开发过程中的主导作用,但真正用好并不容易)

2.需求-收集需求需求达成一致是项目成功的基础。这并不一定意味着需要在建立好体系结构、完成设计和编码工作之前确定所有的需求,但对于开发小组来说明白需要构建什么是很重要的。质量需求分两种:功能性的和非功能性的。一种记录功能性需求的好方法是使用用例(Use Case)。注意:用例被用于非面向对象的项目。Armour 和 Miller 著有一本关于用例主题的权威著作 [5]。非功能性需求描述应用程序的性能和系统特性。收集非功能性需求很重要,因为他们对应用程序体系结构、设计以及性能都会产生重要影响。请参阅 ConstruxWeb 站点上的 非功能性需求清单。(非功能性需求和功能性需求一样重要,对于新产品的非功能性需求的前期收集是具有难度的,更多要借鉴其它产品相关经验。需求开发可以采用结构化分析方法,也可以采用用例分析方法。架构设计也应该针对系统的功能性需求和非功能性需求分别进行设计)

3.体系结构 - 为您的应用程序选择合适的体系结构是关键。有好几次 IBM 被要求复查出问题的项目,结果发现开发小组没有应用知名的业界体系结构佳实践。与 IBM 联系是避免这类问题的好方法。我们的顾问可以与您的开发小组并肩工作以确保项目沿正确的轨道开始。经过实验证明可靠的实践称为模式,有经典的 Gang of Four [6] 模式、Java 模式 [7],也有 EJB 设计模式 [8]。Sun 公司与此相应的是核心 J2EE 模式(Core J2EE Pattern)目录 [9]。IBM 也发布过一些佳实践和参考应用程序体系结构 [10]。引言中说过许多项目都是失败的。通过对这些失败的项目的研究提出了反模式这个概念。这些反模式是很有价值的,因为它们针对哪里出了问题以及为什么会出问题提供了有用的信息。

4. 设计-即使有了好的体系结构,也可能设计不好。许多应用程序不是设计得过于复杂是设计得过于简单。这有两个基本原则 “尽量简单”和 信息隐藏。对于许多项目来说,使用 UML 进行面向对象的分析与设计(Object-Oriented Analysis and Design)很重要。有关 UML 的书有很多,但我们推荐 UML User Guide [11]和 Applying UML and Patterns [12]。重用是面向对象的很有前途的一个方面,重用经常会因为需要额外的工作来创建可重用资产而变得无法实现。代码重用是重用的一种形式,当然也有其他一些能够提高效率的重用种类。(Applying UML and Patterns 这本书结合了模式,RUP很多佳实践和例子在里面,确实值得推荐)

5. WebSphere 应用程序设计 - IBM 拥有关于 WebSphere 系列产品的佳实践和设计模式的广泛知识。每个项目都是不同的,我们的顾问有丰富的经验来帮助您。即使您只聘请我们的顾问很短一段时间,这种投资回报(ROI)也是很大的,因为您可以在以后的项目中节省开销。我们的专家也发表过大量有关这类知识的文章,包括高性能 Web 站点注意事项和自主计算指南。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd