软件过程

软件过程实务

  业内人士在谈及软件工程时都与软件过程存在或多或少的联系,比如软件开发规范、开发流程等等,在此不想深究软件过程的准确定义,而是给出一些具有较强实用价值的资料供参考,也许软件过程实务的用词不一定恰当,只希望能有所帮助。

软件过程及其裁剪

  不存在适应所有情况的通用软件过程,软件开发过程的实用性受到许多因素的影响,如企业文化、项目特点、人员特点等等。不过,一些机构在长期实践工作总结出一些开发过程模型,虽不能照搬套用,但作为参考依据还是很有价值的,尤其对于初学者。

1. NASA推荐的软件开发过程是传统瀑布模型的经典代表;

2. Rational公司提出的RUP(Rational Unified Process)是基于UML的开发流程,随着UML的发展会受到越来越多的关注和应用;

3. SPC(Software Productivity Consortium)推荐的集成的系统及软件工程(ISSEP)

对于软硬件集成的系统开发商而言很有价值;

4. NASA推荐的基于程序包的系统开发过程,那些需要大量使用商业软件包(COTS)的系统开发商值得一看。

软件开发过程必须经过适当调整和裁剪才能够适用于特定项目开发,在这方面国内不少软件企业似乎认识不足,在此给出由STSC(Software Technology

Support Center)提供的软件过程评估报告和裁剪建议,对于实践人士和学者均有参考价值。

  另外,目前国内CMM研究和应用很热,但不少企业在具体应用CMM时似乎仅注重于CMM标准本身,在此从CMM的裁剪角度提供一些参考资料,这或许是CMM实施的关键所在:

1. 用于对CMM标准根据实际情况进行量身定制的软件过程框架(Software

Process Framework)及其使用指南;

2. 与CMM的相关的软件过程裁剪指南

◇ 软件过程不断改进

  软件过程改进是CMM和ISO9000:2000的核心,在此提供一些来自不同组织的SPI指南和经验之谈,也许能使国内的软件企业在开展SPI工作中少走弯路:

1. NASA的SPI指南

2. SPC的SPI指南

3. SPI具体实施的经验总结,以及一些SPI相关数据分析

◇ 快速应用开发(RAD)

  目前的IT开发人员正处于市场驱动下的两难境地:一方面,根据以往的痛苦开发经历,他们知道如果采用杂凑的作坊模式来开发复杂的、高质量的信息系统具有太大的风险;另一方面,他们也同样知道,形式化的、戒律森严的软件工程方法(典型情况下是与ISO9000和SEI-CMM相关的)又常常是官僚主义和耗费时间的,不可能满足目前高度竞争的”Internet时代”环境下对于进度方面不断增长的挑战性要求。显然,如何使得企业在保证软件质量的前提下,同时又能够适应快速变化的市场需求,无疑是业内人士关注的焦点。在此,给出一篇对于国际上有关"轻"方法和满意质量的思潮总结,同时汇总有关快速应用开发(RAD)的相关过程和技术,对于那些面临强大市场压力的软件企业而言,可能会受到新的启发。

参见:

Windows Workflow Foundation又一个轮回开始了

MSF 过程指南自定义指南_中文译

http://blog.sciei.com/user1/414/archives/2006/2006641387.html 软件过程实务(转)

Integrated Systems and Software Engineering Process.zip 449k

Light-Method&Good-Enough-Quality.zip 28k

Process Tailoring and CMM.zip 123k

Rapid Application Development(RAD).zip 343k

Rational Unified Proccess.zip 224k

Recommended Approach to Software Development.zip 1712k

STSC-Proc_Tailor.zip 318k

Software Process Framework.zip 2669k

软件过程实务.txt 3k