文档介绍:软件工程
第3章需求工程
1
复旦大学计算机科学与工程系软件工程课程
内容摘要
需求工程概述
需求获取
需求分析、协商与建模
需求规约与验证
需求管理
2
复旦大学计算机科学与工程系软件工程课程
内容摘要
需求工程概述
需求获取
需求分析、协商与建模
需求规约与验证
需求管理
3
复旦大学计算机科学与工程系软件工程课程
Alan Davis 把需求工程定义为“直到(但不包括)把软件分解为实际架构构件之前的所有活动”
Herb Krasner定义了需求工程的五阶段生命周期:需求定义和分析、需求决策、形成需求规格、需求实现与验证、需求演进管理
Matthias Jarke和Klaus Pohl提出了三阶段周期的说法:获取、表示和验证
……
4
复旦大学计算机科学与工程系软件工程课程
本书将软件需求工程细分为:需求获取、需求分析与协商、系统建模、需求规约、需求验证和需求管理六个阶段。
5
复旦大学计算机科学与工程系软件工程课程
需求获取
系统分析人员通过与用户的交流、对现有系统的观察及对任务进行分析,确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表及应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的任意原型。
需求获取的工作产品为进行需求分析提供了基础
6
复旦大学计算机科学与工程系软件工程课程
需求分析与协商
需求获取结束后,分析活动对需求进行分类组织,分析每个需求其它需求的关系来,检查需求的一致性、重叠和遗漏的情况,并根据用户的需要对需求进行排序。
在需求获取阶段,经常出现以下问题:
用户提出的要求超出软件系统可以实现的范围或实现能力;
不同的用户提出了相互冲突的需求
7
复旦大学计算机科学与工程系软件工程课程
系统建模
建模工具的使用在用户和系统分析人员之间建立了统一的语言和理解的桥梁,同时系统分析人员借助建模技术对获取的需求信息进行分析,排除错误和弥补不足,确保需求文档正确反映用户的真实意图。
常用的分析和建模方法有面向数据流方法、面向数据结构方法和面向对象的方法。
8
复旦大学计算机科学与工程系软件工程课程
需求规约
软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
需求规约作为用户和开发者之间的一个协议,在之后的软件工程各个阶段发挥重要作用。
9
复旦大学计算机科学与工程系软件工程课程
需求验证
作为需求开发阶段工作的复查手段,需求验证对功能的正确性、完整性和清晰性,以及其它需求给予评价。为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格进行。
10
复旦大学计算机科学与工程系软件工程课程