工程管理信息系统
5-1
哈尔滨工业大学管理学院
建设信息教研室













第五章 系统设计
5-2
?系统设计的目标与原则
?系统概要设计
?系统详细设计
系统设计的任务主要是解决, 怎么做, 的问题。
其目标是进一步实现系统分析阶段推出的系统模型,
详细地确定新系统的结构、应用软件的研制方法和
内容。













5.1 系统设计的目标与原则
系统设计的目标
?系统的工作质量
? 准确及时性
? 用户友好性
?系统的可变性
? 可修改性
? 易维护性
?系统的经济性
? 直接、间接经济效益
? 社会效益
? 系统工作效率
? 处理能力
? 处理速度
? 响应时间
?系统的可靠性
? 可抗性
? 平均无故障时间
? 平均修复时间
5-3













?系统性
代码统一, 设计规范标准, 数据一次输入多次利用 。
?灵活性
开放性和结构可变性, 尽量采用模块化结构, 提高模
块的独立性 。
?可靠性
安全保密性, 检错及纠错能力等 。
?经济性
硬件投资应以满足需要为前提, 系统设计应尽量避免不必要的复
杂化, 各模块应尽量简洁 。
5-4
5.1 系统设计的目标与原则
系统设计的原则













系统概要设计是根据系统分析所得到的系统逻辑模
型 —— 数据流图和数据字典,借助一套标准化的图、表
工具,导出系统的功能模块结构图。
?结构化设计( Structured Design,SD) 方法
5-5
5.2 系统概要设计
功能模块设计
SD方法 是由美国 IBM公司的 W,Stavens,G.
Myers,L,Constantinl等人提出的,适用于任何软
件系统的软件结构设计。 SD方法通常与系统分析阶段
的 SA方法衔接起来使用,借助 SA方法得到用数据流图
和数据词典描述的系统分析报告,SD方法则以数据流
图为基础得到软件的模块结构。













是将系统设计成由相对独立、单一功能的模块组成的结构,
从而简化研制工作,防止错误蔓延,提高系统的可靠性。在这种
模块结构中,模块之间的调用关系非常明确与简单,每个模块可
以单独地被理解、编写、调试、查错与修改。模块结构整体上具
有较高的正确性、可理解性与可维护性。
? SD方法的基本思想
? 在从数据流图导出初始模块结构图时采用一组基本的设计
策略 — 变换分析与事务分析。
? 在对初始模块结构图改进和优化方面有一组基本的设计原
则 — 耦合小、内聚大,和一组质量优化技术。
? SD方法采用图形表达工具 — 模块结构图
5-6
5.2 系统概要设计
功能模块设计













? 模块结构图
? 模块结构图的导出
? 模块结构图的评价
? 模块结构图的改进
5-7
5.2 系统概要设计
功能模块设计













模块结构图是描述系统结
构的图形工具
计算工资
计算工资总额 计算实发工资 打印工资单
奖金
基本工资 扣款数
总额 总额 实发工资
实发数
职工姓名
5-8
? 模块结构图
5.2 系统概要设计
功能模块设计
工资系统的模块结构图
模块
调用
数据
控制信息
转接符号
基本符号













( 1)模块
通常指用一个名字就可以调用的一段程序语句。
如,FoxPro中的过程或命令文件。一个模块应具备以下四要素:
? 输入和输出;
? 功能;
? 内部数据;
? 程序代码。
5-9
5.2 系统概要设计
功能模块设计
? 模块结构图













在模块结构图中,用联接两个模块的箭
头表示调用。箭头总是由调用模块指向被调
用模块,执行后又返回调用模块。
( 2)调用
a.调用 b.判断调用
A
B CB
A
模块的调用规则
? 每个模块都有特定的任务,只有上级模
块才能调用下级模块 ;
? 模块的通信仅限于上下级模块之间,任
何模块不能与其他上下级模块或同组模
块进行直接通信联系 ;
? 某一模块要与其相邻的同组模块进行信
息交换,必须通过各自的上级模块 ;
? 模块调用的次序是从上而下,自左向右。
B C D
A
c,循环调用
5-10
5.2 系统概要设计
功能模块设计
? 模块结构图













