第2章 软件工程与需求工程

第2章 软件工程与需求工程

标签: 软件需求工程

《软件需求工程》 毋国庆 第二版 个人笔记


  • 第2章 软件工程与需求工程
      • 软件工程
      • 软件开发过程模型
      • 需求工程在软件开发中的地位
      • 软件需求的开发和管理过程

1. 软件工程

  • 软件工程:是指用工程方法开发和维护软件的过程和有关技术。
  • 适用对象:大型软件
  • 基本内容:
    1. 软件开发过程
    2. 软件开发和维护的方法与技术
    3. 软件开发和维护工具系统
    4. 质量评价和质量保证
    5. 软件管理软件开发环境

2. 软件开发过程模型

  • 软件生命期:
    1. 分析和定义
    2. 设计
    3. 编码
    4. 测试
    5. 运行
    6. 维护直到废止

  • 瀑布模型

快速原型模型首先是快速建立一个能反映用户主要需求的原型系统,然后提供给用户在计算机上使用。用户在试用原型后会提出许多修改意见,开发人员根据用户提出的意见快速修改原型系统,然后再交给用户试用。重复上述过程,直到用户认为这个系统能够达到他们的要求为止。开发人员便根据原型系统编写需求规格说明书,因此,根据这份需求规格说明开发出的软件应能满足用户的真正需求。

  • 重要的是,必须快速构建原型,然后根据用户意见迅速地修改原型
  • 不足:
    1. 用户容易视原型为正式产品
    2. 快速原型系统对于软件系统的开发环境要求较多,这也在一定程度上影响了其使用的范围和实用价值。

    • 渐增式模型(增量模型)

    • 基本思想:从核心功能开始,通过不断地改进和扩充,使得软件系统能适应用户需求的变动和扩充,从而获得柔性较高的软件系统。

    • 渐增式模型从功能明确、设计技术上不确定因素很少的核心功能优先开发,并且分批地逐步向用户提交产品。
    • 特点:能在短时间内向用户提交可完成部分功能的产品

    • 螺旋式模型
    • 基本思想:将瀑布模型与快速原型模型结合到一起,加上风险分析。(每个阶段之前都加上风险分析)

    • 特点:

      1. 适用于软件开发机构内部开发大规模软件项目
      2. 对于可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标
      3. 减少过多测试和测试不足所带来的风险
    • 缺点:

      1. 要求软件开发人员具有丰富的风险评估经验和专门知识

    • 面向对象开发模型
    • 面向对象:应用对象、类、继承、封装、消息、对象或类之间的关系等面向对象的概念,对问题进行分析和求解的软件开发技术,或者说,是以对象(类)为数据中心、对象之间的动态行为模式作为运行机制的一种问题求解方法

    各阶段任务:
    + 面向对象分析:构造可理解的现实世界的问题分析模型,如对象模型、动态模型和功能模型
    + 面向对象设计:确定对象的内部细节,包括定义对象的界面、数据结构,算法和操作等
    + 面向对象实现和测试:用面向对象的程序设计语言和工具实现类和对象,以及它们之间静态和动态关系,其中包括面向对象程序设计和组装测试等。


    3. 需求工程在软件开发中的地位

    • 需求工程对软件开发的影响
      1. 需求是制定项目计划的基础
      2. 需求工程所产生的最终产物(需求规格说明书)是软件和软件实现的基础
      3. 需求规格说明是测试工作和用户验收软件系统的依据
      4. 需求规格说明是软件维护工作的依据

    • 需求工程面临的困难
      1. 需求获取与需求分析的困难
      2. 需求描述语言和规范化的困难
      3. 需求验证的困难
      4. 需求管理的困难

    4. 软件需求的开发和管理过程

    此处输入图片的描述

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2017年3月20日
    下一篇 2017年3月21日

    相关推荐