ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:103.93KB ,
资源ID:7963787      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7963787.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第五章软件详细设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第五章软件详细设计.docx

1、第五章软件详细设计第五章 软件详细设计5.1 详细设计的基本任务(1) 为每个模块进行详细的算法设计。用某种图形、表格、 语言等工具将每个模块处理过程的详细算法描述出来。(2) 为模块内的数据结构进行设计。对于需求分析、概要设 计确定的概念性的数据类型进行确切的定义。(3) 对数据结构进行物理设计,即确定数据库的物理结构。 物理结构主要指数据库的存储记录格式、存储记录安排和存 储方法,这些都依赖于具体所使用的数据库系统。(4) 其他设计:根据软件系统的类型,还可能要进行以下设 计:1 代码设计。为了提高数据的输入、分类、存储、检索 等操作,节约内存空间,对数据库中的某些数据项的值要进 行代码设

2、计。2 输入 /输出格式设计。3 人机对话设计。对于一个实时系统,用户与计算机频 繁对话,因此要进行对话方式、内容、格式的具体设计。(5) 编写详细设计说明书。(6) 评审。对处理过程的算法和数据库的物理结构都要评 审。5.2 结构化程序设计方法详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程,也称 “过程设计 ”,详细设计的目标不仅是逻辑上 正确地实现每个模块的功能,并使设计出的处理过程清晰易 读。过程设计中采用的典型方法是结构化程序设计 (简称 SP)方法,最早是由 E.W.Dijkstra 在 60 年代中期提出的,它是实 现详细设计目标的关键技术之一,它指导人们用良好的思想

3、方法开发易于理解、易于验证的程序。结构化程序设计方法的基本要点是:1. 采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化 的方法。2. 使用三种基本控制结构构造程序 任何程序都可由顺序、 选择、重复三种基本控制结构构造。(1) 用顺序方式对过程分解,确定各部分的执行顺序。(2) 用选择方式对过程分解,确定某个部分的执行条件。(3) 用循环方式对过程分解, 确定某个部分进行重复的开始 和结束的条件。(4) 对处理过程仍然模糊的部分反复使用以上分解方法, 最终可将所有细节确定下来。3. 主程序员组的组织形式 指开发程序的人员组织方式应采用由一个主程序员 (负

4、责全部技术活动 )、一个后备程序员 ( 协调、支持主程序员 )和一个程序管理员 (负责事务性工作, 如收集、 记录数据, 文档资料管理等)三个为核心,再加上一些专家 (如通信专家、数据库专家)、其他技术人员组成小组。5.3详细设计描述法详细描述处理过程常用三种工具:图形、表格和语言。 本节主要介绍结构化程序流程图、盒图和问题分析图三种图 形工具。5.3.1程序流程图程序流程图又称为程序框图,它是使用最广泛的一种 描述程序逻辑结构的工具。ABA多分支选择顺序其中A或B为:L非转移语旬(可以是空)2.三种基本结构之一C为判断条件I 图5-1三种基本控制结构的流程圈挤直11型掙循环为了克服流程图的缺

5、陷,要求流程图都应由三种基本控制 结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这 样的流程图是结构化的流程图。532 PAD 图PAD 图指问题分析图(Problem Analysis Diagram)是日本日立公司于1979年提出的一种算法描述工具,它是 一种由左往右展开的二维树型结构。定义A (时A细化)图手2 PAD的基本控制豁构PAD图的控制流程为自上而下、从左到右的执行。由机器 自动通过走树的办法生成相应的源代码,大大提高了软件的 生产率。5.3.3 过程设计语言过程设计语言(Problem Design Language, 简称 PDL), 也称程序描述语言(Problem

6、Descripition Language) ,又 称为伪码。它是一种用于描述算法设计和处理细节的语言。用PDL表示的程序结构一般有以下几种:(1) 顺序结构:采用自然语言描述。(2) 选择结构: IF-ELSE 结构IF条件 IF 条件 处理 S1 或 处理 SELSE处理 S2 ENDIFENDIF IF-ORIF-ELSE 结构IF条件 1处理 S2ORIF条件 2 处理 S2ELSE处理 SnENDIFCASE结构 CASE OFCASE(1)处理 S1CASE(2)处理 S2ENDCASE(3) 重复结构:1 FOR吉构FOR i=1 TO n循环体ENDFOR2 WHILE结构WH

