地信1902李孟雪 第二三章思考题

1.简述软件过程、软件生存周期、软件过程模型(软件生存周期模型)三者之间的概念区别。

答:

软件过程:软件的诞生及其生命周期是一个过程,我们总体上称这个过程为软件过程。软件生存周期中的一系列相关过程所涉及的活动。过程是活动的集合,活动是任务的集合,任务是将输入转换为输出的操作。

软件生存周期:软件也有一个从生到死的过程,这个过程一般称之为软件的软件生存周期或生命周期。软件生存周期包括可行性分析、项目计划、需求分析、软件设计、编码与测试、运行与维护等阶段,每个阶段又包含一系列的活动。

软件过程模型:一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从系统的需求定义到系统的使用终止。 软件生存周期模型是一种软件过程的抽象表示,也称为软件开发模型。软件生存周期模型一般使用直观的图形标识软件开发的过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种因素确立过程模型。

2.软件过程就是软件开发过程么?为什么?

答:不是。

原因:软件过程并不只包括软件开发过程。软件过程是一个为了构造高质量软件所需完成的一系列活动的过程框架,即形成软件产品的一系列步骤,包括中间产品、资源、角色及过程中采取的方法、工具等范畴。软件过程是指软件整个生存周期,从需求获取、需求分析、设计、实现、测试到发布和维护的一个过程模型。

3.请选择两个常见的软件过程模型,谈谈你对它们的理解?并对它们进行比较。

答:

①瀑布模型

瀑布模型将软件生命周期划分为软件计划、需求分析和定义、设计、实现、测试、运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。 从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈。

特点:顺序性和依赖性;推迟实现;质量保证的观点;是一种线性模型;强调文档的作用

局限性:软件生存周期的末期才能看到开发成果,风险大,错误代价大;不能很好的适应需求变化

适用范围:如果产品的定义非常稳定,且产品的正确性非常重要,需要每一步的验证;产品模块之间的接口,输入和输出能很好的用形式化方法定义和验证;使用的技术非常成熟,团队成员都很熟悉这些技术;负责各个步骤的子团队分属不同的机构,或在不同的地理位置,不可能做到频繁的交流

②增量模型

增量模型也称为渐增模型,1980年由Mills等人提出,是在项目的开发过程中以一系列的增量方式开发系统。

软件被作为一系列的增量构件来设计、实现、集成和测试 构件——由多个相互作用的模块组成、能够完成特定功能且可以独立配置的单元。每一个构件的内容不断递增,实现功能逐渐扩充,其过程是迭代式的。

增量模型包括增量构造模型、演化提交模型。

一、增量构造模型:

某些阶段按照瀑布模型的整体方式开发;某些阶段按照增量方式开发

优点:开发中用户可以及早看到部分软件功能,发现问题

二、演化提交模型:

在瀑布模型的基础上,所有阶段都进行增量开发。先对某部分功能进行需求分析,然后按顺序进行设计、编码和测试,把该功能进行开发,提交用户直至所有功能全部增量开发完毕为止。

瀑布模型与增量模型的比较:

①瀑布模型将整个过程分为几个阶段,上一个阶段完成后才能开启下一个阶段;而增量模型是分为多个子开发阶段的开发模型。

②增量模型在瀑布模型的基础上,对一些阶段进行整体开发,如分析和设计阶段,对另一些阶段进行增量开发,如编码和测试阶段。前面的分析和设计阶段按瀑布模型进行整体开发,后面的编码与测试阶段按增量方式开发。

③瀑布模型是一种相对线性的顺序设计方法,本质上是连续的;增量模型是以顺序方式进行的,本质是顺序的。

4.瀑布模型和其他常见模型有什么关联和区别?

答:

关联:

①原型模型:原型模型可以利用原型法技术构造一个实际系统的简化模型。

②增量模型:增量模型在瀑布模型的基础上,对一些阶段进行整体开发,如分析和设计阶段,对另一些阶段进行增量开发,如编码和测试阶段。前面的分析和设计阶段按瀑布模型进行整体开发,后面的编码与测试阶段按增量方式开发。

③螺旋模型:螺旋模型将瀑布模型与原型模型结合起来,体现了其优点。

 区别:

①原型模型:原型模型可以大大避免瀑布模型在软件开发过程中由于冗长的开发过程中看不见产品雏形而导致软件需求变化时无法及时改正的缺点。

②增量模型:瀑布模型将整个过程分为几个阶段,上一个阶段完成后才能开启下一个阶段;而增量模型是分为多个子开发阶段的开发模型。                                瀑布模型是一种相对线性的顺序设计方法,本质上是连续的;增量模型是以顺序方式进行的,本质是顺序的。

③螺旋模型:螺旋模型灵活性较好,引入了其他模型不具备的风险分析,使软件在无法排除重大风险时停止以减少损失。

5.根据你当前所在的团队项目,你更倾向于选择哪一种软件过程模型?为什么?

答:我更倾向于增量模型。

增量模型融合了瀑布模型的基本成分和原型模型的迭代特征,采用随时间的进展而交错的线性序列。采用分而治之的方法,将整个工程分解为每个增量,使每个人都有参与感;可以根据用户的需求变化进行及时调整;风险分布到几个小增量中,而不是集中在整个大型项目中。

 

 

posted @ 2021-03-12 13:00  lmxshelly  阅读(47)  评论(0)    收藏  举报