出了需求说明的指导原则。它由辅助系统检测当前的需求状态,提示下一步的工作。其辅助系统一般检测和提示多种意向的存在,并支持对需求的增量式开发。因此,其前景依赖于辅助系统的智能化程度和方法框架给出的各项指导原则的有效性。
需求说明语言的选择至关重要,它直接影响需求说明的质量和可理解性。一般地,需求说明语言应能对现实世界中的各种概念、特征、变化等具有完备的表达能力。而且,它应是易学、易用、易读、易懂的。目前,主要有自然语言、结构化行为描述语言、形式语言、半形式语言四类规格说明语言。
现在,大多数需求规格说明使用自然语言编制,但这相当危险,其非形式特征将妨碍软件开发人员就拟开发软件的各个细节达成共识。
三、需求分析工程中的可靠性保证
1.影响需求分析可靠性的因素
下述因素是影响软件需求分析可靠性的主要因素:
分析工具、方法的选择、使用及其有效性。
建模语言的选择与开发人员、分析对象和需求领域的适配性。
需求分析人员与用户和专家之间的沟通。
需求获取与分析的彻底性、完整性、准确性,以及分析方法的有效性。
需求分析规格说明定义与描述的完整性、准确性、一致性、无二义性,以及可读性、易理解性和可维护性。
不准使用需求说明语言中不曾定义的符号,保证所有语句均满足语法规则。实践表明,错误的预防、检测和更正是语法质量保证的三种基本手段。检测错误是通过模型的构造发现错误;预防错误是拒绝在模型中加入错误的语句;更正错误是用正确的语句替换错误的语句。前两者可以通过需求说明语言的形式预防来完成,后者则较难自动化。
语义质量是需求模型有效性和完备性的保证。有效性要求模型中的所有语句都正确且与用户需求相关;完备性要求模型包含领域中关于问题的所有相关语句。需求模型与领域越相似,其语义质量越高。但对实际问题,不可能达到彻底的有效性和完备性,因而较为实际的目标是在约定的可信度下的有效性和完备性。多数提高模型质量的方法都依赖于人们对模型具体内容的理解,即语用手段。一致性检测往往可自动完成,而不必真正理解给出的模型。
语用质量影响人们对表达同一意义的多种表达方式的选择,其目标是可理解性。它不仅要使需求模型能被理解,而且要确保开发人员理解该模型。与语义质量目标一样,在可理解性中也需要引入可信度。任何有助于理解需求模型的手段都可以纳入达到语用目标的有益途径 。
例如,各种逐项阅读、以求理解的模型检查,以图表代替文字的模型可视化,利用动画表现系统动态特征的模型动画显示,根据统计数据预测模型所刻划软件行为特征的系统模型,基于解释的模型查阅手段,基于过滤(甚至包括语言翻译)的阅读范围控制等。
3.软件需求分析中的可靠性分析、设计与管理
在软件需求分析过程中,可靠性任务包含四方面内容:一是对可靠性需求的获取、分析二是确定拟开发软件的可靠性目标;三是软件需求分析过程中的可靠性设计;四是为实现可靠性目标而采取的可靠性管理。在需求分析活动中,将这四方面的可靠性任务以用户和软件开发人员共同熟悉的软件可靠性度量加以反映。
用户需求中有时已经包含了用户对可靠性的要求,这样,需求分析人员只需将其可靠性要求和其它要求一起进行细化,并以规定的要求和形式形成能综合反映可靠性要求的规格说明即可。不过,大部分用户对可靠性提不出明确的要求、甚至没有要求,这就需要根据用户对拟开发软件的功能、性能等要求,来确定用户对可靠性的要求和可靠性目标,并将其随软件功能的分解而分解。
在软件需求分析过程中,我们可以很方便地列举出影响软件需求分析可靠性的一些常见的错误和缺陷,并可以估计需求分析错误相对这些