此篇整理了需求工程的相关知识点,从需求开发、需求管理、需求分类、需求分析、需求验证、需求跟踪几个方面进行整理。(截图来自)
需求是用户所需要的并能触发一个程序或系统开发工作的说明;需求是从系统外部能发现系统所具有的满足于用户的特点、功能及属性等;需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。
1、需求开发
需求开发从技术的维度考量需求要做哪些事情。
①需求获取
联合讨论会:将客户和开发商的相关人员组织起来展示需求获取的成果,从而让双方都理解现阶段的需求并确认纠正需求。
用户访谈:一对一对实际操作员进行访问,了解需求、实际应用感想。
书面调查:当调查的对象过多,设计调查问卷,收回后统计答案从而了解用户需求。
现场观察:到现场观察用户操作获取信息。
②需求分析
整理需求获取中得到的资料、信息。整理成文档就是需求定义。
③需求定义
④需求验证
通过客户对需求的确认,降低风险。
2、需求管理
需求管理是从项目管理的纬度考量如何管理需求。需求管理为需求开发提供了支撑。
①制定需求管理计划
项目的计划采用滚动波试的计划,是不断变动完善的。
②求得对需求的理解
③求得对需求的承诺
④管理需求变更
⑤维护对需求的双向跟踪性
⑥识别项目工作与需求之间的不一致性
3、需求分类
业务需求:对整体系统的要求。
用户需求:使用用户的人对用户的期望和要求。
系统需求:将用户需求转化为指导系统开发的需求。
设计约束:既不是功能,也不是性能的需求。
基本需求:用户在交流需求中明确提出的需求。
期望需求:用户没有明确提出,但默认开发商会实现的需求。
兴奋需求:满足客户需求之外的需求。
4、需求分析
数据流图DFD,又称分层数据流图,能够直观的展现出系统中数据的流向。
5、需求验证
6、需求跟踪
落实需求的实现情况。正向跟踪可以发现哪些功能没有落实,反向跟踪发现哪些功能是多余的也就是兴奋需求。