1
第 5章
系统设计
马龙军 统计与信息学院信息管理教研室 2
系统设计概述
? 系统设计是管理信息系统开发的第三个阶段,主要解
决系统“怎么做”的问题。其目标是进一步实现系统
分析阶段提出的系统模型,详细地确定新系统的结构、
应用软件的研制方法及内容。系统设计一般遵循系统
性、灵活性、可靠性与经济性的原则,按照从概要设
计到详细设计,从粗到细、从总体到局部的过程进行。
? 概要设计与详细设计是交错进行的,二者结合起来,
主要包括系统结构设计、系统平台设计、信息分类、
代码设计、划分子系统、输出设计、输入设计、数据
存储设计、处理过程设计、制定设计规范及编写系统
设计报告等。
马龙军 统计与信息学院信息管理教研室 3
主要内容
5.1 系统设计的目标与原则
5.2 系统概要设计
5.3 系统详细设计
马龙军 统计与信息学院信息管理教研室 4
通过本章学习,可以了解 (或掌握 )
? 系统设计的目标与原则
? 系统功能模块设计与系统平台设计
? 代码设计
? 划分子系统
? 输入 /输出设计
? 数据存储设计
? 处理过程设计
? 系统设计说明
马龙军 统计与信息学院信息管理教研室 5
5.1 系统设计的目标与原则
5.1.1 系统设计的目标
5.1.2 系统设计的原则
马龙军 统计与信息学院信息管理教研室 6
5.1.1 系统设计的目标
?系统设计的目标是在保证实现逻辑模型的基础
上,尽可能提高系统的各项指标,即系统的工
作效率、可靠性、工作质量、可变性与经济性。
?系统的工作效率
– 系统的工作效率主要是指系统对数据的处理能力、
处理速度、响应时间等与时间有关的指标。
– 处理能力是指系统在单位时间内处理事务的能力。
– 处理速度一般是指系统完成业务处理所需的平均时
间。
– 响应时间是指在连机状态下,从发出处理请求到得
到应答信号的时间。
马龙军 统计与信息学院信息管理教研室 7
影响系统效率的因素很多,包括系统的硬件、
软件、人 ——机接口及组织结构等。
例如,商场的收款系统,衡量其效率的指标是
顾客等待时间的长短。这就要求计算要有较高的运
算处理速度,同时要求人 ——机界面便于操作,减
少操作时间。
?系统的可靠性
– 系统的可靠性是指系统在运行过程中,抗干扰(包
括人为和机器故障)和保证系统正常工作的能力。
系统可靠性包括:系统检错与纠错能力,系统恢复
能力,软、硬件的可靠性,系统安全保护能力等。
马龙军 统计与信息学院信息管理教研室 8
衡量系统可靠性的指标主要有:
( 1)系统平均无故障时间
其中 MTBF是平均无故障时间,ti为第 i次无故障间
隔时间,N为故障总次数。 MTBF越大,系统越可靠。
( 2)平均修复时间
其中,MTTR为平均修复时间,Ti为第 i次故障至投
入运行所占时间,M为修复总次数。 MTTR越小,系统
越可靠。
N
t
M TB F
N
i
i?
?? 1
M
T
M TT R
M
i
i?
?? 1
马龙军 统计与信息学院信息管理教研室 9
? 系统的工作质量
– 系统的工作质量是指系统提供用户所需信息的准
确程度与及时性,以及便于用户操作的人 ——机界
面的友好程度。工作质量的好坏与计算机的硬件,
系统软件,应用软件,人工处理质量与效率等因素
有关。
? 系统的可变性
– 系统的可变性是指系统被修改和维护的难易程度。
– 由于系统总是处于一个不断变化的环境之中,为
了适应这些变化,就要对系统进行修改和维护。这
些变化包括:
( 1)系统环境的变化而引起系统目标的改变或部分改
变,这时就要对系统进行扩充和改进;
马龙军 统计与信息学院信息管理教研室 10
( 2)计算机技术和计算方法等的发展,必
然对系统产生影响,如引进新设备、使用新方
法等引起系统的改变;
( 3)系统总是处于不断地完善之中,不适应
或错误在所难免,这也要求对系统进行修改和
维护。
? 系统的经济性
– 系统的经济性是指系统收益与支出之比。在
设计一个管理信息系统时,应追求其经济收
益,这里既有直接的经济收益,也有给企业
带来的间接的经济收益。
马龙军 统计与信息学院信息管理教研室 11
5.1.2 系统设计的原则
?管理信息系统的开发是一项系统工程。为了保
证系统的质量,设计人员必须遵守共同的设计
原则。
1.系统性,系统设计要从整个系统的角度进行考虑,
系统代码要统一,设计标准要规范,传递语言要一
致,实现数据或信息全局共享,提高数据重用性。
2,灵活性,为了维持较长的系统生命周期,要求系统
具有很好的环境适应性。为此,系统应具有较好的
开放性和结构的可变性。在系统设计中,应尽量采
用模块化结构,提高数据、程序模块的独立性,这
样,既便于模块的修改,又便于增加新的内容,提
高系统适应环境变化的能力。
马龙军 统计与信息学院信息管理教研室 12
3.可靠性,是指系统抗干扰的能力及受外界干扰时的恢复能力。
一个成功的管理信息系统必须具有较高的可靠性,如安全保
密性、检错及纠错能力、抗病毒能力等。
4,经济性,是指在满足系统需求的前提下,尽量减小成本。一
方面,在硬件投资上不能盲目追求技术上的先进,而应以满
足应用需要为前提。另一方面,系统设计中应尽量避免不必
要的复杂化,各模块应尽量简洁,以便缩短处理流程、减少
处理费用。
? 在管理信息系统的设计过程中,应自始至始贯彻上述四个原
则,这是保证系统开发质量的基础。
? 贯彻系统开发原则案例:
– 在东北某市卫生系统开发的“患者住院财务管理系统”过程中,开发
者将系统开发的原则贯穿始终。
– 在系统性方面,做到了全部代码统一(患者各方面代码,财务各种科
目代码),输入界面及输入方式统一,输入的数据严格按统一规范标
准,使得一次输入,全局共享,可在全院其它管理工作中使用;
马龙军 统计与信息学院信息管理教研室 13
? 在灵活性方面,开发者注意系统的开放性和结构可变
性,注意提高模块的独立性及减少模块之间的数据耦
合性。系统运行一年后,根据管理模式及管理环境的
变化,用户提出医生开处方要核算到每个人。开发者
能及时地按用户的要求增加这一功能,提高了系统适
应环境变化的能力。
? 在可靠性方面,系统采用了多种安全方式及检错纠错
手段,对不同的财务管理人员和财务工作人员赋予不
同的数据访间权限及密码;对每个患者的代码都做了
校验位等。
? 在经济性方面,开发者在满足系统需求的情况下,尽
可能减少系统的开销。经过精心设计,减少了门诊到
住院过程中的一些环节,减少了系统的处理过程,也
就减少了系统的处理费用。为医院节省了开支,也为
患者减少了开支。
马龙军 统计与信息学院信息管理教研室 14
5.2 系统概要设计
5.2.1 功能模块设计
5.2.2 系统平台设计
马龙军 统计与信息学院信息管理教研室 15
总体设计
(结构设计)
详细设计
(算法设计)
功能模块图划分
设计系统的物理配置方案
设计输入界面
设计输出界面
确定系统设计规范及代
码体系
设计系统的数据存储
图 5-1 设计过程
马龙军 统计与信息学院信息管理教研室 16
? 基本思想
– 功能分解过程是一个由抽象到具体,由复杂到简单的
过程
– 通过层层分解,可以将一个复杂的系统分解为多个功
能单一的功能模块,每一个功能模块的复杂度与未划
分前的系统相比,得以大大降低,因此这样的划分结
果具有以下优点:
? 模块功能更单一,更容易理解
? 模块更便于进行代码设计和测试
? 可以在模块的后一步设计和实施操作中进行有效地分工
? 系统的修改和维护更具弹性
? 系统后续过程实施的总体成本得以有效控制和降低
5.2.1 功能模块设计
马龙军 统计与信息学院信息管理教研室 17
系统
子系统 子系统 子系统
功能模块 功能模块 功能模块
功能模块 功能模块 功能模块 功能模块功能模块
…………
………
……
图 5-2 系统功能模块的划分
马龙军 统计与信息学院信息管理教研室 18
? 模块划分的原则
– 模块应具有相对独立性
– 模块间的数据依赖性应
尽可能小
– 模块划分的结果应使数
据冗余较小
– 功能模块的设置应考虑
今后发展的需要
– 功能模块的划分应便于
系统分阶段实现
1、模块结构图
? 模块结构图是描述系统结
构的图形工具,它由五种基
本符号组成,
模块
调用
数据
控制信息
转接符号
马龙军 统计与信息学院信息管理教研室 19
计算工资
计算工资总额 计算实发工资 打印工资清单
实发工资
奖金
基本工资
扣款数
总额
总额 职工姓名
实发数
图 5-3 工资系统的模块结构
马龙军 统计与信息学院信息管理教研室 20
(1)模块
? 模块是可以组合、分解和更换的单元,是组成系统、
易于处理的基本单位。系统中的任何一个处理功能都
可以看成一个模块,也可以理解为用一个名字就可以
调用的一段程序语句。
? 模块应具备以下四个要素:
①输入和输出 ----模块的输入来源和输出去向都是一
个调用者,一个模块从调用者取得输入,加工处理再
把输出返回给调用者;
②功能 ----模块把输入转换成输出所做的工作;
③内部数据 ----仅供该模块本身引用的数据;
④程序代码 ----用来实现模块功能的程序。
? 前两个要素是模块的外部特性,即反映模块的外貌。后
两个要素是模块的内部特性,即反映模块内总的处理。
在系统设计阶段,主要是注意外部特性,其内部特性
只做必要了解即可。
马龙军 统计与信息学院信息管理教研室 21
下面是一个用 C语言写的模块:
int max(int x,int y)
{
int z;
if(x>y)
z=x;
else
z=y;
return z;
}
其功能是求两个整数最大值;输入是两个整数,输出是返
回值 z 。
马龙军 统计与信息学院信息管理教研室 22
( 2)调用
? 在结构图中,用连接两个模块的箭头表示调用。箭头
总是由调用模块指向被调用模块,但是应该理解成被
调用模块执行完后又返回到调用模块。
? 模块的调用表示:在结构图中,模块间的调用一般有
如下三种:
– 一般调用:用 表示模块间的调用关系,箭尾
部分是调用模块,箭头部分是被调用模块。如图
5.3(a)所示。
– 选择调用:用 表示一个模块中包含着选择判
断,根据判断结果确定调用模块。如图 5.3(b)所示。
– 循环调用:用 表示一个模块中包含着循环处理
功能。如果一个模块中存在着一个主循环,需要循
环调用某一个或若干个从属模块,它们的循环调用
关系如图 5.3(c)所示。
马龙军 统计与信息学院信息管理教研室 23
(a)一般调用
B
A A
B C
A
B C D
( b)判断调用 (c)循环调用
查询学生成绩
打开学号索引
查找学生记录
打开姓名索引 打印通知单 打印成绩表
条件调用 循环调用
例如:下面是一个查询学生成绩并调用相应各子模块的示意图
图 5-4 模块调用示意图
图 5-5 学生成绩查询模块调用示意图
马龙军 统计与信息学院信息管理教研室 24
( 3)数据
? 当一个模块调用另一个模块时,调用模块可把数据传送到
被调用模块供处理,而被调用模块又可以将处理的结果数
据送回调用模块。图 5.6(a)表示模块 A调用模块 B时,A将
数据 X,Y传送给 B,B将处理结果数据 Z返回给 A 。
( 4)控制信息
? 为了指导程序下一步的执行,模块间有时还必须传送某些
控制信息。控制信息与数据的主要区别是前者只反映数据
的某种状态,不必进行处理。在模块结构图中,用带实心
团圆点的箭头表示控制信息。如图 5-6( b) 中“无此职工”
就是表示送来的职工号有误的控制信息。
? 又如,查询学生成绩清单的数据通信示意图如图 5-7所示。
马龙军 统计与信息学院信息管理教研室 25
B
A
ZX,Y
B
A
无此职工
职工号
简历数据
图 5-6 模块间的通信
(a) (b)
查询学生成绩
查找学生记录










图 5-7 学生成绩查询模块图
马龙军 统计与信息学院信息管理教研室 26
( 5)转接符号
? 当模块结构图在一张图上画不下时,需要转接到另外
一张纸上或者为了避免图上线条交叉时,都可以使用
转接符号。图 5.8所示的模块结构图中,①②即为转接
符号。
A
C
B


图 5-8 带转接符号的模块图
马龙军 统计与信息学院信息管理教研室 27
2、由数据流图导出初始模块结构图
? 由数据流图向初始模块结构图的转换,通常采
用两种方法。一种是以事务为中心的转换方法,
也称为事务分析;另一种是以变换为中心的转
换方法,也称为变换分析。前者通常用于将高
层数据流图转换成系统模块结构图。其优点是
能把一个大的、复杂的系统分解成若干较小的、
简单的子系统,参见图 5,9;后者通常用于将
低层的数据流图转换成系统模块结构图,如将
图 5,10(a)所示的数据流图转换成图 5,10(b)所
示的模块结构图。当然,有时也将第一种设计
方法用于较低层的数据流图。
马龙军 统计与信息学院信息管理教研室 28
图 5-9 事务分析
C
X
Y
ZBA
F1
F2
System
A B C
( a) 一个抽象的高级数据流图 ( b) 分解后的系统结构图
马龙军 统计与信息学院信息管理教研室 29
1
2
3
4
5
6A
B
C
D
E
F
G
H
图 5-10 变换分析
(a) 数据流图
马龙军 统计与信息学院信息管理教研室 30图 5-10 变换分析
Make C
Into D,E
System
Make B
Into C
Get C Put E Put D
Get B Make EInto G Put G Make DInto F Put F
Get A Make AInto B Make GInto H Put H
C C
D
D
E
B B C
A A B
E
G
G D F F
G H H
(b) 模块结构图
马龙军 统计与信息学院信息管理教研室 31
3.模块结构图的评价与改进
? 从数据流图导出初始模块结构图虽有一些规则可循,但由
于个人观点和经验不同,对同一个数据流图,每个人都可
能导出不同的模块结构图。这就提出了一个评价和改进模
块结构图的问题。
? 模块间的联系称为模块的耦合;模块内的联系称为模块的
内聚。
? 评价模块结构图的主要标准是耦合小,内聚大;也就是块
间联系小,块内联系大。
( 1)块间联系类型
块间联系类型按由小到大可分为六种:
①无块间联系:在图 5.11中,模块 C和 D分别从属于模块 A和 B,
C和 D之间没有联系,相互独立,称它们之间无块间联系。
②数据性块间联系:在图 5.12中,模块 B从属于模块 A,A对 B
的访问是通过一个约定的变元表或者模块接口界面进行数
据传递的,这里只传递数据。称 A和 B之间的联系为数据性
块间联系。
马龙军 统计与信息学院信息管理教研室 32
无块间联系
A B
C D
图 5-11 无块间联系图
通过变元表
传递数据
A
B
图 5-12 数据性块间联系
马龙军 统计与信息学院信息管理教研室 33
③标志性块间联联系:在图 5.13中,模块 A传递一
个“标志”(一般是控制条件)给模块 B,通过
这个标志控制 B进行抉择。 A和 B间的联系称为标
志性块间习系。
④外部块间联系:当模块受软件外部环境约束时,
就会出现外部块间联系。图 5.14中,模块 A和 B都
访问同一个有名公共区,就是其中的一种。再如
固定格式以及通信约定,输入输出把模块联接到
指定设备上都是外部块间联系的例子。
? 外部联系在有些系统中是必要的,但在一个结构
中,应该把它限制在少数模块内。
马龙军 统计与信息学院信息管理教研室 34
A
B
标志
标志
标志
有名
公共区
A B
图 5-14 外部块间联系图 5-13 标志性块间联系
马龙军 统计与信息学院信息管理教研室 35
⑤公共块间联系,当两个以上模块引用一个全程数据区时,
就会产生公共块间联系。在图 5.15中,模块 B,C和 E都存取全
程数据区中的一个数据项,如一个磁盘文件。假定模块 B读该
项,调用模块 C对该项重新计算并且进行更新。如果 C错误地
更新了该项,再往下的处理中,模块 E读该项,就要发生错误。
从表面上看,问题发生在模块 E,实际上问题出在模块 C。所
以,在具有大量公共耦合的结构中,诊断错误是费时和困难
的。这并不是说,使用全程数据一定不好,问题是软件设计
者必须了解公共耦合可能造成的后果,设计时要特别小心,
防止出错。
A
B
C
全部
数据区 D E
F
图 5-15 公共块间联系
马龙军 统计与信息学院信息管理教研室 36
⑥内容块间联系:当一个模块使用保持在另一个模块内部的
数据或控制信息时,或者转移进入另一模块中间时,是最高
程度的耦合。这种耦合叫内容耦合 (内容块间联系 ),应该避
免使用。
总之,最好一个模块只做一件事情;如果一件事情由几
个模块来完成,互联就多了,块间联系就大。为了减少接口
代价,就要合并一些。
(2)块内联系的类型
? 块内联系由小到大,有下述六种。
①共存性块内联系:在图 5.16中,模块 X,Y,Z 调用 模块 W,
模块 W中这几条语句是为了节省空间把它们放在一个模块之
中,而这几条语句之间没有任何联系,则称模块 W的块内联
系为“共存性块内联系”。共存性块内联系各成分间没有联
系,此模块很难理解、测试和维护,并且不易修改。例如,
模块 X如果不需要做,A=B+C”,而要做,A=B+D”,要对模
块 W修改就很困难。基于上述原因,只要有足够空间,应尽
量避免因节省空间而产生的共存性块内联系。
马龙军 统计与信息学院信息管理教研室 37
X Y Z
A=B+C
Get Card
Put Output
IF I=5 THEN E=0
w
图 5-16 共存性块内联系
马龙军 统计与信息学院信息管理教研室 38
②逻辑性块内联系:如果图 5.17(a)中模块 A,B,C,D
的功能相似,为了节省空间,把它们合并成一个模块
ABCD,就成了图 5.17(b)所示的模块图。这里模块
ABCD的块内联系属于逻辑性块内联系(没有实际上
的内部联系)。
若 ABCD的程序执行流程如图 5.17(c)所示,则会显
现出这种结构的明显缺点:一是不易修改,当某个模
块 (如模块 X)需要修改某段共用程序段 (如程序段 S)时,
其他模块 (Y,Z和 W)可能不希望修改;二是增加了块
间联系,这是因为每个调用模块在调用时都要传递一
个开关量的缘故。
马龙军 统计与信息学院信息管理教研室 39
Z
Y
Y
Z
开关值 =?
C1B1 D1A1
X W
开关值 =?
C2B2 D2A2
X W
图 5-17 逻辑性块内联系
X Y Z W
X Y Z W
A B C D
ABCD
( a)
( b)
( c)
马龙军 统计与信息学院信息管理教研室 40
③ 瞬时性块内联系。如果一个模块所包含的任务必
须在同一“时间”内执行,则这个模块的块内联系属
于瞬时性块内联系。如图 5.18所示的处理意外故障模块
中,关闭文件、报警、保留现场等任务必须在同一时
间内执行。
紧急意外
故障处理
?关闭文件
?报警
?保留现场
图 5-18 瞬时性块内联系
马龙军 统计与信息学院信息管理教研室 41
④通信性块内联系。一个模块内所有处理元素集中于
相同的数据结构,其块内联系属通信性块内联系。例
如图 5.19中的模块 X和 Y。
X
从文件 FILE读出数据
?由数据产生是报表
?由数据产生单项产品表格表
Y
把输入的数据
?转存
?打印出来
图 5-19 通信性块内联系
马龙军 统计与信息学院信息管理教研室 42
⑤顺序性块内联系。这类模块中各成分有顺序关
系,某一成分的输出是另一成分的输入。例如“录入
汇总打印”模块。这类模块中有可能包含几个功能,
因而给维护带来不便。
⑥功能性块内联系。这类模块中各成分的联系是
功能性的,即一个模块执行一个功能,如计算工资、
打印月报表等模块。由于这类模块的功能明确,块间
联系简单,所以便于维护。在系统设计时应当力求按
功能划分模块。
以上对块间联系和块内联系讨论的目的,不是要
求精确地确定它们的类型和级别,而是为模块结构改
进方法提供理论基础。下面的内容将是如何利用上述
理论来优化模块的设计。
马龙军 统计与信息学院信息管理教研室 43
4、模块结构图的改进
模块结构图的改进首先应按照“块间联系小,块内联
系大”的质量标准对其进行检查和修改,其次应在改
进中注意以下四个问题。
(1)模块的扇入和扇出数
模块的扇入数是指模块的直接上层模块的个数。如
图 5.20(a)中模块 A的扇入数等于 3。
如果一个规模很小的底层模块的扇入数为 1,则可
把它合并到它的上层模块中去。若它的扇入数较大,
就不能向上合并,否则将导致对该模块做多次编码和
排错。
模块的扇出数是指一个模块拥有的直接下层模块的
个数。图 5.20(b)中模块 A的扇出数等于 3。
如果一个模块具有多种功能,应当考虑做进一步分
解。反之,对某个扇出数过低 (例 如 1和 2)的模块,也
应进行检查。一般说来,模块的扇出数应在 7以内。
马龙军 统计与信息学院信息管理教研室 44
CB D
A CB D
A
图 5-20 模块的扇入和扇出数
( a) 扇入数 ( b) 扇出数
马龙军 统计与信息学院信息管理教研室 45
(2)模块的大小
模块的大小是系统设计中的一个重要问题。模块多大最
好?有许多不同的观点。从经验上讲,为了提高可读性和
方便修改,一个基本模块的程序量以能印在一张打印纸上
为宜,即 10—100个语句之间。这当然不是绝对的,例如
对于一个数学公式计算模块,即使语句远远超出上述范围,
也不应生硬地将它们分成几个小模块。因此,模块的功能
是决定模块大小的一个重要出发点。
(3)消除重复的功能
设计过程中如果发现几个模块的功能是相似的,则应设
法消去其中的重复功能。因为同一功能的程序段多次出现,
不仅浪费编码时间,而且会给调试和维护带来困难。
例如,图 5.21(a)中模块 Q1和 Q2,具有类似的功能但又
不完全相同。首先对 Q1和 Q2进行分析,找出重复部分,
如图 5.21(a)中虚线所示。如果这部分可以构成一个内聚较
强的单独模块,将其分离出来构成一个公共的下层模块,
见图 5.21(b);
马龙军 统计与信息学院信息管理教研室 46
X
Q1 Q Q2Q
Y X Y
Q1′ Q2′
Q
X Y
Q2′
Q
X Y
Q
( a) ( b)
( c) ( d)
图 5-21 合并功能相似的模块
马龙军 统计与信息学院信息管理教研室 47
如果分离后剩下的部分 Q1’,Q2’所含语句很少,且功
能也很简单,则可合并到它们各自的调用模块中去,
分别见图 5.21(c)与 (d)。
对于具有类似功能的模块进行上述处理时,必须注意
它们之间的细微差别,否则将导致错误发生。如图
5.22(a)中 Q1和 Q2表示相同部分,而 Q1’和 Q2’是不同部分;
如果忽视它们的差别将产生错误的合并,见图 5.22(b)。
X Y
Q1′
Q1
Q2′
Q2
X Y
Q
( a) ( b)
图 5-22 功能相似模块的错误合并
马龙军 统计与信息学院信息管理教研室 48
(4)作用范围与控制范围
在系统中,某些加工的执行与否依赖于判定语句
的结果。因此,为了发现不合理的模块结构,需要了
解对于一个给定的判定,到底影响哪些模块?
一个判定的作用范围是指所有受这个判定影响的
模块。我们规定:若模块中只有一小部分加工依赖于
某个判定,则该模块仅仅本身属于这个判定的作用范
围;若整个模块的执行取决于这个判定,则该模块的
调用模块也属于这个判定作用范围。因为调用模块的
执行取决于这个判定,则该模块的调用模块也属于这
个判定作用范围。又因为调用模块中必有一个用语句,
该语句的执行取决于这个判定。
一个模块的控制范围是指模块本身及其所有的下
属模块。一个好的模块结构,应该满足以下要求:判
定的作用范围应该在判定所在模块的控制范围之内;
判定所在模块在模块层次结构中的位置不能太高。
马龙军 统计与信息学院信息管理教研室 49
根据以上两点可知,最理想的判定范围由判定所在模
块及其直接下层模块组成。图 5.23表示作用范围和控制
范围可能的四种关系,其中小菱形表示判定,带斜线
的模块组成该判定的作用范围。

