软件需求分析对软件可靠性的影响至关重要。在需求分析中,除了在思想上予以高度重视外,还应使用合适的技术,选用有效的方法和工具,并加强管理。用户、软件分析与设计人员及其他软件设计方面的专家和行业专家应通力协作,以控制所有可能影响软件功能、性能与可靠性的因素。并可请教在类似软件项目中已成功地进行了需求分析的人员,重用其成功的分析经验、方法和需求规格说明。
2.需求规格说明的质量保证体系
软件需求说明通过一系列相关属性来描述,但它们往往相互重叠或矛盾,目标和性质相互混杂,难以给出相关的质量评判标准、确立相应的可靠性目标。因此,建立软件需求的可靠性框架和质量保证体系不仅是必要的,而且是重要的。
软件需求说明的可靠性保证框架的构成包括:问题模型、问题论域、模型理解、建模语言四个方面,以及联系这四个方面的语义质量、语用质量和语法质量三个关系。其中,建模语言与应用领域的适配性、建模语言与开发小组的适配性、开发小组与应用领域的适配性、需求模型对用户需求的实际意义,以及语义质量、模型构造对建模语言的语法质量等是影响软件需求分析可靠性的主要因素。
语法质量的目标是语法的正确性,即所有语句在句法上完整,
不准使用需求说明语言中不曾定义的符号,保证所有语句均满足语法规则。实践表明,错误的预防、检测和更正是语法质量保证的三种基本手段。检测错误是通过模型的构造发现错误;预防错误是拒绝在模型中加入错误的语句;更正错误是用正确的语句替换错误的语句。前两者可以通过需求说明语言的形式预防来完成,后者则较难自动化。
语义质量是需求模型有效性和完备性的保证。有效性要求模型中的所有语句都正确且与用户需求相关;完备性要求模型包含领域中关于问题的所有相关语句。需求模型与领域越相似,其语义质量越高。但对实际问题,不可能达到彻底的有效性和完备性,因而较为实际的目标是在约定的可信度下的有效性和完备性。多数提高模型质量的方法都依赖于人们对模型具体内容的理解,即语用手段。一致性检测往往可自动完成,而不必真正理解给出的模型。
语用质量影响人们对表达同一意义的多种表达方式的选择,其目标是可理解性。它不仅要使需求模型能被理解,而且要确保开发人员理解该模型。与语义质量目标一样,在可理解性中也需要引入可信度。任何有助于理解需求模型的手段都可以纳入达到语用目标的有益途径 。
例如,各种逐项阅读、以求理解的模型检查,以图表代替文字的模型可视化,利用动画表现系统动态特征的模型动画显示,根据统计数据预测模型所刻划软件行为特征的系统模型,基于解释的模型查阅手段,基于过滤(甚至包括语言翻译)的阅读范围控制等。
3.软件需求分析中的可靠性分析、设计与管理
在软件需求分析过程中,可靠性任务包含四方面内容:一是对可靠性需求的获取、分析二是确定拟开发软件的可靠性目标;三是软件需求分析过程中的可靠性设计;四是为实现可靠性目标而采取的可靠性管理。在需求分析活动中,将这四方面的可靠性任务以用户和软件开发人员共同熟悉的软件可靠性度量加以反映。
用户需求中有时已经包含了用户对可靠性的要求,这样,需求分析人员只需将其可靠性要求和其它要求一起进行细化,并以规定的要求和形式形成能综合反映可靠性要求的规格说明即可。不过,大部分用户对可靠性提不出明确的要求、甚至没有要求,这就需要根据用户对拟开发软件的功能、性能等要求,来确定用户对可靠性的要求和可靠性目标,并将其随软件功能的分解而分解。
在软件需求分析过程中,我们可以很方便地列举出影响软件需求分析