1:概念
1-a:定义:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
解释:软件过程描述为了开发出客户需要的软件,什么人(who),在什么时间(when),做什么事(what)以及怎样做(how)做这些事是为了实现某一个特定的目标
1-b:构成:科学,有效的软件过程应该定义一组适合于所承担项目特点的任务集合。一个任务集合包括一组软件工程任务,阶段信息和交付的产品
1-c:表示:使用生命周期模型简介地描述软件过程。生命周期模型(过程模型)规定了把生命周期划分成那些阶段及各阶段地执行顺序
2:典型软件过程模型
2-a:瀑布模型:传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述
2-a-1:传统的瀑布模型的定义:传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述,如图所示
2-a-1-1:特点(传统瀑布模型)
第一:阶段间具有顺序性和依赖性(以往文章以阐述,不过多阐述)
第二:推迟实现的观点
解释:尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想
第三:质量保障的观点
解释:每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误
2-b:实际的瀑布模型
2-b-1:定义:在设计阶段可能发现规格说明文档中的错误,而设计上的缺陷或错误可能在实现过程中显示出来,在综合阶段将发现需求分析,设计阶段的许多错误,即实际的瀑布模型是(负)反馈模型
2-b-2:优点
2-b-2-1:可强迫开发人员采用规范的方法
2-b-2-2:严格地规定了每个阶段必须提供文档
2-b-2-3:要求每个阶段交出地所有产品都必须经过质量保证小组地仔细验证
2-b-2-4:对文档地约束,使软件维护变得容易一些,且能降低软件地预算
2-b-3:缺点
2-b-3-1:“瀑布模型是文档驱动的”是它的一个主要缺点
3-a:快速原型模型
3-a-1:定义:快速原型是快速建立起来的可以在计算机上运行的程序,它所完成的功能往往是最终产品能完成功能的一个子集
3-a-2:原理:快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户通过实践来了解目标的大概
3-a-3;优点
3-a-3-1:不带负反馈,即软件产品的开发基本上是线性顺序进行的
4-a:增量模型(渐增模型)
4-a-1:原理:把软件产品作为一系列的增量构建来设计,编码,集成和测试
4-a-2:优点
4-a-2-1:能在较短时间内向用户提交可完成部分工作的产品
4-a-2-2:逐渐增加产品功能,使用户能逐渐适应
4-a-3:缺点
4-a-3-1:集成时,必须保证不破坏原来的产品
4-a-3-2:增量模型本身自相矛盾(整体与局部的矛盾)