软件工程第六章详细设计培训课件

上传人:日度 文档编号:149731108 上传时间:2020-10-29 格式:PPT 页数:90 大小:659.50KB
返回 下载 相关 举报
软件工程第六章详细设计培训课件_第1页
第1页 / 共90页
软件工程第六章详细设计培训课件_第2页
第2页 / 共90页
软件工程第六章详细设计培训课件_第3页
第3页 / 共90页
软件工程第六章详细设计培训课件_第4页
第4页 / 共90页
软件工程第六章详细设计培训课件_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《软件工程第六章详细设计培训课件》由会员分享,可在线阅读,更多相关《软件工程第六章详细设计培训课件(90页珍藏版)》请在金锄头文库上搜索。

1、1,第六章 详细设计(过程设计、模块设计),6.1 详细设计概述 6.2 过程设计工具 6.3 面向数据结构的设计方法 6.4 程序复杂度的定量度量 6.5 详细设计说明书,2,6.1 详细设计概述 6.1.1 详细设计阶段的目标与任务 6.1.2 结构化程序设计,3,详细设计阶段的目标: 确定应该怎样具体地实现所要求的系统。精确地描述整个目标系统,从而在编码阶段可以把这个描述翻译成用某种程序设计语言书写的程序。,详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码.结构程序设计技术是实现上述目标的关键技术,是详细设计的逻辑基础.,6.

2、1.1 详细设计阶段的目标与任务,4,详细设计的主要任务,主要任务:编写详细设计说明书 为此,设计人员应: (1)确定每个模块的算法,用工具表达算法的过 程,写出模块的详细过程性描述。 (2)确定每一模块的数据结构。 (3)确定模块接口细节。 详细设计是编码的先导。,5,结构化程序设计 逐步求精 三种基本结构,6.1.2 结构化程序设计,6,结构程序设计的概念最早是由E. W. Dijstra提出. Bohm 和 Jacobini 证明了只要顺序、选择、循环这三种基本结构就能实现任何单入口单出口的程序。,结构程序设计,结构程序设计的经典的定义是:“如果一个程序的代码仅仅通过顺序,选择,和循环这

3、三种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的”,7,逐步求精的含义,详细设计阶段逐步求精的含义:把一个模块的功能逐步分解细化为一系列具体的处理步骤或某种高级语言的语句。 总体设计阶段逐步求精的含义:把一个复杂问题的解法分解和细化成一个由许多模块组成的层次结构的软件系统,8,逐步求精的要领,不要急于用计算机指令、数字和逻辑符号去表示对问题的解法,而是用自然语言(或其他工具)描述问题的解法,最开始的描述处于比较高的抽象层次,接着对抽象描述逐步分解,直到描述能被计算机理解为止。,9,例子逐步求精,读入三个数,找出并打印其中的最大数,二级求精 将X1与X2的大

4、数存于MAX中 If x1x2 then max=x1 else max=x2 将X3与MAX的大数存于MAX中 If x3max then max=x3,一级算法 输入X1,X2,X3 将X1与X2的大数存于MAX中 将X3与MAX的大数存于MAX中 输出结果,10,B,exp,A,A,B,exp,A,A,exp,T,F,T,T,F,F,顺序结构,选择结构,循环结构,1)“当”型循环,2)直到型循环,三种基本的控制结构,11,结构程序设计技术的优越性,(1)自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律,因此可以显著提高软件开发工程的成功率和生产率。 (2)用先全局后局部、先整体后细节

5、、先抽象后具体的逐步求精过程开发出的程序有清晰的层次结构,因此容易阅读和理解。 (3)不使用GO TO语句仅使用单入口单出口的控制结构,使得程序的静态结构和它的动态执行情况比较一致,易于阅读和理解。,12,(4)控制结构有确定的逻辑模式,编写程序代码只限于很少几种直截了当的方式,因此源程序清晰流畅。 (5)程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。 (6)程序的逻辑结构清晰,有利于程序正确性证明。,13,6.2 过程设计的工具,过程设计工具包括图形,表格, 语言三类. 不论是哪一类工具,都应该指明控制流,处理功能,数据组织以及其它方面的实现细节,从而在编码阶段能把对设

6、计的描述直接翻译成程序代码.,描述程序处理过程的工具称为过程设计工具,14,1. 程序流程图,2. 盒图(N-S图),3. 问题分析图(PAD),5. 过程设计语言(PDL)(伪码),4. 判定树与判定表,15,程序流程图的标准符号,16,17,示例,18,盒图(N-S图),用方框图代替传统的流程图 描述五种基本控制结构的图形构件 (1) 顺序型,A,B,C,19,(2) 选择型(If then else),A,B,F,条件,T,A,F,T,条件,then 部分,then 部分,else部分,If then else,If then,20,(3)多分支选择型(CASE型),A1,值1,A2,A

7、n,.,.,条件,值2,值n,21,(4) WHILE重复型 (5) UNTIL重复型,S (循环体),DO-WHILE P,S (循环体),REPEAT UNTIL P,(先测试循环),(后测试循环),循环条件,22,(6) 移出标记,A,C,B,F,X6,T,A:,D,(调用结构),23,1)功能域(即一个特定控制结构的作用 域)明确 2)不可能任意转移控制 3)很容易确定局部和全程数据的作用域 4)很容易表现嵌套关系,也可以表示模块 的层次结构,N-S图的特点,24,N-S图示例,25,例1:,start if p then while q do f end do else block

