软件模块需求规范与程序操作的形式化描述
1. 软件模块需求规范
软件模块需求规范是系统的底层设计规范。在这个层面,我们首次关注以编程语言隐喻来实现系统。不同的编程语言会创造出不同的隐喻,例如 C++ 有其独特的运行时支持服务库所构建的隐喻,Java 运行时环境也有截然不同的隐喻。不过,在将高层设计隐喻映射到特定语言运行时环境之前,我们暂不考虑这些底层实现细节。
模块需求规范本质上是对系统功能的底层划分。从模块描述中会浮现出三个核心问题:
1. 系统的结构
2. 数据结构的精确规范
3. 模块间的数据流动
模块规范与代码模块之间必须存在一一映射关系,每个模块规范对应一个代码模块,不存在没有设计模块规范的代码模块。
在模块规范中,必须有定义明确的语法来控制规范。我们的首次自动系统测量将在这个层面进行,基本上所有的控制流指标都可以从设计模块规范中获取,所有相关的数据结构信息也能在此得到。
我们期望所指定程序的源代码中没有注释语句,所有程序文档都存放在源代码模块之外。每个源代码模块都有自己的设计文档,模块的所有相关信息都保存在设计文档中。如果设计存在缺陷,必须先修改设计,再修改相关的代码模块。只有当代码模块不能准确反映设计模块时,才可以在不修改设计规范的情况下修改代码模块。
1.1 模块规范
在不断演进的规范方案中,每个程序模块都有单独的规范。其结构如下表所示:
| 部分 | 描述 |
|---|---|
| Mo |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