7、ILE 条件循环体ENDWHILE3 UNTIL结构REPEAT循环体UNTIL 条件(4) 出口结构:ESCAPE吉构(退出本层结构)WHILE 条件处理 S1ESCAPE L IF 条件 处理 S2ENDWHILEL :CYCLE吉构(循环内部进入循环的下一次)L : WHILE 条件处理 S1CYCLE L IF 条件处理 S2ENDWHILE(5) 模块定义与调用:模块定义PROCEDURE 模块名(参数)RETURNEND模块调用CALL 模块名(参数)(6) 数据定义:属性有:字符、整型、实型、双精度、指针、数组、结构等类型。(7) 输入 / 输出:GET( 输入变量表 )PUT(

8、 输出变量表 )PDL现以 xx 系统主控模块详细设计为例,说明如何用 来描述。PROCEDURE 模块名 ( ) 清屏; 显示 xx 系统用户界面;PUT( “请输入用户口令:”);GET(password) ;IF password 系统口令提示警告信息; 退出运行ENDIF 显示本系统主菜单;WHILE(true) 接收用户选择 ABC; IF ABC= “退出”Break ;ENDIF调用相应下层模块完成用户选择功能;ENDWHILE清屏;RETURNEND从以上例子可以看到 PDL 的总体结构与一般程序完全 相同。外语法同相应程序语言一致,内语法使用自然语言, 易编写,易理解,也很容

9、易转换成源程序。5.4 Jackso n 方法5.4.1 概述Jackson 方法是面向数据结构的设计方法。JSP(Jackson Strutured Programming )方法定义了一组以数据 结构为指导的映射过程,它根据输入、输出的数据结构,按 一定的规则映射成软件的过程描述,即程序结构,而不是软 件的体系结构,因此该方法适用于详细设计阶段。5.4.2 Jackson 结构图由于 Jackson 方法面向数据结构设计, 所以提供了自己的 工具 Jackson 结构图。 Jackson 指出,无论数据结构还是 程序结构,都限于三种基本结构及它们的组合,因此,他给 出了三种基本结构的表示。

10、 (见课本)1. 顺序结构2. 选择结构3. 重复结构JACKSON 结构图的特点:(1) 能对结构进行自顶向下分解,因此可以表示层次结构。(2) 结构易读,形象直观。(3) 既能表示数据结构也能表示程序结构,且表示的是组 成关系。5.4.3 JSP 设计步骤JSP方法一般通过以下五个步骤来完成设计:(1) 分析并确定输入数据和输出数据的逻辑结构,并用 Jackson 结构图来表示这些数据结构。(2) 找出输入数据结构和输出数据结构中有对应关系的数 据单元。 “对应关系 ”指这些数据单元在数据内容上、数量上 和顺序上有直接的因果关系,对于重复的数据单元,重复的 次序和次数都相同才有对应关系。(

11、3) 按一定的规则由输入、输出的数据结构导出程序结构。(4) 列出基本操作与条件, 并把它们分配到程序结构图的适 当位置。(5) 用伪码写出程序。就例子说明 JSP 方法设计过程。第 5 章例题分析与解答一、填空题1. 结构化程序设计方法的要点是使用 结构 ,自顶向 下、逐步求精地构造算法或程序。 答案:三种基本控制结构2. 为了产生结构化的流程图 ,应由三种基本控制结构顺序组合或 而成。答案:完整嵌套3. 结构化程序设计方法提倡开发人员的组织形式是 。答案:主程序员组4. PAD 图是一种由左向右展开的二维树型结构 ,图中的竖线为程序的 。答案:层次线5. 在 Jackson 方 法 中 解

