避免或减少使用病态连接
应限制使用如下三种病态连接:直接病态连接、公共数据或病态连接、通信模块连接
模块的大小要适中,通常规定其语句行数在50~100行左右,保持在一页纸之内,最多不超过500行
设计功能可预测的模块,但要避免过分受限制的模块
软件包应满足设计约束和可移植性
设计的后处理
为每一个模块写一份处理说明
为每一个模块提供一份接口说明
确定全局数据结构和局部数据结构
指出所有的设计约束和限制
进行概要设计的评审
数据设计以及文件设计
数据设计的原则
① 用于软件的系统化方法也适用于数据
② 确定所有的数据结构和在每种数据结构上施加的操作
③ 应当建立一个数据词典并用它来定义数据和软件的设计
④ 底层数据设计的决策应推迟到设计过程的后期进行
⑤ 数据结构的表示只限于那些必须直接使用该数据结构内数据的模块才能知道
⑥ 应当建立一个存放有效数据结构以及相关操作的库
⑦ 软件设计和程序设计语言应当支持抽象数据类型的定义和实现
文件设计
文件设计的过程,主要分两个阶段。第一个阶段是文件的逻辑设计,主要在概要设计阶段实施
① 整理必须的数据元素
② 分析数据间的关系
③ 确定文件的逻辑设计
④ 理解文件的特性
⑤ 确定文件的组织方式
顺序文件
直接存取文件
索引顺序文件:其基本数据记录按顺序文件组织,记录排列顺序必须按关键字值升序或降序安排,且具有索引部分,也按同一关键字进行索引
分区文件:这类文件主要用于存放程序
虚拟存储文件:这是基于操作系统的请求页式存储管理功能而建立的索引顺序文件
倒排文件:按候选属性建立索引表
⑥ 确定文件的存储介质
⑦ 确定文件的记录格式
⑧ 估算存取时间和存储容量
过程设计:从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。这就是过程设计的任务
在过程设计阶段,要决定各个模块的实现算法,并精确的表达这些算法。表达过程规格说明的工具做详细设计工具,它可以分为以下三类:图形工具、表格工具、语言工具
程序流程图:程序流程图也称为程序框图,程序流程图使用五种控制结构是顺序型、选择型、先判定型循环(do-while) 、后判定型循环(do-until)、多情况选择型(case型)
程序流程图的标准符号:起止端点、数据输入输出、处理、准备或预处理、预定义处理或既定处理、条件判断、循环上界、循环下界、文件或文档、外接、内接、流线、虚线、省略线、并行方式、注解或注释等符号的使用
程序流程图过早的考虑了控制流