当前位置:
文档之家› c7信息系统的详细设计解析演示教学
c7信息系统的详细设计解析演示教学
c7信息系统的详细设计解析
7.1 详细设计概述
1.详细设计(过程设计)目的
目的是为系统结构图中的每一个模块确定采用的 算法和块内数据流图,用某种选定的表达工具给出 清晰的描述,使程序员可以将这种描述直接翻译为 某种语言程序。
2.详细设计的原则
为了能够使模块的逻辑描述清晰准确,在详细设 计阶段应遵循下列原则。
② 程序流程图本质上不支持逐步求精,它使程序员容易过 早地考虑程序的具体控制流程,而忽略了程序的全局结构;
③ 程序流程图难以表示系统中的数据结构;
④ 对于大型系统而言,程序流程图描述过于琐碎,不容易 阅读和修改。
为了克服程序流程图的缺陷,要求程序流程图都应由三种基 本控制结构顺序组合和完整嵌套而成,不能有相互交叉的情况, 这样的程序流程图才是结构化的程序流程图。
2020/6/9
10
2.盒图
盒图(N-S图)是由Nassi和Shneiderman 按照结 构化的程序设计要求提出的描述一种图形算法工具。 1)盒图的表示方式
用盒图表达的三种基本控制结构如图所示。
2020/6/9
11
2)盒图的实例
以前面求一组数中最大值的算法为例,如用盒图描 述,结果如图7-5所示。
2020/6/9
14
2) PAD图的实例
以前面求一组数中最大值的算法为例,如用PAD图 来描述,结果如图所示。
2020/6/9
15
3)PAD图的优缺点
PAD图的主要优点如下:
① 支持自顶向下,逐步求精的要求;
② PAD图满足结构化程序设计要求,因此采用 PAD图导出的程序必然是结构化的;
③ PAD图描述的算法结构清晰、易读易懂、使用 方便。图中每条竖线表示一个嵌套层次,图示随层次 增加向右伸展;
④ PAD图既可以描述控制,也可以描述数据结构, 很容易将PAD图描述的算法转换为源程序代码;
⑤ 可自动生成程序。
与程序流程图和盒图相比,PAD图的使用不是很普遍。
程 图、盒图和PAD图来 表达计算应发工资模块 的算法过程,结果如图 所示。
2020/6/9
(1) 将保证程序的清晰度放在首位
(2) 设计过程中应采用逐步细化的实现方法
(3) 选择适当的表达工具
2020/6/9
2
3.详细设计的过程
(1)为每个模块确定采用的算法,并用适当的工具 表达算法的过程,给出详细的描述;
(2)确定每一模块使用的数据结构和模块接口的细 节,包括内部接口、外部接口、模块的输入、输出及 局部数据等;
2020/6/9
13
3.PAD图
PAD (Problem Analysis Diagram)----问题分析图 PAD图的基本原理是:采用自顶向下、逐步细化和结构
设计的原则,将模糊的问题解的概念逐步转换为确定 的和详尽的过程,使之最终可采用计算机直接进行处 理。
1) PAD图的表示方式 用PAD图表达的三种基本控制结构如图所示。
将这组数存于一个数组A中,用语言描述其计算过程: (1)输入一个数组A,元素个数为N; (2)令最大数MAX=A(1)(数组中的第1元素); (3)从A(2)至A(N)(即第2个元素至最末一个元
素)依次与最大数MAX进行比较; (4)如新元素>MAX,则MAX=新元素; (5)输出最大数MAX。
2020/6/9
参见GB8567-2006计算机软件文档编制规范。
2020/6/9
4
7.2 详细设计的工具
描述程序处理过程的工具称为过程设计工具,它们 可以分为图形、表格和语言三类。
1.图形工具:包括程序流程图、N-S图和PAD图; 2.表格工具:包括判定表和判定树; 3.语言工具:包括PDL语言。
2020/6/9
2020/6/9
12
3)盒图的优缺点
盒图有如下一些优点:
① 所有的程序结构均用方框来表示,无论并列或 者嵌套,程序的结构清晰可见;
② 它的控制转移不能任意规定,必须遵守结构化 程序设计的要求;
③ 很容易确定局部和全程数据的作用域;
④ 很容易表现嵌套关系,也可以表示模块的层次 结构。
盒图不足的是,当程序内嵌套的层数增多时,内 层的方块越画越小,不仅会增加画图的困难,并将使 图形的清晰性受到影响;当需要对设计进行修改时, 盒图的修改工作量会很大。
8
用程序流程图来描述这一算法的过程,结果如图所示。
2020/6/9
图7-3 用程序流程图描述的求最大值的算法
9
3)程序流程图的优缺点
优点:比较直观、清晰,使用灵活,便于阅读和掌握。
缺点:
① 可以随心所欲地画控制流程线的流向,容易造成非结构 化的程序结构,编码时势必不加限制地使用GOTO语句,导致 基本控制块多入口多出口,这样会使系统质量受到影响,与系 统设计的原则相违背;
(a)采用程序流程图描述计算应发工资模块 17
(b) 采用N-S图描述计算应发工资模块
(c) 采用PAD图描述计算应发工资模块
2020/6/9
图7-8 三种详细设计中使用的图形工具示例
18
5.判定表和判定树
请分别用判定表和判定树工具来描述某单位工资档案 管理系统中“职务津贴计算”加工逻辑过程。
(3)为每个模块设计一组测试用例,以便在编码阶 段对模块代码进行预定的测试;
(4)编写详细设计说明书,提交复审。
2020/6/9
3
4
(1) 引言:用于说明编写本说明书的目的、背景,定 义所用到的术语和缩略语,以及列出文档中所引用的 参考资料等。
(2) 总体设计:用于给出软件系统的体系结构图。
(3) 模块描述:依次对各个模块进行详细的描述,主 要包括模块的功能和性能、实现模块功能的算法、模 块的输入及输出、模块接口的详细信息等。
假定职工的职称只分为助工、工程师和高工三种,保 低津贴分别是350、400、500元,并且单位根据职工 的工作年限给予津贴适当的上浮奖励,具体上浮情况 如下:无论助工、工程师和高工工作年限在10年以下 的无浮动;对于在单位工作超过10年但不到20年的职 工,助工、工程师津贴上浮20%,高工上浮30%;对 于在单位工作超过20年的职工,助工津贴上浮30%, 工程师津贴上浮35%,高工上浮40%。
5
1.程序流程图
程序流程图也称为程序框图,它是历史最悠久、使 用最广泛的一种描述程序逻辑结构的工具。 1)程序流程图的符号和表示方式
程序流程图常用的基本符号如图所示。
2020/6/9
6
用程序流程图表达的三种基本控制结构如图所示。
2020/6/9
7
2)程序流程图的实例 例:求一组数中的最大值,画出程序流程图。