【软件工程】第2章 软件过程 第3章 软件过程模型

【软件工程】第2章 软件过程 第3章 软件过程模型

思考题

  1. 简述软件过程、软件生存周期、软件过程模型(软件生存周期模型)三者之间的概念区别。
  2. 软件过程就是软件开发过程么?为什么?
  3. 请选择两个常见的软件过程模型,谈谈你对它们的理解?并对它们进行比较。
  4. 瀑布模型和其他常见模型有什么关联和区别?
  5. 根据你当前所在的团队项目,你更倾向于选择哪一种软件过程模型?为什么?

拙见

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

  • 软件过程
    • 软件生存周期中的一系列相关过程所涉及的活动。
    • 过程是活动的集合。
    • 活动是任务的集合。
    • 任务是将输入转换为输出的操作。
  • 软件生存周期:软件也有一个从生到死的过程,这个过程一般称之为软件的软件生存周期或生命周期
  • 软件过程模型(软件生存周期模型)
    • IEEE 12207.0-1996 定义
      • 一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从系统的需求定义到系统的使用终止。
    • 软件生存周期模型是一种软件过程的抽象表示,也称为软件开发模型。
    • 软件生存周模型一般使用直观的图形标识软件开发的过程,主要根据软件的类型、规模,特别是软件的开发方法、开发环境等多种因素确立过程模型。

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

  • 软件过程并不是软件开发过程
  • 因为软件过程是
    • 软件生存周期中的一系列相关过程所涉及的活动。
    • 过程是活动的集合。
    • 活动是任务的集合。
    • 任务是将输入转换为输出的操作。
  • 软件开发过程只是其中的一部分

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

  • 增量模型
    增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。
  • 螺旋模型
    螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
  • 比较
    • 增量模型中某些阶段按照瀑布模型的整体方式开发;某些阶段按照增量方式开发,即融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征
      • 优点:开发中用户可以及早看到部分软件功能,发现问题
    • 螺旋模型是结合了瀑布模型和快速原型模型的迭代开发模型,以进化的开发方式为中心,每个项目阶段使用瀑布模型法
    • 增量模型在活动级迭代,螺旋模型在过程级迭代
    • 增量通过避免使用未成熟技术和经常的客户反馈等方法减少风险,螺旋模型直接增加风险识别、风险分析、风险控制,计划性较强。

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

  • 关联区别
    • 原型模型利用原型法技术尽可能快地构造一个实际系统的简化模型。实现一个基本原型,让用户对原型进行评价,逐步调整,使其满足用户最终需求。
    • 增量模型中某些阶段按照瀑布模型的整体方式开发;某些阶段按照增量方式开发,即融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征
    • 螺旋模型(Spiral Model)由Barry Boehm提出,是结合了瀑布模型和快速原型模型的迭代开发模型

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

  • 倾向于瀑布模型
  • 因为产品较为小型、需求改变变动较小

慕课

软件生存周期过程的概念

  1. 单选(2分)获取正确软件的关键是()
    A.开发逻辑
    B.开发团队
    C.人员素质
    D.明确需求
  2. 判断(2分)软件生存周期的含义是表明软件的演化和发展具有周期性,每过一段时间就需要更新。
    A.√
    B.×
  3. 判断(2分)当软件的一个版本被淘汰时,则该软件的生存周期就结束了。
    A.√
    B.×
  4. 判断(2分)软件生存周期过程表示软件生存周期内的一个过程。
    A.√
    B.×
  5. 填空(2分)为了表述软件开发需要做什么映射,引入了三个概念:(请按概念的范围由大到小填写,用空格分隔)
参考答案
  1. A
  2. B
  3. B
  4. B
  5. 过程 活动 任务

软件生存周期过程的分类

  1. 单选(2分)按照(),可以将软件生存周期过程分为基本过程、支持过程和组织过程。
    A.软件开发活动的层次关系
    B.软件开发工作的主体
    C.软件开发项目的结构
    D.软件开发任务的重要程度
  2. 多选(2分)下述过程属于基本过程的是()
    A.获取过程
    B.开发过程
    C.运行过程
    D.供应过程
  3. 判断(2分)支持过程是指那些与软件生产组织有关的活动集。
    A.√
    B.×
  4. 多选(2分)下列关于软件开发过程说法正确的是()
    A.软件生存周期过程就是软件开发过程
    B.软件开发过程是软件开发者所从事的一系列活动
    C.软件开发过程中还包括了系统需求分析、系统结构设计等系统层面的活动
    D.软件开发过程包含了软件升级和演化等活动
参考答案
  1. B
  2. ABCD
  3. B
  4. BC

软件生存周期模型的概念

  1. 判断(2分)软件生存周期模型是对软件生存周期中过程、活动和任务的组织。
    A.√
    B.×
  2. 判断(2分)软件生存周期模型必须要将所有类型的过程、活动和任务考虑在内,形成满足每个软件项目需要的模型。
    A.√
    B.×
  3. 判断(2分)软件开发模型是软件开发过程的活动和任务的结构框架。
    A.√
    B.×
参考答案
  1. A
  2. B
  3. B

常见的软件生存周期模型

  1. 多选(2分)下列关于瀑布模型的说法正确的是()
    A.瀑布模型仅能依次经过需求、设计、编码、测试、集成和维护这一路径进行项目开发,不能从后一阶段返回到前面的阶段。
    B.瀑布模型在每一阶段都会生成相应的文档。
    C.瀑布模型只有在需求阶段和运行阶段才能有获取方和用户参与,其余阶段只能开发团队参加。
    D.瀑布模型要求需求在最初阶段就要完整和明确。
  2. 多选(2分)多选题:下列关于增量模型的说法正确的是()
    A.增量模型要求需求在最初阶段就要完整和明确。
    B.相比于瀑布模型,采用增量模型开发的项目所需的成本和时间要少。
    C.采用增量模型时,每一增量必须按照既定顺序依次开发,不能更改。
    D.增量模型能够更早的向用户交付第一个版本的系统。
  3. 多选(2分)多选题:下列关于演化模型的说法正确的是()
    A.演化模型要求需求在最初阶段就要完整和明确。
    B.演化模型可以弱化需求和设计文档的编写,以提高开发效率。
    C.演化模型在每一次迭代过程中可以采用瀑布模型。
    D.相比瀑布模型,演化模型需要获取方和用户更多的参与。
  4. 单选(2分)单选题:下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是()。
    A.演化模型
    B.瀑布模型
    C.喷泉模型
    D.增量模型
参考答案
  1. BD
  2. AD
  3. CD
  4. C
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值