其他分享
首页 > 其他分享> > 声明性的和操作性的规格声明

声明性的和操作性的规格声明

作者:互联网

软件规格说明的使用者包括用户、设计人员、程序员、管理人员等, 涉及产品鉴定、质量保证、配置管理、软件维护、人员培训、市场分析、软件版权等诸多问题。可以把软件规格说明看成是一个具有概述、图示、例子等多视角的信息库。它既是用户和开发者的一份协议, 又是指导软一件开发、测试和维护的依据。 标准化的软件规格说明以统一的形式为各类相关人员提供各自所需要的信息。实践表明,广泛推行软件规格说明标准有助于提高软件开发的效率和质量。软件工程只有在广泛采用各种标准化技术以后方能成为一门真正的工程学科。 但是涉及软件规格说明的标准太多了, 以至于让人无所适从。闭由静态和动态的观点可知软件规格说明的标准化工作应从产品和过程两方面展开。根据软件开发的特点, 软件规格说明标准应加大软件过程标准化的比重。但是, 目前关于软件柳格说明的标准往往主要是软件产品“ 了的标准。近年来新提出的软件过程模型(和快速原型模型、增量开发模型、面向对象喷泉开发模型) 的标准化工作则显得很薄弱。 关于软件规格说明的国际或国家标准址一用范围广, 具有较高的理论价值。相比之下, 根据~ 应用领域的特点, 结合具体开发方法而制定的软件规格说明标准则具有更好的实用性。因而,国外许多大公司都制定有自己的软件规格说明标准。我国一些部门和单位也进行过类似的工气作。开发这种具体部门运用的软件规格说明标准要考虑以下问题。 1满足软件规格说明国家标准的要求, 可以补充国家标准未涉及的内容, 但不能违背软件工程原理。 2针对不同使用者, 提供所需要的信息。例如, 为用户提供一个相当于用户使用手册的规格说明, 为开发者提供一个相当于设计任务书的规格说明。 3容易使用和更改。 4有衡量软件规格说明质量的客观性手段。 5结合应用领域的特点及具体的开发方法, 综合使用标准的代价( 如在维护一致性上的时间) 和收益( 如可靠性、维护性的提高)。

声明性的和操作性的规格声明

笼统的说,规格说明分为两种∶操作性的(Operational)规格说明给出了实现过程的步骤(就像伪代码一样),而声明性的(Declarative)规格说明不对实现过程进行要求,它们仅仅给出最后输出的属性和意叉,以及它们和输入之间的关系。
在绝大多是情况下,声明性的规格说明更合适。它们通常会更简洁、更易懂、并且最重要的是,它们不会让使用者尝试依赖特定的实现方案(很多时候一个模块的实现方案会不得不改变)。例如,如果我们想要允许多种方案来实现find,我们就不会在规格说明要求“从数组低位开始向上逼历搜索"。
有些时候,程序员想要给维护者(maintainer)模块的实现信息,于是他们将实现描述写在了规格说明中。要记住,规格说明是给使用者而非模块的开发者使用的,如果你想要用描述模块的实现方法,将它们注释在模块里面。另外,对于一种声明性的规格说明,可以有多种描述方法,例如下面这几个声明性的规格说明都是等价的∶

static boolean startsWith (String str, String prefix) effects: returns true if and only if there exists String suffix such that prefix + suffix = str

 

static boolean startsWith (String str, String prefix) effects: returns true if and only if there exists integer i such that str.substring(0, i) = prefix

 

static boolean startsWith (String str, String prefix) effects: returns true if the first prefix.length() characters of str are the characters of prefix, false otherwise

标签:String,prefix,说明,规格,操作性,str,软件,声明
来源: https://www.cnblogs.com/Gusimo22/p/16367145.html