目前,我国各行业亟需各种应用软件系统,但传统的SE开发模式显然不能充分满足用户的需求。进入90年代以来,一种新的被称为“用户主导,面向领域的需求分析方法”被提了出来,即如何从各种各样的应用专业领域中特别是直接从最终用户处捕获需求,并完整、准确地予以描述与分析,需求工程成为研究的热点之一。 随着信息时代的发展,计算机软件的需求愈来愈复杂,规模愈来愈大,而且随着企业的发展,工作过程重组,需求变更已愈来愈成为必然。软件危机持续了30年之久,至今仍无法得以很好地解决。究其原因,软件本身具有的特点固然有关,但长期以来,缺乏软件开发和维护的正确方法以及忽视软件开发过程的质量控制乃是最为关键的原因。其中软件开发和维护方法的不正确性主要体现在:忽视软件开发前期的需求分析;开发过程缺乏统一的、规范化的方法论的指导;文档资料不齐全或不准确;忽视与用户之间、开发组员之间的交流;忽视测试的重要性;不重视维护或由于上述原因造成维护工作的困难。 这样,就经常出现用户对“已完成”系统不满意,软件产品的质量经常出现漏洞,补丁一大堆。因此人们意识到以工程化的原则和方法组织软件开发工作是解决软件危机的一个主要出路。 需求分析作为软件生命周期的第一个阶段,并贯穿于整个软件生命周期,其重要性越来越突出,到80年代中期,逐步形成了软件工程的子领域——需求工程。进入90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE),1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立。 内 容 需求工程的目的是通过与用户广泛地交流确定应用系统的目标。需求活动以“工程化”的方法被提出、分析和组织,它鼓励用户以一种积极的方式参与需求分析活动中,并在整个软件生命周期强调用户参与和领域专家的指导作用,促使目标系统最大地满足用户需求。 需求工程是一个不断反复的需求定义、记录和演进的过程,并在最终达到需求的冻结。我们可以把需求工程的活动划分为五个阶段: 1. 需求获取:积极与用户交流,捕捉、分析和修订用户对目标系统的需求,并提炼出符合问题解决领域的用户需求。2. 需求建模:根据需求分析,对已获取的需求进行抽象描述,为目标系统建立一个概念模型。3. 需求规格说明:对需求模型进行精确地、形式化的描述,为计算机系统的实现提供基础。4. 需求验证:以需求规格说明为基础输入,通过符号执行、模拟或快速原型等方法,分析和验证需求规格说明的正确性和可行性。5. 需求管理:跟踪和管理需求变化,支持系统的需求演进。