X Y1
A B
B1 B2

X Y1
A B
B1 B2

X Y1
A B
B1 B2

X Y1
A
B
B1 B2
(a) (b) (c) (d)
图 5-23 作用范围和控制范围可能的四种关系
马龙军 统计与信息学院信息管理教研室 50
图 5.23(a)是最差的情况,因为判定的作用范围不在
控制范围之内。 B2判定信息只有经过 B,Y1才能转给 A,
以致增加了模块间的耦合并降低了效率。图 5.23(b)的
作用范围虽在控制范围之内,但判定位置太高,判定
信息也要多次传送才能达到 A和 B2。图 5.23(c)判定位置
基本合适,而图 5.23(d)则最为理想,这时块间耦合最
小。
当出现作用范围不在控制范围之内时,可用以下措
施纠正:
把判定所在模块合并至上层模块中,或从低层模块
移到高层模块,使判定的位置提高;把受判定影响的
模块下移到控制范围之内。
马龙军 统计与信息学院信息管理教研室 51
5.2.2 系统平台设计
? 管理信息系统是以计算机科学与技术为基础的
人 —机系统。管理信息系统平台是管理信息系
统开发与应用的基础。管理信息系统平台设计
包括计算机处理方式,网络结构设计,网络操
作系统的选择,数据库管理系统的选择等软、
硬件选择与设计工作等。
1.按管理信息系统的目标选择系统平台
①单项业务系统
常用各类 PC,数据库
管理系统作为平台。
马龙军 统计与信息学院信息管理教研室 52
②综合业务管理系统
以计算机网络为系统平台,如 Novell网络
和关系型数据库管理系统。
③集成管理系统
OA,CAD,CAM,MIS,DSS等综合而成的
一个有机整体,综合性更强,规模更大,系统
平台也更复杂,涉及异型机、异种网络、异种
库之间的信息传递和交换。
在信息处理模式上常采用客户 /服务器
(Client/ Server)模式或浏览器 /服务器 (Browser
/ Server)模式。
马龙军 统计与信息学院信息管理教研室 53
2.计算机处理方式的选择和设计
计算机处理方式可以根据系统功能,业务处理的特点,性
能/价格比等因素,选择批处理、连机实时处理、连机成批处
理、分布式处理等方式。在一个管理信息系统中,也可以混合
使用各种方式。
3.计算机网络系统的设计
计算机网络系统的设计主要包括中、小型主机方案与微机
网络方案的选取,网络互连结构及通信介质的选型,局域网拓
扑结构的设计,网络应用模式及网络操作系统的选型,网络协
议的选择,网络管理,远程用户等工作。
4.数据库管理系统的选择
数据库管理系统选择的原则是:支持先进的处理模式,具
有分布处理数据,多线索查询,优化查询数据,连机事务处理
的能力;具有高性能的数据处理能力;具有良好图形界面的开
发工具包;具有较高的性能/价格比:具有良好的技术支持与
培训。普通的数据库系统有 FoxPro,Clipper和 Paradox等。大型
数据库系统有 Microsoft SQL Server,Oracle Server,Sybase SQL
Server和 Informix Server等。
马龙军 统计与信息学院信息管理教研室 54
5.软、硬件选择
根据系统需要和资源约束,进行计算机软、硬件的选择。
计算机软、硬件的选择,对于管理信息系统的功能具有很大
影响。大型管理信息系统软、硬件的采购可以采用招标等方
式进行。
硬件的选择原则是,·
① 选择技术上成熟可靠的标准系列机型;
②处理速度快;
③ 数据存储容量大;
④具有良好的兼容性、可扩充性与可维修性;有良好的
性能/价格比;
⑤厂家或供应商的技术服务与售后服务好;
⑥操作方便;
⑦在一定时间内保持一定的先进性的硬件。
软件的选择包括操作系统,数据库管理系统,汉字系统,
设计语言和应用软件包等软件的选择。
马龙军 统计与信息学院信息管理教研室 55
5.3 系统详细设计
5.3.1 代码设计
5.3.2 划分子系统
5.3.3 输入与输出设计
5.3.4 数据存储设计
5.3.5 处理过程设计
5.3.6 系统设计说明书
马龙军 统计与信息学院信息管理教研室 56
系统详细设计是系统概要设计的深入,是由
总体到局部,再由局部到总体的反复优化过程。
详细设计主要包括以下几个方面:
1、代码设计
2、划分子系统
3、输入输出设计
4、数据存储设计
5、处理过程设计
6、编写系统设计说明书
马龙军 统计与信息学院信息管理教研室 57
5.3.1代码设计
? 代码的概念:代码是代表事物名称、属性、状态等的符
1、代码设计的原则
– 唯一性:可以实现对所指代的对象进行唯一的、无二义性
地标识。
– 通用性:采用现有的标准通用代码,如国家、行业或部门
及企业规定的标准代码,按优先级别使代码的使用范围越
广越好。
– 可扩充性:代码越稳定越好,但要考虑系统的发展变化。
当增加新的实体和属性时,可以直接利用原代码加以扩充,
而不需要重新变动代码系统。
– 简洁性:代码的长度影响其所占的存储空间,输入/输出
及处理速度,以及输入时的出错概率,因此应当尽量简短。
– 系统性:代码要有规律,逻辑性强。这样既便于计算机处
理,也便于识别和记忆及在人工处理中使用。
– 易修改性,这是代码具有标准化又具有灵活性的一面。当
系统条件发生某些变化时,代码应当容易修改。
马龙军 统计与信息学院信息管理教研室 58
2.代码设计步骤
? 严格地讲,代码设计从编制数据字典时就开始了。代
码对象主要是数据字典中的各种数据元素。代码设计
的结果形成代码本或代码表,作为其他设计和编程的
依据。代码设计可按下列步骤进行:
①明确代码目的;
②确定代码对象;
③确定代码的使用范围和期限;
④分析代码对象特征,包括代码使用频率、变更周期、
追加及删除情况等;
⑤决定采用何种代码,确定代码结构及内容;
⑥编制代码表。
马龙军 统计与信息学院信息管理教研室 59
7 – 04 – 008357 – 4
属性
属性值
国家 出版者 流水号 校验号
0
1
2
...
7
图 5-24 图书出版编号代码设计
马龙军 统计与信息学院信息管理教研室 60
3.代码的主要种类
一般来说,代码可按文字种类或功能进行分类。
按文字种类可以分成数字代码,字母代码和数字、字
母混合码。按功能则可分成以下四类。
(1)顺序码
顺序码是用连续数字或有序字母代表编码对象
的代码。例如,全班 30名同学可从 1-30按顺序编码;
发票号码、介绍信号码等都是顺序码。
这种代码的优点是简单明了,代码短;缺点是不
易于分类处理,本身不能说明任何信息特征,增加数
据时只能排在最后,删除则造成空码。通常作为其他
分类编码之后,进行细分类的一种补充手段。
作为顺序码的一个特例是分区顺序码。它将顺序
码分为若干区,给每个区以特定的意义,并且可在每
个区预留些空码,为以后插入之用。
马龙军 统计与信息学院信息管理教研室 61
例 1、课程分区顺序码:
01—09 公共课 (如公共课只有 6门,从 01—06,预留 3
个位置 )
10~ 29 基础课
30—39专业基础课
40~ 60 专业课
例 2、企业部门按管理、生产、辅助分成三个区段,使用
二位数字编码:
01—39 为管理部门
40~ 79 为生产部门
80—99 为辅助部门
马龙军 统计与信息学院信息管理教研室 62
(2)层次码
? 这种代码按位分成若干区间,每个区间有不同的意义。这
样,每位码本身及其所在的位置都代表一定的意义。
例 1、图 5,25是中国公民身份证代码的含义。它共有 18
位,全部采用数字编码,各位数字的含义请参见图中说明。
图 5-25 中国公民身体证代码的含义
1 182 3 4 5 6 7 8 9 1011 121314151617
所在省市
所在地区
所在县区

