软件工程详细设计PPT学习课件.ppt
《软件工程详细设计PPT学习课件.ppt》由会员分享,可在线阅读,更多相关《软件工程详细设计PPT学习课件.ppt(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章详细设计详细设计(Program DesignProgram Design)1主要内容主要内容详细设计的目的目标和任和任务(理解)(理解)详细设计工具(工具(应用)用)程序复程序复杂性的性的定量度量定量度量(理解)(理解)人机界面人机界面设计(自学)(自学)23软软软软件件件件生生生生命命命命周周周周期期期期软软软软件件件件定定定定义义义义开开开开发发发发时时时时期期期期维维维维护护护护时时时时期期期期问题定义问题定义问题定义问题定义可行性研究可行性研究可行性研究可行性研究需求分析需求分析需求分析需求分析总体设计总体设计总体设计总体设计详细设计详细设计详细设计详细设计编码和单元测试
2、编码和单元测试编码和单元测试编码和单元测试综合测试综合测试综合测试综合测试系统设计系统设计系统设计系统设计系统实现系统实现系统实现系统实现系统分析系统分析系统分析系统分析341 1 详细设计的目标和任务详细设计的目标和任务从从软件开件开发的工程化的工程化观点来看,在点来看,在使用程序使用程序设计语言言编制程序以前,制程序以前,需要需要对所采用算法的所采用算法的逻辑关系关系进行行分析,分析,设计出全部必要的出全部必要的过程程细节,并并给予清晰的表达。予清晰的表达。这就是就是详细设计的任的任务。45回答的回答的关关键问题:“怎怎样具体地具体地实现这个个系系统”。主要任主要任务是是设计出出程序的程序
3、的“蓝图”,供程,供程序序员日后根据日后根据这个个蓝图编写出写出实际的程序的程序代代码。注意:注意:设计程序的程序的蓝图,不是具体地,不是具体地编写写程序。程序。设计程序主要采用程序主要采用结构化的程序构化的程序设计方法。方法。基本任务基本任务ProgramDesign Coding56什么是什么是结构程序构程序设计结构程序构程序设计是一种是一种设计程序的技程序的技术,它采用自它采用自顶向下逐步求精的向下逐步求精的设计方法方法和和单入口入口单出口的控制出口的控制结构。构。*只使用三种基本的控制只使用三种基本的控制结构构 *单入口入口单出口的控制出口的控制结构构 (取消GOTO语句)BA顺序结构
4、顺序结构expABTF选择结构选择结构expAAexpTTFF循环结构循环结构1)“当”型循环2)直到型循环6结构程序设计结构程序设计dodocase icase iCase 2Case 2Case 1Case 1多分支结构多分支结构Case nCase n.n经典的典的结构程序构程序设计:顺序,序,选择,当型循当型循环n扩展的展的结构程序构程序设计:顺序,序,选择+多分支,当型循多分支,当型循环+直到型循直到型循环n修正的修正的结构程序构程序设计:顺序,序,选择+多分支,当型循多分支,当型循环+直到型循直到型循环,breakbreak结构构78结构程序构程序设计的的优点点 显显著提高著提高著
5、提高著提高软软件开件开件开件开发发工程的成功率和生工程的成功率和生工程的成功率和生工程的成功率和生产产率;率;率;率;程序具有清晰的程序具有清晰的程序具有清晰的程序具有清晰的层层次次次次结结构,容易构,容易构,容易构,容易阅读阅读和理解;和理解;和理解;和理解;程序的静程序的静程序的静程序的静态结态结构和构和构和构和动态结动态结构构构构较较一致,程序容易一致,程序容易一致,程序容易一致,程序容易读读和和和和理解,开理解,开理解,开理解,开发较发较易保易保易保易保证证程序的正确性;程序的正确性;程序的正确性;程序的正确性;控制控制控制控制结结构有确定的构有确定的构有确定的构有确定的逻辑逻辑模式,
6、模式,模式,模式,编编写程序代写程序代写程序代写程序代码简单码简单 源程序清晰流源程序清晰流源程序清晰流源程序清晰流畅畅,易,易,易,易读读易懂易易懂易易懂易易懂易测试测试;可以重用的代可以重用的代可以重用的代可以重用的代码码量最大;量最大;量最大;量最大;程序的程序的程序的程序的逻辑结逻辑结构清晰,有利于程序正确性构清晰,有利于程序正确性构清晰,有利于程序正确性构清晰,有利于程序正确性证证明。明。明。明。结构程序构程序设计的的缺点缺点存存存存贮贮容量和运行容量和运行容量和运行容量和运行时间较时间较大(增加大(增加大(增加大(增加10%-20%10%-20%10%-20%10%-20%)。)。
7、)。)。89详细设计的原则与方法详细设计的原则与方法 1、清晰第一的、清晰第一的设计风格格 2、结构化的控制构化的控制结构构 3、逐步、逐步细化(逐步求精)的化(逐步求精)的实现方方法法910逐步求精逐步求精的含的含义总体体设计阶段段逐步求精的含逐步求精的含义:把一个:把一个复复杂问题的解法分解和的解法分解和细化成一个由化成一个由许多模多模块组成的成的层次次结构的构的软件系件系统。详细设计阶段段逐步求精的含逐步求精的含义:把一个:把一个模模块的功能逐步分解的功能逐步分解细化化为一系列具体一系列具体的的处理步理步骤。1011在在详细设计阶段,要决定各个模段,要决定各个模块的的实现算法,并精确地表
8、达算法,并精确地表达这些算法。些算法。表达表达详细规格格说明的工具叫做明的工具叫做详细设计工具工具,它可以分,它可以分为以下三以下三类:图形工具形工具表格工具表格工具语言工具言工具2 2 详细设计工具详细设计工具1112(1)(1)(1)(1)程序流程程序流程程序流程程序流程图图又称又称又称又称为为程序框程序框程序框程序框图图,是早期,是早期,是早期,是早期软软件件件件设设计计的主要工具。的主要工具。的主要工具。的主要工具。(2)(2)(2)(2)优优点:点:点:点:FF对对控制流程的描控制流程的描控制流程的描控制流程的描绘绘很直很直很直很直观观,便于初学者掌握。,便于初学者掌握。,便于初学者
9、掌握。,便于初学者掌握。(3)(3)(3)(3)缺点:缺点:缺点:缺点:FF程序流程程序流程程序流程程序流程图图本本本本质质上不是逐步求精的好工具,上不是逐步求精的好工具,上不是逐步求精的好工具,上不是逐步求精的好工具,它它它它诱诱使程序使程序使程序使程序员过员过早地考早地考早地考早地考虑虑程序的控制流程,程序的控制流程,程序的控制流程,程序的控制流程,而不去考而不去考而不去考而不去考虑虑程序的全局程序的全局程序的全局程序的全局结结构。构。构。构。2.12.1程序流程程序流程图1213程序流程程序流程程序流程程序流程图图中用箭中用箭中用箭中用箭头头代表控制流,因此程代表控制流,因此程代表控制流
10、,因此程代表控制流,因此程序序序序员员不受不受不受不受约约束,可以完全不束,可以完全不束,可以完全不束,可以完全不顾结顾结构程序构程序构程序构程序设设计计的精神,随意的精神,随意的精神,随意的精神,随意转转移控制。移控制。移控制。移控制。程序流程程序流程程序流程程序流程图图不易表示数据不易表示数据不易表示数据不易表示数据结结构。构。构。构。程序流程程序流程图使用使用五种基本控制五种基本控制结构构是是:13141415 示例示例1516程序流程图的标准符号程序流程图的标准符号1617多出口判断多出口判断1718uuN-SN-SN-SN-S图图也叫做盒也叫做盒也叫做盒也叫做盒图图。NassiNas
11、siNassiNassi和和和和ShneidermanShneidermanShneidermanShneiderman提出,提出,提出,提出,有以下特点:有以下特点:有以下特点:有以下特点:(1)(1)(1)(1)功能域(即一个特定控制功能域(即一个特定控制功能域(即一个特定控制功能域(即一个特定控制结结构的作用域)明构的作用域)明构的作用域)明构的作用域)明确,很容易从盒确,很容易从盒确,很容易从盒确,很容易从盒图图上看出。上看出。上看出。上看出。(2)(2)(2)(2)盒盒盒盒图图没有箭没有箭没有箭没有箭头头,不可以随意,不可以随意,不可以随意,不可以随意转转移控制,不允移控制,不允移控
12、制,不允移控制,不允许违许违背程序背程序背程序背程序设计设计的原的原的原的原则则。(3)(3)(3)(3)很容易确定局部和全程数据的作用域。很容易确定局部和全程数据的作用域。很容易确定局部和全程数据的作用域。很容易确定局部和全程数据的作用域。(4)(4)(4)(4)很容易表很容易表很容易表很容易表现现嵌套关系,也可以表示模嵌套关系,也可以表示模嵌套关系,也可以表示模嵌套关系,也可以表示模块块的的的的层层次次次次结结构。构。构。构。2.2 N2.2 N-S S图1819五种基本控制五种基本控制结构由五种构由五种图形构件表示。形构件表示。1920示例示例2021N-S图的嵌套定的嵌套定义形式形式x
13、4TFDo-Untilx5ighfkx1TFbDo-Untilx6ajx21cDo-Whilex323dek:2122uuPADPAD图由日本日立公司在由日本日立公司在19731973年年发明,它明,它用用二二维树型型结构构的的图来表示程序的控制来表示程序的控制流,比流,比较容易翻容易翻译成程序代成程序代码。主要特。主要特点:点:(1)(1)使用使用PADPAD图设计的程序必然是的程序必然是结构化程构化程序。序。(2)PAD(2)PAD图描描绘的程序的程序结构十分清晰。构十分清晰。(3)(3)用用PADPAD图表表现程序程序逻辑,易,易读、易懂、易懂、易易记。2.3 2.3 问题分析分析图(P
14、AD)(PAD)2223(4)PAD(4)PAD图面向高面向高级语言,言,容易将容易将PADPAD图转换成高成高级语言源程序言源程序(5)PAD(5)PAD图既可用于表示程序既可用于表示程序逻辑,也可用,也可用于描于描绘数据数据结构。构。(6)PAD(6)PAD图的符号支持自的符号支持自顶向下、逐步求精向下、逐步求精方法的使用。方法的使用。2324PAD也也设置了五种基本控制置了五种基本控制结构的构的图式,并允式,并允许递归使用。使用。2425PAD描述的示例描述的示例开始开始结束结束2526对应于增量型循于增量型循环结构构fori:=n1ton2stepn3do在在PAD中有相中有相应的循的
15、循环控制控制结构构PAD的扩充控制结构26272.4 2.4 判定表判定表判定表用于表示程序的判定表用于表示程序的静静态逻辑。在判定表中的条件部分在判定表中的条件部分给出出所有的所有的两分支判断两分支判断的列表,的列表,动作部分作部分给出出相相应的的处理。理。2728uu判定表能判定表能判定表能判定表能够够清晰地表示复清晰地表示复清晰地表示复清晰地表示复杂杂的的的的条件条件条件条件组组合与合与合与合与应应做做做做的的的的动动作之作之作之作之间间的的的的对应对应关系关系关系关系,而其它的工具不易表,而其它的工具不易表,而其它的工具不易表,而其它的工具不易表示。示。示。示。uu一一一一张张判定表由
16、判定表由判定表由判定表由四部分四部分四部分四部分组组成,左上部列出所有条成,左上部列出所有条成,左上部列出所有条成,左上部列出所有条件,左下部是所有可能做的件,左下部是所有可能做的件,左下部是所有可能做的件,左下部是所有可能做的动动作,右上部是表作,右上部是表作,右上部是表作,右上部是表示各种条件示各种条件示各种条件示各种条件组组合的一个矩合的一个矩合的一个矩合的一个矩阵阵,右下部是和每种,右下部是和每种,右下部是和每种,右下部是和每种条件条件条件条件组组合相合相合相合相对应对应的的的的动动作。作。作。作。uu判定表的每一列判定表的每一列判定表的每一列判定表的每一列实质实质上是一条上是一条上是
17、一条上是一条规则规则,规规定了与定了与定了与定了与特定的条件特定的条件特定的条件特定的条件组组合相合相合相合相对应对应的的的的动动作。作。作。作。28详细设计的工具详细设计的工具详细设计的工具详细设计的工具 -判定表判定表判定表判定表例子例子 假假设某航空公司某航空公司规定,乘客可以免定,乘客可以免费托运重量不超托运重量不超过3030公斤的行李。公斤的行李。当行李重量超当行李重量超过3030公斤公斤时,对头等等舱的国内乘客超重部分每公斤收的国内乘客超重部分每公斤收费 4 4 元,元,对其它其它舱的乘客超重部分每公斤收的乘客超重部分每公斤收费 6 6 元,元,对外国乘客超重部分每公斤收外国乘客超
18、重部分每公斤收费比国内乘客多一倍,比国内乘客多一倍,对残疾乘客超重部分每公斤收残疾乘客超重部分每公斤收费比正常乘客少一半。用比正常乘客少一半。用判定表来表示与上述每种条件判定表来表示与上述每种条件组合相合相对应的的动作。作。与每种条件组合与每种条件组合所对应的动作表所对应的动作表所有条件所有条件条件组合矩阵条件组合矩阵所有可能的所有可能的动作列表动作列表国内乘客国内乘客国内乘客国内乘客头头头头 等等等等 舱舱舱舱残疾乘客残疾乘客残疾乘客残疾乘客行李行李行李行李 30kg30kg免费免费免费免费(W-30)*2(W-30)*2(W-30)*3(W-30)*3(W-30)*4(W-30)*4(W-
19、30)*6(W-30)*6(W-30)*8(W-30)*8(W-30)*2(W-30)*2T TT TT TF FT TT TT TT TT TT TT TT TT TT TF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F 29 1 12 23 34 45 5教授教授教授教授 T TF FF FF F副教授副教授副教授副教授 F FT TF FF F讲师讲师讲师讲师 F FF FT TF F助教助教助教助教 F FF FF FT T讲座讲座讲座讲座T TF FF FF FF F5050 3030 2525 2020 1515 例
20、例:某某校校制制定定了了教教师的的讲课课时津津贴标准准。对于于各各种种性性质的的讲座座,无无论教教师是是什什么么职称称,每每课时津津贴费一一律律是是5050元元;而而对于于一一般般的的授授课,则根根据据教教师的的职称称来来决决定定每每课时津津贴费:教教授授3030元元,副副教教授授2525元元,讲师2020元元,助助教教1515元。元。1 12 23 34 45 5教授教授教授教授 T TF FF FF F副教授副教授 F FT TF FF F讲师讲师讲师讲师 F FF FT TF F助教助教助教助教 F FF FT T讲座讲座讲座讲座T TF FF FF FF F5050 3030 2525
21、 2020 1515 3031“检查发货单检查发货单”的判定表的判定表3132无多分支判断无多分支判断结构构32333334建立判定表的步骤建立判定表的步骤 列出列出过程程执行期行期间的所有条件的所有条件(或所有或所有判断判断)。列出与一个具体列出与一个具体过程程(或模或模块)有关的所有关的所有有处理。理。将特定条件取将特定条件取值组合与特定的合与特定的处理相匹理相匹配,消去不可能配,消去不可能发生的条件取生的条件取值组合。合。将右部每一将右部每一纵列列规定定为一个一个处理理规则,即即对于某一条件取于某一条件取值组合将有什么合将有什么动作。作。3435uu判定判定判定判定树树是判定表的是判定表
22、的是判定表的是判定表的变变种,也能清晰地表示复种,也能清晰地表示复种,也能清晰地表示复种,也能清晰地表示复杂杂的条件的条件的条件的条件组组合与合与合与合与应应做的做的做的做的动动作之作之作之作之间间的的的的对应对应关系。关系。关系。关系。uu优优点:形式点:形式点:形式点:形式简单简单,不需任何,不需任何,不需任何,不需任何说说明,易看出含明,易看出含明,易看出含明,易看出含义义,易于掌握和使用。易于掌握和使用。易于掌握和使用。易于掌握和使用。uu缺点:缺点:缺点:缺点:简洁简洁性不如判定表性不如判定表性不如判定表性不如判定表,相同的数据元素往,相同的数据元素往,相同的数据元素往,相同的数据元
23、素往往要重复写多遍,而且越接近往要重复写多遍,而且越接近往要重复写多遍,而且越接近往要重复写多遍,而且越接近树树的叶端重复次的叶端重复次的叶端重复次的叶端重复次数越多。数越多。数越多。数越多。2.5 2.5 判定判定树35 详细设计的工具详细设计的工具详细设计的工具详细设计的工具 -判定树判定树判定树判定树行李费行李费算算法法行李重量行李重量W30国内乘客国内乘客外国乘客外国乘客头等舱头等舱其它舱其它舱残疾乘客残疾乘客-(W-30)*2正常乘客正常乘客-(W-30)*4残疾乘客残疾乘客-(W-30)*3正常乘客正常乘客-(W-30)*6头等舱头等舱其它舱其它舱残疾乘客残疾乘客-(W-30)*4
24、正常乘客正常乘客-(W-30)*8残疾乘客残疾乘客-(W-30)*6正常乘客正常乘客-(W-30)*12行李重量行李重量W30免费免费36教教教教师课时师课时津津津津贴贴判定判定判定判定树树注:判定表与判定树并注:判定表与判定树并不适用于作为一种通用不适用于作为一种通用的设计工具,通常将之的设计工具,通常将之用于辅助测试用于辅助测试37382.6 PDL(Program Design Language)2.6 PDL(Program Design Language)PDL是一种用于描述功能模是一种用于描述功能模块的的算法算法设计和和加工加工细节的的语言。称言。称为设计程序用程序用语言。它是一种
25、言。它是一种伪码。伪码的的语法法规则分分为“外外语法法”和和“内内语法法”。PDL具有具有严格的格的关关键字外字外语法法,用于定,用于定义控制控制结构和数据构和数据结构,同构,同时它的它的表示表示实际操作和条件的内操作和条件的内语法法可使用自然可使用自然语言的言的词汇。3839示例示例:拼词检查程序拼词检查程序PROCEDURE PROCEDURE spell_check spell_check IS IS BEGIN BEGIN Split document into single wordsSplit document into single words Look up words in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 详细 设计 PPT 学习 课件
限制150内