需求工程概述
需求获取
需求分析协商与建模
需求规约与验证
需求管理
1 需求工程可细分为:需求获取 需求分析、协商与建模 需求规约与验证 需求管理
1.1 需求获取:系统分析人员通过与用户交流,得到一组描述不同运行环境下 系统或产品 使用状况的应用场景及为更好的定义需求而开发的任意原型。需求获取为需求 分析提供了基础。
需求获取阶段经常出现以下问题:(1)用户的要求超出软件系统可以实现的范围或实现能力。(2) 不同的用户提出了相互冲突的要求
需求获取方法与策略
- 建立流程的通信途径
- 访谈与调查
- 观察用户操作流程
- 组成联合小组
- 用例(Use Case)
1.2 需求分析:需求获取结束后,分析工作就是对需求进行分类组织,分析出每个需求与其它需求的关系来,检查需求一致性,重叠和遗漏等情况并根据用户的需要对需求进行排序。
需求分析的原则:
- 必须能够表示和理解问题的信息域
- 必须能够定义软件将完成的功能
- 必须能够表示软件的形为
- 必须划分描述数据、功能和形为的模型,从而可分层次的揭示细节
- 分析过程应该从
1.3 系统建模:用户和系统分析员建立统一的语言和理解方法确保需要文档正确反映用户的真实意图。常用的分析和建模方法有:面向数据流方法、面向数据结构方法和面向对象方法。
1.4 需求规约:软件需求规约是需求分析的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计的约束说明、合适的验收标准、给出对目标软件的各种需求。
1.5 需求验证:作为需要开发阶段的复查手段,需求验证对功能的正确性,完整性和清晰性以及其它需求给予评价。
1.6 需求管理:需求工程包括获取,分析,规定、验证和管理软件需求,而软件需求管理则是对所有相关活动的规划和控制。
2 软件需求
软件需求包括:
- 功能需求
- 性能需求
- 用户或人的因素
- 环境需求
- 界面需求
- 文档需求
- 数据需求
- 资源使用需求
- 安全保密需求
- 可靠性需求
- 软件开发成本与开发进度需求
- 其它非功能性需求