软件工程-第二章 思考题
一、简述软件过程、软件生存周期、软件过程模型( 软件生存
周期模型)三者之间的概念区别。
-
软件过程:
- 软件生存周期中的一系列相关过程所涉及的活动。
- 过程是活动的集合。活动是任务的集合。
- 任务是将输入转换为输出的操作。
-
软件生存周期:
- 软件也有一个从生到死的过程,这个过程一般称之为软件的软件生存周期或生命周期(SoftwareDevelopment Life Cycle)
- 软件生存周期可划分为定义、开发和运行三个时期,每个时期又细分为若干个阶段。把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。
-
软件过程模型:
- IEEE 12207.0-1996 定义一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从系统的需求定义到系统的使用终止。
- 软件生存周期模型是一种软件过程的抽象表示,也称为软件开发模型。
- 软件生存周模型一般使用直观的图形标识软件开发的过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种因素确立过程模型。
二、软件过程就是软件开发过程么什么/p>
- 不是
- 软件过程包含软件开发过程,软件过程是软件生存周期的一些相关过程涉及的活动。
三、请选择两个常见的软件过程模型,谈谈你对它们的理解br> 并对它们进行比较。
-
瀑布模型与增量模型的区别
-
瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
-
瀑布模型的缺点:
-(1)开发过程一般不能逆转,否则代价太大;
-(2)实际的项目开发很难严格按该模型进行;
-(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
-(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。 -
瀑布模型的使用范围:
-(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;
-(2)开发人员对软件的应用领域很熟悉;
-(3)用户的使用环境非常稳定;
-(4)开发工作对用户参与的要求很低。 -
增量模型的优点:
-(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;
-(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;
-(3)可先发布部分功能给客户,对客户起到镇静剂的作用。 -
增量模型的缺点:
-(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;
-(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。 -
增量模型的使用范围:
-(1)进行已有产品升级或新版本开发,增量模型是非常适合的;
-(2)对完成期限严格要求的产品,可以使用增量模型;
-(3)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。 -
我的理解: 瀑布模型更要求用户有明确的的项目需求,并且变化较少的项目。而增量模型则可以更灵活的针对项目的方向,可以对项目进行新的功能的开发。
四、瀑布模型和其他常见模型有什么关联和区别/p>
- 瀑布模型: 瀑布模型(WaterfallModel)将软件生命周期划分为软件计划、需求分析和定义、设计、实现、测试、运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。
- 原型模型: 原型模型( Prototyping Model )利用原型法技术尽可能快地构造-一个实际系统的简化模型。
- 增量模型: 增量模型(Incremental Model)也称为渐增模型,1980年由Mills等人提出,是在项目的开发过程中以一系列的增量方式开发系统。
- 螺旋模型: 螺旋模型(Spiral Model)由Barry Boehm提出,是结.合了瀑布模型和快速原型模型的迭代开发模型。
五、根据你当前所在的团队项目,你更倾向于选择哪一种软件
过程模型什么/p>
- 瀑布模型
- 团队成员更熟悉技术
- 可以按阶段划分检查点
- 无大的需求变更
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!