B
A
X,Y
Z
简历数据
读人事文件
查职工简历


号 无此职工
( 3)数据
一个模块调用另一个模块时,
调用模块可以把数据传送到被调用
模块供处理,被调用模块又可以将
处理结果送回到调用模块。
( 4)控制信息
模块间传递某些控制信息
用以指导程序下一步的执行控
制信息只反映某种状态,不必
进行处理。
5-11
5.2 系统概要设计
功能模块设计
? 模块结构图













( 5)转接符号
当模块结构在一张图面上画不下,需要转接到另
外一张纸上,或为了避免图上线条交叉时,都可以使
用转接符号。
C
1
A B
D
1 1
E F
5-12
5.2 系统概要设计
功能模块设计
? 模块结构图













相关概念,
① 统帅与从属
② 深度
③ 宽度
④ 扇出数
⑤ 扇入数
A
G H I J K L
M N



总宽度
B C D E F
A扇出 5
B扇出 3 F扇出 2
宽度 5
宽度 2
M扇入 2 N扇入 3
A统帅 B,C,D,E,F
B,C,D,E,F从属 A
5-13
5.2 系统概要设计
功能模块设计
? 模块结构图













( 1)事务分析 以事务为中心的转换方法。
一个抽象的高层数据流图
CY
AX B Z
F1
F2 A B C
SYSTEM
分解后的系统结构图
? 范围,一般用于转换高层数据流图。
? 优点,能把一个大的、复杂的系统分解成若干个小的、简
单的子系统。
5-14
5.2 系统概要设计
功能模块设计
?模块结构图的导出













1 2 3
65
4
A B C
D
E
F
G H
输入 主加工 输出
数据流图
? 范围,一般用于将低层数据流图转换成系统模块
结构图。如下面的图 A转换为图 B。
5-15
( 2)变换分析 以变换为中心的转换方法。
5.2 系统概要设计
功能模块设计
?模块结构图的导出













SYSTEM
GET C MAKE CINTO D&E PUT E PUT D
D&EC
C
E
D
GET B MAKE BINTO C MAKE EINTO G PUT G MAKE DINTO F PUT F
B B C E
G
G D F F
GET A MAKE AINTO B MAKE GINTO H PUT H
A A B G H H
图 B
1 2 3 65
4
A B C
D
E
F
G
H
输入 主加工 输出
图 A
5-16
( 2)变换分析
5.2 系统概要设计
功能模块设计
?模块结构图的导出













评价模块结构图的主要标准是耦合小,聚合大。即块间联系
小,块内联系大。
5-17
5.2 系统概要设计
功能模块设计
?模块结构图的评价与改进
模块结构图改进首先应按照, 块间联系小、块内联系大,
的质量标准进行检查和修改。其次应注意以下几个问题,
( 1)合理确定模块的扇入和扇出
扇入数为 1的模块一般可以合并到它的上层模块。
扇入数较大时,不能向上合并。
一个模块具有多个功能时,应考虑进一步分解(扇出)。对扇
出数过少(例如 1和 2)的模块,也应进行检查。 一般说来,模块的
扇出数应在七个以内。
( 2)模块的大小适中
模块的功能决定模块的大小 。













( 3) 消除重复的功能
同一功能的程序多次出现会浪费编码时间,并不
易调试和维护,应予以合并。
YX
QQ
Q1 Q2
YX
QQ
Q1 Q2
YX
Q
YX
Q
Q1* Q2*
Q
X* Y*正确的
合 并
错误的
合 并
5-18
5.2 系统概要设计
功能模块设计
?模块结构图的改进













( 4)减少块间传递参数的个数
( 5)消除管道性的模块
管道性指没有实质性的工作,只是传递数据。
( 6)整体考虑问题
研究整张结构图,而不是由几个人分别研究一张图
的各个部分。
( 7)合理设置模块的作用范围和控制范围
作用范围, 模块中包含的判定处理所影响到的其他
模块集。
控制范围, 模块本身及其所有的下属模块。
5-19
5.2 系统概要设计
功能模块设计
?模块结构图的改进













