第五章软件详细设计_第1页
第五章软件详细设计_第2页
第五章软件详细设计_第3页
第五章软件详细设计_第4页
第五章软件详细设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

/第五章软件详细设计5.1详细设计的基本任务

(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。

(2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行精确的定义。

(3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录支配和存储方法,这些都依靠于详细所运用的数据库系统。

(4)其他设计:依据软件系统的类型,还可能要进行以下设计:

①代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。

②输入/输出格式设计。

③人机对话设计。对于一个实时系统,用户和计算机频繁对话,因此要进行对话方式、内容、格式的详细设计。

(5)编写详细设计说明书。

(6)评审。对处理过程的算法和数据库的物理结构都要评审。5.2结构化程序设计方法

详细设计是软件设计的其次阶段,主要确定每个模块详细执行过程,也称“过程设计”,详细设计的目标不仅是逻辑上正确地实现每个模块的功能,并使设计出的处理过程清晰易读。过程设计中接受的典型方法是结构化程序设计(简称SP)方法,最早是由E.W.Dijkstra在60年头中期提出的,它是实现详细设计目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。

结构化程序设计方法的基本要点是:

1.接受自顶向下,逐步求精的程序设计方法

在需求分析,概要设计中,都接受了自顶向下,逐层细化的方法。

2.运用三种基本限制结构构造程序

任何程序都可由依次、选择、重复三种基本限制结构构造。

(1)用依次方式对过程分解,确定各部分的执行依次。

(2)用选择方式对过程分解,确定某个部分的执行条件。

(3)用循环方式对过程分解,确定某个部分进行重复的起先和结束的条件。

(4)对处理过程照旧模糊的部分反复运用以上分解方法,最终可将全部微小环节确定下来。

3.主程序员组的组织形式

指开发程序的人员组织方式应接受由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。5.3详细设计描述法

详细描述处理过程常用三种工具:图形、表格和语言。本节主要介绍结构化程序流程图、盒图和问题分析图三种图形工具。

程序流程图

程序流程图又称为程序框图,它是运用最广泛的一种描述程序逻辑结构的工具。

为了克服流程图的缺陷,要求流程图都应由三种基本限制结构依次组合和完整嵌套而成,不能有相互交叉的状况,这样的流程图是结构化的流程图。5.3.2PAD图

PAD图指问题分析图(ProblemAnalysisDiagram),是日本日立公司于1979年提出的一种算法描述工具,它是一种由左往右绽开的二维树型结构。

PAD图的限制流程为自上而下、从左到右的执行。由机器自动通过走树的方法生成相应的源代码,大大提高了软件的生产率。

过程设计语言

过程设计语言(ProblemDesignLanguage,简称PDL),也称程序描述语言(ProblemDescripitionLanguage),又称为伪码。它是一种用于描述算法设计和处理微小环节的语言。

用PDL表示的程序结构一般有以下几种:

(1)依次结构:接受自然语言描述。

(2)选择结构:①IF-ELSE结构IF条件IF条件处理S1或处理SELSE处理S2ENDIFENDIF②IF-ORIF-ELSE结构IF条件1处理S2ORIF条件2处理S2...ELSE处理SnENDIF③CASE结构CASEOFCASE(1)处理S1CASE(2)处理S2...ELSE处理SnENDCASE(3)重复结构:①FOR结构FORi=1TOn循环体ENDFOR②WHILE结构WHILE条件循环体ENDWHILE③UNTIL结构REPEAT循环体UNTIL条件(4)出口结构:①ESCAPE结构(退出本层结构)WHILE条件处理S1ESCAPELIF条件处理S2ENDWHILEL:……②CYCLE结构(循环内部进入循环的下一次)L:WHILE条件处理S1CYCLELIF条件处理S2ENDWHILE(5)模块定义和调用:①模块定义PROCEDURE模块名(参数)...RETURNEND②模块调用CALL模块名(参数)(6)数据定义:DECLARE属性变量名……属性有:字符、整型、实型、双精度、指针、数组、结构等类型。(7)输入/输出:GET(输入变量表)PUT(输出变量表)现以xx系统主控模块详细设计为例,说明如何用PDL来描述。PROCEDURE模块名()清屏;显示xx系统用户界面;PUT(“请输入用户口令:”);GET(password);IFpassword<>系统口令提示警告信息;退出运行ENDIF显示本系统主菜单;WHILE(true)接收用户选择ABC;IFABC=“退出”Break;ENDIF调用相应下层模块完成用户选择功能;ENDWHILE清屏;RETURNEND

从以上例子可以看到PDL的总体结构和一般程序完全相同。外语法同相应程序语言一样,内语法运用自然语言,易编写,易理解,也很简洁转换成源程序。5.4Jackson方法

概述

Jackson方法是面对数据结构的设计方法。

JSP(JacksonStruturedProgramming)方法定义了一组以数据结构为指导的映射过程,它依据输入、输出的数据结构,按确定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适用于详细设计阶段。

5.4.2Jackson结构图

由于Jackson方法面对数据结构设计,所以供应了自己的工具——Jackson结构图。Jackson指出,无论数据结构还是程序结构,都限于三种基本结构及它们的组合,因此,他给出了三种基本结构的表示。(见课本)

1.依次结构

2.选择结构

3.重复结构JACKSON结构图的特点:

(1)能对结构进行自顶向下分解,因此可以表示层次结构。

(2)结构易读,形象直观。

(3)既能表示数据结构也能表示程序结构,且表示的是组成关系。JSP设计步骤

JSP方法一般通过以下五个步骤来完成设计:

(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。

(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。“对应关系”指这些数据单元在数据内容上、数量上和依次上有干脆的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。

(3)按确定的规则由输入、输出的数据结构导出程序结构。

(4)列出基本操作和条件,并把它们支配到程序结构图的适当位置。

(5)用伪码写出程序。

就例子说明JSP方法设计过程。第5章例题分析和解答一、填空题

1.结构化程序设计方法的要点是运用________结构,自顶向下、逐步求精地构造算法或程序。

答案:三种基本限制结构2.为了产生结构化的流程图,应由三种基本限制结构依次组合或________而成。

答案:完整嵌套3.结构化程序设计方法提倡开发人员的组织形式是________。

答案:主程序员组4.PAD图是一种由左向右绽开的二维树型结构,图中的竖线为程序的________。

答案:层次线5.在Jackson方法中解决结构冲突的详细方法是引入________。

答案:中间数据结构或中间文件二、选择题

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章自测题及参考答案一、名词说明

1.结构化程序设计

2.PAD

3.PDL4.详细设计

二、填空题

1.结构化程序设计方法运用______构造程序。(三种基本限制结构)

2.在详细设计阶段,一种历史最悠久、运用最广泛的描述程序逻辑结构的工具是______。(程序流程图)

3.结构化程序设计技术指导人们用良好的思想方法开发______的程序。(易于理解、易于验证)

4.详细描述处理过程常用的三种工具是图形、语言和______。(表格)

5.Jackson图不仅可表示程序结构,还可表示______。(数据结构)

6.PDL具有严格的关键字外层语法,用于定义限制结构、数据结构和______。(模块接口)

7.详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程______。(清晰易读)

8.用JSP方法导出程序结构后,还要列出______,并把它们支配到程序结构图的适当位置上去。(操作和条件)

9.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的______进行设计。(数据结构)

10.在详细设计阶段,为了提高数据的输入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行______设计。(代码)

三、选择题

1.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是(

A)。

A.PAD

B.PDL

C.IPO

D.判定树

2.结构化程序设计的一种基本方法是(

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.调用关系

B.组成关系

C.继承关系

D.嵌套关系

8.JSP方法依据输入输出的数据结构按确定的规则映射成软件的(C

)。

A.体系结构

B.数据结构

C.程序结构

D.依次结构

9.程序的三种基本限制结构是(

B)。

A.过程、子程序和分程序

B.依次、选择和重复

C.递归、堆栈和队列

D.调用、返回和转移

10.程序的三种基本限制结构的共同特点是(

D

)。

A.不能嵌套运用

B.只能用来写简洁程序

C.已经用硬件实现

D.只有一个入口和一个出口《软件工程》习题参考答案51、详细设计的基本任务是什么,有哪几种描述方法?

答:详细设计的基本任务包括:

(1)为每个模块进行详细的算法设计

(2)为模块内的数据结构进行设计

(3)对数据库进行物理设计

(4)其他设计

(5)编写详细设计说明书

(6)评审

详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。2、结构化程序设计的基本要点是什么?

答:主要有三个:

(1)接受自顶向下、逐步求精的程序设计方法

(2)运用三种基本限制结构构造程序。任何程序都可以由依次、选择、重复(循环)三种基本限制结构构造,这三种基本结构的共同点是单入口、单出口。

(3)主程序员组的组织形式。3、简述Jackson方法的设计步骤。

答:Jackson方法的设计步骤如下:

(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。

(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。

(3)按确定的规则由输入、输出的数据结构导出程序结构。

(4)列出基本操作和条件,并把它们支配到程序结构图的适当位置。

(5)用伪码写出程序。4、请运用流程图、PAD图和PDL语言描述下列程序的算法。

(1)在数据A(1)~A(10)中求最大数和次大数。

解:如图所示:

PDL语言描述:

GET(a[1],a[2],...a[10])

max=a[1];

max2=a[2];

FORi=2TO10

IFa[i]>max

max2=max;

max=a[i];

ELSE

IFa[i]>max2

max2=a[i];

ENDIF

ENDIF

ENDFOR

PUT(max,max2)

END

(2)输入三个正整数作为边长,推断该三条边构成的三角形是等边、等腰还是一般三角形。

解:如图:

PDL语言描述如下:

GET(a,b,c)

IF(a+b>candb+c>aandc+a>b)

IF(a=b)

IF(a=c)

PUT("等边三角形")

ELSE

PUT("等腰三角形")

ENDIF

ELSE

IF(

温馨提示

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

评论

0/150

提交评论