首页 > 代码库 > 软件工程概论2-软件过程
软件工程概论2-软件过程
由于软件工程的目标是在规定的时间和预算内开发出高质量的软件,而且软件项目失败的主要原因是缺少过程规范,那么软件过程就显得尤为重要。第二章着重讲解了如何建立和改进规范的软件开发过程,这种软件工程运动极大地推动了软件的工业化过程。
软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动。一般的软件过程都包括问题提出,软件需求规格说明,软件设计,软件实现,软件确认和软件演化等基本活动。在软件过程的不同阶段,有可能产生各种不同的软件制品。软件过程制品涉及软件需求,软件设计,软件实现,软件测试和软件实施等活动产生的结果,这些制品通常是在不同的开发活动之间进行转移和演进,主要内容包括软件需求制品,软件设计制品,软件实现制品,软件测试制品和软件实施制品,还有相应的开发管理制品。
软件工程模型描述软件过程的整体框架,它是软件过程的一种抽象表示。常见的软件过程模型如下:
(1)瀑布模型:一种线性过程,适用在开发的早期阶段软件需求被完整确定的情况,这种要求过于理想化,难以适应现代软件的开发要求。
(2)快速原型模型:快速构建原型,一旦确定客户需求,构建原型将被抛弃。这种方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的的开发风险,但是快速建立的系统结构加上连续的修改可能会导致产品质量低下。
(3)增量模型:将整个产品分解成若干个构件进行逐步交付,可以适应需求变化,降低了开发风险。但是很容易退化成边做边改的方式,使软件过程的控制失去整体性。
(4)螺旋模型:将软件过程划分为若干个开发回线。它强调风险分析,故适应于内部的大规模软件开发,且适应于大规模软件项目。
(5)形式化模型:采用形式化的数学方法将系统描述转换成可执行的程序。适合于对安全性,可靠性和保密性要求极高的软件系统开发。
(6)基于组件的开发模型:体现了软件复用的思想,但由于有些商业组件不可修改,受到一定的限制。
软件工程概论2-软件过程