您的位置:首页 > 其它

软件工程复习——第六章

2018-01-05 15:16 106 查看
第六章

1)结构程序设计的概念
核心思想:少用go to 语句

2)人机界面设计的基本问题
四大问题:
系统响应时间、用户帮助设施、出错信息处理和命令交互

3)熟练掌握过程设计的工具(重点)
流程图、盒图,PAD图,伪码
能够根据其中任何之一画出另外的任一种图来
能根据条件描述绘制判定表、判定树

a.程序流程图





优点:
是控制流程的直观描述,简单易学,容易理解

缺点:
本质上不是逐步求精的好工具,缺少全局结构的考虑
用箭头代表控制流,程序员不受约束,随心所欲
不易表示数据结构

b. 盒图(N-S图)

图6.4  盒图的基本符号

(a) 顺序;(b) IF-THEN-ELSE型分支;(c) CASE型多分支;(d) 循环;(e) 调用子程序A



N-S图的嵌套定义形式



c.PAD图:

它用二维树形结构(2D,tree-structured representation)的图来表示程序的控制流,比较容易将这种图翻译成程序代码





(a)顺序(先执行P1后执行P2);

(b) 选择(IF C THEN P1 ELSE P2);

(c) CASE型多分支;

(d) WHILE型循环(WHILE C DO P);

(e) UNTIL型循环(REPEAT P UNTIL C);

(f) 语句标号;

(g) 定义

d.判定表

一张判定表由四部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。



e.判定树(优点:简单易懂 缺点:不够简洁,同一个值可能重复多次)



f.PDL(伪码)







4)jackson图(了解 度娘一下即可)

5)McCabe方法(重点)

环形复杂度(Cyclomatic Complexity):根据程序控制流的复杂程度定量度量程序的复杂程度——这样度量出的结果为程序的环形复杂度

流图(表示控制流):



计算环形复杂度的方法

(1)流图中的区域数等于环形复杂度

(2)流图G的环形复杂度V(G)=E-N+2

    E:边数,N:结点数
(3)流图G的环形复杂度V(G)=P+1

    P:判定结点的数目

缺点:

对于不同种类的控制流的复杂性不能区分
 简单IF语句与循环语句的复杂性同等看待
 嵌套IF语句与简单CASE语句的复杂性是一样的
 模块间接口当成一个简单分支一样处理
 一个具有1000行的顺序程序与一行语句的复杂性相同
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: