概述
软件需求阶段可以定义为从用户提出软件开发需求到形成软件功能规约的开发过程,以产生功能规约为结束标志,是软件开发过程中的第一个技术性阶段。通常情况下,还常常将需求阶段分成需求分析和功能规约两个子阶段,前者侧重于从用户获取软件需求并进行分析、整理,产生需求定义后者在此基础上,抽取其中有关功能的需求,产生形式化或非形式化的功能规约。
需求定义是软件需求的完整陈述,是开发者和用户之间对最终软件产品的功能和性能等方面达成的共识和契约。因此,这对软件产品质量以及开发都具有重要影响。
基于DDD的场景实例驱动的需求分析支撑系统
场景实例驱动的需求分析支撑系统针对软件需求分析的高度复杂性,提出了三种以分散难点为主要特征的方法场景实例分析、多视点描述和传统的精化一抽象的层次结构。
1.场景实例驱动
场景实例驱动的需求分析的基本思想是以识别系统使用情形为先导,然后分别分析、描述每一种使用场景下对软件的需求,最后将各情形实例下的需求集成,从而得到整个软件系统的需求定义这一途径的特点是把分散难点这一解决复杂问题的基本手段作为需求获取和需求分析的主导。
2.多视点描述方法
多视点描述方法是与使用情形驱动的方法密切相关的需求分析与定义的方法,其基本特征是应用多种不同的表示方法对软件需求的不同方面进行描述。
对多视点方法的研究还常常包含情形实例的思想,如要求一个视点也具有使用者特性、使用目的特性和使用条件特性。多视点集成途径与情形实例驱动途径的主要区别在于前者以视点为需求分析的主导,而后者则以使用情形为主导。
3.传统的精化一抽象的层次结构
软件工程过程的每一步都是对软件解法的抽象层次的一次精化,抽象就是抽出事物的本质特性而暂时不考虑它们的细节。
随着软件开发工程的进展,在软件结构每一层中的模块,表示了对抽象层次的一次精化。
逐步精化与抽象是互补的概念,由抽象到具体地构造出软件的的层次结构。
结论
将场景实例驱动的方法和多视点集成方法相结合,解决了使用场景驱动方法中的两个重要问题,形成了一套自动检查上述需求分析过程中场景分析、模型构建和领域知识分析这三个重要阶段的分析中间结果的工具,有利于保证软件需求分析的质量。
网友评论