1、 应限制使用如下三种病态联接: 直接病态联接 即模块A直接从模块B内部取出某些数据,或者把某些数据直接送到模块B内部。 公共数据域病态联接 模块A和模块B通过公共数据域,直接传送或接受数据,而不是通过它们的上级模块。这种方式将使得模块间的耦合程度剧增。它不仅影响模块和模块,而且影响与公共数据域有关联的所有模块。 通信模块联接 即模块A和模块B通过通信模块TABLEIT传送数据。从表面看,这不是病态联接,因为模块和模块B都未涉及通信模块TABLEIT 的内部。然而,它们之间的通信(即数据传送)没有通过它们的上级模块。从这个意义上讲,这种联接是病态的。为了使得软件包可以在某些特定的环境下能够安装和
2、运行,对软件包提出了一些设计约束和可移植的要求。例如,设计约束有时要求一个程序段在存储器中覆盖自身。当这种情况出现时,设计出来的软件程序结构不得不根据重复程度、访问频率、调用间隔等等特性,重新加以组织。(5)确定文件的组织方式; 一般要根据文件的特性,来确定文件的组织方式。 顺序文件:连续文件串联文件。 直接存取文件:无关键字直接存取文件带关键字直接存取文件桶式直接存取文件。索引顺序文件:其基本数据记录按顺序文件组 织,记录排列顺序必须按关键 字值升序或降序安排,且具有 索引部分,也按同一关键字进 行索引。分区文件:这类文件主要用于存放程序。它由若干称为成员的顺序组织 的记录组和索引组成。虚拟
3、存储文件:这是基于操作系统的请求页式存储管理功能而建立的索引顺 序文件。倒排文件:按候选属性建立索引表。(6)确定文件的存储介质;(7)确定文件的记录格式;确定文件记录中各数据项以及它们在记录中的物理安排。记录的长度:设计记录的长度要确保能满足需要,还要考虑使用设备的制约和效率,尽可能与读写单位匹配,并尽可能减少处理过程中内外存的交换次数。数据项的顺序:对于可变长记录,应在记录的开头记入长度信息;对于关键字项,应尽量按级别高低,顺序配置;联系较密切的数据项,应归纳在一起进行配置。数据项的属性:属性相同的数据项,应尽量归纳在一起配置;数据项应按双字长,全字长,半字长和字节的属性,顺序配置。预留空间:考虑到将来可能的变更或扩充,应当预先留一些空闲空间。不必统一地预留,可在有可能变更或扩充的项旁边,在相邻接处预留。(8) 估算存取时间和存储容量。 判定表用于表示程序的静态逻辑 在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理 要求将程序流程图中的多分支判断都改成两分支判断建立判定表的步骤建立判定表的步骤 列出与一个具体过程(或模块)有关的所有处理。 列出过程执行期间的所有条件(或所有判断)。 将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合。 将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作。