论文部分内容阅读
随着软件技术的飞速发展以及软件项目规模的急剧增大,过去十年对软件开发过程的改进与提高受到明显的重视。需求工程是整个软件过程的第一个,同时也是最为重要的一个阶段。提高需求工程的成熟度,对于整个软件过程的改进,都有着极为重大的意义。
需求工程可以分为两类主要活动——需求定义和需求管理。其中需求定义阶段的需求分析是整个需求工程中最为困难也是最为关键的部分。需求分析的结果是整个软件系统开发的基础,关系到工程的成败和软件产品的质量。为了保证需求分析的有效进行,人们提出了多种需求分析方法与模型。其中用例技术是目前较为流行的一种需求建模技术。
自从1992年Jacobson首次提出用例的概念以来,用例技术在需求分析过程中得到了广泛应用。但随着研究的深入,用例技术的局限性逐渐暴露出来:包含过多的内建假设,对以后的设计工作产生了不必要的约束……正是为了克服上述问题,人们在用例技术的基础上提出了本质用例的概念。本文的研究正是基于本质用例而展开的。
本质用例描述了用户与系统间抽象、轻量级和技术无关的对话过程。Constantine和Lockwood提出本质用例的最初目的是为了支持用户界面设计。随着对本质用例认识的深入,人们开始尝试将其应用到其他领域。在研究中我们发现,本质用例可以用来支持更为普遍的软件需求分析与获取。
本文的核心内容是讨论如何在需求分析阶段应用本质用例技术进行需求建模。通过与传统用例技术的比较,揭示了本质用例技术在需求分析中所具有的独到的优越性。本质用例是“以使用为中心设计(Usage-Centered Design)”的一部分,其目的是通过与技术无关的、理想化的、抽象的描述来捕捉问题的实质。这种抽象的好处是显而易见的:简短的卡片式描述可以加速分析过程;抽象使我们无需在系统开发的早期就对交互的细节问题纠缠不清;我们可以集中精力确定系统的本质用例,从而避免被系统的具体实现所困扰而耗费大量时间作为对本质用例技术的扩展,我们随后简单讨论了如何在软件的设计阶段应用本质用例技术。在面向对象的软件设计中,术语“职责”扮演着一个相当重要的角色。而本质用例对“系统职责”的强调,为它与软件设计之间提供了一条重要的纽带。
最后,我们分析了国外相关的研究工作,介绍了目前流行的一些需求管理工具中的需求分析策略,并与我们的工作进行了比较。