软件开发生命周期流程模型的深度解析
1. 软件过程定义的必要性
信息和通信技术(ICT)已成为经济的首要驱动力,也是人类几乎所有活动的关键。计算机尺寸和成本的不断降低,以及速度和性能的提升,催生了对更复杂、更高质量软件的需求,同时还要求软件能更快速地推向市场,并能灵活适应用户需求。
自 1970 年左右起,人们认识到软件开发是一个多阶段的过程。为确保开发过程有序、系统,需要用所谓的过程模型来定义和描述这个逐步推进的过程。瓦茨·汉弗莱(Watts Humphrey)引入的能力成熟度模型(CMM),从统计上有力地支持了这一观点,即定义明确的过程模型及其恰当实施是提升开发能力的关键步骤。
起初,只有大公司生产“工业级”软件,引入软件开发过程相对自然。而计算机的发展为众多中小企业(SMEs)创造了商机,但这些企业的生产过程往往混乱,忽视质量和管理流程,难以保证可持续、可验证的质量和商业投资回报。
2. 软件质量与软件过程
质量是软件成功开发和可持续发展的关键。低质量会增加开发和维护成本,降低市场接受度,阻碍产品的后续发展。在工程领域,有多种保证、辅助或事后检查产品质量的方法,但在软件开发中,许多方法并不有效、高效或可行。
工业经验表明,遵循定义明确且经过验证的软件开发过程是开发成功软件产品的关键之一。尽管最佳过程也不能保证技术质量或可用性,但可以通过提高过程质量来提升产品质量。过程评估方法如 CMM、CMMI、BOOTSTRAP 和 ISO15504 等,都强调了建立良好定义过程的重要性。
软件过程的复杂性要求将人类参与者、利益相关者和相关工具正式集成到过程定义中,以实现完全形式化、可重复和可审计的过程。
超级会员免费看
订阅专栏 解锁全文
1134

被折叠的 条评论
为什么被折叠?