8、g n end block endif stop,26,例2:以下是两个程序流程图,试用NS图表示。,27,28,29,问题分析图(PAD) (Problem Analysis Diagram),A,B,C,A,B,T,F,条件,基本控制结构:,(1)顺序结构,(2)选择结构,30,(3)重复结构,WHILE C,S,UNTIL C,S,(先测试循环),(后测试循环),等价的PASCAL语言: REPEAT C UNTIL S,等价的PASCAL语言: WHILE C DO S,31,(4) 多分支选择型(CASE型),A1,值1,值2,值n,A2,An,. . .,.,.,.,条件,32,走

9、图,PAD图的结构类似树型结构,如果按照自上而下、自左而右的顺序走树,即可将PAD图转换为相应的算法乃至程序。,33,例1:,start if p then while q do f end do else block g n end block endif stop,34,例2:以下是两个程序流程图,试用PAD图表示。,35,36,37,使用PAD符号设计的程序必然是结构化的程序. PAD图所描绘的程序结构十分清晰. 用PAD图表现程序逻辑,易读,易记,易懂. 容易将PAD图 转换成高级语言源程序.可用软件工具实现自动转换. 即可以表示程序逻辑,也可以描绘数据结构. 支持自顶向下,逐步求精方

10、法的使用.,PAD图的优点:,38,判定表,程序流程图、N-S图、PAD图都不易清楚的描述含有多重嵌套的条件选择。判定表可以清晰的表示复杂的条件组合与其对应的处理之间的关系。,一张判定表由4部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作.判定表右半部实质上是一条规则,规定了与特定条件组合相对应的动作.,39,所有条件,条件组合矩阵,与每种条件组合 所对应的动作表,所有可能的 动作列表,国内乘客,头 等 舱,残疾乘客,行李30kg,免费,(W-30)*2,(W-30)*3,(W-30)*4,(W-30)*6,(W-3

11、0)*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 元,对外国乘客超重部分每公斤收费比国内乘客多一 倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定表来表示与上述 每种条件组合相对应的动作。,40,用判定表表示计算行李费算法,41,例2:某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论

12、教师是什么职称,每课时津贴费一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。,42,行李费 算 法,行李重量 W30,国内乘客,外国乘客,头等舱,其它舱,残疾乘客 - (W-30)*2,正常乘客 - (W-30)*4,残疾乘客 - (W-30)*3,正常乘客 - (W-30)*6,头等舱,其它舱,残疾乘客 - (W-30)*4,正常乘客 - (W-30)*8,残疾乘客 - (W-30)*6,正常乘客 - (W-30)*12,行李重量 W30,免费,判定树是判定表的变体,其优点是形式简单,不需要任何说明, 一眼就可以看出它的含

13、义.,判定树,43,例1、某厂对部分职工重新分配工作的政策是: 年龄在20岁以下者,初中文化程度脱产学习。 高中文化程度当电工;年龄在2040岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用判定表或判定树描述上述问题的加工逻辑。,44,分析:本题条件包括年龄、文化程度、性别 三个,构成的判定条件取值表如表33所示,所有的组合条件为3X3x218,45,46,47,2、用判定表描述“检查定货单”的处理逻辑:“如果金额超过1000元而又未过期,则发出批准单和提货单。如果金额超过2000元,但已过期,则不发出批

14、准单和提货单。如果金额低于2000元,则不论是否过期,都发出批准单和提货单,而且对低于2000元已过期的还需发出通知单”。,48,Jackson图表示方法,Jackson图,6.3 面向数据结构的设计方法,49,Jackson图的优点:,(1)Jackson图不仅便于表示层次结构,而且也有利于对结构自顶向下分解;,(2)Jackson图形象直观,可读性好;,(3)Jackson图不仅能表示数据结构,也能表示程序结构(因为程序结构也可以由上述3种基本结构组成)。,Jackson图的缺点:,在选择结构和重复结构中,选择条件或循环结束条件不能直接在Jackson图中表示出来。这样就影响了图形的表达能

15、力,也不利于直接把图翻译成程序。,Jackson图的优点,缺点,50,改进的Jackson图,51,Jackson程序设计方法,例:高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分文件)合并成一个新文件(简称考生新文件)。考生基本情况文件和考分文件都是由考生记录组成的。为简便起见,考生基本情况文件中的考生记录的内容包括:准考证号、姓名、通讯地址。考分文件中的考生记录的内容包括:准考证号和各门考分。合并后的考生新文件自然也是由考生记录组成,内容包括:准考证号、姓名、通讯地址和各门考分。,52,第一步 利用Jackson图描述数据结构,对要求解的问题进行分析,确定输入数据和输出数据的逻辑结构,并用Jackson图描述这些数据结构。,Jackson程序设计方法由五个步骤组成:,53,第二步 找出输入数据结构和输出数据结构 的对应关系,找出输入数据结构和输出数据结构中有对应关系的数据单元,即有直接因果关系、在程序中可以同时处理的数据单元。需要注意的是,对于重复的数据单元,必须是重复的次序、次数都相同才有可能有对应关系。,54,第三步 确定程序结构图,根据下述三规则,由Jackson图导出相应的程序结构图:,(1)为每对有对应关系的数据单元,按照它们在数据结构图中所处的层次,在程序结构图中的相应层次画一个处理框。如果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号