12、决结构冲突的具体办法是引入 。 答案:中间数据结构或中间文件二、选择题1. 详细设计与概要设计衔接的图形工具是 ( ) 。A.DFD 图 B.SC 图 C.PAD 图 D. 程序流程图答案: B2. 结构化程序设计主要强调的是 ( )。A.程序的效率 B.程序的执行速度 C.程序的易读性 D.程序的规模答案: C3. 详细设计的任务是确定每个模块的 ( )。A.算法 B.功能 C.调用关系 D.输入输出数据答案:A4. Jackson 方法实现从 ( )导出 ( )。A.数据结构 B.数据流图 C.程序结构 D.软件模块层次结构答案: A、C5. 在软件详细设计过程中不采用的描述工具是 ( )

13、。A. 判定表 B.IPO 图 C.PAD 图 D.DFD 图 答案: D第 5 章自测题及参考答案一、名词解释1. 结构化程序设计 2.PAD 3.PDL 4.详细设计二、填空题1. 结构化程序设计方法使用 构造程序。(三种基本控制结构)2 .在详细设计阶段,一种历史最悠久、使用最广泛的描述程 序逻辑结构的工具是 。(程序流程图)3. 结构化程序设计技术指导人们用良好的思想方法开发 的程序。(易于理解、易于验证)4. 详细描述处理过程常用的三种工具是图形、 语言和 (表格)5. Jackson 图不仅可表示程序结构,还可表示 。(数据结构)6. PDL 具有严格的关键字外层语法,用于定义控制

14、结构、数 据结构和 。(模块接口)7. 详细设计的目标不仅是逻辑上正确地实现每个模块的功 能,还应使设计出的处理过程 。(清晰易读)8. 用 JSP 方法导出程序结构后,还要列出 ,并把它们分配到程序结构图的适当位置上去。 (操作与条件)9. 在详细设计阶段,除了对模块内的算法进行设计,还应对 模块内的 进行设计。(数据结构)10. 在详细设计阶段,为了提高数据的输入、储存、检索等操 作的效率并节约存储空间,对某些数据项的值要进行 设计。(代码)三、选择题1.在详细设计阶段,一种二维树型结构并可自动生成程序代 码的描述工具是 ( A )。A.PAD B.PDL C.IPO D. 判定树2. 结

15、构化程序设计的一种基本方法是 ( D )。A.筛选法 B.递归法 C.迭代法 D.逐步求精法3. JSP方法是一种面向(C )的设计方法。A.对象 B.数据流 C.数据结构 D.控制结构4. JSP方法主要用于规模适中的(A )系统的开发A.数据处理 B.实时处理 C.文字处理 D.科学计算5. PDL 是软件开发过程中用于 ( C )阶段的描述工具。A.需求分析 B.概要设计 C.详细设计 D.编程6. 在详细设计阶段,可自动生成程序代码并可作为注释出现 在源程序中的描述工具是 ( B ) 。A.PAD B.PDL C.IPO D.流程图7. Jackson图上下层之间的关系是(B )。A.

16、调用关系 B.组成关系 C.继承关系 D.嵌套关系8. JSP 方法根据输入输出的数据结构按一定的规则映射成软 件的 ( C )。A.体系结构 B.数据结构 C.程序结构 D.顺序结构9. 程序的三种基本控制结构是 ( B )。A.过程、子程序和分程序 B.顺序、选择和重复C.递归、堆栈和队列 D.调用、返回和转移10 .程序的三种基本控制结构的共同特点是 ( D )。A.不能嵌套使用 B.只能用来写简单程序C.已经用硬件实现 D.只有一个入口和一个出口软件工程习题参考答案 51、详细设计的基本任务是什么,有哪几种描述方法 ? 答:详细设计的基本任务包括:(1) 为每个模块进行详细的算法设计(

17、2) 为模块内的数据结构进行设计(3) 对数据库进行物理设计(4) 其他设计(5) 编写详细设计说明书(6) 评审详细设计的描述方法有图形、 表格和语言, 其中图形常用结构化 程序流程图、盒图和 PAD( 问题分析图 )为描述工具,语言常用过 程设计语言 (PDL) 来作为工具。2、结构化程序设计的基本要点是什么 ?答:主要有三个:(1) 采用自顶向下、逐步求精的程序设计方法(2) 使用三种基本控制结构构造程序。 任何程序都可以由顺序、 选 择、重复 (循环 )三种基本控制结构构造,这三种基本结构的共同 点是单入口、单出口。(3) 主程序员组的组织形式。3、简述 Jackson 方法的设计步骤

