- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章详细设计讲述
软件工程导论;第6章:详细设计 ; E.W.Dijkstra 最早提出结构程序设计:程序质量与程序中包含的Goto语句的数量成反比(1965)。
1966 ,Bohm, Jacopini ,证明了只用“顺序”、“选择”、“循环”控制结构就能实现任何单入口单出口程序。; 理论上,最基本的控制结构只有两种:顺序、循环结构(选择结构可由其两者构造)。
学界认识到,不是简单去掉Goto语句的问题,而是要创立一种新的程序设计方法。
——结构化程序设计(IBM率先成功运用)。;结构程序设计:
一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。 ;使用结构程序设计技术的好处:
1)提高软件开发工程的成功率和生产率;
2)系统有清晰的层次结构,容易阅读理解;
3)单入口单出口的控制结构,容易诊断纠正;
4)模块化可以使得软件可以重用;
5)程序逻辑结构清晰,有利于程序正确性证明。;经典的结构程序设计:只允许使用顺序、IF_THEN_ELSE选择和DO_WHILE循环;; 流程图通常由三种结点组成:
1)函数结点
如果一个结点有一个入口线和一个出口线,则称为函数结点。 ;2)谓词结点
如果一个结点有一个入口线和两个出口线,而且它不改变程序的数据项的值,则称为谓词结点。 ;3)汇点
如果一个结点有两个或多个入口线和一个出口线,而且它不执行任何运算,则称为汇点 。;1)顺序结构:相当于“A、B” ;2)选择结构
相当于“If exp then A else B endif ” ;3)循环结构:相当于“While exp do A” ;1)多分支结构
相当于“Case I of I=1:C1; I=2:C2; I=3:C3; … ; I=n:Cn” ;2)UNTIL循环结构
相当于“Repeat A Until exp” ; 基本程序形式有多种,前面提到的三种基本控制结构(顺序结构、选择结构、循环结构)和两个扩充控制结构(多分支结构、UNTIL循环结构)都是基本程序。 ;定义5:
用以构造程序的基本程序的集合称为基集合。
如:{顺序,if-then-else,while do}
{顺序,if-then-else,repeat-until}
都是基集合。 ;定义6:如果一个基本程序的函数结点用另一个基本函数程序替换,产生的新的正??程序称为复合程序。 ; 由于复合程序是由一些基本程序组成,因此,无论从总体上看或是从每个组成部分看,都满足“一个入口,一个出口”的原则,这样的程序就是通常说的好结构程序,或者结构化程序。 ;定义7:由基本程序的一个固定的基集合构造出的复合程序,称为结构化程序。;结构化定理:任一正规程序都可以函数等价于一个由基集合{顺序,If-else-then,While-do}产生的结构化程序。
;6.2 人机界面设计;6.2.2 设计过程
6.2.3 人机界面设计指南
1. 一般交互指南;
2. 信息显示指南;
3. 数据输入指南。;6.3 过程设计的工具 ;ASP检索程序流程图:;2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。
3)程序流程图不易表示数据结构。;6.3.2 盒图(N-S图) ;盒图的特点有:
1)功能域明确,可以从盒图上一眼就看出来;
2)不可能任意转移控制;
3)很容易确定局部和全程数据的作用域;
4)很容易表现嵌套关系,也可以表示模块的层次结构。 ;; PAD(Problem Analysis Diagram)是问题分析图。
日立公司发明和推广(1973)。 ;P1;例子: ;PAD图的优点:
1)使用表示结构化控制结构的PAD符号所设计出???的程序必然是结构化程序;
2)PAD图所描绘的程序结构十分清晰。
图中最左面的竖线是程序的主线,即第一层结构。随着程序层次的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数; ;3)用PAD图表现程序,通俗易懂,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点;;4)容易将PAD图转换成高级语言源程序,这种转换可以用软件工具自动完成;
5)可用于表示程序逻辑,也可用于描绘数据结构;
6)PAD图的符号支持自顶向下、逐步求精的方法。;判定表
文档评论(0)