月 出生日期

户口所归属的派出所
性别:男为奇数
女为偶数
校验码
马龙军 统计与信息学院信息管理教研室 63
例 2、材料的层次码
第一位是大分类,,1‖代表金属材料,,2‖代表化工材
料。第二位是中分类,在金属材料下,1‖表示黑色金属,
,2‖表示有色金属。第三、四位是小分类。如下图所示:
1000 金属材料 2000 化工材料
1100 黑色金属 2100 无机
1110 钢材 2110 碱类
1111 钢板 2111 烧碱
1112 角钢 2112 纯碱
…… …… …… ……
马龙军 统计与信息学院信息管理教研室 64
层次码的优点是分类标准明确,有严格的隶属关系,码
中的数字 (或字母 )与位置都代表一定的意义,因而检索、分
类或排序都很方便;缺点是有时造成代码过长。
(3)十进制码
码中每一位数字代表一个分类。这是图书馆中常用的图
书编码方法。它先把整体分成 10份,进而把每份再分成 10份,
这样继续不断。例如:
500 自然科学
510 数学
520 天文学
530 物理学
531 机构
531.1 机械
531.1.1 杠杆和平衡
该分类很容易扩充容量,对于那些事先不清楚会产生什
么结果的情况是十分有效的。但这种编码很少用。
马龙军 统计与信息学院信息管理教研室 65
( 4)助记码
将编码对象的名称、规格等用汉语拼音或英文
缩写等形式编成代码,帮助记忆,故称为助记码。
例如:
,TV-C-20‖表示 20英寸彩色电视机;
,ZCL‖表示总产量;
,MIS‖表示管理信息系统。
助记码适用于数据较少的情况,否则容易引起
联想错误。
以上四种主要代码,在实际应用中,可以根据
需要选择或将几种编码方法结合起来使用。
马龙军 统计与信息学院信息管理教研室 66
附:校验码
在编码设计结构中原有代码的基础上,通过事
先规定的数学方法计算出校验码 (一位或两位 ),附
加在原代码的后面,使它成为代码的一个组成部分。
使用时,校验码与原代码一起输入,由计算机用同
样的数学方法按输入的代码数字计算出校验码,并
将它与输入校验位进行比较,以证实输入是否有错。
校验码可以检查出以下各种错误:
易位错误 如 1234记录为 1243;
双易位错 如 1234记录 1432;
抄写错误 如 1234记录为 7234;
随机错误 包括以上两种或三种综合性错误,如 1234
记录为 2243。
下面就介绍如何计算校验位和形成带校验位的代码。
马龙军 统计与信息学院信息管理教研室 67
(1)计算代码本体位的加权累加和
公式为,
其中 Ci( i=1,2,…, n) 为代码本体位符号; Pi ( i=1,
2,…, n) 为代码本体位第 i位位权因子,可以是自然数 1、
2,3,…,几何级数 2,4,8,16,32,…,质数 2,3,5、
7,11,…,等等。
( 2)计算余数
公式为:
R=S mod M
其中,R表示余数; S为代码本体位的加权累加和; mod为模
运算符号; M为模数。
( 3)计算校验位
公式为:
C=M-R,其中 C为校验码。
马龙军 统计与信息学院信息管理教研室 68
实际计算中,用 R和 M-R作校验位都是可以的。将
计算的校验位放在原代码的后面,就得到了带校验位
的代码。
在上述的计算中,每位的位权可采用自然数、几何
级数和质数,分别称为算术级数法、几何级数法和质
数法。
例:设原代码为 37645,权因子为 1,2,4,8,16。
模数 M取 10,求其校验位及带校验位的代码。
解,S=3*16+7*8+6*4+4*2+5*1
=141
R=S MOD M
=141 MOD 10
=1
所以,校验位为 1(或 M-R=9),代校验码的代码为
376451(或 376459)。
马龙军 统计与信息学院信息管理教研室 69
5.3 系统详细设计
划分子系统是简化设计工作的重要步骤。在系统分析阶
段使用的 SA方法已经贯彻了化整为零,逐层分解,各个击
破的思想。因此,从系统分析阶段开始进行系统划分的工作。
将系统划分成若干子系统,再把子系统划分为若干模块。每
个子系统或模块,无论设计还是调试、修改或扩充,基本上
可以互不干扰地进行。
子系统的划分一般有按功能划分和采用系统输入愉出图
的方式划分两种方法。
1.按功能划分子系统
这种方法考虑三个因素:①子系统在功能上应有相对的
独立性;②子系统在数据上应有较好的数据完整性;③子系
统在规模上应有一定的适中性,可以根据功能独立性、数据
完整性综合考虑。例如,一个项目管理信息系统可以分为进
度控制子系统,成本控制子系统,质量控制子系统,合同管
理等子系统。
马龙军 统计与信息学院信息管理教研室 70
2,采用系统输入/输出图划分子系统
即按系统输入/输出的独立性划分子系统。图 5.26
是一个系统输入/输出图。它的第一行标题栏中填写
各种输出报告的名字,左列标题栏从上到下列出全部
输入文件的名字,中间格子填写,X‖号,表示输出文
件来自哪个输入文件。
利用输入/输出图可
把系统分解为各个子系统。
由图 5.26可以看出,该系
统共包含两个子系统,其
中 ACD—— 245构成一个
子系统,BE—— 136构成
另一个子系统。在这两个
子系统之间,输入/输出
不发生关系。因此可以独
立开发和维护。
输入 输出1 2 3 4 5 6
A X X X
B X X
C X
D X X
E X X
图 5-26 系统输入 /输出图
马龙军 统计与信息学院信息管理教研室 71
5.3.3 输入输出设计
1.输出设计
? 用户对系统的要求是能输出他们需要的信息与数据,由
于输出的内容是由输入内容经过处理后产生的,因此,
需要哪些输入就要由输出来决定。所以是先进行输出设
计,后进行输入设计。
– 输出设计的内容
? 有关输出信息使用方面的内容
? 输出信息的内容
? 输出格式
? 输出设备
? 输出介质
– 输出内容的表达形式
? 表格 /表单信息
? 图形 /图表信息
? 其它图示符号及图标
马龙军 统计与信息学院信息管理教研室 72
– 输出设计书
? 输出设计书是用来定义一个具体输出的内容及格式的
? 在设计并形成输出设计书时,就注意以下几点
– 方便使用者
? 注意分析使用者的信息接收习惯(心理和行为
特征)
? 尽量采用原系统的输出格式,确需修改时应与
有关部门协商
? 要保持输出内容和格式上的统一性
? 要考虑计算机输出内容在手工过程的适应性
– 要考虑系统的硬件性能
? 输出的格式和大小要根据硬件的能力,认真设
计并输出样品,供用户确认同意后才能正式采

