思考题

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

答:1.软件过程:(1)软件生存周期中的一系列相关过程所涉及的活动。(2)过程是活动的集合。(3)活动是任务的集合。(4)任务是将输入转换为输出的操作。

2.软件生存周期:软件也有一个从生到死的过程,这个过程一般称之为软件的软件生存周期或生命周期(Software Development Life Cycle)。软件生存周期可划分为定义、开发和运行三个时期,每个时期又细分为若干个阶段。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。软件生存周期包括可行性分析、项目计划、需求分析、软件设计、编码与测试、运行与维护等阶段,每个阶段又包含一系列的活动。

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

 

二、软件过程就是软件开发过程么?为什么?

答:不是。软件过程涉及软件生存周期中的一系列相关过程所涉及的活动,而软件生存周期可划分为定义、开发和运行三个时期,故软件开发只属于软件过程中的一个小时期,二者不是对等关系。

 

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

答:1.瀑布模型:它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的。每个阶段都会产生循环反馈。各个阶段产生的文档是维护软件产品时必不可少的,没有文档的软件几乎是不可能维护的。瀑布模型是一种文档驱动的过程模型。它具有顺序性和依赖性、推迟实现、质量保证的观点、是一种线性模型、强调文档的作用的特点。但也有一定的局限性,例如软件生存周期的末期才能看到开发成果,风险大,错误代价大

不能很好的适应需求变化。

2.原型模型:原型模型( Prototyping Model )利用原型法技术尽可能快地构造一个实际系统的简化模型。原型模型具有能够快速实现系统初步模型、便于开发人员和用户交流,明确需求、通过逐步求精使原型逐步完善

符合人类认知过程和思维活动、适用于不能预先确切定义需求的软件项目的特点。

 

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

答:关联与区别:

1.原型模型利用原型法技术尽可能快地构造一个实际系统的简化模型。实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求。

2.增量模型中某些阶段按照瀑布模型的整体方式开发;某些阶段按照增量方式开发,即融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征。

3.螺旋模型(Spiral Model)由Barry Boehm提出,是结合了瀑布模型和快速原型模型的迭代开发模型。

 

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

答:我倾向于瀑布模型,因为我们所开发的软件产品较为小型、需求改变变动也较小,所以选择瀑布模型可能是比较好的选择。

posted @ 2021-03-15 20:15  Pinkylw  阅读(358)  评论(0)    收藏  举报