代码设计
划分子系统
输出设计
输入设计
数据存储设计
处理过程设计
编写系统设计说明书
5-20
5.3 系统详细设计













? 代码的概念
代码是客观实体或属性的一种表示符号。在管理信息系统中,代
码是人与计算机的共同语言,起着沟通人与计算机的作用。
? 代码设计的目的
采用代码,可以使数据表达标准化,简化程序设计,加快输入,
减少出错,便于计算机处理(记录、检索、排序等),节省存储空
间,提高处理速度。
? 代码设计的意义
代码设计是一项重要的基础工作,设计质量的好坏,不仅关系
到计算机的处理效率,而且直接影响 MIS的推广与使用。
5-21
5.3 系统详细设计
代码设计













? 代码设计的原则
? 唯一确定性 每一代码仅代表唯一的实体或属性,每
一实体和属性都用一个确定的代码来表示。
? 标准化与通用性 尽可能利用国际、国内、部门的标
准代码。
? 可扩充性 考虑系统的发展与变化,当增加新的实体
(或属性)时,不需要变动原代码体系。
? 简明性 尽可能简短、统一。
? 系统性 代码要有规律,逻辑性强。这样既便于计算
机处理,也便于识别和记忆及人工处理使用。
? 易修改性 这是代码具有标准化又具有灵活性的一面,
当系统条件发生某些变化时,代码应容易进行修改。
5-22
5.3 系统详细设计
代码设计













明确代码目的;
确定代码对象;
确定代码的使用范围和期限;
分析代码对象特征, 包括代码使用频率, 变更周期,
追加及删除情况等;
决定采用何种代码, 确定代码结构及内容;
编制代码表;
编制相应的代码使用管理维护制度, 保证代码使用 。
5-23
5.3 系统详细设计
代码设计
? 代码设计步骤













?按文字种类分:
? 数字代码
? 字母代码
? 数字字母混合码
? 按功能划分:
?顺序码
? 层次码
?十进制码
? 助记码
5-24
5.3 系统详细设计
代码设计
? 代码 的种类













用连续数字表示编码对象。例如企业职工代码可以编为, 0001,
0002,0003等。顺序码简单明了,易扩充,但不便于分类汇总,删除
数据易造成空码。
作为顺序码的一个特例是分区顺序码,它将顺序码分为若干个区,
给每个区以特定的意义,并可在每个区预留些空码,为以后插入之用。
例如课程分区顺序码:
01~ 09 公共课(如公共课只有 6门,从 01~ 06,预留 3个位置)
10~ 29 基础课
30~ 39 专业基础课
40~ 60 专业课
缺点:使用中预留多少备用码不好估计。
5-25
5.3 系统详细设计
代码设计
? 顺序码













层次码也称区间码。这种代码按位被分成若干个区间,每个
区间有不同的意义,这样每位码本身和其所在的位置都代表一定的
意义。
如:某住宅小区工程项目采用两位区间码代表分项分部。
第一位为分部工程代码
1—— 小区 1号楼
2—— 小区 2号楼
第二位分项工程代码
1—— 土方工程
2—— 砌筑工程
则:代码 12表示小区 1号楼砌筑工程
代码 21表示小区 2号楼土方工程
5-26
5.3 系统详细设计
代码设计
? 层次码













例:我国公民身份证代码的含义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18











区 年 月 日
出生日期 户口所归属
的派出所 性别:男为奇数
女为偶数
校验码
?优点:是分类基准明确,码中的数字 (或字母 )与位置都代表一定
的意义,因而检索、分类或排序都很方便。
?缺点:有时会造成代码过长。
5-27
5.3 系统详细设计
代码设计
? 层次码













先把整体分成十份,进而把每一份再分成十份,这
样继续不断。
5-28
5.3 系统详细设计
代码设计
? 十进制码
例如,500 自然科学
510 数学 520 天文学 530 物理学
531 机构
5311 机械
53111 杠杆与平衡
这种编码方法对于那些事先不清楚会产生什么结果的情况
十分有效的。













以上几种主要代码,在实际应用中,可根据需要
进行选择,或将几种编码方法结合起来使用。
将编码对象的名称、规格等用汉语拼音或英文缩写等
形式编成代码,可帮助记忆,故称为助记码。
例如:, SX-2”表示 2厘米直径的石硝建材;
,YSZE”表示预算总额;
,PMIS”表示项目管理信息系统。
助记码适用于数据较少的情况,否则容易引起联想错
误。
5-29
5.3 系统详细设计
代码设计
? 助记码













?部门代码 一般采用区间码或分组码。
2位部门码又可以采用区间码。
例如,00~ 49表示基本生产部门
50~ 99表示管理科室。
?人员代码 一般采用部门代码加顺序码。
5-30
5.3 系统详细设计
代码设计示例
班组码部门码
* * * *
班组码部门码 顺序码
* * * * * * *













?物资代码 一般采用分组码或区间码,并辅以助记码。
?设备代码 一般按类别设置代码。
?产品代码 一般采用分组码或助记码设计。
物资(设备)代码示例
产品 代码示例
5-31
5.3 系统详细设计
代码设计示例
大类 中类 小类 序号
(大类)(品种)(规格)(序号)
* * * * * * * *
型号产品品种 序列号
* * * * * * * * *













? 工程代码 一般采用分组码。
? 会计科目代码 一般采用 3- 2- 2- 2代码结构。
? 业务往来单位代码 一般采用邮政编码加序号。
5-32
5.3 系统详细设计
代码设计示例
工程 代码示例
性质 年份 序号
* * * * * * * *
业务往来单位 代码示例
* * * * * * * *
邮编 序号
一级科目 二级科目 三级科目 四级科目
会计科目代码示例
* * * * * * * * *













划分子系统是简化设计工作的重要步骤。将系统划
分为若干个子系统,再把子系统划分为若干个模块,每
一个子系统或模块,无论是设计或是调试,基本上可以
互不干扰地进行。
?划分子系统的方法,
?按功能划分
要作到功能独立、数据完整、规模适中。如:项目系统:进度、
质量、合同等。
?采用输入输出图划分
按输入输出的独立性划分子系统。
5-33
5.3 系统详细设计
划分子系统













采用输入输出图划分
××E
××D
×C
××B
×××A
654321
输 出输入
格子中的“×” 号表示输出文件来自哪个输入文件。
图中可分为两个子系统,ACD- 245构成一个子系统
BE- 136构成另一个子系统
两个子系统之间,输入输出不发生关系。因此可以独立开发和维护。 5-34
5.3 系统详细设计
划分子系统
例如:













输出设计所要解决的问题是针对不同用户的特点
和要求,以最适当的形式,输出最切合需要的信息。
? 输出方式的选择
? 输出报表的设计
? 输出设计说明
5-35
5.3 系统详细设计
输出设计













? 输出方式的选择
? 显示器:内容不多,无需保存的检索信息。
? 打印机、绘图仪:系统最终结果,以图表或文件的形式输出。
? 音箱:以声音方式输出。
? 磁盘:以磁盘文件的形式输出中间结果信息。
? 调制解调器或网络:可通过电话线或网络传至其他系统。
5-36
5.3 系统详细设计
输出设计
?输出报表的设计
标准化,使用方便,符合用户习惯,便于计算机实现。
?输出设计说明
内容包括,选用的输出设备、信息输出的频率和数量,各
种输出文件及输出报表的格式及表格样本等。













在保证输入信息正确性和满足输出需要的前提下,
做到输入方法简便、迅速、经济。
? 输入方式的选择
键盘、鼠标、扫描仪、声音等。
? 输入数据的获得及输入格式的设计
? 考虑数据产生的部门,了解数据的产生周期、平均发生量
及最大量,确定收集的时间和方法等。
? 输入格式一般与单据格式一致或设计专门的输入记录单,
按屏幕填表或对话方式输入。
5-37
5.3 系统详细设计
输入设计