18、。答: Jackson 方法的设计步骤如下:(1) 分析并确定输入数据和输出数据的逻辑结构, 并用 Jackson 结 构图表示这些数据结构。(2) 找出输入数据结构和输出数据结构中有对应关系的数据单元。(3) 按一定的规则由输入、输出的数据结构导出程序结构。(4) 列出基本操作与条件,并把它们分配到程序结构图的适当位(5) 用伪码写出程序。4、请使用流程图、PAD图和PDL语言描述下列程序的算法。(1)在数据A(1)A(10)中求最大数和次大数。解:如图所示:流程图输出mas,PDL语言描述:GET(a1,a2,.a10)max=a1;max2=a2;FOR i=2 TO 10IF aima

19、xmax2=max;max=ai;ELSEIF aimax2max2=ai;ENDIFENDIFENDFORPUT(max,max2)END(2)输入三个正整数作为边长,判断该三条边构成的三角形是等 边、等腰还是一般三角形。解:如图:否-11 出是19角: i輸”等三腿镐出:这不星一个三岀一箱输g二pjS输入边去吗九曲值TF4=C b X“等边三箱形”输出“等腰三角形e斷出“等边三箱形F辑出14不是三角形辅出“尊腰三角世”输出一殷三角形”4*fce wd b+c* and c+ *bPDL语言描述如下:GET(a,b,c)IF (a+bc and b+ca and c+ab)IF (a=b)I

20、F (a=c)PUT(等边三角形)ELSEPUT(等腰三角形 )ENDIFELSEIF(a=c)PUT(等腰三角形 )ELSEIF (b=c)PUT(等腰三角形 )ELSEPUT(一般三角形 )ENDIFENDIFENDIFELSEPUT (这不是一个三角形 )ENDIF5、用 PAD 图描述下面问题的控制结构。有一个表 A(1) 、 A(2) 、.A(n) ,按递增顺序排列。给定一个 Key 值,在表中用折半法查找。若找到,将表位置 i送入x,否则将零送到x,同时将key值插入表中。算法:(1)置初值H=1(表头),T=N(表尾)置 i=(H+T)/2(取整)。若Key=A(i),则找到,i

21、送到x;若KeyA(i),贝U Key在表的后半部分,i+1送入H;若KeyvA(i),则Key在表的前半部分,i-1 送入T,重复第2步查找直到HT为止。查不到时,将 A(i),.A(N)移到 A(i+1).A(N+1),Key 值送入A(i)中。解:如图所示:开始j叨A|j+l=A|jwhil4 (J=i) j=J-lAEii=KeyM=0输入key的值TT-i-1X1|while anl (HUT7rtIt1T i=(H+T)/2x=iKey=Ai6、一个正文文件由若干记录组成,每个记录是一个字符串,要 求统计每个记录中空格字符的个数及文件中空格字符的总个数。 要求输出数据格式是每复制一行字符串后, 另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,用 Jackson方法设计该程序结构。输入数据结构国 输出数据结构图7、画出下面用PDL写出的程序的PAD图习题5-吕图WHILE P DOIF AO THEN A1 ELSE A2 ENDIF;IF B0 THEN B1;IF C0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;PAD图如下图所示T

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1