第一章——软件需求概述
需求问题的提出,软件开发人员往往不能明白客户所需要的功能需求,他们只能说明一些业务需求,并不能描述用户需求,因为软件开发人员并不是实际的使用者,只有实际用户才能描述此系统必须达成的目标,但他们又不能指出完成这些目标所需的所有具体的功能需求。对此,完成的软件通常存在以下问题,用户对开发人员开发的软件不满意,对于软件开发进度的拖延以及对开发软件成本大大提升,软件的质量不可靠,软件的可维护程度较低。
对于这些问题,总结了五大需求:
(1)不完整的需求,主要是客户对需求的不明确以及与客户交流的人员没有对客户的需求多次确认。
(2)缺乏用户参与,主要是用户缺乏主动参与意识,不能有效参与到项目中来。
(3)不切实际的用户期望,主要是软件的无形和成本的不透明
(4)需求变更频繁,主要是用户没有意识到变更对软件项目的负面影响。
(5)提供了不再需要的需求,主要是软件中存在很多不必要的功能。
需求的定义,软件需求是指用户对目标软件系统在功能,行为,性能,设计约束等方面的期望。需求是一种反映用户解决问题或达到目标所需的条件以及系统要满足合同,标准,规范或其他正式规定文档所需具有的条件的文档说明。
需求定义的实践,需求定义应该是在项目成立时就要完成的工作,对于确定宏观目标有一定的帮助。只有需求定义给出清晰的项目目标和范围定义才能引导需求工作顺利进行。在需求定义时需要注意一下两个方面,1)内部寻根。要想了解项目的本质,需要找到项目的发起人进行沟通。2)找到外部因素,对目标参照物进行分析与了解。
需求的层次和分类。软件需求包括三个层次——业务需求,用户需求,功能需求。软件需求可以分为功能需求,非功能需求和设计约束三种类型。
需求在总体方案中的位置。在软件生命周期中,我们称系统开发,运行,维护所实施的全部过程为软件生命周期,软件从需求到产品的开发和运行也需要一个周期。
浙公网安备 33010602011771号