计 5-38
5.3 系统详细设计
输入设计
?输入数据的校验(检验方法)
?静态校验:输入,打印,校对 ;
?声音校验:边输入计算机边读 ;
?词典校验:以预先存入的词典作为校验样本 ;
?格式检验:检验数据是否符合预先规定格式 ;
?逻辑校验:检验数据值是否合理 ;
?界限校验:检验数据值是否在规定范围内 ;
?顺序校验:检查顺序排列的记录 ;
?记录计数检验:通过记录个数检查是否遗漏 ;
?平衡校验:检验数据的合计是否正确,













? 数据存储结构规范化
? 文件分类
? 文件设计步骤
? 数据库设计
5-39
5.3 系统详细设计
数据存储设计













?规范化理论,Normalization Theory
为了使数据存储有一定的标准和简化数据存储的结构,美国
IBM公司的科德( E,F,Codd) 在 1971年首先提出了规范化理论,
如今这个理论有了很大的发展。
用规范化方法设计数据存储结构,可以提高数据的完整性,
一致性和可修改性。
规范化理论虽然以关系数据模型为背景,设计一个关系数据
库,但是它对一般的数据库逻辑设计,同样具有重要的指导意义。
5-40
5.3 系统详细设计
数据存储设计
?数据存储结构规范化













? 第一范式( 1NF)
为将其转换成规范化的关系,需把“职工档案”数据结构分解
成若干个二维表记录。
职 工 档 案
…..,…..,…..,…..,…… ……… ……...
简 历职工号 姓 名 性别 出生日期
日期 工作单位 职 务
0001 丁一 男 1945.10.5 1952.9 永红小学 学生
1958.9 二十二中学 学生
1964.9 哈建大 学生
1969.8 哈二建公司 助工、工程师
5-41
5.3 系统详细设计
数据存储设计
?数据存储结构规范化
在一个数据结构中没有重复出现的数据项。
例如,职工档案所表示的数据结构(不是规范化的)













将上表中的数据项分解成如下两表所示的两个文件存储,这
两个文件表示的数据结构是规范化的。
职工号 日期 工作单位 职 务
0001 1952.9 永红小学 学生
0001 1958.9 二十二中学 学生
0001 1964.9 哈建大 学生
0001 1969.8 哈二建公司 助工、工程师
…… …..,……… ……...
职工基本情况文件
职工号 姓 名 性别 出生日期
0001 丁一 男 1945.10.5
…… …… …… …...
职工简历文件
5-42
5.3 系统详细设计
数据存储设计
?数据存储结构规范化 ? 第一范式( 1NF)













?函数依赖( Functional Dependence)
如果在一个数据结构 R中,数据元素 B的取值依赖于数据元
素 A的取值,我们称 B函数依赖于 A。
换句话说,A决定 B,用,A?B”表示。
所有非关键字数据元素完全函数依赖于整个关键字。
( 关键字仅由一个数据元素所组成必为第二 范式 )
5-43
5.3 系统详细设计
数据存储设计
?数据存储结构规范化 ? 第二范式( 2NF)













? 供应商文件
*供应商名称
供应商地址
材料编号
材料名称
规格
供应商名称
供应商地址
价格
库存量
库存占用资金
?材料文件
*材料编号
材料名称
规格
?材料库存文件
*材料编号
*供应商名称
价格
库存量
库存占用资金
例如:, 材料 -供应商 -库存, 中的数据元素关

5-44
5.3 系统详细设计
数据存储设计
?数据存储结构规范化 ? 第二范式( 2NF)













一个属于第 三 范式的数据结构,所有的非关键字数据元素
都是彼此函数独立的。
A
B
C
? 函数依赖,如果在一个数据结构 R中,数据元素 B的取值依赖于
数据元素 A的取值,称 B函数依赖于 A。
? 传递依赖,设 A,B,C分别是同一个数据结构 R中的三个数据元
素,如果 C函数依赖于 B,而 B又函数依赖于 A,那么 C也函数依
赖于 A,称 C传递依赖于 A。
5-45
5.3 系统详细设计
数据存储设计
?数据存储结构规范化 ? 第三范式( 3NF)













