软件工程详细设计.ppt
《软件工程详细设计.ppt》由会员分享,可在线阅读,更多相关《软件工程详细设计.ppt(50页珍藏版)》请在课桌文档上搜索。
1、软件工程(Software Engineering),第五章 详细设计,详细设计,前一页,详细设计(Procedural Design)的目标是确定,并具体地实现所要求的系统,从而在编码阶段可以把该实现的描述直接翻译成用某种程序设计语言书写的程序。详细设计的目标不仅是在逻辑上能够正确地实现每个模块的功能,还要求设计的处理过程应该尽可能简明易懂。,本章主要内容,结构化程序设计 详细设计的工具 Jackson程序设计方法 Warnier程序设计方法 程序复杂程度的定量度量,前一页,结构化程序设计,前一页,1965年最早由E.W.Dijkstra提出:“可以从高级语言中取消goto语句,程序的质量与
2、程序中所包含的goto语句的数量成反比”。1966年,Bohm和Jacopini证明了,只用“顺序”(Sequence)、“选择”(Condition Select)和“循环”(Repetition)三种基本的控制结构就能实现任何单入口单出口的程序。1972年,IBM公司的Mills进一步提出,程序应该只有一个入口和一个出口。,前一页,三种基本结构,前一页,结构化程序设计,结构化程序设计技术采用自顶向下逐步求精的设计和单入口单出口的控制结构。其优点是:(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,可以显著提高软件开发工程的成功率和生产率。(2)用先全局后局部,先整体后细节。先抽象
3、后具体的逐步求精过程开发的程序有清晰的层次结构,容易阅读和理解。(3)不使用GOTO语句,仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致,程序容易阅读和理解,开发时容易保证程序的正确性。,结构化程序设计,前一页,(4)控制结构有确定的逻辑模式,编写程序代码只限于使用很少几种直截了当的方式,因此源程序清晰流畅,易读易懂而且容易测试。(5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量比较大。(6)程序的逻辑结构清晰,有利于程序正确性的分析和证明。,结构化程序设计,前一页,结构化程序设计的缺点是:需要的运行时间和存储容量都有一些增加(估计增加10%20%
4、)。由于计算机硬件技术的飞速发展,上述缺点对系统已没有什么影响。,结构化程序设计,前一页,经典的结构程序设计:只允许使用顺序、IF-THEN-ELSE型分支和DO-WHIL型循环三种基本控制结构。扩展的结构程序设计:允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构。修正的结构程序设计:允许使用LEAVE(或BREAK)结构。,详细设计的工具,前一页,描述程序处理过程的工具称为详细设计的工具,分为图形、表格和语言三类。都要求能提供对设计的无歧义(无二义性)的描述。,前一页,详细设计的工具,程序流程图 盒图(N-S图)PAD图判定表判定树 过程设计语言(PDL)模块开发文件夹,主要内
5、容,详细设计的工具,前一页,程序流程图,程序流程图又称为程序框图,是历史最悠久、使用最广泛、也是用得最混乱的一种描述软件设计的方法。总的趋势是正在逐步被淘汰。,(1)程序流程图在本质上并不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。(2)程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构化程序设计的原则,随意转移控制。(3)程序流程图不便于表示数据结构。,前一页,程序流程图,前一页,详细设计的工具,盒图(N-S图),Nassi和Shneiderman提出盒图,(1)功能域(一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来。(2
6、)不能够随意转移控制。(3)很容易确定局部和全局数据的作用域。(4)很容易表现嵌套关系,也可以表示模块的层次结构。,前一页,盒图(N-S图),详细设计的工具,前一页,PAD图,PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1973年由日本日立公司发明以后,已得到一定程度的推广。它用二维树结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。,详细设计的工具,前一页,PAD图,优点:(1)使用表示结构化控制结构的PAD符号所设计出来的程序必然是结构化程序。(2)PAD图所描绘的程序结构十分清晰。图中最左面的竖线是程序的主干线,即第一层结构。随着程序层次
7、的增加,PAD图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖线。PAD图中竖线的总条数就是程序的层次数。,前一页,详细设计的工具,PAD图,(3)用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二维树形结构的图形,程序从图中最左竖线上端的结点开始执行,自上而下,从左向右顺序执行,遍历所有结点(4)容易将PAD图转换成高级语言源程序,这种转换可用软件工具自动完成(5)PAD图的符号支持自顶向下,逐步求精方法的使用。,前一页,PAD图基本符号,前一页,用PAD图逐步求精,前一页,判定表,当算法中包含多重嵌套的条件选择时,用程序流图、盒图、PDL等都难以清楚地描述。而判定表和判定树都能清晰地
8、表示复杂的条件组合与操作之间的关系。一张判定表由四部分组成:左上部:所有可能的条件 右上部:各种条件的组合 左下部:所有可能的操作 右下部:每种组合的动作,详细设计的工具,前一页,判定表,例:某航空公司规定,乘客可以免费托运不超过3 30公斤的行李。对超重部分:头等仓国内乘客4元/公斤;其他仓国内乘客6元/公斤;外国乘客比国内乘客多收一倍;残疾乘客比正常乘客少收一半。,详细设计的工具,前一页,前一页,判定树,判定树与判定表类似,同样能够清晰地表示复杂的条件组合与操作之间的关系,但它的表达形式比判定表更直观清晰。,详细设计的工具,前一页,用判定树计算行李费,详细设计的工具,前一页,过程设计语言(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 详细 设计
链接地址:https://www.desk33.com/p-235678.html