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