如下材料库存结构,已是第二范式,但存在着传递依赖关系。
即库存占用资金, 函数依赖于, 库存量, 和, 价格,,这三个
元素均为非关键字域,而, 库存量, 和, 价格, 都完全依赖于
整个关键字。显然,,库存占用资金, 是冗余数据元素。去
掉它,就去掉了传递依赖关系,而转换成第三范式的数据结构。
?材料库存文件
**材料编号
**供应商名称
价格
库存量
材料库存文件
材料编号
供应商名称
价格
库存量
库存占用资金
5-46
5.3 系统详细设计
数据存储设计
?数据存储结构规范化 ? 第三范式( 3NF)













第二步,如果关键字多于一个数据元素,
确保每个非关键字数据元素完全函数
依赖于整个关键字
第一步,把所有有重复的数据结构分解为
若干个二维表的数据结构,指定关键
字唯一标识出每个元组。
第三步,检查所有的非关键字数据元素是
彼此独立,如果不是,消除函数传递
依赖关系,通过去掉冗余或分解的办
法转换成若干个满足这种要求的数据
结构。
非规范化的数据结构
(含有重复出现的数据组项)
第一规范化模式
(没有重复组项的数据结构)
第二规范化形式
(所有非关键字数据元素都
完全依赖于整个关键字)
第三规范化形式
(所有的非关键字数据元素都
完全函数依赖于整个关键字
并且仅依赖于整个关键字)
5-47
5.3 系统详细设计
数据存储设计
?数据存储结构规范化的步骤













(1)去掉重复的数据项,转换成 1NF
A B E F
C D
*A B E F
*A *C D
(2)去掉部分函数依赖,转换成 2NF
(3)去掉传递依赖,转换成 3NF*A
*B
C
D
*A
*B
C
*A
D *A
B
C
*A
B
5-48
5.3 系统详细设计
数据存储设计
?数据存储结构规范化的步骤













?主文件 长期保存、用以存储重要数据,对主文件经常进行
调用和更新。
?业务文件 临时存储数据、实时记载业务过程中数据发生的
变化,用于统一更新主文件。
?输入文件 需要输入的大量数据先建立数据文件, 经校验后,
一次输入进行处理 。
?输出文件 输出的结果文件, 它可以是打印文件或其他形式
的文件 。
?工作文件 在处理过程中暂时使用的中间文件,处理结束后
文件即可删除。
?转存文件 用于存储在一定恢复点上系统部分状态的拷贝文
件 。 转存文件主要是为了安全目的 。
5-49
5.3 系统详细设计
文件设计












计 5-50
5.3 系统详细设计
文件设计的步骤
? 了解已有的或可提供的计算机系统功能文件
? 外存配备:磁盘、磁带、光盘的配备数量、功能、容量
和有关文件的转贮条件等;
? 终端和其他外设的配备:涉及文件可能使用的范围,
多终端操作的可能性及文件输入、输出和更新的条件;
? 系统所能提供的文件组织方式和存取方法等













? 与其他文件的接口,搞清有关文件之间的相互关系及数据项的协调。
? 文件的数据量,根据文件用途和记录长度, 并从将来的需要量考虑, 估
算文件的数据量 ( 记录数 ) 。
? 文件的逻辑结构,根据需要, 确定文件记录的长度, 逻辑结构组成以及
各数据项的描述 。
? 文件处理方式,由用途决定文件的处理方式, 可以是批处理, 实时处理
或混合方式等 。
? 文件的更新情况,从文件使用情况考虑, 估计插入, 修改和删除等操作
的频率和更新要求 。
? 文件的使用率,估算文件记录的实际使用频率 。
? 文件存取时间,根据业务处理的需要, 对文件存取时间提出的不同要求
? 文件的保密性,用户对文件机密程度的要求 。
5-51
5.3 系统详细设计
文件设计的步骤
?确定文件设计的基本指标













