-软件详细设计教学总结_第1页
-软件详细设计教学总结_第2页
-软件详细设计教学总结_第3页
-软件详细设计教学总结_第4页
-软件详细设计教学总结_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、员 ( 协调、支持主程序员 )和一 个程序管理员 (负责事务性工作, 如收集、 记录数据, 文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据 库专家)、其他技术人员组成小组。5.3详细设计描述法详细描述处理过程常用三种工具:图形、表格和语言。 本节主要介绍结构化程序流程图、盒图和问题分析图三种图 形工具。5.3.1程序流程图程序流程图又称为程序框图,它是使用最广泛的一种 描述程序逻辑结构的工具。为了克服流程图的缺陷,要求流程图都应由三种基本控制 结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这 样的流程图是结构化的流程图。532 PAD 图PAD 图指问题分析图(Problem

5、 Analysis Diagram)是日本日立公司于1979年提出的一种算法描述工具,它是 一种由左往右展开的二维树型结构。WHILE备件 | 一“当型"循环UNTIL条件A宦兒盘£対A細化闱5-2 PAD的基木拴制结构PAD图的控制流程为自上而下、从左到右的执行。由机器 自动通过走树的办法生成相应的源代码,大大提高了软件的 生产率。5.3.3 过程设计语言过程设计语言(Problem Design Language, 简称 PDL), 也称程序描述语言(Problem Descripition Language) ,又 称为伪码。它是一种用于描述算法设计和处理细节的语言。

6、用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)处理 S2ELSE处理 SnENDCASE(3) 重复结构: FOR吉构FOR i=1 TO n循环体ENDFOR WHILE结构WHILE条件循环体ENDWHILE UNTIL结构REPEAT循环体UNTIL条件(4) 出

7、口结构:ESCAPE吉构(退出本层结构)WHILE 条件处理 S1ESCAPE L IF 条件 处理 S2ENDWHILEL :CYCLE吉构(循环内部进入循环的下一次)L : WHILE 条件处理 S1CYCLE L IF条件处理 S2ENDWHILE(5)模块定义与调用:模块定义PROCEDURE 模块名 ( 参数)RETURNEND模块调用CALL模块名 ( 参数)(6)数据定义:DECLARE属性 变量名属性有:字符、整型、实型、双精度、指针、数组、结构等类型。(7) 输入 / 输出:GET(输入变量表 )PUT(输出变量表 )PDL现以 xx 系统主控模块详细设计为例,说明如何用 来

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

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

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

11、 列出基本操作与条件, 并把它们分配到程序结构图的适 当位置。(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. 在软件详细设计过程中不采用的描述工具是( )。A. 判定表 B.IPO 图 C.PAD 图 D.DFD 图 答案: D第 5 章自测题及参

13、考答案一、名词解释1. 结构化程序设计 2.PAD 3.PDL4.详细设计二、填空题1. 结构化程序设计方法使用 构造程序。(三种基本控制结构)2 .在详细设计阶段,一种历史最悠久、使用最广泛的描述程 序逻辑结构的工具是 。(程序流程图)3. 结构化程序设计技术指导人们用良好的思想方法开发的程序。(易于理解、易于验证)4. 详细描述处理过程常用的三种工具是图形、 语言和 (表格)5. Jackson 图不仅可表示程序结构,还可表示 。(数据结构)6. PDL 具有严格的关键字外层语法,用于定义控制结构、数 据结构和 。(模块接口)7. 详细设计的目标不仅是逻辑上正确地实现每个模块的功 能,还应

14、使设计出的处理过程 。(清晰易读)8. 用 JSP 方法导出程序结构后,还要列出 ,并把它们分配到程序结构图的适当位置上去。 (操作与条件)9. 在详细设计阶段,除了对模块内的算法进行设计,还应对 模块内的 进行设计。(数据结构)10. 在详细设计阶段,为了提高数据的输入、储存、检索等操 作的效率并节约存储空间,对某些数据项的值要进行 设计。(代码)三、选择题1.在详细设计阶段,一种二维树型结构并可自动生成程序代 码的描述工具是 ( A )。A.PAD B.PDL C.IPOD. 判定树2. 结构化程序设计的一种基本方法是( D )。A.筛选法B.递归法C.迭代法D.逐步求精法3. JSP方法

15、是一种面向(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.IPOD.流程图7. Jackson图上下层之间的关系是(B )。A.调用关系 B.组成关系 C.继承关系 D.嵌套关系8. JSP 方法根据输入输出的数据结构按一定的规则映射成软 件的 (

16、 C )。A.体系结构 B.数据结构 C.程序结构 D.顺序结构9. 程序的三种基本控制结构是 ( B )。A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移10 .程序的三种基本控制结构的共同特点是 ( D )。A.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口软件工程习题参考答案 51、详细设计的基本任务是什么,有哪几种描述方法 ? 答:详细设计的基本任务包括:(1) 为每个模块进行详细的算法设计(2) 为模块内的数据结构进行设计(3) 对数据库进行物理设计(4) 其他设计(5) 编写详细设计说明书(6) 评审详细设计的描述

17、方法有图形、 表格和语言, 其中图形常用结构化 程序流程图、盒图和 PAD( 问题分析图 )为描述工具,语言常用过 程设计语言 (PDL) 来作为工具。2、结构化程序设计的基本要点是什么 ?答:主要有三个:(1) 采用自顶向下、逐步求精的程序设计方法(2) 使用三种基本控制结构构造程序。 任何程序都可以由顺序、 选 择、重复 (循环 )三种基本控制结构构造,这三种基本结构的共同 点是单入口、单出口。(3) 主程序员组的组织形式。3、简述 Jackson 方法的设计步骤。答: Jackson 方法的设计步骤如下:(1) 分析并确定输入数据和输出数据的逻辑结构, 并用 Jackson 结 构图表示

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

19、2)END(2)输入三个正整数作为边长,判断该三条边构成的三角形是等 边、等腰还是一般三角形。解:如图:PDL语言描述如下:GET(a,b,c)IF (a+b>c and b+c>a and c+a>b)IF (a=b)IF (a=c)PUT("等边三角形")ELSEPUT(" 等腰三角形 ")ENDIFELSEIF(a=c)PUT(" 等腰三角形 ")ELSEIF (b=c)PUT(" 等腰三角形 ")ELSEPUT(" 一般三角形 ")ENDIFENDIFENDIFELSEPUT (" 这不是一个三角形 ")ENDIF5、用 PAD 图描述下面问题的控制结构。有一个表 A(1) 、 A(2) 、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论