– 输出表格要考虑系统发展的需要,有充分的弹性
马龙军 统计与信息学院信息管理教研室 73
5.3 系统详细设计
输出设计书 ——样例
输出设计书
资料代码 GZ_01 输出名称 工资主文件一览 表
处理周期 每月一次 形式 行式打印 表 种类 0- 001
份数 1 报送 财务科
项目号 项目名称 位数及编辑 备注
1 部门代码 X(4)
2 工号 X(5)
3 姓名 X(12)
4 级别 X(3)
5 基本工资 9999.99
6 房费 999.99
马龙军 统计与信息学院信息管理教研室 74
5.3 系统详细设计
输出设计 ——实际样张
XXXX公司设备调拨单
请购单位,XXXXXXXXX部门 2002年 11月 27日 2002调字 00017号
设备名称 碎石机 数量 账面价格
型号规格 JQ- 1251 计划数 单位 总价
单位 台 设备编号 15073- 002 1 180,200.00 180,200.00实收数
合同号 1 单位 总价
发货仓库 10号仓库 180,200.00 180,200.00
开户银行 中国建设银行 其





运输费
账号 21100876543 保险费
备注 包装费
总计
金额
壹拾捌万贰佰元整
180,200.00
附件费
其他 610.45
□存根 □财务会计 □请购单位 □发货仓库 □财务稽核 □业务
马龙军 统计与信息学院信息管理教研室 75
2.输入设计
? 在管理信息系统工作过程中,只有按正确的程序,用正确的
操作去处理正确的数据,才能获得正确的情报信息。作为第
一步,输入设计在保证输入数据的正确性,提高数据处理的
效率和质量方面非常重要。俗话说,“输入的是垃圾,计算
得再精确,输出的还是垃圾。” 输入设计的目标是:在保证
输入信息正确性和满足输出需要的前提下,做到输入方法简
便、迅速与经济。输入设计的主要工作包括输入方式的选择,
输入格式的设计和数据校验。
(1)输入方式的选择
按广义的数据概念,数据包括文字、数字、图像和声音。
不同的数据类型可能使用不同的输入方式,或采用多媒体的
输入技术。一类输入数据是从数据产生地收集来的原始数据,
另一类输入数据是经计算机处理产生后存入磁介质 (如磁盘 ),
或由其他计算机信息系统传输到本系统作为再次输入的数据。
这里侧重讨论原始数据的输入。其输入方式根据数据产生的
地点,时间,周期,数量及特性,处理要求等确定。常用的
输入方式有以下三种方式:
马龙军 统计与信息学院信息管理教研室 76
①键盘输入。输入后通过屏幕显示确认,使用较方便。这种方
式输入速度较慢,工作量大,且容易出错,主要适用于常规的、
少量的数据输入。
②光电设备输入。这是一种直接通过光电设备,对实际数据进
行采集并且将其转换成计算机能够识别和接受的数据形式,如用
图形扫描仪 (手持或台式 )输入图形,再通过图形识别系统识别
各种文字或符号;利用光学符号阅读器输入条形码,将贴于物
品包装上的条形码转换为计算机能够识别与接受的数据。
③声音输入。通过语音识别系统,利用声频转换器和语音分析
手段,与预先存入系统的语音特征参量进行对比,通过逻辑判
断完成识别与辨认。
(2)输入数据的获得及输入格式的设计
原始数据的获得需要考虑数据产生的部门,确定收集的时间和
方法;了解数据产生的周期,平均发生量及最大量。为了便于
操作人员输入和减小错误率,输入格式一般与单据格式一致,
或者设计专门的输入记录单,按屏幕填表或对话方式输入数据。
马龙军 统计与信息学院信息管理教研室 77
(3)输入数据的校验
数据校验分为由人工直接校验的静态方法和由计算机程序
校验的动态方法两大类。每类又有许多具体校验法。这些方法
可以单独使用,也可组合使用。下面列举九种常用的校验方法。
①静态校验。在输入的同时,由计算机打印或显示输入数据,
然后与原始单据进行比较,找出差错。这种方法称静态校验法,
又称人工校验或用眼睛校验。在输入计算机之前,安排人工校
验,可以提高输入数据的正确性,降低一些计算机的处理费用。
②声音校验。在输入数字或文字时,通过汉声卡使计算机将输
入的内容读给输入者以达到边输入边校验的目的。
③词典校验。将某类数据预先存入系统中,形成词典或对照表,
作为输入此类数据的校验样本,如会计科目代码字典、作为会
计信息系统中输入的各项会计科目代码的校验。
④格式校验。检验数据记录中各数据项的位数和位置是否符合
预定的格式。例如,名称栏规定为 18位,而名称的最大位数是
17位,则该栏的最后一位一定是空白。若不是空白,就认为该
数据项错位。
⑤逻辑校验。根据业务上各种数据的逻辑性,校验数据的值是
否合理。例如,月份的值只能是 1~12个整数,超出这个范围或
出现小数、负值,肯定是错误数据。
马龙军 统计与信息学院信息管理教研室 78
⑥界限校验。检查某项输入数据的值是否位于规定范围之间,
凡超出范围以外的值,肯定是错误数据。此处所说范围可用上、
下限表示,也可只用一个上限或一个下限来确定。如某商品的
价格在 100元以内,凡该项数据大于 100时,必定有错。
⑦顺序校验。检查顺序排列的记录。如果要求输入数据无缺号
时,通过顺序校验可以发现被遗漏的记录。又如,要求记录的
序号不重复时,也可查出有无重复的记录。在计算机中是按记
录的键进行排列校验的。
⑧记录计数校验。此法通过计算记录个数,检查记录有否遗漏
和重复。不仅对输入数据,而且对处理数据、输出数据及错误
数据的个数等均可进行计数校验。
⑨平衡校验。检查数字的合计是否正确。例如检查统计报表中,
各小计之和是否等于“合计”,各“合计”之和是否等于 ―总
计”等。
马龙军 统计与信息学院信息管理教研室 79
5.3.4 数据存储设计
1、数据存储结构的规范化
在讲述这个问题之前,
我们先回顾一下关系
型数据库(二维表,又称
关系)的性质:
若一个属性(或属性组合)的
值能唯一标识一个关系中其他
属性的值,则称该属性(或属
性组合)为该关系的关键字。
①在任一列上,数据项应属于同一属性。
②所有行不能完全相同,不允许有重复的组项。
③行的顺序无关紧要。
④列的顺序也无关紧要。
⑤每一个关系都有至少一个 关键字
学号 学生姓名 年龄 班级
89101
88101
87303
89504
89102
李洋
万鹏
朱莉
丁楠
谭新
18
19
20
18
19
8901
8801
8703
8905
8901
马龙军 统计与信息学院信息管理教研室 80
学号 学生姓名 年龄 班级 班主任 课程号 课程名 成绩
89101
89101
89101
88101
88101
87303
87303
89504
李洋
李洋
李洋
万鹏
万鹏
朱莉
朱莉
丁楠
18
18
18
19
19
20
20
18
8901
8901
8901
8801
8801
8703
8703
8905
李红军
李红军
李红军
赵强
赵强
周伟
周伟
余治强
101
102
103
101
102
303
103
501
数据库
英语
财务会计
数据库
英语
审计
财务会计
高数
95
88
78
90
82
77
84
69
1、问题,①冗余度大 ②插入异常 ③删除异常
规范地重组数据结构 (关系的规范化 )
在一个关系模式中究竟需要多少个关系框架以及每个关系
框架又应当包含哪些属性为更好。先看下面的关系:
马龙军 统计与信息学院信息管理教研室 81
(1)第一规范化形式
在规范化理论中,关系必须是规范的。所谓规范
化是指在一个关系中没有重复出现的组项,即在一个
关系中每个数据项都是简单项,不能有组项 。 任何一
个规范化的关系都自动称为第一规范化 (First Normal
Form),简称 第一范式 (1NF)。
例如,表 5,1所列的职工档案的数据结构不是规范
化的。为了将其转换成规范化的关系,把“职工档案”
数据结构分解成若干个二维表的记录。将表 5,1中的
数据项分解成如表 5,2和表 5,3所示的两个文件存储。
这两个文件表示的数据结构则是规范化的。
职工基本情况文件的关键字是职工号。职工简历文
件的关键字由职工号和日期共同组成,这两个数据元
素惟一地标识一条记录。使用时可按职工号建立起两
个文件的关联。
马龙军 统计与信息学院信息管理教研室 82
职工号 姓名 性别 出生日期 简历日期 工作单位 职务
0001 丁一 男 1945.10.5 52.9 永红中学 学生
58.9 二十二中学 学生
64.5 哈建大 学生
69.8 哈建二公司 助工、工程师
80.5 哈建大 讲师
…… …… ……
0002 王二 男 1970.5.9 77.9 红光小学 学生
83.9 十六中学 学生
89.9 哈建大 学生
93.8 省建一公司 助工
…… …… …… …… …… …… ……
表 5-1 某公司职工档案
马龙军 统计与信息学院信息管理教研室 83
职工号 日期 工作单位 职务
0001 52.9 永红中学 学生
0001 58.9 二十二中学 学生
0001 64.5 哈建大 学生
0001 69.8 哈建二公司 助工、工程师
0001 80.5 哈建大 讲师
…… …… …… ……
0002 77.9 红光小学 学生
0002 83.9 十六中学 学生
0002 89.9 哈建大 学生
0002 93.8 省建一公司 助工
…… …… …… ……
0002 77.9 红光小学 学生
0002 83.9 十六中学 学生
0002 89.9 哈建大 学生
0002 93.8 省建一公司 助工
表 5-2 职工基本情况表
表 5-3 职工简历文件
马龙军 统计与信息学院信息管理教研室 84
(2)第二规范化形式
为了讲清什么是第二规范形式,我们首先学习一
个新的概念 ——函数依赖。
函数依赖, 在关系 R中,A和 B是其中两个属性,若对
于 A的每一个取值,B都有唯一的值与之对应,称 B函
数依赖于 A,记 A→B 。
例如,在零件关系模式中,有属性:零件号 (PNO)、零
件名 (PNAME)、重量 (WEIGHT)和颜色 (COLOR),设
每种零件有唯一的零件号,每种零件只有一个确定的
重量和颜色。那么零件关系模式的属性之间有下列函
数依赖:
PNO PNAME
PNO WEIGHT
PNO COLOR
而函数依赖 PNAME PNO是不成立的,因为零件
名允许重名,给了一个零件名不能唯一确定一种零件。
马龙军 统计与信息学院信息管理教研室 85
? 第二范式:如果一个规范化的数据结构,它所有的非关键字
数据元素都完全函数依赖于整个关键字,称它是第二规范化
形式 (Second Normal Form)的数据结构,简称第二范式 (2NF)。
? 根据第二规范化形式的定义,如果一个规范化的数据结构,
其关键字仅由一个数据元素组成,那么它必然属于第二范式。
? 按照第二范式定义分析图 5.23所示的数据结构不属于第二范
式。
材料编号
材料名称
规格
供应商名称
供应商地址
价格
库存量
库存占用资金
图 5-27,材料 -供应商 -库存”中的数据元素关系
马龙军 统计与信息学院信息管理教研室 86
这样的数据结构存在一些毛 病。例如,某供应商的
地址发生了变化,需要修改这家供应商的地址,但有
上百种材料由这家供应商提供,需要逐个地修改“供
应商地址”,与这家供应商有关的元组一条也不能遗
漏,这为修改带来了麻烦。
规范化之后,属于第一范式的数据结构还不是一个
好的数据结构,需要进一步把它转换成第二范式。办
法是对于关键字由若干个数据元素组成的数据结构,
必须确保所有的非关键字数据元素完全函数依赖于整
个关键字,必要时把它分解成若干都属于 2NF的数据
结构,使每个数据结构中的非关键字数据元素都完全
函数依赖于整个关键字。例如,图 5,27的数据结构可
以分解成三个 2NF的数据结构,即“材料库存文件”,
“构‘料文件”和“供应商文件”。这三个文件的组
成如下:
马龙军 统计与信息学院信息管理教研室 87
材料库存文件 材料文件 供应商文件
*材料编号 *材料编号 *供应商名称
*供应商名称 材料名称 供应商地址
价格 规格
库存量
库存占用资金
马龙军 统计与信息学院信息管理教研室 88
(3)第三规范化形式
在引入第三规范化形式之前,需要介绍“传递依
赖” (Transitive Dependence)的概念。
假设 A,B,C分别是同一个数据结构 R中的三个数据
元素,或分别是 R中若干数据元素的集合。如果 C函数依
赖于 B,而 B又函数依赖于 A,那么 C也函数依赖于 A,称
,C‖传递依赖于,A‖,说明数据结构 R中存在着传递依赖
关系。传递依赖关系如图 5,28所示。
所谓三范式,是指这样
的关系,它不仅满足 2NF的
要求,还满足所有的非主属
性都不传递依赖于码。
A
B
C
图 5-28 传递依赖关系
马龙军 统计与信息学院信息管理教研室 89
进一步分析图 5,29所示的材料库存结构,虽然已是第二范
式,但存在着传递依赖关系。因为“库存占用资金”函数依
赖于“库存量”和“价格”,这三个数据元素都属于非关键
字域,而“库存量”和“价格”都完全函数依赖于整个关键
字,因此“库存占用资金”传递依赖于关键字。这说明在非
关键字域中,存在着冗余的数据元素,因为已知“库存量”
和“价格”,就必然能够计算出“库存占用资金”。它作为
一个数据元素存在,为修改“材料库存”带来不便。每当修
改“库存量”时,就必须修改“库存占用资金”,这显然是
不合理的。 材料库存文件
*材料编号
*供应商名称
价格
库存量
库存占用资金
图 5-29,材料库存”中的数据元素关系
马龙军 统计与信息学院信息管理教研室 90
因此,只要去掉冗余项“库存占用资金”,就去掉
了传递依赖关系,而转换成了第三范式的数据结构。
另外两个数据结构“材料”和“供应商”,显然也是
第三范式的数据结构。修改后的材料库存文件为:
材料库存文件,·
*材料编号
*供应商名称
价格
库存量
(带 *号的为关键字)
(4)数据存储结构规范化的步骤
把一个非规范化的数据结构转换成第三规范化形式
的数据结构,一般要经过三个步骤,参见图 5,30。
马龙军 统计与信息学院信息管理教研室 91
非规范化的数据结构
(含有重复出现的数据组项)
第一规范化形式
(没有重复组项的数据结构)
第二规范化形式
(所有的非关键字数据元素都完全函数依赖于事个关键字)
第三规范化形式
(所有的非关键字数据元素都完全函数依赖于事个关键字,
并且只依赖于整个关键字)
第二步:如果关键字由不止一个的数据元素组成,必须确保每个
非关键字数据元素完全函数依赖于整个关键字。否则,在必要的
时候通过分解的办法,转换成若干满足这种要求的数据结构。
第一步:把所有的非平坦的(有重复的)数据结构分解成若干二
维表形式的数据结构,指定一个或若干个数据元素作为关键字,
惟一标识每个元组,关键字应由尽可能少的数据元素组成。
第三步:检查所有的非关键字数据元素是否彼此独立;如果不
是,消除传递依赖关系,通过去掉冗余的数据元素或用分解的
办法,转换成若干满足这种要求的数据结构。
图 5-30 数据存储结构规范化的步骤
马龙军 统计与信息学院信息管理教研室 92
将一个非规范化的数据结构转换成第三规范化形
式的数据结构,其规范化的过程也可以用图 5,31表示。
*A B E F
*A *C D
*A B C D E FC DC D
C D
去掉重复的组项,转换成 1NF
图 5-31 规范化的过程
*A
*B
C
D
*A
B
C
*A
D *AB
C
*A
B
去掉部分函数依赖,转换成 2NF 去掉传递依赖,转换成 3NF
马龙军 统计与信息学院信息管理教研室 93
(5)第三范式的重要作用
第三范式数据存储结构与非规范化的数据存储结构相
比,一般可以减少存储空间。由于实现“按一事一地”
的原则存储,大大提高访问及修改的效率。同时,提
高了数据组织的逻辑性、完整性、一致性和安全性。
在某些特殊情况下,如比较复杂的查询,可能要
求对若干第三范式的数据存储结构进行连接运算,从
而占用较多的机器时间。如果这类查询比较多,为了
减少查询的响应时间,可能要把若干第三范式的数据
存储结构合并成为数很少的第二范式甚至是第一范式
的数据存储结构。即使可能发生某些特殊情况,在对
数据存储的逻辑设计中,仍然按照第三规范化形式的
原则进行设计。
马龙军 统计与信息学院信息管理教研室 94
2.文件的分类
根据文件的使用情况,可将文件分为如下六种类型。
(1)主文件
主文件是长期保存的主要文件,用以存储重要数据。在
业务处理中,要对主文件经常进行调用和更新。主文件分为
静态文件和动态文件两种。前者包含的是相对来说变化不大
的数据记录,如顾客文件中的顾客号、顾客姓名、地址、电
话、账号等都具有相对稳定性;后者包含的记录将随着业务
的发生而不断修改和更新,例如库存文件、销售账文件、图
书馆的借阅文件等。为了减少不同文件的数据冗余和文件处
理工作量,常将两者结合在一起。如借阅文件中,既包括读
者的固定信息,也包括了读者借阅情况的变化。
(2)业务文件
业务文件是在业务处理过程中,临时存储数据用的文件。
这种文件实时记载业务过程中数据发生的变化,是流水账形
式的顺序文件。此种文件用于统一更新主文件或转换成其他
文件,如用出入库流水账文件一次更新库存文件。这类文件
的保存期较短。
马龙军 统计与信息学院信息管理教研室 95
(3)输入文件
? 输入文件将需要输入的大量数据先建立数据文件,经校验后
一次输入,进行处理,这种文件多用于批处理。
(4)输出文件
? 输出文件是在处理过程中输出的结果文件,它可以是打印文
件或其他形式的文件。
(5)工作文件
? 工作文件是在处理过程中暂时使用的中间文件,例如排序过
程中建立的排序中间文件等,处理结束后文件即可删除。
(6)转存文件
? 转存文件是用于存储在一定恢复点上的系统部分状态的拷贝
文件。它可能是一个正在更新过程中的文件,一组正在处理
的业务或一个运行错误的程序。转存文件主要为了安全目的。
3.文件设计的步骤
(1)了解已有的或可提供的计算机系统功能
? 外存配备磁盘、磁带、光盘,配备数量、功能、容量和有关
文件的。
马龙军 统计与信息学院信息管理教研室 96
? 转储条件等:终端和其他外设的配备:涉及文件可能使用的
范围,多终端操作的可能性及文件输入、输出和更新的条件;
系统所能提供的文件组织方式和存取方法等。
(2)确定文件设计的基本指标
? 通常,一个新系统的文件数量从几个到几十个。对于每个文
件有以下八种基本指标。
①与其他文件的接口:搞清有关文件之间的相互关系及数据
项的协调。
②文件的数据量:根据文件用途和记录长度,且从将来的需
要量考虑,估算文件的数据量 (记录数 )。
③文件的逻辑结构:根据需要确定文件记录的长度,逻辑结
构组成以及各数据项的描述。
④文件处理方式:由用途决定文件的处理方式,可以是批处
理、实时处理或混合方式等。
⑤文件的更新情况:从文件使用情况考虑,估计插入、修改
和删除等操作的频率和更新要求。
马龙军 统计与信息学院信息管理教研室 97
⑥文件的使用率:估算文件记录的实际使用频率。
⑦文件存取时间:根据业务处理的需要,对文件存取时间提出的不同要求。
⑧文件的保密性:用户对文件机密程度的要求。
(3)确定合适的文件组织方式、存取方法和介质
文件的组织方式、存取方法和介质的确定,应该考虑文件用途和使用频率等
情况。
通过以上各种因素的综合考虑和分析研究后,确定较为合适的文件组织及存
取方式,且对介质的需要量做初步计算。
(4)编写文件设计说明书
文件设计说明书是实施阶段建立文件的依据,说明书包括下列内容:
①文件组织方式,存取方法和存储介质等的选择和确定的根据;
②文件用途,使用范围,处理方式,使用要求,存取时间和更新要求等;
③文件逻辑结构,各数据项描述以及键 (码 )的确定原则:
④文件数据量和存储介质需要量的初步估算;
⑤文件保密要求及有关安全措施;
⑥对于文件数据的收集,整理和格式要求的说明:
⑦对建立和更新文件所需要的程序选行说明及提出要求;
⑧关于建立文件的注意事项及其他需要说明的内容。
马龙军 统计与信息学院信息管理教研室 98
4.数据库设计
? 数据库设计是在选定的数据库管理系统基础上,建立数据库的
过程。数据库设计除用户需求分析外,还包括概念结构设计、
逻辑结构设计和物理结构设计等三个阶段。由于数据库系统已
形成一门独立的学科,所以,当把数据库设计原理应用到管理
信息系统开发中时,数据库设计的几个步骤就与系统开发的各
个阶段相对应,且融为一体。数据库设计与系统开发阶段对照
如图 5,32所示。
图 5-32 数据库设计与系统开发阶段对照
用户需求分析
概念结构设计
逻辑结构设计
物理结构设计
系统分析(详细调查)
系统分析(逻辑设计)
系统设计
系统设计