文件的组织方式、存取方法和介质的确定应该考虑文件用途和使
用频率等情况。通过以上各种因素的综合考虑和分析研究后,确定较
为合适的文件组织及存取方式,并对介质的需要量作初步计算。
5-52
5.3 系统详细设计
文件设计的步骤
? 确定合适的文件组织方式、存取方法和介质
? 编写文件设计说明书
? 文件组织方式, 存取方法和存储介质等的选择和确定的根据;
? 文件用途, 使用范围, 处理方式, 使用要求, 存取时间和更新
要求等;
? 文件逻辑结构, 各数据项描述以及键 ( 码 ) 的确定原则;
? 文件数据量和存储介质需要量的初步估算;
? 文件保密要求及有关安全措施;
? 对于文件数据的收集, 整理和格式要求的说明;
? 对建立和更新文件所需要的程序选行说明及提出要求;
? 关于建立文件的注意事项及其他需要说明的内容 。




















用户需求分析
概念结构设计
逻辑结构设计
物理结构设计
系统分析(详细调查)
系统分析(逻辑设计)
系统设计
系统设计
数据库设计与系统开发阶段对照
数据库系统已形成一门独立的学科,所以,当把数据库设计原
理应用到管理信息系统开发中时,数据库设计的几个步骤就与系统
开发的各个阶段相对应,且融为一体。






5-53
5.3 系统详细设计
数据库设计













概念结构设计应在系统分析阶段进行。任务是根据用户需求,
设计数据库的概念数据模型(简称概念模型)。概念模型是从用户
角度看到的数据库,可用 E-R模型表示。
?数据库的概念结构设计
5-54
5.3 系统详细设计
数据库设计
?数据库的逻辑结构设计
? 逻辑结构设计是将概念结构设计阶段完成的概念模型转换成
能被选定的数据库管理系统( DBMS) 支持的数据模型。数据
模型可以由实体联系模型转换而来。
? 逻辑结构设计阶段提出的关系数据模型应符合第三范式 3NF
的要求。如果选用的 DBMS是支持层次、网络模型的 DBMS,则
还需完成从关系模型向层次或网络模型转换的工作。
? 用 DBMS提供的数据描述语言 DDL对数据模型予以精确定义,
即所谓模式定义。例如 FoxPro中的 CREATE命令,其作用类似
于 DDL,可用来定义逻辑数据结构。













物理结构设计是为数据模型在设备上选定合适的存储结构和
存取方法, 以获得数据库的最佳存取效率 。 物理结构设计的主要
内容包括:
? 库文件的组织形式 。 如选用顺序文件组织形式, 索引文件组
织形式等;
? 存储介质的分配 。 例如将易变的, 存取频度大的数据存放在
高速存储器上, 稳定的, 存取频度小的数据存放在低速存储
器上;
? 存取路径的选择等。
5-55
?数据库的物理结构设计
5.3 系统详细设计
数据库设计













?IPO图
?问题分析图( PAD)
?控制流程图 (FC)
?过程设计语言( PDL)
5-56
5.3 系统详细设计
处理过程设计
用 SD方法,可以完成系统总体模块结构的设计,而每一个模
块完成的具体操作,则在处理过程设计中完成。处理过程设计是
系统设计的最后一步,也是最详细的涉及到具体的业务处理过程
的一步,是下一步编程实现系统的基础。所用到的设计工具有:













? IPO图 由 IBM公司提出。主要是用来配合层次化模
块结构图详细说明每个模块内部功能的一种工具。
? IPO图的设计因人和具体情况而异,但都必须包括
输入( I),输出( O),处理( P) 以及与之相应
的数据库或文件、在总体结构中的位置等信息。
5-57
5.3 系统详细设计
处理过程设计
? IPO图( INPUT--PROCESS--OUTPUT)













开始
循环,T.
显示系统功能
功能选择
工作结束 销售业务 采购业务 选择错误会计业务
退出
0 1 2 3 其他
Y
N
处理过程说明
局部数据元素,注释:
输入,功能代码 0,1,2,3
上层调用模块:无 可调用的下层模块,销售、采购、会计模块
输出:
系统,材料供应商 MIS 设计人,张涛
模块,主控 日 期,2003.3
IPO图
5-58













