软件工程 |需求工程过程
需求工程是定义、记录和维护需求的过程。它是收集和定义系统提供的服务的过程。需求工程过程包括以下主要活动:
- 需求引出
- 要求规范
- 需求验证和确认
- 需求管理
需求获取:
它与用于获取有关项目领域和需求的知识的各种方法有关。领域知识的各种来源包括客户、业务手册、现有的同类型软件、标准和项目的其他利益相关者。
用于需求获取的技术包括访谈、头脑风暴、任务分析、Delphi 技术、原型设计等。这里讨论了其中的一些。启发不会产生所理解的需求的正式模型。相反,它拓宽了分析师的领域知识,从而有助于为下一阶段提供输入。
要求规范:
此活动用于生成正式的软件需求模型。包括功能性和非功能性需求以及约束在内的所有需求都由这些模型整体指定。在规范期间,可能需要更多关于问题的知识,这可以再次触发启发过程。
该阶段使用的模型包括ER图、数据流图(DFDs)、函数分解图(FDDs)、数据字典等。
需求验证和确认:
验证:是指确保软件正确实现特定函数的一组任务。
验证:它指的是一组不同的任务,以确保已构建的软件可追溯至客户要求。
如果未验证需求,需求定义中的错误将传播到后续阶段,导致大量修改和返工。
此过程的主要步骤包括:
- 这些要求应该与所有其他要求一致,即没有两个要求相互冲突。
- 要求在各个方面都应该是完整的。
- 这些要求应该是可以实际实现的。
审查、伙伴检查、制作测试用例等是用于此的一些方法。
需求管理:
需求管理是对需求进行分析、记录、跟踪、确定优先级并达成一致,并控制与相关干系人的沟通的过程。这个阶段关注需求变化的性质。应确保 SRS 尽可能可修改,以便在后期阶段也纳入最终用户指定的需求变化。能够以系统和受控的方式根据需求修改软件是需求工程过程中极其重要的部分。