马龙军 统计与信息学院信息管理教研室 99
(1)数据库的概念结构设计
概念结构设计应在系统分析阶段进行。任务是根据用户需
求,设计数据库的概念数据模型 (简称概念模型 )。概念模型是
从用户角度看到的数据库,可用 E-R模型表示。
(2)数据库的逻辑结构设计
逻辑结构设计是将概念结构设计阶段完成的概念模型转换
成能被选定的数据库管理系统 (DBMS)支持的数据模型。数据
模型可由实体联系模型转换而来。通常,不同的 DBMS其性能
不尽相同。为此,数据库设计者还需深入了解具体 DBMS的性
能和要求,以便将一般数据模型转换成所选用的 DBMS能够支
持的数据模型。
逻辑结构设计阶段提出的关系数据模型应符合第三范式
3NF的要求。如果选用的 DBMS是支持层次、网络模型的
DBMS,则还需完成从关系模型向层次或网络模型转换的工作。
到此为止,数据库的逻辑结构设计并未完成。下一步是用
DBMS提供的数据描述语言 DDL对数据模型精确定义,即所谓
模式定义。例如 FoxPro中的 CREATE命令,其作用类似于 DDL,
用来定义逻辑数据结构。
马龙军 统计与信息学院信息管理教研室 100
(3)数据库的物理结构设计
物理结构设计是为数据模型在设备上选定合适的
存储结构和存取方法,以获得数据库的最佳存取效率。
物理结构设计的主要内容包括:
①库文件的组织形式 ——如选用顺序文件组织形式,
索引文件组织形式等;
②存储介质的分配 ——如将易变的、存取频度大的数
据存放在高速存储器上,稳定的、存取频度小的数据
存放在低速存储器上;
③存取路径的选择等。
马龙军 统计与信息学院信息管理教研室 101
5.3.5 处理过程设计
? 利用前面 5.2中介绍的 SD方法,可以完成系统总体模块
结构的设计:每个模块完成的具体操作,则在处理过
程设计中完成。本设计的成果表现为为每个模块编制
一个输入一处理一输出图,即 IPO图。它是程序设计的
主要依据。
1.设计工具
(1)IPO图
? IPO(Input-Process-Output)图是由 IBM公司发起并且逐
渐完善起来的一种工具。在由系统分析阶段产生数据
流图,经转换和优化形成系统模块结构图的过程中,
产生大量的模块,开发者应为每个模块写一份说明。
IPO图就是用宋表述每个模块的输入,输出和数据加工
的重要工具。常用系统的 IPO图的结构如图 5,33所示。
马龙军 统计与信息学院信息管理教研室 102
开始
循环,T.
功能选择
退出系统
显示工作结束 销售业务 采购业务 会计业务 显示选择错
显示系统功能
Y
N
0 1 2 3 其他
处理过程说明
输入
功能代码 0,1,2,3
输出
上层调用模块

