需求工程是一个包括创建和维护系统需求文档所必需的一切活动的过程,通常包括以下环节:
需求获取:
通过与用户的交流、对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求。
需求分析与协商:
分析每个需求与其他需求的关系以检查需求的一致性、重叠和遗漏的情况,并根据用户的需求对需求进行排序。
系统建模:
通过合适的工具和符号系统地描述需求。
需求规约:
给出对目标软件的各种需求,生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约。
需求验证:
以需求规格说明为输入,通过符号执行、模拟或快速原型等途径,分析需求规格的正确性和可行性,包含有效性检查、一致性检查、可行性检查和确认可验证性。
需求管理:
支持系统的需求演进,如需求变化和可跟踪性问题,包括需求确认、需求跟踪与需求变更控制。
需求变更管理:
在需求工程过程中,需求变更是不可避免的,因此需要制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
这些环节共同构成了需求工程的完整流程,确保从需求收集到需求管理的各个阶段都能得到妥善处理,从而为软件项目的成功打下良好的基础。