软件工程复习——第六章
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行的顺序程序与一行语句的复杂性相同
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行的顺序程序与一行语句的复杂性相同
相关文章推荐
- 软件工程复习纲要~
- 《数据结构与算法分析:C语言描述》复习——第六章“排序”——归并排序
- 软件工程第六章软件测试
- 软件工程复习——第十三章
- MFC复习和学习 第六章 MFC视图文档 MFC视图文档各部分关系 MFC绘图 MFC绘图对象
- 软件设计师复习笔记__软件工程与软件过程
- CSS3秘笈复习:第六章
- 软件工程期末复习uml各类图(转)
- 软件工程复习纲要~
- 《数据结构与算法分析:C语言描述》复习——第六章“排序”——快速排序
- 《软件工程——实践者的研究方法》重难点复习笔记(第八章——理解需求)
- 《软件工程》第六章
- 软考复习——软件工程
- 《数据结构与算法分析:C语言描述》复习——第六章“排序”——桶排序
- 现代软件工程 第六章 【敏捷流程】练习与讨论
- 《数据结构与算法分析:C语言描述》复习——第六章“排序”——基数排序
- 软件工程个人复习用笔记
- 山东大学软件工程复习纲要
- [NOIP 2014复习]第六章:数据结构
- 山东大学软件工程复习重点