第 6章 结构化开发方法
天津财经大学 赵乃真
信息系统设计与实践
2
本章主要内容
1.结构化开发方法的主要阶段
2.系统规划
3.系统分析
4.系统设计
5.系统实施
6.系统维护和系统评价
3
6.1结构化方法的阶段和工具
信息系统结构化开发方法从分析业务系
统的流程出发,调查信息系统开发所需
要的全部信息及其处理过程,然后建立
信息系统逻辑模型和物理模型直至最后
建立实际的系统,运行系统并维护。
4
6.1.1结构化系统开发的阶段
5
阶段 主要任务 主要成 果 工具、方法
系统规

开发请求, 初步调
查, 总体规划, 可
行性分析
初步方
案, 可
行性报

BSP, CSF,
SST
系统分

需求分析, 详细调
查, 业务流程分析,
数据流程分析
新系统
逻辑设
计方案
DFD, DD,
决策树, 判定
表, 结构化语

系统设

总体结构, 代码,
数据库, I/O,模块
结构和功能
系统设
计说明

E-R 图, 控制
结构图, 结构
化语言
系统实

数据准备, 编程,
调试, 人员培训,
系统切换
操作规
程, 使
用说明
编程语言, 工
具, 切换策略
系统运
行、维
护、评

运行管理, 维护,
审计, 评价
管理制
度, 维
护制度
维护, 管理,
审计软件
6
6.1.2系统开发工具
工具 作用 应用阶段
业务流程图 业务流程分析 系统分析
数据流程图( DFD) 数据流程分析 系统分析、系统设计
数据字典( DD) 数据定义 系统分析
格栅图 数据汇总 系统分析详细调查
决策树、判定表 处理功能描述 系统分析、设计
E-R图( ERD) 数据库设计 系统设计
U/C矩阵 系统结构设计 系统设计
控制结构图 系统结构和模块设计 系统设计
信息系统配置图 系统硬软件配置 系统实施
7
6.2信息系统规划的实施
在第 5章( 5.5节)已经从方法论的高度介
绍了系统规划的一般概念和方法,并分
析了系统规划的重要性。在这里主要从
结构化开发方法具体实施的角度介绍系
统规划的一般步骤和实施过程。
8
6.2.1信息系统规划的任务
– 规划基本问题的确定;
– 收集信息;
– 现状的评价和约束的识别;
– 设置具体目标和初步方案;
– 规划内容及其相关性分析;
– 目标的分析及实现的优先级;
– 人员组织;
– 实施进度计划,包括经费预算和使用计划;
– 成本分析、效益初步分析;
– 开发平台硬件软件环境(不一定马上购买);
– 可行性分析。
9
6.2.2初步调查
为了制定出切实可行的信息系统的初步方
案,首先需要对企业内部资源和管理状
况以及外部环境进行初步调查,确定对
信息系统的需求情况。
– 企业环境和目标
– 企业业务和信息处理现状
10
6.2.3提出总体方案
信息系统的初步方案(也称作总体方案)
实际是一个概念设计方案, 主要从系统
实现的功能、目标等方面对系统进行初
步设计,而不考虑系统设计的技术细节
和实现的逻辑。
1.确定系统目标
2.设计系统主要功能结构
3.系统开发的初步计划
4.投资回报时间表
11
6.2.4可行性分析
可行性分析是对规划阶段提出的初步方案
从经济、技术和管理等方面,对系统开
发是否可行做出科学、全面的分析和判
断,决定系统是否应该、值得、并在计
划的时间内能够完成。
1.经济可行性分析
2.技术可行性
3.管理可行性
12
6.2.5系统规划的成果
1.可行性报告的审批
– 方案可行并具备可行的全部条件, 可以继
续开发;
– 方案可行但某些条件欠缺, 推迟开发;
– 所提出的所有方案不可行, 停止开发, 重
新进行规划;
– 根本没有必要开发,停止。
2.开发团队的组织
13
6.3系统分析
信息系统分析的主要工作是对现行系统的
业务流程和新系统的信息需求进行详细
的调查,然后在此基础上进行分析研究,
并最终给出信息系统的逻辑模型,为新
系统的设计打下基础。
14
6.3.1详细调查
详细调查 的任务是 尽可能完整、准确地搜
集涉及信息流动和处理过程的一切事实、
资料和数据,以便全面、准确了解现行
系统中信息的流动、处理过程和方法,
为进行需求分析和建立新信息系统的逻
辑模型提供充分的依据。
15
1.调查方法
2.组织结构调查
3.业务流程调查
4.信息调查
16
6.3.2数据流图
数据流图 ( Data Flow Diagram,DFD)是
系统分析中最常用和最重要的工具之一。
数据流图用来 描述信息系统的逻辑模型,
包括外部实体、数据处理、数据存储和
数据的流动。
17
18
DFD绘制流程
19
范围图
20
顶层图
21
第 1层数据流图
22
绘制 DFD图要避免的情况
– 黑洞 ( Black Hole),数据处理或数据存储只有输入没
有输出;
– 空洞 ( Blank Hole ),数据处理活动或数据存储只有
输出没有输入, 也称为, 奇事, ( Miracle) ;
– 灰洞 ( Gray Hole),数据处理或数据存储的输入不足
以产生输出;
– 不平衡 ( Unbalance),各层流图之间信息的不一致;
– 不相关:每一个数据流必须有一个数据处理与之有关。
数据流不能起于数据存储且止于一个外部实体或另一
个数据存储;也不能起于某个实体且止于另一个外部
实体或数据存储。
23
6.3.3数据字典
数据字典 ( Data Dictionary,DD)被称为
,关于数据的数据,, 其作用是对信息
系统开发过程中所使用的各种类型数据
元素进行定义,保证在整个系统中(如
在数据流图、数据库和各种报表中等)
数据元素定义的一致性和惟一性。
24
数据字典的内容
( 1)数据项
( 2)数据结构
( 3)数据流
( 4)数据存储
( 5)数据处理功能
( 6)外部实体
25
6.3.4信息系统逻辑模型
信息需求分析的主要任务是分析系统功能、信
息的流动、信息的处理方法以及新的需求信
息。
PIECES方法
– 性能 ( Performance)
– 信息 ( Information)
– 经济 ( Economy)
– 控制 ( Control)
– 效率 ( Efficiency)
– 服务( Service)
26
功能描述
27
信息处理描述
( 1)程序流程图
( 2)决策树
( 3)决策表
( 4)结构化语言
28
6.3.5系统分析的成果
– 原系统的状况和主要问题;
– 新系统目标;
– 信息系统的需求;
– 新系统逻辑设计。
29
6.4信息系统设计
信息系统设计阶段的主要任务是根据已经
批准的逻辑方案设计信息系统的物理实
施方案 。信息系统分析阶段解决了新的
信息系统要, 作什么, 的问题,系统设
计阶段就是要解决系统, 如何作, 的问
题,最终设计出切实可行,符合企业实
际情况和要求的信息系统。
30
6.4.1系统总体设计
系统总体设计的目的是超越各项具体应用
的设计,从信息系统的整体出发解决和
各项应用都相关的设计问题。
1.系统结构
2,U/C矩阵
3.系统结构的优化
31
6.4.2数据库设计
设计出结构优化的数据库逻辑模型和物理
模型,并构造能为用户提供高效的运行
环境、满足信息系统需求的数据库 。
1.数据库设计的步骤
( 1)需求分析
( 2)概念设计
( 3)逻辑设计
( 4)物理设计
32
数据库的关键概念
? 关系( Relationship)
? 实体( Entity)
? 属性( Attribute)
? 键( Key)
? 外键( Foreign Key)
33
规范化
第 1范式 ( 1NF),每个属性都是单纯域 ( 不可
再分 ), 即每一个数据项都是单项, 不能有
组项 ( 表中无表 ) ;
第 2范式 ( 2NF),每个非主属性都完全依赖于
主码, 即如果主码是复合主码则每一个非主
属性都完全依赖于复合主码的每一项, 而不
是仅依赖于复合主码的一部分;
第 3范式( 3NF):每个非主属性都非传递地依
赖于主码,即不存在非主属性依赖于另一个
非主属性。
34
ER图
( 1)基本实体联系类型
( 2)绘制 ER图
( 3)信息工程中实体联系模型表达方法
35
36
6.4.3代码设计
1.代码设计的一般原则
2.代码设计的主要方法
– 顺序编码
– 成组编码
– 十进制编码
– 组合编码
3.代码的校验
37
6.4.4计算机网络设计
1.计算机网络结构设计
2.硬件(软件)系统配置原则
– 先进性:主流, 易扩充;
– 配套性:和原来的设备尽可能兼容;
– 经济性:高的性能价格比;
– 易操作性:使用方便、高效。
38
6.4.5系统详细设计
系统详细设计的主要任务是完成用户界面
设计、处理功能模块等物理设计。具体
解决, 如何做, 的问题。
1.用户界面设计
2.处理过程设计
39
模块的凝聚
模块的 凝聚度 ( Cohesion) 是衡量一个模块内部
自身功能的内在联系紧密程度的指标 。
– 偶然凝聚:模块内部的各组成部分彼此无关, 偶
然地组合在一起;
– 逻辑凝聚:模块内部各组成部分的处理逻辑相似,
但功能彼此并不相同, 例如将所有的输入操作都
放在一个模块中;
– 时间凝聚:将执行的时间彼此有关的处理放在一
个模块中;
– 数据凝聚:模块中的处理按顺序执行, 而且前一
项处理的输出数据是下一项处理的输入数据;
– 功能凝聚,一个模块中的程序只执行一个单一的
功能。
40
模块耦合
1.数据耦合:两个模块之间只通过数据的
传递建立关联;
2.控制耦合:两个模块之间不仅传递数据,
而且传递程序运行的控制信号;
3.非法耦合:也称为病态耦合,即一个模
块和另一个模块内部发生关联。例如,
一个模块中的程序在运行时直接跳转到
另一个模块中的某一个程序语句处。
41
控制结构图
42
控制结构图的实例
43
6.4.6系统设计阶段的成果
( 1)控制结构图及每一模块详细说明;
( 2)数据库设计说明;
( 3)计算机和网络系统设计说明;
( 4)代码设计说明;
( 5)用户界面设计说明;
( 6)计算机处理过程说明;
( 7)实施费用估计。
44
6.5系统实施
系统实施就是将系统设计阶段的技术设计
结果转变为实际可以运行的物理系统,
45
6.5.1系统实施阶段的任务
信息系统实施阶段包括根据系统设计阶段
产生的系统控制结构图、数据库设计、
系统配置方案等详细设计资料完成系统
程序设计、调试、系统切换以及为了使
系统有效运行的需要做的其他一系列工
作。
46
6.5.2信息系统实施的准备工作
1.制定实施计划
2.硬件设备及系统软件购置、安装和调