可调用的下层模块
销售,采购,会计模块
局部数据项 注释
系统,材料供应商 MIS
模块,主控
设计人,张三
日期,2002.05
IPO图

5-
33




的IP
O
图(



块)
马龙军 统计与信息学院信息管理教研室 103
IPO图的主体是处理过程说朋。为简明准确地描述模
块的执行细节,可以采用上一章介绍的判定表、判定树,
以及下面将要介绍的问题分析图、控制流程图及过程设
计语言等工具进行描述。
IPO图中的输入/输出来源或终止于相关模块、文件
及系统外部项,并需在数据字典中描述。局部数据项是
指本模块内部使用的数据,与系统的其他部分无关,仅
由本模块定义、存储和使用。注释是对本模块有关问题
做必要的说明。 IPO图不仅在开发阶段作为编写程序之用,
在运行阶段也可作为修改和维护程序之用,因此,IPO图
是系统设计中一种重要的文档资料。
(2)控制流程图
控制流程图 (FC,Flow Chart),又称框图,是经常使
用的程序细节描述工具。框图包括三种基本成分:“矩
形框”表示处理步骤,“菱形框”表示判断、“箭头”
表示控制流。
马龙军 统计与信息学院信息管理教研室 104
框图的特点是清晰易懂,便于初学者掌握。在结
构化程序设计出现之前,框图一直是软件设计的主要
工具。由于箭头是框图中的一个隐患 (同时也是灵活性
的表现 ),人们可用箭头实现向程序任何位置的转移 (即
GOTO语句 ),往往不能引导设计人员用结构化设计方
法进行详细设计。箭头的使用不当,会使框图非常难
懂,而且无法维护。因此,框图的使用有减少的趋势。
(3)问题分析图
问题分析图 (PAD,Problem Analysis Diagram)由日
立公司二村良彦等人于 1979年提出,是一种支持结构
化程序设计的图形工具,可以取代前述的控制流程图。
问题分析图仅仅具有顺序、选择和循环三种基本成
分 (如图 5,34所示 ),正好与结构化程序设计中的基本
成分相对应。
马龙军 统计与信息学院信息管理教研室 105
P1
P2
P1
P2
C P
循环选择顺序
图 5-34 PAD的基本成分图 的基本成分
马龙军 统计与信息学院信息管理教研室 106
? 图 5,35的选择排序控
制流程图和图 5,36的
选择排序问题分析图
分别表示了将 n个数从
小到大排序的处理过
程。
r=i
i=i+1
Ri 与 Rr交换
开始
i>n-1
r=i
Kr <Ki
i=1
Y i
j i+1
j=j+1
r i
停止
Y
Y
Y
N N
N
图 5-35 选择排序控制流程图
马龙军 统计与信息学院信息管理教研室 107
I=1TOn-1 J=I+1TOn
R=I
R=J
SWAPA(R),A(J)
I<>R
A(R )>A(J)
图 5-36 选择排序问题分析图及“走树”示例
马龙军 统计与信息学院信息管理教研室 108
问题分析图的独到之处在于:以问题分析图为基础,按照
一个机械的变换规则就可编写计算机程序。该规则称为“走
树” (Tree Walk):顺着问题分析图所呈的树状结构移动 (如图
5,32所示 ),依次将遇到的 PAD基本成分变换成相应的程序
结构。
问题分析图有着逻辑结构清晰,图形标准化及与人们所
熟悉的控制流程图比较相似等优点。更重要的是,它引导设
计人员使用结构化程序设计方法,从而提高程序的质量。
同时,由于“走树”规则可以直接产生程序,有利于软
件生产的自动化。
(4)过程设计语言
过程设计语言 (PDL,Process Design Language)是 ——个笼
统的名字,有许多种不同的过程设计语言。过程设计语言用
于描述模块中算法和加工的具体细节,以便在开发人员之间
比较精确地进行交流。
过程设计语言的外层语法描述结构,采用与一般编程语言
类似的确定的关键字 (如 IF-THEN-ELSE,WHILE-DO,等 ),
内层语法描述操作,可以采用任意的自然语句 (英语或汉语 )。
马龙军 统计与信息学院信息管理教研室 109
例如,下面是一般用过程设计语言描述的算法。其中外层语法 IF-
THEN-ELSE是确定的,而内层操作 ―SQUAREROOT OF x‖ 则是
不确定的自动格式。
IF X IS NOT NEGATIVE
THEN
RETURN (SQUARE ROOT OF x AS A RBAL NUMBER):
ELSE
RETURN (SQUARE ROOT OF x AS AN IMAGINARY NUMBER)
由于过程设计语言与程序很相似,也称伪程序或伪代码 (Pseudo
Code)。但它仅仅是 对算法的一种描述,是不可执行的。
过程设计语言主要描述系统中属于计算型的下层模块。与问题分
析图等图形工具相比,过程设计语言有以下优点:①与自然语言
(英语 )很接近,易于理解;②易于被计算机处理与存储,例如用
行编辑程序或字处理软件就可方便地对它进行修改编辑;③可以
从它自动产生程序,例如已经研制出来的从 PDL/ C产生 C语言源
程序的自动工具。过程设计语言也有它的不足之处,它不如图形
描述直观,以及英语使用的准确性要求较高。
马龙军 统计与信息学院信息管理教研室 110
2.几种基本的处理过程 (程序模块 )
一个管理信息系统的软件由很多程序模块组成。这些程序模
块可按处理过程归纳成几种基本的类型,包括控制模块,输
入及校验模块,编辑模块,修改、更新模块,分类合并模块,
计算模块,查询、检索模块,预测、优化模块和输出模块等,
其结构如图 5,37所示。
控制模块
输入模块 输入数据校验模块 处理模块 输出模块
编辑 修改,更新 分类合并 计算 查询,检索 预测,优化 报表打印 1 报表打印 n…
图 5-37 基本程序模块结构
马龙军 统计与信息学院信息管理教研室 111
(1)控制模块
控制模块包括主控模块和各级控制模块。控制模块的
主要功能是根据用户要求信息,由用户确定处理顺序,然
后控制转向各处理模块的入口。
(2)输入模块
输入模块主要用来输入数据。输入方式有直接用键盘输
入和软盘录入两种。
(3)输入数据校验模块
该模块对已经输入计算机中的数据进行校验,以保证原
始数据的正确性。校验的方法已在本节输入设计中做过介
绍。
(4)输出模块
输出模块将计算机的运行结果通过屏幕、打印机或磁盘、
磁带等设备,给用户输出。在管理信息系统中,一般都有
大量的表格、图表需要输出,因此输出模块的质量直接关
系整个系统的性能。
(5)处理模块
根据管理信息系统的不同应用部门和要求,有不同的处
理功能,通常有以下六种类型:
马龙军 统计与信息学院信息管理教研室 112
①编辑程序。编辑程序的主要功能是将按简略代码形式输入
的记录内容,编辑成完整的记录,按需要改变数据项的排列,
调整记录的格式,便于输入的形式转换成适于计算机处理的
形式。
②文件更新程序。当系统应用的数据发生变化时,需要修改
数据文件。例如,增加新的记录,修改数据项或记录,删除
某些不需要的记录,或对两种以上的文件进行核对的匹配处
理。一般来说,文件更新模块应该具有下述功能;对记录中
关键字的控制功能,通过关键字查找相应记录;控制总记录
数的功能,以便控制追加、插入记录的位置;具有记录地址
或字节位置的控制功能,以便确定修改数据的位置,控制插
入或者追加的数据位置。
③分类合并程序。分类是指把收集在同一文件中的几类数据
分开,形成几个独立文件的过程。合并则恰好相反。分类合
并程序的主要功能是对已经建立的文件,按某关键字进行分
类合并。例如,在材料核算系统中耗用材料按照材料类型合
并处理。分类合并程序应该具有控制记录总数的功能,字符
串比较的功能,排序、统计和计数功能。
马龙军 统计与信息学院信息管理教研室 113
④计算程序。进行计算机处理,包括同类记录和不同类记
录中各数据项的运算。例如,将材料单价与数量相乘,求得
某材料的应付金额;若要计算某种材料在某个产品中的总消
耗量,则必须累计各次材料领用量,然后减去废料量。
⑤数据检索程序是为用户提供查询有关信息的程序。它包括
输入查询要求和输出特定的查询结果。它是管理信息系统的
人 —机接口,对于人 —机交互的友好程序以及查询响应时间
等均有较高要求。
⑥预测或优化程序。使用预测或优化的数学模型,利用管理
信息系统所提供的有关数据,进行计算和分析并且输出结果,
辅助企业或部门的管理人员进行决策。例如库存管理中的
ABC分类,最佳订货量计算,房地产投资的风险分析等。
一个完整的计算机管理信息系统,常常是以上各类基本
程序模块的组合体。
马龙军 统计与信息学院信息管理教研室 114
5.3.6 系统设计说明书
? 系统设计说明书是系统设计阶段的主要成果,是新系统的物
理模型,也是系统实施的重要依据。
1.概述
①系统的功能,设计目标及设计策略;
②项目开发者,用户,系统与其他系统或机构的联系;
③系统的安全和保密限制。
2.系统设计规范
①程序名,文件名及变量名的规范化;
②数据字典。
3.计算机系统的配置
①硬件配置:主机,外存,终端与外设,其他辅助设备、网
络形态;
②软件配置:操作系统,数据库管理系统,语言,软件工具,
服务程序,通信软件;
③计算机系统的分布及网络协议文本。
马龙军 统计与信息学院信息管理教研室 115
4.系统结构
①系统的模块结构图;
②各个模块的 IPO图。
5.代码设计
各类代码的类型,名称,功能,使用范围及要求等。
6.输入设计
①各种数据输入方式的选择;
②输入数据的格式设计;
③输入数据的校验方法。
7.输出设计
①输出介质;
②输出内容及格式。
8.文件 (数据库 )设计
①数据库总体结构:各文件数据问的逻辑关系;
②文件结构设计:各类文件的数据项名称,类型及长度等:
③文件存储要求,访问方法及保密处理。
9.模型库和方法库设计
关于模型库和方法库设计的相关说明。
马龙军 统计与信息学院信息管理教研室 116
10.系统安全保密性设计
关于系统安全保密性设计的相关说明。
11.系统实施方案及说明
实施方案,进度计划,经费预算等。
马龙军 统计与信息学院信息管理教研室 117
本章小结
? 系统分析阶段要回答的中心问题是系统“做什么”,
即如何实现系统说明书规定的系统功能。系统设计的
优劣直接影响新系统的质量及经济效益。
? 系统设计的目标是在保证实现逻辑模型的基础上,尽
可能提高系统的各项指标,即系统的工作效率、可靠
性、工作质量、可变性、经济性等。管理信息系统的
开发是一项系统工程。为了保证系统的质量,设计人
员必须遵守系统性、灵活性、可靠性和经济性的原则。
马龙军 统计与信息学院信息管理教研室 118
? 系统概要设计是根据系统分析所得到的系统逻辑模型一一
数据流图和数据字典,借助一套标准化的图、表工具,导
出系统的功能模块结构图。根据系统分析的结果一一系统
分析说明书所描述的系统目标、功能、环境和约束条件,
确定合适的计算机处理方式和计算机总体结构及系统配置。
? 管理信息系统是以计算机科学与技术为基础的人 —机系统。
管理信息系统平台是管理信息系统开发、应用的基础。管
理信息系统平台设计包括计算机处理方式,网络结构设计,
网络操作系统的选择,数据库管理系统的选择等软、硬件
选择与设计工作等。
? 系统的详细设计是系统概要设计的深入,是由总体到局部,
再由局部到总体的反复优化过程。详细设计主要包括代码
设计,划分子系统,输出设计,输入设计,数据存储设计,
处理过程设计,制定设计规范及编写系统设计报告等。