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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

软件详细设计.docx

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 或 处理S ELSE 处理S2 ENDIF ENDIF I

6、F-ORIF-ELSE结构 IF 条件1 处理S2 ORIF 条件2 处理S2 . . . ELSE 处理Sn ENDIF CASE 结构 CASE OF CASE(1) 处理S1 CASE(2) 处理S2 . . . ELSE 处理Sn ENDCASE (3)重复结构: FOR结构 FOR i=1 TO n 循环体 ENDFOR WHILE结构 WHILE 条件 循环体 ENDWHILE UNTIL结构 REPEAT 循环体 UNTIL条件 (4)出口结构: ESCAPE结构(退出本层结构) WHILE 条件 处理S1 ESCAPE L IF 条件 处理S2 ENDWHILE L: CYCL

7、E结构(循环内部进入循环的下一次) L:WHILE 条件 处理S1 CYCLE L IF 条件 处理S2 ENDWHILE (5)模块定义与调用: 模块定义 PROCEDURE 模块名(参数) . . . RETURN END 模块调用 CALL 模块名(参数) (6)数据定义: DECLARE 属性 变量名 属性有:字符、整型、实型、双精度、指针、数组、结构等类型。 (7)输入/输出: GET(输入变量表) PUT(输出变量表) 现以xx系统主控模块详细设计为例,说明如何用PDL来描述。 PROCEDURE 模块名( ) 清屏; 显示xx系统用户界面; PUT(“请输入用户口令:”); GE

8、T(password); IF password系统口令 提示警告信息; 退出运行 ENDIF 显示本系统主菜单; WHILE(true) 接收用户选择ABC; IF ABC=“退出” Break; ENDIF 调用相应下层模块完成用户选择功能; ENDWHILE 清屏; RETURN END 从以上例子可以看到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)既能表示数据结构也能表示程序结构,且

10、表示的是组成关系。5.4.3 JSP设计步骤 JSP方法一般通过以下五个步骤来完成设计: (1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图来表示这些数据结构。 (2)找出输入数据结构和输出数据结构中有对应关系的数据单元。“对应关系”指这些数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。 (3)按一定的规则由输入、输出的数据结构导出程序结构。 (4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。 (5)用伪码写出程序。 就例子说明JSP方法设计过程。第5章例题分析与解答一、填空题1.结构化程序设计方法的

11、要点是使用_结构,自顶向下、逐步求精地构造算法或程序。答案:三种基本控制结构2.为了产生结构化的流程图,应由三种基本控制结构顺序组合或_而成。答案:完整嵌套3.结构化程序设计方法提倡开发人员的组织形式是_。答案:主程序员组4.PAD图是一种由左向右展开的二维树型结构,图中的竖线为程序的_。答案:层次线5.在Jackson方法中解决结构冲突的具体办法是引入_。答案:中间数据结构或中间文件二、选择题1.详细设计与概要设计衔接的图形工具是( )。A.DFD图 B.SC图 C.PAD图 D.程序流程图答案:B2.结构化程序设计主要强调的是( )。A.程序的效率 B.程序的执行速度 C.程序的易读性 D

12、.程序的规模答案: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.PDL 4.详细设计二、填空题1.结构化程序设计方法使用_构造程序。(三种基本控制结构)2.在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是_。(程序流程图)3

13、.结构化程序设计技术指导人们用良好的思想方法开发_的程序。(易于理解、易于验证)4.详细描述处理过程常用的三种工具是图形、语言和_。(表格)5.Jackson图不仅可表示程序结构,还可表示_。(数据结构)6.PDL具有严格的关键字外层语法,用于定义控制结构、数据结构和_。(模块接口)7.详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程_。(清晰易读)8.用JSP方法导出程序结构后,还要列出_,并把它们分配到程序结构图的适当位置上去。(操作与条件)9.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的_进行设计。(数据结构)10.在详细设计阶段,为了提高数据的输

14、入、储存、检索等操作的效率并节约存储空间,对某些数据项的值要进行_设计。(代码)三、选择题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.

15、详细设计 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.

16、已经用硬件实现 D.只有一个入口和一个出口软件工程习题参考答案51、详细设计的基本任务是什么,有哪几种描述方法?答:详细设计的基本任务包括:(1)为每个模块进行详细的算法设计 (2)为模块内的数据结构进行设计 (3)对数据库进行物理设计 (4)其他设计 (5)编写详细设计说明书 (6)评审 详细设计的描述方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。2、结构化程序设计的基本要点是什么?答:主要有三个:(1)采用自顶向下、逐步求精的程序设计方法 (2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、

17、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。 (3)主程序员组的组织形式。 3、简述Jackson方法的设计步骤。答:Jackson方法的设计步骤如下:(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。 (2)找出输入数据结构和输出数据结构中有对应关系的数据单元。 (3)按一定的规则由输入、输出的数据结构导出程序结构。 (4)列出基本操作与条件,并把它们分配到程序结构图的适当位置。 (5)用伪码写出程序。 4、请使用流程图、PAD图和PDL语言描述下列程序的算法。(1)在数据A(1)A(10)中求最大数和次大数。解:如图所示:

18、PDL语言描述:GET(a1,a2,.a10)max=a1;max2=a2;FOR i=2 TO 10IF aimaxmax2=max;max=ai;ELSE IF aimax2max2=ai;ENDIFENDIFENDFORPUT(max,max2)END(2)输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰还是一般三角形。解:如图:PDL语言描述如下:GET(a,b,c)IF (a+bc and b+ca and c+ab)IF (a=b)IF (a=c)PUT(等边三角形)ELSEPUT(等腰三角形)ENDIFELSE IF(a=c)PUT(等腰三角形)ELSEIF (b=c

19、)PUT(等腰三角形)ELSEPUT(一般三角形)ENDIFENDIFENDIFELSEPUT (这不是一个三角形)ENDIF5、用PAD图描述下面问题的控制结构。有一个表A(1)、A(2)、.A(n),按递增顺序排列。给定一个Key值,在表中用折半法查找。若找到,将表位置i送入x,否则将零送到x,同时将key值插入表中。算法: (1)置初值H=1(表头),T=N(表尾)。 (2)置i=(H+T)/2(取整)。 (3)若Key=A(i),则找到,i送到x;若KeyA(i),则Key在表的后半部分,i+1送入H;若KeyT为止。 (4)查不到时,将A(i),.A(N)移到A(i+1).A(N+1),Key值送入A(i)中。 解:如图所示:6、一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,用Jackson方法设计该程序结构。7、画出下面用PDL写出的程序的PAD图。WHILE P DO IF AO THEN A1 ELSE A2 ENDIF; IF B0 THEN B1; IF C0 THEN C1 ELSE C2 ENDIF ELSE B2 ENDIF; B3 ENDWHILE;PAD图如下图所示。

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

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