第三章《需求获取》
需求获取阶段的任务简单地说就是获取用户的需求信息。需求获取是需求工程的早期活动。
1.确定需求开发计划
确定需求开发计划的基本任务是确定需求开发的实施步骤,给出收集需求活动的具体安排和进度。
笔者认为可行性的计划对需求的正确获取十分重要。
2.确定项目的目标和范围
此阶段的基本任务是根据项目目标把项目相关人员定位到一个共同的和明确的方向上,并决定软件系统的范围。项目的目标主要包括项目开发的目的和意义,以及软件系统应实现的且标(即且标需求)。项目的范围是指软件系统具体应包括和不应包括的部分,以及软件系统所涉及的各个方面,如计算机硬件和其他软件系统等。记得课堂上我们利用系统的上下文图来实现范围的确定。
3.确定调查对象
确定来自不同层次的客户的需求来源和用户,按照需求的层次将其分为提出目标的用户、提出业务需求和功能需求的用户、软件开发人员。
4.实地收集需求信息
到现场实地调查和与用户交流,收集和理解用户需求。
实地调查可以向掌握“全局”的负责人、部门负责人、业务人员等调查。这样可以了解项目不同使用者的需求,但是和这些人员了解需求时一定要注意方式方法,引导其说出合理的需求,这样便于项目后期的设计和开发。
收集需求信息的方式有座谈会、书面咨询、利用用例表示三种。
收集完成后,需求信息的分类也十分重要。一般分为目标需求、用例说明、业务规则、功能需求、性能需求、外部接口需求、限制、数据定义、解决方案。
5.确定非功能需求
用户所关心的非功能需求有很多,可靠性、可扩充性、安全性、互操作性、健壮性、易使用性、可维护性、可移植性、可重用性。这些非功能需求体现了用户对软件产品的使用体验的在乎。
6.使用场景技术的需求获取
软件开发人员利用场景是用户与软件系统为实现某个目标而进行交互活动过程的描述。这样可以使软件开发人员身临其境,更好的理解用户的需求,开发出令用户满意的软件系统。