第二次思考题
1、软件过程、软件生存周期、软件过程模型三者之间的概念区别
(1)软件过程:
软件生存周期中的一系列相关过程所涉及的活动。
过程是活动的集合,活动是任务的集合,任务是将输入转换为输出的操作
(2)软件生存周期:软件也有一个从生到死的过程,这个过程一般称之为软件的软件生存周期或生命周期
(3)软件过程模型(软件生存周期模型):
一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从系统的需求定义到系统的使用终止。
软件生存周期模型是一种软件过程的抽象表示,也称为软件开发模型。
软件生存周模型一般使用直观的图形标识软件开发的过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种因素确立过程模型。
2、软件过程并不是软件开发过程,因为软件过程是软件生存周期中的一系列相关过程所涉及的活动。过程是活动的集合,活动是任务的集合,任务是将输入转换为输出的操作,而软件开发过程只是其中的一部分
3、增量模型与螺旋模型
(1)增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。
螺旋模型
(2)螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
(3)比较
增量模型中某些阶段按照瀑布模型的整体方式开发;某些阶段按照增量方式开发,即融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征
优点:开发中用户可以及早看到部分软件功能,发现问题
螺旋模型是结合了瀑布模型和快速原型模型的迭代开发模型,以进化的开发方式为中心,每个项目阶段使用瀑布模型法
增量模型在活动级迭代,螺旋模型在过程级迭代
增量通过避免使用未成熟技术和经常的客户反馈等方法减少风险,螺旋模型直接增加风险识别、风险分析、风险控制,计划性较强。
4、原型模型利用原型法技术尽可能快地构造一个实际系统的简化模型。实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求。
增量模型中某些阶段按照瀑布模型的整体方式开发;某些阶段按照增量方式开发,即融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征
螺旋模型(Spiral Model)由Barry Boehm提出,是结合了瀑布模型和快速原型模型的迭代开发模型
5、更倾向于瀑布模型,因为产品较为小型、需求改变变动较小
浙公网安备 33010602011771号