详细设计的基本任务:
(1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程 为每个模块进行详细的算法设计。 为每个模块进行详细的算法设计的详细算法描述出来。
(2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行 为模块内的数据结构进行设计。 为模块内的数据结构进行设计确切的定义。
(3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存储记 对数据结构进行物理设计, 对数据结构进行物理设计即确定数据库的物理结构。 录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。
(4)其他设计:根据软件系统的类型,还可能要进行以下设计:
①代码设计。为了提高数 其他设计: 其他设计 根据软件系统的类型,还可能要进行以下设计: 代码设计。 据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行 代码设计。
②输入 输出格式设计。 输出格式设计。人机对话设计。 对于一个实时系统, 用户与计算机频繁对话, 因此要进行对话方式、 内容、
③人机对话设计。 格式的具体设计。
(5)编写详细设计说明书。
(6)评审。对处理过程的算法和数据库的物理结构都要评审。
结构化程序设计方法:
详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程,也称“过程设计”,详细设计的目标不仅是逻辑上正确地实现每个模块的功能,并使设计出的处理过程清晰易读。过程设计中采用的典型方法是结构化程序设计(简称 SP)方法, 最早是由 E.W.Dijkstra 在 60 年代中期提出的,它是实现详细设计目标的关键技术之一。
结构化程序设计方法的基本要点是:
采用自顶向下
1. 采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。 在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。
2. 使用三种基本控制结构构造程序 任何程序都可由顺序、选择、重复三种基本控制结构构造。
主程序员组的组织形式指开发程序的人员组织方式应采用由一个主程序员(负责全部技术活 动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、 记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其 他技术人员组成小组。
详细设计描述法:
详细描述处理过程常用三种工具:图形、表格和语言。 本节主要介绍结构化程序流程图、 盒图和问题分析图三种图形工具。 它是使用最广泛的一种描述程序逻辑结构的工具。
程序流程图
程序流程图又称为程序框图, PAD 图 PAD 图指问题分析图(Problem Analysis Diagram),是日本日立公司于 1979 年提出 的一种算法描述工具,它是一种由左往右展开的二维树型结构。
过程设计语言
过程设计语言(Problem Design Language,简称 PDL),也称程序描述语言(Problem 过程设计语言(Problem Design Language,简称 PDL),也称程序描述语言(Problem Language),又称为伪码。它是一种用于描述算法设计和处理细节的语言。 Descripition Language),又称为伪码。它是一种用于描述算法设计和处理细节的语言。
表示的程序结构一般有以下几种:
用PDL 表示的程序结构一般有以下几种:
(1)顺序结构:采用自然语言描述。
(2)选择结构:
1、IF-ELSE 结构 IF 条件 IF 条件 处理 S1 或 处理 S ELSE 处理 S2 ENDIF ENDIF
2、IF-ORIF-ELSE 结构 IF 条件 1 处理 S2 ORIF 条件 2 处理 S2 . . . ELSE 处理 Sn ENDIF
3、CASE 结构 CASE OF CASE
(1) 处理 S1 CASE
(2) 处理 S2 . . . ELSE 处理 Sn ENDCASE
(3)重复结构:
1、FOR 结构 FOR i=1 TO n 循环体 ENDFOR
2、WHILE 结构 WHILE 条件 循环体 ENDWHILE
3、UNTIL 结构 REPEAT 循环体 UNTIL 条件
(4)出口结构:
1、ESCAPE 结构(退出本层结构) WHILE 条件 处理 S1 ESCAPE L IF 条件 处理 S2 ENDWHILE L:……
2、CYCLE 结构(循环内部进入循环的下一次) L:WHILE 条件 处理 S1 CYCLE L IF 条件 处理 S2 ENDWHILE
(5)模块定义与调用:
1、模块定义 PROCEDURE 模块名(参数) .. RETURN END
2、模块调用 CALL 模块名(参数)
(6)数据定义:
DECLARE 属性 变量名…… 属性有:字符、整型、实型、双精度、指针、数组、结构等类型。
(7)输入/输出: 输入 GET(输入变量表) PUT(输出变量表)
现以 xx 系统主控模块详细设计为例,说明如何用 PDL 来描述。 PROCEDURE 模块名( ) PROCEDURE 模块名( 清屏; 清屏; 系统用户界面; 显示 xx 系统用户界面; PUT(“请输入用户口令: PUT(“请输入用户口令:”); GET(password); GET(password); >系统口令 IF password< >系统口令 提示警告信息; 提示警告信息; 退出运行 ENDIF 显示本系统主菜单; 显示本系统主菜单; WHILE(true) ABC; 接收用户选择 ABC; ABC=“退出” IF ABC=“退出” Break; Break; ENDIF 调用相应下层模块完成用户选择功能; 调用相应下层模块完成用户选择功能; ENDWHILE
清屏; RETURN END 从以上例子可以看到 PDL 的总体结构与一般程序完全相同。 外语法同相应程序语言一致, 内语法使用自然语言,易编写,易理解,也很容易转换成源程序。
Jackson 方法
Jackson 方法是面向数据结构的设计方法。 Jackson 方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按 一定的规则映射成软件的过程描述,即程序结构 程序结构 Jackson 设计步骤 Jackson 方法一般通过以下五个步骤来完成设计:
(1)分析并确定输入数据和输出数据的逻辑结构 并用 Jackson 结构图来表示这些数据结构。分析并确定输入数据和输出数据的逻辑结构, 结构图来表示这些数据结构。
(1)分析并确定输入数据和输出数据的逻辑结构,
(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。 找出输入数据结构和输出数据结构中有对应关系的数据单元
(3)按一定的规则由输入 输出的数据结构导出程序结构。
(4)列出基本操作与条件 并把它们分配到程序结构图的适当位置。
(5)用伪码写出程序。
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |