欢迎来到天天文库
浏览记录
ID:50515421
大小:277.00 KB
页数:32页
时间:2020-03-10
《软件工程基础与实例分析 教学课件 作者 王阿川 第05章 详细设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第五章详细设计主要学习内容详细设计的过程详细设计阶段使用的工具面向数据结构的设计方法5.1详细设计的过程5.1.1详细设计的基本任务1.算法设计用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。2.数据结构设计对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。3.物理设计对数据库讲行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。5.1详细设计的过程5.1.1详细设计的基本任务4.其他设计(1)代码设计:为了提高数据的输入、分类、存储及检索等操作的
2、效率,对数据库中的某些数据项的值要进行代码设计。(2)输入/输出格式设计:对输入/输出数据格式进行统一规格的设计。(3)人机对话设计:对于一个实时系统,用户与计算机需频繁对话,因此,要进行对话方式、内容及格式的具体设计。5.编写详细设计说明书6.评审对处理过程的算法和数据库的物理结构要进行评审。5.1.2详细设计方法1、自顶向下逐步求精2、具有单入、单出的控制结构(取消GOTO语句)3、五种控制结构顺序结构选择结构先判断循环结构后判断循环结构多选择结构5.2.1程序流程图5.2详细设计阶段使用的工具在程序流程图中采用三种控制结构来实现单入口、单出口的程序
3、5.2详细设计阶段使用的工具5.2.2盒图(N_S图)5.2详细设计阶段使用的工具盒图(N_S图)例子5.2详细设计阶段使用的工具5.2.3问题分析图(PDA图)5.2详细设计阶段使用的工具盒图和PDA图的转换x4TFDo-Untilx5ighfkx1TFbDo-Untilx6aj5.2详细设计阶段使用的工具开始结束ajUntilx5iUntilx6bx1kfx4gh盒图和PDA图的转换5.2详细设计阶段使用的工具5.2.4判定表与判定树表示复杂的条件组合与应做动作之间的对应关系判定表与判定树并不适用于作为一种通用的设计工具,通常将之用于辅助测试例:
4、航空行李托运费的算法按规定:重量不超过30公斤的行李可免费托运。重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。5.2详细设计阶段使用的工具规则规则数条件动作5.2详细设计阶段使用的工具行李费算法行李重量W>30行李重量W30免费国内乘客外国乘客头等舱其他舱残疾乘客正常乘客(W-30)2(W-30)4残疾乘客正常乘客(W-30)3(W-30)6头等舱其他舱残疾乘客正常乘客(W-30)4(W-30)8残疾乘客正常乘客(W-30)6(W
5、-30)12用判定树表示计算行李费的算法5.2详细设计阶段使用的工具5.2.5过程设计语言(PDL)1、PDL特点关键字有固定的语法自然语言的自由语法,它描述处理特点。数据说明的手段。模块定义和调用的技术,应该提供各种接口描述模式。2.PDL程序结构(1)顺序结构采用自然语言描述顺序结构处理S1处理S2……处理Sn(2)选择结构1)IF-ELSE结构IF条件IF条件处理S1或处理S1ELSEENDIF处理S2ENDIF3)CASE结构CASEOFCASE(1)处理S1CASE(2)处理S2……ELAE处理SnENDCASE(4)循环结构1)FOR结构F
6、ORi=1TOn循环体ENDFOR2)WHILE结构WHILE条件循环体ENDWHILE3)UNTIL结构REPEAT循环体UNTIL条件(5)出口结构1)ESCAPE结构(退出本层结构)WHILE条件处理S1ESCAPELIF条件处理S2ENDWHILEL:……2)CYCLE结构(循环内部进入循环的下一次)L:WHILE条件处理S1CYCLELIF条件处理S2ENDWHILE(6)扩充结构1)模块定义PROCEDURE模块名(参数)……RETURNEND2)模块调用CALL模块名(参数)3)数据定义DECLARE属性变量名,……属性有字符、整型、实型、
7、双精度、指针、数组及结构等类型。4)输入输出GET(输入变量表)PUT(输出变量表)3.举例理解PDL语言例如5.2查找拼错单词的程序------------------------------------------------------------------------------PROCEDURE查找拼错单词isBEGIN把这个文件分离成单词查字典显示字典中查不到的单词造一新字典END查找拼错单词对上面的算法细化PROCEDURE查找拼错单词BEGIN--*splitdocumentintosinglewordsLOOPgetnextworda
8、ddwordtowordlistinsortorderEXITWHENallwo
此文档下载收益归作者所有