3.数据的准备
4.人员的培训
47
6.5.3程序设计
1.正确性
2.可读性
3.可维护性
48
6.5.4系统测试
1.可能的错误类型
2.系统测试方法
– 黑盒法
– 白盒法
– α 测试
– β 测试
49
系统测试过程
( 1)单元测试
( 2)子系统测试
( 3)系统测试
( 4)验收测试
50
6.5.5系统切换
系统切换的含义是当系统经过充分的测试
和修改后,由原来的系统转换为新系统
的过程。
– 直接切换
– 并行切换
– 分段切换
51
6.6系统维护和评价
系统投入运行后,还有两件事非常重要,
那就是系统的维护和评价。系统维护是
为了保证系统的正常运行而进行的工作;
而系统评价则是检验系统是否达到规划
的目标而进行全面地评价和分析。
52
6.6.1系统维护和管理
1.系统维护的重要性
2.系统维护的主要任务
( 1)应用软件维护
( 2)数据库维护
( 3)代码维护
( 4)硬件设备维护
53
6.6.2系统评价的目的和任务
1.目标评价
2.性能评价
3.经济效益评价
54
课后实践
1,调查学校或系里学生成绩管理流程, 画出对
应的数据流程图 。
2,根据系里学生成绩管理流程绘制相应的实体
联系图, 并完成相应的数据库设计 。
3,用结构化方法开发一个简单的信息系统 。
4.召集一个调查会,使用 JRP法调查所需要的
信息需求。