论文部分内容阅读
需求工程是软件开发中的一个重要阶段。作为需求工程的开端,需求获取所输出制品的质量将直接影响需求工程甚至整个软件开发过程的实施质量。现有的需求工程方法和实践中,有两个问题没有得到很好的解决: 一、对需求专家的强依赖性。大部分传统需求获取模式均由需求专家来主导,而最终用户、客户等其他利益相关者,虽然是需求的主要来源,只能被动地参与其中。需求获取质量取决于需求专家对问题域的熟知程度和对有效需求的敏感程度。 二、对需求演化缺乏有效的追踪机制。需求获取一般需要多次迭代才能得到较为明确的需求描述,而且实际项目中需求也经常发生变化。现有的需求工程工具对需求的演化缺乏有效的追踪机制,不能对需求演化的原因及演化过程进行细粒度的建模和管理。 针对以上两个问题,本文提出了一种协同式需求获取和演化方法,主要思想是变“以需求专家为主导”为“利益相关者协同”,利用“问题驱动”的方式引导并管理需求拘演化。该方法的主要活动是以场景作为需求获取的基本单位,利益相关者通过在场景中扮演角色,协同编辑业务和用况需求描述;进而在已有场景及其描述的基础上,发现其中存在的问题,并识别问题的解决方案,最后根据解决方案对已有场景进行修改从而演化产生出新的场景。 基于该方法,本文设计并实现了相应的支撑工具。本文应用面向对象的系统分析和设计方法,先从软件定位、基本功能、对象设置等方面对支撑工具的需求进行详细分析,并在此基础上设计了工具的技术方案、业务流程、权限控制、构件、类和数据表,最终开发了一个协同式需求获取和演化工具SCoRE。其主要功能特色包括:分别从业务和用况层次获取需求、通过角色扮演实现权限控制、采用交互式表格描述用况场景、全方位展示演化历史等。 最后,本文以“北京大学学生选课系统”为实例,展示了该方法在SCoRE工具支持下的具体工作过程。