




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 软件详细设计5.1 详细设计的基本任务(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。(2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。(3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。(4)其他设计:根据软件系统的类型,还可能要进行以下设计:代码设计。为了提高数据的输入、分类、存储、检 索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。输入/输出格式设计。人机对话设计。对于
2、一个实时系统,用户与计算机 频繁对话,因此要进行对话方式、内容、格式的具体设计。(5)编写详细设计说明书。(6)评审。对处理过程的算法和数据库的物理结构都要评审。5.2 结构化程序设计方法 详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程,也称“过程设计”,详细设计的目标不仅是逻辑上正确地实现每个模块的功能,并使设计出的处理过程清晰易读。过程设计中采用的典型方法是结构化程序设计(简称SP)方法,最早是由 E.W.Dijkstra在60年代中期提由的,它 是实现详细设计目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。结构化程序设计方法的基本要点是:1. 采用
3、自顶向下,逐步求精的程序设计方法在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。2. 使用三种基本控制结构构造程序任何程序都可由顺序、选择、重复三种基本控制结构构造。(1)用顺序方式对过程分解,确定各部分的执行顺序。(2)用选择方式对过程分解,确定某个部分的执行条件。(3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。(4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。3. 主程序员组的组织形式指开发程序的人员组织方式应采用由一个主程序员(负 责全部技术活动 卜一个后备程序员(协调、支持主程序员)和一文档资记录数据,如收集、负责事务性工作,(
4、个程序管理 员.料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。5.3详细设计描述法详细描述处理过程常用三种工具:图形、表格和语言。本节主要介绍结构化程序流程图、盒图和问题分析图三种图 形工具。5.3.1 程序流程图程序流程图又称为程序框图,它是使用最广泛的一种描 述程序逻辑结构的工具。为了克服流程图的缺陷,要求流程图都应由三种基本控制 结构顺序组合和完整嵌套而成,不能有相互交叉的情况,这 样的流程图是结构化的流程图。.5.3.2 PAD 图PAD 图指问题分析图(Problem Analysis Diagram) ,是 日本日立公司于1979年提由的一种
5、算法描述工具,它是一 种由左往右展开的二维树型结构。PAD图的控制流程为自上而下、从左到右的执行。由机器自动通过走树的办法生成相应的源代码,大大提高了软件的 生产率。5.3.3 过程设计语言过程设计语言(Problem Design Language, 简称 PDL),也 称程序描述语言(Problem Descripition Language) ,又称为伪码。它是一种用于描述算法设计和处理细节的语言。用PDL表示的程序结构一般有以下几种:(1) 顺序结构:采用自然语言描述。选择结构:(2) IF-ELSE 结构IF 条件 IF 条件处理 S1 或 处理 SELSE处理 S2 ENDIF E
6、NDIF IF-ORIF-ELSE 结构IF条件1处理S2ORIF条件 2处理S2ELSE处理 SnENDIFCASE结构CASE OFCASE(1) 处理 S1CASE(2)S2处理ELSE 处理 SnENDCASE(3) 重复结构:FOR吉构FOR i=1 TO n 循环体ENDFORWHILE吉构条件WHILE循环体ENDWHILEUNTIL结构REPEAT循环体UNTIL 条件(4) 出口结构:ESCAPE吉构(退由本层结构)WHILE 条件S1处理ESCAPE L IF 条件处理 S2ENDWHILEL :CYCLE吉构(循环内部进入循环的下一次)L : WHILE 条件处理 S1C
7、YCLE L IF条件处理 S2ENDWHILE(5) 模块定义与调用:模块定义PROCEDURE 模块名( 参数)RETURNEND模块调用CALL 模块名 ( 参数 )(6) 数据定义:变量名属性 DECLARE属性有:字符、整型、实型、双精度、指针、数组、结构等类型。(7) 输入 / 输出:GET(输入变量表)PUT(输出变量表)现以 xx 系统主控模块详细设计为例,说明如何用PDL来描述。( ) 模块名PROCEDURE清屏;系统用户界面;显示xxPUT( “请输入用户口令: ” );GET(password) ;IF password< >提示警告信息;退出运行ENDIF
8、显示本系统主菜单;WHILE(true);接收用户选择ABC IF ABC= “退出”Break;ENDIF调用相应下层模块完成用户选择功能;ENDWHILE清屏;RETURNEND从以上例子可以看到PDL的总体结构与一般程序完全相同。外语法同相应程序语言一致,内语法使用自然语言,易编写,易理解,也很容易转换成源程序。5.4 Jackson 方法5.4.1 概述Jackson 方法是面向数据结构的设计方法。JSP( Jackson Strutured Programming) 方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而
9、不是软件的体系结构,因此该方法适用于详细设计阶段。5.4.2 Jackson 结构图由于 Jackson 方法面向数据结构设计,所以提供了自己的工具 Jackson 结构图。Jackson 指出,无论数据结构还是程序结构,都限于三种基本结构及它们的组合,因此,他给出了三种基本结构的表示。(见课本)1. 顺序结构选择结构2.3. 重复结构JACKSON 结构图的特点:( 1 ) 能对结构进行自顶向下分解,因此可以表示层次结构。( 2)结构易读,形象直观。( 3)既能表示数据结构也能表示程序结构,且表示的是组成关系。5.4.3 JSP 设计步骤JSP 方法一般通过以下五个步骤来完成设计:(1)分析
10、并确定输入数据和输出数据的逻辑结构,并用Jackson 结构图来表示这些数据结构。(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。 “对应关系”指这些数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。(3)按一定的规则由输入、输出的数据结构导出程序结构。(4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。(5)用伪码写出程序。就例子说明JSP方法设计过程。第 5 章例题分析与解答一、填空题自顶向,结构 结构化程序设计方法的要点是使用1.下、逐步求精地构造算法或程序。答案:三种基本控制结构2 .为了产生结构化的流程
11、图,应由三种基本控制结构顺序组合或 而成。答案:完整嵌套3 .结构化程序设计方法提倡开发人员的组织形式是答案:主程序员组4 .PAD 图是一种由左向右展开的二维树型结构,图中的竖线为程序的。答案:层次线5 .在Jackson方法中解决结构冲突的具体办法是引入答案:中间数据结构或中间文件二、选择题1 . 详细设计与概要设计衔接的图形工具是()A.DFD 图B.SC 图C.PAD 图D.程序流程图答案: B2 .结构化程序设计主要强调的是()。A.程序的效率B.程序的执行速度 C.程序的易读性序的规模C答案:3 .详细设计的任务是确定每个模块的()。A.算法B.功能C.调用关系入输出数据答案: A
12、4 .Jackson方法实现从()导由()。A.数据结构 B.数据流图C.程序结构件模块层次结构答案: A、 CD.程D.输D.软5 .在软件详细设计过程中不采用的描述工具是()A. 判定表B.IPO 图C.PAD 图D.DFD 图答案: D第 5 章自测题及参考答案、名词解释1.结构化程序设计2.PAD3.PDL 4.详细设计二、填空题1 . 结构化程序设计方法使用构造程序。(三种基本控制结构)2 .在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是。 (程序流程图)3 .结构化程序设计技术指导人们用良好的思想方法开发的程序。 (易于理解、易于验证)4 .详细描述处理过程常
13、用的三种工具是图形、语言和 。(表格) 5 .Jackson图不仅可表示程序结构,还可表示 。(数据结构)6 .PDL 具有严格的关键字外层语法,用于定义控制结构、数据结构和。 (模块接口)7 .详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程。 (清晰易读)8 .用JSP方法导由程序结构后,还要列由 ,并把它们分配到程序结构图的适当位置上去。(操作与条件)9 .在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的进行设计。(数据结构)10 .在详细设计阶段,为了提高数据的输入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行设计。 (代码)三、选择
14、题1 . 在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是( A )。A.PADB.PDLC.IPOD.判定树2 .结构化程序设计的一种基本方法是( D)。A.筛选法B.递归法C.迭代法D.逐步求精法3 .JSP方法是一种面向(C )的设计方法。A.对象B.数据流C.数据结构D.控制结构系统的开发。A )( 方法主要用于规模适中的4.JSPA.数据处理B.实时处理C.文字处理D.科学计算5 .PDL 是软件开发过程中用于( C )阶段的描述工具。A.需求分析B.概要设计C.详细设计D.编程6 .在详细设计阶段,可自动生成程序代码并可作为注释出现在源程序中的描述工具是( B )
15、。A.PADB.PDLC.IPOD.流程图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、详细设计的基本任务是什么,有哪几种描述方法?答:
16、详细设计的基本任务包括:为每个模块进行详细的算法设计(1)(2)为模块内的数据结构进行设计(3)对数据库进行物理设计(4)其他设计(5)编写详细设计说明书(6)评审详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过 程设计语言(PDL)来作为工具。2、结构化程序设计的基本要点是什么?答 :主要有三个:(1)采用自顶向下、逐步求精的程序设计方法(2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同 点是单入口、单出口。主程序员组的组织形式。3、简述Jackson方法的
17、设计步骤。答:Jackson方法的设计步骤如下:分析弁确定输入数据和输出数据的逻辑结构,弁用Jackson结构图表示这些数据结构。(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。按一定的规则由输入、输出的数据结构导出程序结构。(3).列出基本操作与条件,弁把它们分配到程序结构图的适当位置。用伪码写出程序。4、请使用流程图、PAD图和PDL语言描述下列程序的算法。(1)在数据A(1)A(10)中求最大数和次大数。解:如图所示:语言描述:PDLGET(a1,a2,.a10)max=a1;max2=a2;FOR i=2 TO 10IF ai>maxmax2=max;max=ai;E
18、LSEIF ai>max2max2=ai;ENDIFENDIFENDFORPUT(max,max2)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)?傕呕喔等边三角形)ELSE?傕呕喔等月三角形)ENDIFELSEIF(a=c)?傕呕喔等月三角形)ELSEIF (b=c)?傕呕喔等月三角形)ELSE?啐 ?一般三角形)ENDIFENDIFENDIFELSE?傕呕?这不是一个三角形)ENDIF5、用PAD 图描述下面问题的控制结构。有一个表A(1)、A(2)、A(n),按递增顺序排列。给定一个 Key 值,在表中用折半法查找。若找到,将表位置 i送入x,否则将 零送到x,同时将key值插入表中。算法:。)表尾T=N(,)表头H=1(置初值(1)(2)置 i=(H+T)/2( 取整 )。(3)若Key=A(i),则找到,i送至U x;若Key>A(i),贝U Key在表的 后半部分,i+1送入H;若Key<A(i),则Key在表的前半部分,i-1 送入T,重复第2步查找直到H>T为止。(4)查不到时,将A(i),.A(N) 移到 A(i+1).
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东电力高等专科学校《口语写作》2023-2024学年第二学期期末试卷
- 湖南工商职业学院《中国现当代文学3》2023-2024学年第二学期期末试卷
- 单抗导向药物项目风险评估报告
- 宝鸡中北职业学院《晋剧剧目赏析》2023-2024学年第一学期期末试卷
- 怀化职业技术学院《体育V》2023-2024学年第二学期期末试卷
- 山东省济南市历城2025年初三二诊模拟考试物理试题试卷含解析
- 河北北方学院《生物基材料及化学品》2023-2024学年第二学期期末试卷
- 浙江中医药大学滨江学院《大学生职业发展与就业指导(就业指导)》2023-2024学年第二学期期末试卷
- 四川化工职业技术学院《医学影像设备安装与维修学实验》2023-2024学年第二学期期末试卷
- 厦门软件职业技术学院《商法(二)》2023-2024学年第二学期期末试卷
- 离婚协议书模板(通用版)下载
- 冀教版数学五年级下册《分数乘分数》课件
- 驾照体检表完整版本
- 医疗健康商场商业计划书
- 外卖员火灾防范与应急教程
- +专题4中国古代的传统文化及文化交流 高考历史二轮复习+
- 2024年全年日历表(A4纸一张可直接打印)
- 投标货物质量标准的详细描述
- 通止规标准计算表
- 如何做好新客户开发培训课件
- 2022国家义务教育质量检测美术试题初中
评论
0/150
提交评论