第2章 软件工程与需求工程
标签: 软件需求工程
《软件需求工程》 毋国庆 第二版 个人笔记
- 第2章 软件工程与需求工程
-
- 软件工程
- 软件开发过程模型
- 需求工程在软件开发中的地位
- 软件需求的开发和管理过程
-
1. 软件工程
- 软件工程:是指用工程方法开发和维护软件的过程和有关技术。
- 适用对象:大型软件
- 基本内容:
- 软件开发过程
- 软件开发和维护的方法与技术
- 软件开发和维护工具系统
- 质量评价和质量保证
- 软件管理软件开发环境
2. 软件开发过程模型
- 软件生命期:
- 分析和定义
- 设计
- 编码
- 测试
- 运行
- 维护直到废止
- 瀑布模型
快速原型模型首先是快速建立一个能反映用户主要需求的原型系统,然后提供给用户在计算机上使用。用户在试用原型后会提出许多修改意见,开发人员根据用户提出的意见快速修改原型系统,然后再交给用户试用。重复上述过程,直到用户认为这个系统能够达到他们的要求为止。开发人员便根据原型系统编写需求规格说明书,因此,根据这份需求规格说明开发出的软件应能满足用户的真正需求。
- 用户容易视原型为正式产品
- 快速原型系统对于软件系统的开发环境要求较多,这也在一定程度上影响了其使用的范围和实用价值。
-
渐增式模型(增量模型)
-
基本思想:从核心功能开始,通过不断地改进和扩充,使得软件系统能适应用户需求的变动和扩充,从而获得柔性较高的软件系统。
- 渐增式模型从功能明确、设计技术上不确定因素很少的核心功能优先开发,并且分批地逐步向用户提交产品。
- 特点:能在短时间内向用户提交可完成部分功能的产品
- 螺旋式模型
-
基本思想:将瀑布模型与快速原型模型结合到一起,加上风险分析。(每个阶段之前都加上风险分析)
-
特点:
- 适用于软件开发机构内部开发大规模软件项目
- 对于可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标
- 减少过多测试和测试不足所带来的风险
-
缺点:
- 要求软件开发人员具有丰富的风险评估经验和专门知识
- 面向对象开发模型
- 面向对象:应用对象、类、继承、封装、消息、对象或类之间的关系等面向对象的概念,对问题进行分析和求解的软件开发技术,或者说,是以对象(类)为数据中心、对象之间的动态行为模式作为运行机制的一种问题求解方法
各阶段任务:
+ 面向对象分析:构造可理解的现实世界的问题分析模型,如对象模型、动态模型和功能模型
+ 面向对象设计:确定对象的内部细节,包括定义对象的界面、数据结构,算法和操作等
+ 面向对象实现和测试:用面向对象的程序设计语言和工具实现类和对象,以及它们之间静态和动态关系,其中包括面向对象程序设计和组装测试等。
3. 需求工程在软件开发中的地位
- 需求工程对软件开发的影响
- 需求是制定项目计划的基础
- 需求工程所产生的最终产物(需求规格说明书)是软件和软件实现的基础
- 需求规格说明是测试工作和用户验收软件系统的依据
- 需求规格说明是软件维护工作的依据
- 需求工程面临的困难
- 需求获取与需求分析的困难
- 需求描述语言和规范化的困难
- 需求验证的困难
- 需求管理的困难
4. 软件需求的开发和管理过程

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