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

上传人:第*** 文档编号:49835452 上传时间:2018-08-03 格式:PPT 页数:50 大小:427KB
返回 下载 相关 举报
软件工程学概述课件第5章详细设计_第1页
第1页 / 共50页
软件工程学概述课件第5章详细设计_第2页
第2页 / 共50页
软件工程学概述课件第5章详细设计_第3页
第3页 / 共50页
软件工程学概述课件第5章详细设计_第4页
第4页 / 共50页
软件工程学概述课件第5章详细设计_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

1、详细设计详细设计5.15.1 详细设计阶段概述详细设计阶段概述5.25.2 详细设计阶段的描述工具详细设计阶段的描述工具第第5 5章章5.1 详细设计阶段概述详细设计的目的: : 为软件结构图 (SC)中的每一个模块确定采用的算法和模块内 数据结构,用某种选定的表达工具给出清晰的描述。详细设计阶段的主要任务: : 编写软件 的 “详细设计说明书” 需求分析问题定义可性行研究计划 时期概要设计详细设计编 码 测 试开发 时期运行与维护运 行 时 期详细设计阶 段的主要任 务为每一模块确定算法确定每一模块使用的数据结构确定模块的外部接口和用户界面为每一模块设计一组测试用例描述工具程序流程图N-SN

2、-S 图PADPAD 图PDLPDL 伪代码5.2 详细设计阶段的描述工具A1、顺序型一、程序流程图B几个连续的加工依次序排列expFTA B2、选择型由某个判断式的取值 决定选择两个加工中的一 个。3、当型循环型当循环控制条件成立时 ,重复执行特定的加工。expexpFTS S4、直到型循环型重复执行特定的加工, 直到循环控制条件成立时。 expexpFTS S5、多情况选择型列出多种加工 情况,根据控制变 量的取值,选择执 行其一。exp=1exp=1 FT S1S1exp=2exp=2exp=nexp=nS2S2TSnSnTFF- 具有嵌套形式的程序流程图X1X1FTa aX4X4c c

3、Tf fTFF入口b bX2X2X3X3d de eg gh hi iX5X5X6X6FTFT=1=2=3标准化程序流程图规定符号X1X1起止端点 输入/输出 一般处理 准备或预处理 预定义处理条件判断 循环上界 循环下界 文件或文档 外接 内接流程线虚线 省略线 并行方式注解或注释流程符号的使用规则1、循环符号的使用循环名 进入循环条件循环体循环名 i=1,100 i=1,100 S=S+ii i S=0S=S+iS=0,i=1i 100i 100i=i+1F FT T 循环体- 循环流程符号的使用 2、判断有一个入口,但也允许有多个可选出口A:BA:BA=B ABX=?X=?x=1x=2x

4、=3x=4X=?X=?=1 =2 =3 =4 =5- 多出口判断流程符号的使用 请利用程序流程图描述下列问题的程序结构 某汽车修配厂,有一个存有汽车零件的 仓库,其中存有若干种零件,请编写一个查 询程序,用于查询该库中某零件的库存量为 多少。 设该模块为 查询模块。请设计该模块的程序结构。具体要求:1、应具有重复查询功能;2、应具有数据检测功能;3、请利用程序流程图描述该模块的算法。 顺序型二、N-SN-S 图AB选择型- Nassi and ShneidemanBp FT AAp FTp=1=2=nA1 A2 Ando while(p)Sdo until (p)S当型循环型 直到型循环型 多

5、分支选择型 零件号100011000210003100041000510006库存量100012508866920203450建立零件库 (s数组), i=0输入零件号 xdo while(x!=s0i)i+i+x=s0i)Y Ns0i 输出 s1i 输入错误!继续查询?Y N跳出循环 三、PADPAD 图直到型循环型ABABp pAp pWhile P SUntil P S当型循环型顺序型选择型A1p pA2An=1=1=2=2= =n n多分支选择型循环 型- Problem Analysis Diagrams17s22=0while num(1-1000) 输入 ageageage=17

6、=17s17+s18+=18=18s19+=19=19s20+=20=20s21+=21=21s22+=22=22while i(17-22) 输出 sibeginend请为学生成绩管理系统中的学生成绩统计模块 设计程序结构。要求:1、统计各专业、各班级的高等数学平均分;2、并将统计结果输出;3、按平均成绩以班级为单位由高到低排序;4、请利用PAD图描述该模块的算法。 四、PDLPDL- Program Ddesign LanguagePDL PDL 是一种用于描述功能模块的算法设计和 加工细节的语言。称为设计程序用语言。它 是一种伪代码(Pseudo code) PDLPDL -关键词+自然

