软件工程学概述ppt课件第5章详细设计.ppt

上传人:飞****2 文档编号:71804837 上传时间:2023-02-06 格式:PPT 页数:50 大小:427KB
返回 下载 相关 举报
软件工程学概述ppt课件第5章详细设计.ppt_第1页
第1页 / 共50页
软件工程学概述ppt课件第5章详细设计.ppt_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《软件工程学概述ppt课件第5章详细设计.ppt》由会员分享,可在线阅读,更多相关《软件工程学概述ppt课件第5章详细设计.ppt(50页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、详细设计详细设计5.15.1 详细设计阶段概述详细设计阶段概述详细设计阶段概述详细设计阶段概述5.25.2 详细设计阶段的描述工具详细设计阶段的描述工具详细设计阶段的描述工具详细设计阶段的描述工具第第5章章5.1 5.1 详细设计阶段概述详细设计阶段概述 详细设计的目的详细设计的目的:为软件结构图为软件结构图 (SC)(SC)中的每一个模块确定采用的算法和模块内中的每一个模块确定采用的算法和模块内 数据结构,用某种选定的表达工具给出清数据结构,用某种选定的表达工具给出清 晰的描述。晰的描述。详细设计阶段的主要任务详细设计阶段的主要任务:编写软件编写软件的的 “详细设计说明书详细设计说明书”需求

2、分析需求分析问题定义问题定义可性行研究可性行研究计划计划时期时期概要设计概要设计详细设计详细设计编编 码码 测测 试试开发开发时期时期运行与维护运行与维护运运 行行时时 期期详细设计阶段的主要任务为每一模块确定算法确定每一模块使用的数据结构确定模块的外部接口和用户界面为每一模块设计一组测试用例描述工具程序流程图N-SN-S 图PADPAD 图PDLPDL 伪代码5.2 详细设计阶段的描述工具A1、顺序型一、程序流程图 B几个连续的加工依次序排列expFTA B2、选择型 由某个判断式的取值决定选择两个加工中的一个。3、当型循环型 当循环控制条件成立时,重复执行特定的加工。expexpFTS S

3、4、直到型循环型 重复执行特定的加工,直到循环控制条件成立时。expexpFTS S5、多情况选择型 列出多种加工情况,根据控制变量的取值,选择执行其一。exp=1exp=1FTS1S1exp=2exp=2exp=nexp=nS2S2TSnSnTFF-具有嵌套形式的程序流程图X1X1FTa aX4X4c cTf fTFF入口b bX2X2X3X3d de eg gh hi iX5X5X6X6FTFT=1=2=3 标准化程序流程图规定符号X1X1 起止端点 输入/输出 一般处理 准备或预处理 预定义处理 条件判断 循环上界 循环下界 文件或文档 外接 内接 流程线虚线 省略线 并行方式 注解或注

4、释 流程符号的使用规则 1、循环符号的使用 循环名进入循环条件循环体 循环名 i=1,100 i=1,100 S=S+i i i S=0S=S+iS=0,i=1i 100i 100i=i+1 F F T T循环体-循环流程符号的使用 2、判断有一个入口,但也允许有多个可选出口A:BA:B A=B ABX=?X=?x=1 x=2 x=3 x=4X=?X=?=1 =2 =3 =4 =5-多出口判断流程符号的使用 请利用程序流程图描述下列问题的程序结构 某汽车修配厂,有一个存有汽车零件的仓库,其中存有若干种零件,请编写一个查询程序,用于查询该库中某零件的库存量为多少。设该模块为 查询模块。请设计该模

5、块的 程序结构。具体要求:1、应具有重复查询功能;2、应具有数据检测功能;3、请利用程序流程图描述该模块的算法。顺序型二、N-SN-S 图A B 选择型-Nassi and Shneideman BpFTA ApFT p=1=2=n A1 A2 An do while(p)S do until(p)S 当型循环型 直到型循环型 多分支选择型 零件号100011000210003100041000510006库存量100012508866920203450建立零件库(s数组),i=0 输入零件号 x do while(x!=s0i)i+i+x=s0i)Y N s0i输出 s1i 输入错误!继续查