? 控制流程图( FC--FLOW CHART )
又称框图,是经常使用的程序细节描述工具。
?框图的特点:
清晰易懂,便于初学者掌握。框图中的箭头若使
用不当,会使框图非常难懂,而且无法进行保护。
?框图的三种基本成分
处理步骤 判断 控制流
5-59
5.3 系统详细设计
处理过程设计













P1
P2
顺序
P1
P2
选择
C P
循环
C
与结构化程序设计中的三种基本程序结构相对应。
由 日本日立公司二村良彦等人于 1979年提出,是
一种支持结构化程序设计的图形工具。它仅有三种基
本成分。
5-60
? 问题分析图( PROBLEM ANALYSIS DIAGRAM)
5.3 系统详细设计
处理过程设计













? 问题分析图的独到之处在于:以问题分析图为基
础, 按照一个机械的变换规则就可编写出计算机
程序 。 该规则称为, 走树, (Tree Walk),顺着
问题分析图所呈的树形结构移动, 依次将遇到的
PAD基本成分变换成相应的程序结构 。
? 问题分析图有着逻辑结构清晰, 图形标准化及与
人们所熟悉的控制流程图比较相似等优点, 更重
要的是它引导设计人员使用结构化程序设计方法,
从而提高了程序的质量 。
? 同时, 由于, 走树, 规则可直接产生程序, 故有
利于软件生产的自动化 。
5-61
? 问题分析图( PROBLEM ANALYSIS DIAGRAM)
5.3 系统详细设计
处理过程设计













? 过程设计语言的外层语法描述结构,采用了一般编程
语言类似的确定的关键字(如 IF--THEN--ELSE,
WHILE--DO等),内层语法描述操作,可以采用任意的
自然语句(英语或汉语)。
? 过程设计语言的特点:
?同自然语言(英语)很接近,易于理解;
?易于被计算机处理并存贮;
?可以从它自动产生程序;
?不如图形描述直观,英语使用的准确性要求较高。
5-62
? 过程设计语言 ( PROCESS DESING LANGUAGE)
5.3 系统详细设计
处理过程设计













一个管理信息系统的软件由很多程序模块组成,这
些程序模块可以按处理过程归纳成为几种基本的类型,
参见下图:
优化预测计算 数据检索分类更新编辑
输入及校验模块
合并
处理模块 输出模块
显示结果 打印报表等
控制模块
基本程序模块结构图
?几种基本的处理过程
5-63
5.3 系统详细设计
处理过程设计













1,概述
( 1) 系统的功能, 设计目标及
设计策略;
( 2) 项目开发者, 用户, 系统
与其它系统或机构的联系;
( 3) 系统的安全和保密限制 。
2,系统设计规范
( 1) 程序名, 文件名及变量名
的规范化;
( 2) 数据字典 。
3,计算机系统的配置
( 1) 硬件配置:主机, 外存,
终端与外波, 其它辅助设备,
网络形态;
( 2) 软件配置:操作系统, 数
据库管理系统, 语言, 软件工具,
服务程序, 通讯软件;
( 3) 计算机系统的分布及网络
协议文本 。
4,系统结构
( 1) 系统的模块结构图;
( 2) 各个模块的 IPO图 。
5,代码设计
各类代码的类型, 名称, 功能,
使用范围及要求等 。
5-64
5.3 系统详细设计
程序设计说明书













( 2) 文件结构设计:各类文件的
数据项名称, 类型及长度等;
( 3) 文件存贮要求, 访问方法及
保密处理 。
9,模型库和方法库设计
关于模型库和方法库设计的相关说
明 。
10,系统安全保密性设计
关于系统安全保密性设计的相关说
明 。
11.系统实施方案及说明
实施方案、进度计划、经费预算等。
6.输入设计
( 1) 各种数据输入方式的选择;
( 2) 输入数据的格式设计;
( 3) 输入数据的校验方法 。
7,输出设计
( 1) 输出介质;
( 2) 输出内容及格式 。
8,文件 (数据库 )设计
( 1) 数据库总体结构:各文件
数据问的逻辑关系;
5-65
5.3 系统详细设计
程序设计说明书