第3页/共68页
详细设计内容
• 程序描述 • 功能 • 性能 • 输入项 • 输出项 • 算法 • 接口
▪ 存储分配 ▪ 注释设计 ▪ 限制条件
第4页/共68页
结构化程序设计
• 自顶向下,逐步求精; • 有限制的使用GOTO语句; • 单入口,单出口; • 采用”顺序”,”选择”,”循环”3种基本的控制结构来详细设计软件模块的结构
第27页/共68页
--* create a new words dictionary dictionary :=
merge dictionary and good word list
END spellcheck
第28页/共68页
各种工具的比较
表示法 伪码
准则
易用性
优
逻辑表达
良
能力
机器可读
中
性
易转换程
N2为操作数出现的总次数。 • H=n1log2n1+n2log2n2
• H代表预测程序长度; • n1代表不同运算符的个数; • n2代表不同操作数的个数;
第42页/共68页
Halstead方法
• 预测长度H和实际长度N很接近 • Halstead还给出了预测程序中包含错误个数的公式: • E = N*log2(n1+n2)/3000 • 实验证明,预测的错误数量与实际错误数量的误差在8%之内
• McCable方法 • Halstead方法
第30页/共68页
McCabe方法
• 根据程序控制流的复杂程度定量度量方法。 • 它分析的基础是流图(程序图)。 • 它的分析过程:
• 过程设计结果→流图→计算→环路复杂度
第31页/共68页
流图