6、询?Y N 跳出循环 三、PADPAD 图 直到型循环型A BAB p pA p pWhile P SUntil P S 当型循环型 顺序型 选择型A1 p pA2An=1=1=2=2=n=n 多分支选择型循环型-Problem Analysis Diagrams17s22=0while num(1-1000)输入 age ageage=17=17 s17+s18+=18=18 s19+=19=19 s20+=20=20 s21+=21=21 s22+=22=22while i(17-22)输出 sibeginend 请为学生成绩管理系统中的学生成绩统计模块设计程序结构。要求:1、统计各专业、

7、各班级的高等数学平均分;2、并将统计结果输出;3、按平均成绩以班级为单位由高到低排序;4、请利用PAD图描述该模块的算法。四、PDLPDL-Program Ddesign LanguagePDL PDL 是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪代码(Pseudo code)PDLPDL-关键词+自然语言(1)、数据说明:格式:TYPE AS 其功能是定义数据的类型和作用域说明:1.变量名:是一个模块内部使用的变量或模块间共用 的全局变量名。2.限定词1:标明数据类型 3.限定词2:标明该变量的作用域 TYPE number AS STRING LENGT

8、H(12)(2)、程序块:PDL的过程成分是由块结构构成的,而块将作为一个单个的实体来执行。BEGIN END(3)、子程序结构:把 PDL 中的过程称为子程序。PROCEDURE INTERFACE END(4)、基本控制结构:IF THEN ;ELSE ;ENDIF-选择型结构 DO WHILE ;ENDDO REPEAT UNTIL ;ENDREP-重复型结构 DO LOOP ;EXIT WHEN ENDLOOP DO FOR ;ENDFOR-重复型结构 -多路选择结构 CASE OF;WHEN SELECT;WHEN SELECT;DEFAULT:缺省或错误case:;ENDCASE

9、READ/WRITE TO -输入/输出结构 Enter a vector Set Maximum to the value of the first element in the vector DO for each second one to the last IF value of THEN element is greater than the Maximum value Set Maximum to value of the element ENDDO Print the Maximum valueInput array AMax=A(1)DO for I=2 to N IF Max

10、A(I)Set Max=A(I)ENDIFENDDOPrint Max三、程序复杂性的度量 程序复杂性主要是指模块内部程序的复杂性。它 直接关系到软件开发费用的多少,开发周期的长短和 软件和软件内部潜伏错误的多少。同时它也是软件可 理解性的另一种度量。它可以用来计算任何一个程序的复杂性;对于不合理的程序,例如对于长度动态增长的程序,或者对于原则上无法排错的程序,不应当使用它进行 复杂性计算;如果程序中指令条数、附加存储量、计算时间增多,不会减少程序的复杂性。为了度量程序复杂性,要求复杂性度量应满足以下假设:如果设每行代码的出错率为每100行源程序中可能的错误数目。例如,每行代码的出错率为 1%

11、,也就是说,每 100 行源程序中就可能有一个错误。1、代码行度量法:统计程序中的源代码的行数较小的程序-1.3%1.8%/行较大的程序-2.7%3.2%/行 该方法是利用程序模块的程序图中环路的个数,来计算程序的复杂性的。为此,该方法也称为环路复杂度计算法。2、McCabe 度量法:利用程序的控制流来度量程序的复杂性 它是一种退化了的程序流程图。即:把程序流程图中每个处理符号都退化成一个结点,而原来流程图中的流程线,则变成连接不同结点的有向弧。(1)程序图符号TC1C2CABED(2)从流程图导出程序图 A开始C1BCED结束C2TF(3)环路复杂性的计算方法 V(G)=m-n+p 说明:V

12、(G)是有向图G中环路数;m:为图G中弧数;n:为图G中节点数;p:为图G中强连通分量个数;A B C D E F G H K L I V(G)=13-11+1=3 V(G)=13-11+1=3McCabe 的环路复杂性度量值为 3请将右侧给出的程序流程图转换为程序图并计算其环路值。a=20b%3=1 b+=3 a+b-=5TFFT a=0,b=1 程序的环路复杂度则取决于程序控制流的复杂度,也就 是取决于程序结构的复杂程度。当程序内分支或循环个数增 加时,则相应地环域复杂度也随之增加。因此,它是对测试 难度的一种定量度量,也能对软件最终的可靠性给出某种预 测。(4)、环路复杂度的用途V(G)