7、语言(1)、数据说明:格式: TYPE AS 其功能是定义数据的类型和作用域说明: 1. 变量名:是一个模块内部使用的变量或模块间共用的全局变量名。2. 限定词1 :标明数据类型3. 限定词2 :标明该变量的作用域TYPE number AS STRING LENGTH (12)(2)、程序块: PDL的过程成分是由块结构构成的,而块将作为 一个单个的实体来执行。BEGIN END(3)、子程序结构:把 PDL 中的过程称为子程序。PROCEDURE INTERFACE END(4)、基本控制结构:IF THEN ; ELSE ;ENDIF- 选择型结构 DO WHILE ; ENDDOREP

8、EAT UNTIL ; ENDREP- 重复型结构 DO LOOP ; EXIT WHEN ENDLOOPDO FOR ; ENDFOR- 重复型结构 - 多路选择结构 CASE OF ;WHEN SELECT ;WHEN SELECT ; DEFAULT: ;ENDCASEREAD/WRITE TO - 输入/输出结构 Enter a vectorSet Maximum to the value of the first element in the vector DO for each second one to the lastIF value of THEN element is gr

9、eaterthan the Maximum valueSet Maximum to value of the elementENDDOPrint the Maximum valueInput array A Max=A(1) DO for I=2 to NIF Max=20b%3=1b+=3a+ b-=5TFFTa=0,b=1程序的环路复杂度则取决于程序控制流的复杂度,也就是取决于程序结构的复杂程度。当程序内分支或循环个数增 加时,则相应地环域复杂度也随之增加。因此,它是对测试 难度的一种定量度量,也能对软件最终的可靠性给出某种预测。(4)、环路复杂度的用途V(G)0 A=A+1 IF A10

10、 THEN X=AELSE Y=ZEND IF IF Y0 THEN PRINT GE LSE PRINT KEND IFSTOP 设某模块的功能是:读入任意长的一段英文课文,将其分解为单字。然后输出一个单词表,并指出每个单词在课文中所出现的次数。 请按下列给出的文字要求,用 PDL 描述其该模块的算法 execute process a execute process aREPEAT UNTIL condition X8 REPEAT UNTIL condition X8execute process b execute process bIF condition X1 IF conditi

11、on X1THEN BEGIN THEN BEGINexecute process f execute process fIF condition X6 IF condition X6THEN REPEAT UNTIL condition X7 THEN REPEAT UNTIL condition X7execute process i execute process iENDREP ENDREPELSE BEGIN ELSE BEGIN execute process g execute process gexecute process h execute process hEND END

12、 ENDIF ENDIF END END 请将下列的 PDL 表示的某模块的过程性描述, 改为用:1、N-S 图 2、PAD 图表示ELSE CASE OF Xi ELSE CASE OF XiWHEN condition X2 SELECT WHEN condition X2 SELECTDO WHILE condition X5 DO WHILE condition X5execute process C execute process CENDDO ENDDO WHEN condition X3 SELECT process d WHEN condition X3 SELECT proc

13、ess dWHEN condition X4 SELECT process e WHEN condition X4 SELECT process eENDCASE ENDCASEENDIF ENDIFENDREP ENDREPexecute process j execute process j END END 5-1 假设只有SEQUENCE和DO-WHILE两种控制结构,怎 样利用它们完成IF-THEN-ELSE操作? 5-2 假设只允许使用SEQUENCE和IF-THEN-ELSE两种控 制结构,怎样利用它们完成DO-WHILE操作? 5-3 画出下列伪码程序的程序流程图和盒图: START IF p THEN WHILE q DO f习题习题END DOELSE BLOCKgn END BLOCK END IF STOP 5-4 图6.18给出的程序流程图代表一个非结构化的程序, 请问: (1) 为什么说它是非结构化的? (2) 设计一个等价的结构化程序。图6.18 一个非结构化程序(3) 在(2)题的设计中你使用附加的标志变量flag了吗?若没 用,请再设计一个

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

当前位置:首页 > 办公文档 > 解决方案

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