软件工程第六章细详设计.ppt
《软件工程第六章细详设计.ppt》由会员分享,可在线阅读,更多相关《软件工程第六章细详设计.ppt(90页珍藏版)》请在三一办公上搜索。
1、第六章 详细设计(过程设计、模块设计),6.1 详细设计概述6.2 过程设计工具6.3 面向数据结构的设计方法6.4 程序复杂度的定量度量6.5 详细设计说明书,6.1 详细设计概述6.1.1 详细设计阶段的目标与任务6.1.2 结构化程序设计,详细设计阶段的目标:确定应该怎样具体地实现所要求的系统。精确地描述整个目标系统,从而在编码阶段可以把这个描述翻译成用某种程序设计语言书写的程序。,详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码.结构程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础.,6.1.1 详细设计阶段的目标
2、与任务,详细设计的主要任务,主要任务:编写详细设计说明书为此,设计人员应:(1)确定每个模块的算法,用工具表达算法的过 程,写出模块的详细过程性描述。(2)确定每一模块的数据结构。(3)确定模块接口细节。详细设计是编码的先导。,结构化程序设计逐步求精三种基本结构,6.1.2 结构化程序设计,结构程序设计的概念最早是由E.W.Dijstra提出.Bohm 和 Jacobini 证明了只要顺序、选择、循环这三种基本结构就能实现任何单入口单出口的程序。,结构程序设计,结构程序设计的经典的定义是:“如果一个程序的代码仅仅通过顺序,选择,和循环这三种基本控制结构进行连接,并且每个代码块只有一个入口和一个
3、出口,则称这个程序是结构化的”,逐步求精的含义,详细设计阶段逐步求精的含义:把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。总体设计阶段逐步求精的含义:把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统,逐步求精的要领,不要急于用计算机指令、数字和逻辑符号去表示对问题的解法,而是用自然语言(或其他工具)描述问题的解法,最开始的描述处于比较高的抽象层次,接着对抽象描述逐步分解,直到描述能被计算机理解为止。,例子逐步求精,读入三个数,找出并打印其中的最大数,二级求精将X1与X2的大数存于MAX中If x1x2 then max=x1 else max=x
4、2将X3与MAX的大数存于MAX中If x3max then max=x3,一级算法 输入X1,X2,X3 将X1与X2的大数存于MAX中 将X3与MAX的大数存于MAX中 输出结果,B,exp,A,A,B,exp,A,A,exp,T,F,T,T,F,F,顺序结构,选择结构,循环结构,1)“当”型循环,2)直到型循环,三种基本的控制结构,结构程序设计技术的优越性,(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。(2)用先全局后局部、先整体后细节、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。(3)不使用GO
5、 TO语句仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致,易于阅读和理解。,(4)控制结构有确定的逻辑模式,编写程序代码只限于很少几种直截了当的方式,因此源程序清晰流畅。(5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。(6)程序的逻辑结构清晰,有利于程序正确性证明。,6.2 过程设计的工具,过程设计工具包括图形,表格,语言三类.不论是哪一类工具,都应该指明控制流,处理功能,数据组织以及其它方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码.,描述程序处理过程的工具称为过程设计工具,1.程序流程图,2.盒图(N-S图),3.问题
6、分析图(PAD),5.过程设计语言(PDL)(伪码),4.判定树与判定表,程序流程图的标准符号,示例,盒图(N-S图),用方框图代替传统的流程图描述五种基本控制结构的图形构件(1)顺序型,A,B,C,(2)选择型(If then else),A,B,F,条件,T,A,F,T,条件,then 部分,then 部分,else部分,If then else,If then,(3)多分支选择型(CASE型),A1,值1,A2,An,.,.,条件,值2,值n,(4)WHILE重复型(5)UNTIL重复型,S(循环体),DO-WHILE P,S(循环体),REPEAT UNTIL P,(先测试循环),(后
7、测试循环),循环条件,(6)移出标记,A,C,B,F,X6,T,A:,D,(调用结构),1)功能域(即一个特定控制结构的作用 域)明确2)不可能任意转移控制3)很容易确定局部和全程数据的作用域4)很容易表现嵌套关系,也可以表示模块 的层次结构,N-S图的特点,N-S图示例,例1:,start if p then while q do f end do else block g n end block endifstop,例2:以下是两个程序流程图,试用NS图表示。,问题分析图(PAD)(Problem Analysis Diagram),A,B,C,A,B,T,F,条件,基本控制结构:,(1)
8、顺序结构,(2)选择结构,(3)重复结构,WHILE C,S,UNTIL C,S,(先测试循环),(后测试循环),等价的PASCAL语言:REPEAT C UNTIL S,等价的PASCAL语言:WHILE C DO S,(4)多分支选择型(CASE型),A1,值1,值2,值n,A2,An,.,.,.,.,条件,走图,PAD图的结构类似树型结构,如果按照自上而下、自左而右的顺序走树,即可将PAD图转换为相应的算法乃至程序。,例1:,startif p then while q do f end doelse block g n end blockendifstop,例2:以下是两个程序流程图,
9、试用PAD图表示。,使用PAD符号设计的程序必然是结构化的程序.PAD图所描绘的程序结构十分清晰.用PAD图表现程序逻辑,易读,易记,易懂.容易将PAD图 转换成高级语言源程序.可用软件工具实现自动转换.即可以表示程序逻辑,也可以描绘数据结构.支持自顶向下,逐步求精方法的使用.,PAD图的优点:,判定表,程序流程图、N-S图、PAD图都不易清楚的描述含有多重嵌套的条件选择。判定表可以清晰的表示复杂的条件组合与其对应的处理之间的关系。,一张判定表由4部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作.判定表右半部实质上是
10、一条规则,规定了与特定条件组合相对应的动作.,所有条件,条件组合矩阵,与每种条件组合所对应的动作表,所有可能的动作列表,国内乘客,头 等 舱,残疾乘客,行李30kg,免费,(W-30)*2,(W-30)*3,(W-30)*4,(W-30)*6,(W-30)*8,(W-30)*12,T,T,T,F,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,F,例1 假设某航空公司规定,乘客可以免费托运重量不超过30公斤的行李。当行李重量 超过30公斤时,对头等舱的国内乘客超重部分每公斤收费 4 元,对其它舱的国内 乘客超重部分每公斤收费 6
11、元,对外国乘客超重部分每公斤收费比国内乘客多一 倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表来表示与上述 每种条件组合相对应的动作。,用判定表表示计算行李费算法,例2:某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。,行李费算 法,行李重量 W30,国内乘客,外国乘客,头等舱,其它舱,残疾乘客-(W-30)*2,正常乘客-(W-30)*4,残疾乘客-(W-30)*3,正常乘客-(W-30)*6,头等舱,其它舱,残疾乘客-(W-
12、30)*4,正常乘客-(W-30)*8,残疾乘客-(W-30)*6,正常乘客-(W-30)*12,行李重量 W30,免费,判定树是判定表的变体,其优点是形式简单,不需要任何说明,一眼就可以看出它的含义.,判定树,例1、某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在2040岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用判定表或判定树描述上述问题的加工逻辑。,分析:本题条件包括年龄、文化程度、性别三个,构成的判定条件取值表如表33所示,所有的组合条件
13、为3X3x218,2、用判定表描述“检查定货单”的处理逻辑:“如果金额超过1000元而又未过期,则发出批准单和提货单。如果金额超过2000元,但已过期,则不发出批准单和提货单。如果金额低于2000元,则不论是否过期,都发出批准单和提货单,而且对低于2000元已过期的还需发出通知单”。,Jackson图表示方法,Jackson图,6.3 面向数据结构的设计方法,Jackson图的优点:,(1)Jackson图不仅便于表示层次结构,而且也有利于对结构自顶向下分解;,(2)Jackson图形象直观,可读性好;,(3)Jackson图不仅能表示数据结构,也能表示程序结构(因为程序结构也可以由上述3种基
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第六 章细详 设计

链接地址:https://www.31ppt.com/p-6063557.html