13、=10V(G)0 A=A+1 IF A10 THEN X=A ELSE Y=Z END IF IF Y0 THEN PRINT G E LSE PRINT K END IF STOP 设某模块的功能是:读入任意长的设某模块的功能是:读入任意长的 一段英文课文,将其分解为单字。然后一段英文课文,将其分解为单字。然后 输出一个单词表,并指出每个单词在课输出一个单词表,并指出每个单词在课 文中所出现的次数。文中所出现的次数。请按下列给出的文字要求,用 PDL 描述其该模块的算法 execute process a execute process a REPEAT UNTIL condition X8

14、 REPEAT UNTIL condition X8 execute process b execute process b IF condition X1 IF condition X1 THEN BEGIN THEN BEGIN execute process f execute process f IF condition X6 IF condition X6 THEN REPEAT UNTIL condition X7 THEN REPEAT UNTIL condition X7 execute process i execute process i ENDREP ENDREP ELS

15、E BEGIN ELSE BEGIN execute process g execute process g execute process h execute process h END END ENDIF ENDIF END END 请将下列的 PDL 表示的某模块的过程性描述,改为用:1、N-S 图 2、PAD 图表示 ELSE CASE OF Xi ELSE CASE OF Xi WHEN condition X2 SELECT WHEN condition X2 SELECT DO WHILE condition X5 DO WHILE condition X5 execute pr

16、ocess C execute process C ENDDO ENDDO WHEN condition X3 SELECT process d WHEN condition X3 SELECT process d WHEN condition X4 SELECT process e WHEN condition X4 SELECT process e ENDCASE ENDCASE ENDIF ENDIF ENDREP ENDREP execute process j execute process jEND END 5-1 假设只有SEQUENCE和DO-WHILE两种控制结构,怎样利用它

17、们完成IF-THEN-ELSE操作?5-2 假设只允许使用SEQUENCE和IF-THEN-ELSE两种控制结构,怎样利用它们完成DO-WHILE操作?5-3 画出下列伪码程序的程序流程图和盒图:STARTIF p THENWHILE q DOf习题习题习题习题END DO ELSEBLOCK g nEND BLOCKEND IFSTOP5-4 图6.18给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。图6.18 一个非结构化程序(3)在(2)题的设计中你使用附加的标志变量flag了吗?若没用,请再设计一个使用flag的程序;若用了,

18、再设计一个不用flag的程序。5-5 研究下面的伪码程序(见书131页):要求:(1)画出程序流程图。(2)程序是结构化的吗?说明理由。(3)若程序是非结构化的,请设计一个等价的结构化程序并且画出程序流程图。(4)此程序的功能是什么?它完成预定功能有什么隐含的前提条件吗?5-6 用Ashcroft_Manna技术可以将非结构化的程序转换为结构化程序,图6.19(见书132页)是一个转换的例子。(1)你能否从这个例子总结出Ashcroft-Manna技术的一些基本方法?(2)进一步简化图6.19(b)给出的结构化设计。5-7 某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与

19、交易中的每股价格和股数有关的附加手续费。如果交易总金额少于1000元,则基本手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况下附加手续费为基本手续费的9%。当每股售价在14元到25元之间时,附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续费为基本手续费的6%。当每股售价超过25元时,如果交易的股数零散(即,不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。要求:(1)用判定表表示手续费的计算方法;(2)用判定树表示手续费的计算方法。5-8 画出下列伪码程序(见书132页)的流图,计算它的环形复杂度。你觉得这个程序的逻辑有什么问题吗?5-9 把统计空格程序的Jackson图(图6.13)改画为等价的程序流程图和盒图。5-10 人机对话由操作员信息和系统信息交替组成。假设一段对话总是由操作员信息开始以系统信息结束,请用Jackson图描绘这样的人机对话过程。

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com