,信息系统分析与设计, 1
第四章 信息系统设计与实施
?第一节 信息系统设计概述
?第二节系统总体布局
?第三节软件系统的总体结构设计
?第四节数据存储的总体结构设计
?第五节计算机与网络系统方案的选择
?第六节系统详细设计
?第七节系统实施
?第八节 结构化信息系统设计实例
,信息系统分析与设计, 2
第一节 信息系统设计概述
?一、信息系统设计的目的与任务
?二、系统设计的依据
?三、系统设计阶段的主要活动
?四,系统设计工作的特点
,信息系统分析与设计, 3
一、信息系统设计的目的与任务
? 目的:
将系统分析阶段所提出的充分反映了用户信息需
求的系统逻辑方案转换成可以实施的基于计算机与网
络技术的物理 ( 技术 ) 方案 。
? 任务:
信息系统的总体目标出发, 根据系统分析阶段对
系统的逻辑功能的要求, 并考虑到经济, 技术和运行
环境等方面的条件, 确定系统的总体结构和系统各组
成部分的技术方案, 合理选择计算机和通信的软, 硬
件设备, 提出系统的实施计划 。
,信息系统分析与设计, 4
二、系统设计的依据
?系统分析的成果
?现行技术
?现行的信息管理和信息技术的标准, 规
范和有关法律制度 。
?用户需求
?系统运行环境
,信息系统分析与设计, 5
三、系统设计阶段的主要活动
? 系统总体设计:
-系统总体布局方案的确定
-软件系统总体结构的设计
-数据存储的总体设计
-计算机和网络系统方案的选择
? 详细设计:
-代码设计
-数据库设计
-人机界面设计
-处理过程设计
? 系统实施进度与计划的制订
?, 系统设计说明书, 的编写
,信息系统分析与设计, 6
四,系统设计工作的特点
? 系统设计的主要任务是提出合理的计算机硬软件系统的技术方案,
采取具体的技术措施来满足用户需求,因而大量工作是技术性的。
? 系统设计人员对系统的逻辑功能和用户的各类需求必须有深刻的、
切实的理解。了解用户对系统分析阶段提出的信息需求的解释。
? 用户在操作使用和运行环境等方面的具体要求,也要在系统设计
阶段加以明确并在系统的技术方案中得到反映。
? 系统设计工作的环境是管理环境和技术环境的结合, 这是这一阶
段工作的重要特点 。
,信息系统分析与设计, 7
第二节系统总体布局
?一、概述
?二、集中式系统
?三,分布式系统
,信息系统分析与设计, 8
一、概述
?系统总体布局方案主要有:
-集中式系统 (Centralized Systems)
-分布式系统 (Distributed Systems)
?从信息处理的方式来看主要有,
-批处理方式 (Batch processing)
-联机处理方式 (On-line processing)
,信息系统分析与设计, 9
二、集中式系统
? 单机批处理系统
? 单机多终端分时系统 (终端无处理功能 )
? 主机-智能终端系统(终端有辅助处理功能)
,信息系统分析与设计, 10
三,分布式系统
? 利用计算机网络把分布在不同地点的计算机硬件,
软件, 数据等信息资源联系在一起服务于一个共同
的目标而实现相互通信和资源共享, 就形成了信息
系统的分布式结构 。 具有分布结构的系统称为分布
式系统 。
? 分布式系统运行的网络环境有:局域网 (LAN),广域
网 (WAN),局域网和广域网混合形式以及互联网
( Internet), 内 联网 ( Intranet), 外联网
(Extranet)及其混合形式 。
? 分布式系统的计算模式有资源共享方式, 客户机 /服
务器 (C/S)方式和浏览器 /WEB服务器 ( B/S) 计算模
式 。
,信息系统分析与设计, 11
四、系统总体布局
? 一般应考虑以下几个问题:
? 系统类型
? 系统类型
? 处理方式
? 数据存储硬件配臵
? 软件配臵
? 系统布局方案的选择原则:
? 处理功能 。
? 使用方便
? 可维护性, 可扩展性, 可变更性好
? 安全性、可靠性高
? 经济实用
,信息系统分析与设计, 12
第三节软件系统的总体结构设计
?一,软件系统的总体结构设计任务
?二,软件系统总体结构设计的原则
?三,结构化系统设计的方法和工具
?四,模块结构设计
?五,从数据流图导出模块结构图
,信息系统分析与设计, 13
一,软件系统的总体结构设计任务
软件系统总体结构设计的主要任务
就是根据系统的总体目标和功能将整个
系统合理划分成若干个功能模块,正确
地处理模块之间的调用关系和数据联系,
定义各模块的内部结构等等。
,信息系统分析与设计, 14
二、软件系统总体结构设计的原则 (1)
? 分解 -协调原则:
-分解依据
? 按系统的功能进行分解
? 按管理活动和信息运动的客观规律分解
? 按信息处理的方式和手段分解
? 按系统的工作规程分解
? 按用户工作的特殊需要分解 (如有保密和其他要求 )
? 按开发, 维护和修改的方便性分解
-协调依据
? 目标协调
? 工作进程协调
? 工作规范和技术规范协调
? 信息协调 (指信息的提供和收回 )
? 业务内容协调 ( 如某些业务指标的控制 )
,信息系统分析与设计, 15
二、软件系统总体结构设计的原则 (2)
? 模块化原则。
。
? 自顶向下的原则。
? 信息隐蔽、抽象的原则。
? 一致性原则。
? 明确性原则 。
,信息系统分析与设计, 16
三,结构化系统设计的方法和工具
? 结构化设计方法概述
结构化设计( Structured Design,以下简称 SD)
是从建立一个具有良好结构的系统的观点出发,基于
把一个复杂的系统分解成相对独立的模块的原则,主
要研究了将系统分解为不同模块的方法与技术,分析
系统分解时产生的各种影响,提出了评价模块结构质
量的具体标准,还给出了从表达用户要求的数据流图
导出模块结构图的规则。
,信息系统分析与设计, 17
三,结构化系统设计的方法和工具
? 系统流程图
绘制系统流程图时主要根据:
? 信息处理的步骤和内容。
? 每一步骤根据内容所涉及的物理过程 。 主要包括:
输入 /输出的内容和形式, 存储要求, 加工所用
的物理设备 。
? 各步骤之间的物理和逻辑关系 。
,信息系统分析与设计, 18
输入 /
输出
辅助
处理
卡片
预处
理
脱机
储存
人工输入
人工
操作
处 理 联机存储
文 件
纸 带
判
断
通讯联结
联 结显示
端 点
磁带
直接访问
存储器 磁盘
离页联结符
系统流程图的常用符号
,信息系统分析与设计, 19
入库单 出库单
供应商 编辑事务
修正文件
错误
报表
新品单 报废单
配 件 库
存
供应商
编辑后
的事务
配 件
配 件
图 4-2 库存系统的流程图
库存
历史
事务
历史
,信息系统分析与设计, 20
三,结构化系统设计的方法和工具
? HIPO ( Hierarchy plus Input/Process /Output)技
术,即用图形方法表达一个系统的输入和输出功能以
及模块的层次。 HIPO技术包含两个方面的内容:
? H 图
? IPO图 (输入 -处理 -输出图 )
? 用途:应用 HIPO技术可以进行系统设计、评价,在系
统实施之前加工、修改已设计的系统。
,信息系统分析与设计, 21
HIPO技术 应用实例
-库存管理系统中, 修改库存数据,
? 第一步:绘制 H 图。
此时系统需具备以下几种数据处理过程
? 提取库房收发数据。
? 提取原有库存数据 。
? 处理收发数据 。
? 重写库存数据主记录 。
,信息系统分析与设计, 22
修改库存
数据
刷新库存
记录
提取库房收
发数据
提取
库存数据
处理收
发数据
图 4-3 第一轮 H 图
,信息系统分析与设计, 23
修改库
存数据
提取库
存数据
处理收
发数据
提取库房
收发数据
刷新库
存记录
增加
记录
减少
在库数
增加
在库数
删除
记录
图 4-4(a) 第二轮 H 图
进一步分解,
,信息系统分析与设计, 24
修改库存
数据
提取库存
数据
处理收发
数据
提取库房
收发数据
增加
记录
减少
在库数
增加
在库数
删除
记录
刷新库存
记录
图 4-4(b) H 图的另一种形式
,信息系统分析与设计, 25
图 4-5 IPO图的形式
系统名,制图者:
IPO图
日 期:模块名:
由下列模块调用,调用下列模块:
输入:
处理内容:
输出:
内部数据元素,备注:
,信息系统分析与设计, 26
处理内容,
如库房收入,则调用增加在库数模块;
如库房发出,则调用减少在库数模块;
如增加库存文件纪录,则调用增加记录模块;
如删除文件记录,则调用删除记录模块。
系统 名,库存管理
日期,1/5/88模块名,处理收发数据
制图者,白 XX
由 下列模块调用,修改
库存数据
调用下列模块,
增加在库数
减少在库数
增加记录
删除记录
输入, (由修改库
存数据模块提供
库房收发数据
库存数据
输出, ( 由修改库存数
据模块接收 )
修改后的库存数据
无效收发数据
处理内容,
如库房收入,则调用增加在库数模块;
如库房发出,则调用减少在库数模块;
如增加库存文件纪录,则调用增加记录模块;
如删除文件记录,则调用删除记录模块。
否则,按无效数据处理
内部数据元素, 备注,
IPO图
4-6 处理收发数据模块 IPO图
,信息系统分析与设计, 27
? 控制结构图
调用关系分为直接调用 (无条件调用 )、选择调用 (判断调用 )
和重复调用 (循环调用 )三种。其表示方法如图 4-7所示。
模块 A
模块 B
模块 A模块 A
模块 B 模块 B
图 4-7 模块间的调用关系
(a)直接调用 (b)选择调用 (c)重复调用
,信息系统分析与设计, 28
图 4-8 双层嵌套的重复调用
模块
A
模块
A
模块
A
模块
A
,信息系统分析与设计, 29
c
m
m
i
c
j
n
i n
ji
a
d
g
g
d
f
c
b
a e
be
a
b
提取库存
数据
提取库房
收发数据
增 加
在库数
处理收发
数据
减 少
在库数
增加
记录
删除
记录
刷新库存
记录
修改
库存数据
控制结构图示例
,信息系统分析与设计, 30
? 图 4-9中的各通讯符号的意义为:
a,收发数据 b,收发处理错误标志
c,零件号 d,库存数据
e,主文件错误标志 f,修改错误标志
g,重写错误标志 i,在库数
j,收发数 k,临界库存水平
m,增加记录标志 n,删除记录标志
,信息系统分析与设计, 31
四,模块结构设计
? 模块:
在软件系统设计中,模块 (module)是指这样的一组
程序语句,它包括输入与输出、逻辑处理功能, 内部
信息及其运行环境。
? 输入与输出,模块的输入来源和输出去向在正常的情况下
都是同一个调用者,即模块。从调用者处获得输入信息,
经过模块本身的处理后,再把输出返送给调用者。
? 逻辑功能,模块的逻辑功能描述了该模块能够做什么样的
事情,具备什么样功能,即对于输入信息能够加工成什么
样的输出信息。
? 内部信息,模块的内部信息是指模块执行的指令和在模块
运行时所需要的属于该模块自己的数据。
? 运行环境,模块的运行环境说明了模块的调用与被调用的
关系。
,信息系统分析与设计, 32
四,模块结构设计
? 模块化,
模块化就是把系统划分为若干个模块,每个模块
完成一个特定的功能,然后将这些模块汇集起来组成
一个整体 (即系统 ),用以完成指定功能的一种方法。
模块独立程度可以由两个定性标准度量,这两标
准分别称为块间耦合和块内联系。
? 块间耦合,系统内不同模块之间互连程度的度量。
块间耦合强弱取决于模块间联系形式及接口的复
杂程度。模块间接口的复杂性越高,说明耦合的
程度也越高。
? 块内联系,模块内部元素的联系方式,块内联系
标志一个模块内部各个元素间彼此结合的紧密程
度,主要表现在模块内部各个元素为了执行某一
功能而结合在一起的程度 。
,信息系统分析与设计, 33
四,模块结构设计
? 模块之间的耦合形式
模块之间的耦合形式决定了模块之间联系程度。
通常两个模块间的耦合形式有数据耦合、控制耦合、
公共耦合和内容耦合。
? 数据耦合,如果两个模块彼此间通过数据交换信
息,而且每一个参数仅仅为数据,那么这种块间
耦合称之为数据耦合。
? 控制耦合,如果两个模块彼此间传递的信息中有
控制信息,那么这种块间耦合称为控制耦合。
? 公共耦合,如果两个模块彼此之间通过一个公共
的数据区域传递信息时,则称之为公共耦合或公
共数据域耦合。
? 内容耦合,如果一个模块需要涉及另一个模块的
内部信息时,则这种联系称为内容耦合。
,信息系统分析与设计, 34
四,模块结构设计
? 耦合方式的比较
表 4-1 模块之间四种耦合方式的比较
块间
耦合形式
可读
性
错误
扩散能力
可修
改性
通用
性
数据耦合 好 弱 好 好
控制耦合 中 中 中 中
公共耦合 不好 强 不好 较差
内容耦合 最差 最强 最差 差
,信息系统分析与设计, 35
四,模块结构设计
? 模块内部的组合形式
强 ━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━ 弱
功能 顺序 通讯 过程 时间 逻辑 偶然
组合 组合 组合 组合 组合 组合 组合
图 4-12 模块内部的组合程度比较
,信息系统分析与设计, 36
四,模块结构设计
? 模块内部的组合形式,
? 偶然组合,如果一个模块所要完成的动作之间没有任何关系,或
者即使有某种关系,也是非常松散的,就称之为偶然组合。
? 逻辑组合,如果一个模块内部的各个组成部分在逻辑上具有相似
的处理动作,但功能上、用途上却彼此无关,则称之为逻辑组合。
? 时间组合,如果一个模块内部的各个组成部分所包含的处理动作
必须在同一时间内执行,则称之为时间组合。
? 过程组合,如果一个模块内部的各个组成部分所要完成的动作彼
此间没什么关系,但必须以特定的次序 (控制流 )执行,则称之
为过程组合。
? 通信组合,如果一个模块内部的各个组成部分所完成的动作都使
用了同一个输入数据或产生同一个输出数据,则称之为通信组合。
? 顺序组合,对于一个模块内部的各个组成部分,如果前一部分处
理动作的输出是后一部分处理动作的输入,则称之为顺序组合。
? 功能组合,如果一个模块内部的各个组成部分全部为执行同一功
能而结合 成为一个整体,则称之为功能组合方式的模块。
,信息系统分析与设计, 37
表 4-2 模块内部的七种组合形式的比较
块内组合 联接形式 可修改性 可读性 通用性 联系程度
功能组合 好 好 好 好 高
低
顺序组合 好 好 好 中
通讯组合 中 中 中 不好
过程组合 中 中 中 不好
时间组合 不好 不好 中 最坏
逻辑组合 最坏 最坏 不好 最坏
偶然组合 最坏 最坏 最坏 最坏
,信息系统分析与设计, 38
No
No
No
Yes
Yes
Yes
其 他
控制流
数据流
No
Yes 功能组合
该模块
执行一个
功能吗?
模块内
各组成
部分关
系如何
?
次序重
要吗?
次序重
要吗?
逻辑相
似吗?
顺序组合
通讯组合
过程组合
时间组合
逻辑组合
偶然组合
图 4-14 块内组合程度判定
,信息系统分析与设计, 39
四,模块结构设计
? 模块设计的注意事项
? 改进系统结构,对于初步设计出的系统结构,应该仔细地分
析与审查,发现高块间联系,低块内联系的模块,要通过
模块的分解与合并,改进系统结构,从而降低块间联系,
提高块内联系,
? 系统的深度和宽度,系统的深度表示系统结构中的控制层数,
宽度则表示控制的总分布,即同一层次的模块总数的最大
值,
? 模块的扇出数与扇入数,一个模块控制的直属下级模块的个
数称为该模块的扇出数;反之,一个模块的直接上级模块
的个数称模块的扇入数。
? 模块的规模,大量的实践表明,一个模块的规模不可过大,
也不可过小。
? 模块的作用范围与控制范围,模块的作用范围是指受该模块
内部的一个判定影响的所有模块的集合,模块的控制范围
包括该模块本身及所有的下属模块的集合。
,信息系统分析与设计, 40
扇入
扇出
宽度
深度
图 4-15 模块层次结构的形状参数
,信息系统分析与设计, 41
A
CB D
E F G
(a)
A
B D
C F G
(b)
E
图 4-16 模块控制范围及改进
,信息系统分析与设计, 42
五,从数据流图导出模块结构图
? 以变换为中心的设计
-找出变换中心,确定出主加工
从此输出输入至此
输出输入
以格式
化的解解
正确
数据
机内
数据
原始
数据 编辑
数据
读入
数据
编排
解的
格式
求解 显示
解
主加工
(a) 变换型数据流图
,信息系统分析与设计, 43
五,从数据流图导出模块结构图
-设计模块结构图的顶层和第一层
? 为主加工每一个输入(逻辑输入)设计一个输入
模块,其功能是向主模块提供数据。
? 为主加工每一个输出(逻辑输出)设计一个输出
模块,其功能是从主模块接收数据并为下层模块
提供数据输出。
? 为主加工设计一个变换模块,其功能是将逻辑输
入变换成逻辑输出。
-设计中,下层模块
? 从第一层模块开始,自顶向下,逐步细化来完成,
主要包括:输入模块的细化、输出模块的细化以
及变换模块的细化。
,信息系统分析与设计, 44
五,从数据流图导出模块结构图
? 以事务为中心的设计
事务记录
C事务
B事务
A事务类型标志
事务记录
事务记录
类型标志事务记录
类型标志
分析
事务类型
读
事务文件
调度处理获得事务类型
事务处理
处理
A类事务
处理
B类事务
处理
C类事务
编辑
A类事务
编辑
B类事务
编辑
C类事务图 4-19 转换后的结构图
,信息系统分析与设计, 45
五,从数据流图导出模块结构图
事务处理
……
处理 T1事务 处理 T2事务 处理 Tn事务
动作 A1 动作 A2 动作 A3 动作 An
图 4-20 典型的事务中心结构图
,信息系统分析与设计, 46
五,从数据流图导出模块结构图
? 确定事务的来源。
? 确定适当的以事务为中心的系统结构。
? 确定出每一种事务以及它所需要的处理动作。
? 合并具有相同处理功能的模块。
? 对每一种类型的事务,分别建立专门的事务模块,
对它进行独立的处理。
? 对一种事务所引起的每一个处理动作,要分别建
立一个直接从属于该事务模块的下级模块(即事
务模块),要使用模块的分解原则,在分解时要
注意允许有公共处理动作模块,加大它的扇入数。
? 必要时对动作模块进一步分解。
,信息系统分析与设计, 47
第四节数据存储的总体结构设计
?一,数据的分类
?二、数据存储规模的确定
?三、数据存储空间的分布
?四、数据库管理系统( DBMS)的选择
,信息系统分析与设计, 48
一,数据的分类
? 基础数据:整个系统的输入数据、输出数据、代码、
各种工作和技术标准、规范以及主要子系统的共享数
据
? 中间数据:在数据处理中需要保存的中间结果
? 工作数据:为提高某项处理功能的效率而事先加工好
的数据
? 暂存数据:处理过程中需存储、在处理过程结束后即
可消除的数据
? 从数据处理与存储的实际需要出发,对系统所涉及到的各类数据
进行逻辑上的描述,从中确定数据的总体结构,它包括:
-各类数据记录和数据项的逻辑描述(应规范化)。
-各类数据文件的组织方式 。
-各类数据文件之间的逻辑关系 。
,信息系统分析与设计, 49
二,数据存储规模的确定
数据作为一种非消耗性资源,往往随着系统的不
断运行而大量积累和增加,这势必增加系统负荷,影
响系统的运行效率,因此,在进行数据存储总体结构
设计时,既要考虑现有数据量的存储规模,又要预见
到未来数据量的增长趋势,区分哪些是相对稳定的数
据,哪些是非稳定的数据;哪些是基础数据,哪些是
派生数据。在以上分析的基础上合理的组织数据的存
储格式,应用各种必要的数据压缩技术并选择合适的
外部存储设备。
,信息系统分析与设计, 50
三,数据存储空间的分布
数据存储的空间分布应与系统总体设计的
物理环境配臵协调一致, 例如, 系统数据应集
中存储于分布式网络环境中的服务器上, 而新
的数据则应就近分别存放于各自应用部门的站
点机或工作站上 。 以保证使用和管理上的方便 。
,信息系统分析与设计, 51
四、数据库管理系统( DBMS)的选择
从目前发展趋势看, DBMS已成为建立信息系统的
基本环境, 进行数据存储总体结构设计时, 必然要考
虑选择什么样的 DBMS才能最有效的实现数据存储设计
的要求, 目前市场上可提供的 DBMS产品种类较多, 可
适用于不同的软, 硬件和应用环境, 我们应从系统总
体角度出发, 使选用的 DBMS既可满足系统总体设计的
需要, 又能够实现数据存储设计的目标 。
,信息系统分析与设计, 52
第四节数据存储的总体结构设计原则
?数据结构的合理性:数据文件的合理组织, 数
据元素的合理归类和划分, 以及数据项的合理
描述 。
?数据存储的安全性:从存储总体结构上如何保
证数据的安全性, 一致性和完整性 。
?维护和管理方便:首先保证对数据进行管理和
维护上的方便, 是提高系统运行效率的基础 。
,信息系统分析与设计, 53
第五节计算机与网络系统方案的选择
? 选择依据:计算机系统方案的提出应主要考虑和依据系统的可行
性报告, 系统说明书和系统总体结构设计以及技术发展和市场有
关产品的性能与价格等 。
? 功能要求:主要考虑的是数据处理功能, 数据的存储功能, 系统
外设的功能 (即文字, 图形, 声像等多媒体的处理能力 ),通信功
能 (即指数据的通讯方式, 点对点通讯还是网络通讯 )。
? 市场考虑:计算机的选型,通常应考虑系统的升级情况和第三方
软件的支持情况,即系统应具有延续性。
? 系统的配臵:从硬件和软件两个方面来考虑
? 培训要求:以用户为主, 尽量满足他们的要求
? 评价:系统方案的评价主要依据以下几个方面:
① 是否满足所有的功能要求, 并考虑到了今后的发展; ②
配件是否齐全; ③ 软件是否丰富; ④ 技术是否先进; ⑤ 后援
是否可靠; ⑥ 系统是否开放; ⑦ 价格是否合理 。
,信息系统分析与设计, 54
第六节系统详细设计
?一,代码设计
?二、数据库设计
?三、用户界面设计
?四、处理过程设计
?五、编写系统设计说明书
,信息系统分析与设计, 55
一、代码设计
? 代码的概念:用来表征客观事物的实体类别和属性的
一个或一组易于计算机识别和处理的特定符号或记号,
它可以是字符、数字、某些特殊符号或它们的组合。
? 代码设计的任务:把信息系统要处理的事物用特定的
字符、数字或其组合来描述,以便于计算机系统识别
与处理。
? 代码的作用:
-标识作用:可用来标识和确定某个具体的对象,
以便于计算机的识别。
-统计和检索作用:当按对象的属性或类别进行
编码时,易于优化对象的统计和检索。
-对象状态的描述作用:代码可以用来标明事物
所处的状态,便于对象的动态管理。
,信息系统分析与设计, 56
一、代码设计
? 代码设计的原则
-适应性
-合理性
-简明性
-系统性
-稳定性
-可扩充性
-标准化
-便于识别和记忆
,信息系统分析与设计, 57
系列顺序码
无序码
顺序码
代码
无含义码
有含义码
数值化字母顺序码
层次码
特征组合码
复合码
图 4-21 代码分类
,信息系统分析与设计, 58
代码种类
? 无含义码:无含义码只起代替编码对象名称的作用,
并不提供有关编码对象的其它信息。
-顺序码:将顺序的自然数和字母赋予编码对象。
-无序码:将无序的自然数或字母赋予编码对象。
? 有含义码:
-系列顺序码:用连续数字代表编码对象的码
-数值化字母顺序码:按编码对象名称的字母排列顺
序编写的代码。
-层次码:按分类对象的从属、层次关系为排列顺序
的一种代码。
-特征组合码:将分类对象按其属性或特征分成若干
个, 面,,每个, 面, 内的诸类目按其规律分别进行
编码。
-复合码:由两个或两个以上完整的、独立的代码组
成。
,信息系统分析与设计, 59
一、代码设计
? 代码的校验
为了保证正确的输入,有意识地在编码设计结构
中原代码的基础上,通过事先规定的数学方法计算出
校验码 (一位或两位 ),附加在原代码的后面,使它变
成代码的一个组成部分;使用时与原代码一起输入,
此时计算机会用同样的数学运算方法按输入的代码数
字计算出校验位,并将它与输入校验位进行比较,以
检验输入是否有错。
,信息系统分析与设计, 60
一、代码设计
? 校验码的生成过程
-对原代码中的每一位加权求和
N位代码,C1,C2,……, Cn
权因子为,P1,P2,……, Pn
加权和,C1*P1+C2*P2+…… +Cn*Pn
权因子可选为自然数 1,2,3,4,5;几何级数 2,4,8,16、
32;质数 3,5,7,11,13或其它系列。
-以模除加权和得余数
S/M=Q…… R
其中,S表示加权和; M代表模; Q表示商; R表示余数。模可取
不同的数,如,9, 10,11,37,97等。
-得到校验码
将模和余数之差作为校验码。或将余数直接作校验码,附加在原
代码后。
例如,原代码为,2578、权系数为,1234、模为,9
加权和,2*1+5*2+7*3+8*4=65
校验码,65/9=7…… 2 9-2=7
所以带校验位的代码为 25787,其中 7为校验位。
,信息系统分析与设计, 61
一、代码设计
?用校验码检查代码的过程
设输入的代码 (含校验码 )为 55787,其中 7
为校验位,对每一位乘以它的原来的权,校验
位乘的权为 1。用所得的加权和被模除,若余
数为零,则该代码一般来说是正确的,否则就
是输入有错。上述代码显然有错,因为其加权
和除以模的余数不为 0。
,信息系统分析与设计, 62
二、数据库设计
?建立一个数据模式,必须满足的几个条件:
-符合用户的要求,即能正确地反映用户的工作环境
-与所选用的 DBMS所支持的数据模式相匹配。
-数据组织合理,应易操作,易维护,易理解。
?数据的规范化形式
-在任一列上,数据项应该具有同一个属性。
-在这个表中所有的行都是不相同的,即不允许有重复的组
项出现。
-在一个表中,行的顺序是无关紧要的。
-在一个表中,每一个列 (属性 )有不同的名称,列的顺序也
无关紧要。
,信息系统分析与设计, 63
二、数据库设计
表 4-6(a)关系的非规范化形式示例 表 4-6(b)关系的第一范式示例
厂
名
生产情况 (每月 )
产品名称 数 量
F1 P1
P2
P3
P4
P5
P6
300
200
400
200
100
100
F2 P1
P2
300
400
F3 P2 200
F4 P2
P3
P4
200
300
400
厂
名
产品名
称
每月产量
F1
F1
F1
F1
F1
F1
F2
F2
F3
F4
F4
F4
P1
P2
P3
P4
P5
P6
P1
P2
P2
P2
P3
P4
300
200
400
200
100
100
300
400
200
200
300
400
,信息系统分析与设计, 64
二、数据库设计
? 第二范式
表 4-7
━━━━━┯━━━━━┯━━━━━┯━━━━┯━━━━━┯━━━━━━
职工号 │ 姓 名 │ 级 别 │ 工 资 │ 学 历 │ 毕业时间
────┼─────┼─────┼────┼─────┼──────
001 │ 张 三 │ 技 6 │ 1500 │ 中 专 │ 1983
001 │ 张 三 │ 技 6 │ 1500 │ 大 学 │ 1988
001 │ 张 三 │ 技 6 │ 1500 │ 研究生 │ 1995
002 │ 李 四 │ 技 8 │ 1200 │ 大 学 │ 1990
━━━━━┷━━━━━┷━━━━━┷━━━━┷━━━━━┷━━━━━━
间接
职工号
学历
姓名
级别
工资
毕业时间
图 4-24 各属性间的依赖关系
,信息系统分析与设计, 65
表 4-8 (a) 表 4-8 (b)
职工
号
姓
名
级
别
工
资
001 张三 技 4 1500
002 李四 技 6 1200
职工
号
学 历 毕业
时间
001 中 专 1983年
001 大 学 1988年
001 研究
生
1995年
002 大 学 1990年
,信息系统分析与设计, 66
二、数据库设计
? 第三范式
表 4-9(a) 表 4-9(b)
职工号 姓 名 级别
001 张三 技 4
002 李四 技 6
级 别 工 资
技 4 1500
技 6 1200
,信息系统分析与设计, 67
二、数据库设计
? 数据库设计的步骤,
(1)用户需求分析
(2)基本数据库结构的设计
? 数据的基础程度
? 数据的稳定程度
? 数据的重要程度
? 数据的冗余程度
(3)中间数据库结构的设计
(4)与应用程序的接口
,信息系统分析与设计, 68
三、用户界面设计
? 输出设计
-输出设计的主要职责和目标,
由计算机对输入的原始信息进行加工处理,形成
高质量的有效信息,并使之具有一定的格式,提供管
理者使用。
-输出设计主要涉及的内容
(1)输出信息使用方面的内容
(2)输出信息的内容
(3)输出设备
(4)输出介质
,信息系统分析与设计, 69
三、用户界面设计
? 输入设计
-输入设计的目标
在保证输入信息正确性和满足需要的前提下,应
做到输入方法简单、迅速、经济和方便使用者。
-输入设计应遵循如下原则:
? 输入量应保持在能满足处理要求的最低限度。
? 输入的准备及输入过程应尽量简单易行,从而减
少错误的发生。
? 应尽早对输入数据进行检查,以便使错误及时得
到改正。
? 输入数据应尽早地记录在其处理所需的介质上,
以避免转录及可能发生的错误。
,信息系统分析与设计, 70
三、用户界面设计
? 输入信息的获得
-在设计原始数据表格时就考虑以下问题:
·纸张的尺寸和质量;
·拷贝份数和各个拷贝的颜色;
·保存时间;
·送交处理的时机;
·重要程度;
·安全;
? 输入信息的内容设计
,信息系统分析与设计, 71
三、用户界面设计
? 输入信息的设备和介质
-通常所用的输入设备
·键盘;
·鼠标;
·软盘、光盘、活动硬盘、磁带等;
·读卡机;
·磁性墨水字符识别机;
·光电阅读器;
·条型码识别机;
·声音识别仪;
·图象扫描仪等。
,信息系统分析与设计, 72
三、用户界面设计
? 输入设备的介质的选用要考虑的因素:
·输入的数据量与频度;
·输入信息的来源、形式;
·输入的类型的格式的灵活程度;
·输入的速度和准确性的要求;
·输入的校验方法、允许的错误率及纠正的难易程度;
·数据记录的要求、特点、保密性等;
·数据收集的环境,以及对于其它系统是否适应;
·可选用的设备和费用等。
,信息系统分析与设计, 73
三、用户界面设计
? 输入信息的校验
-校验对象,最重要的是主文件数据,其次是各
种金额和数量数据 。
-数据出错的种类
? 数据内容的错误:由于原始单据有错误或录入时
产生的错误。
? 数据多余和不足:数据收集中的差错,由于原始
单据丢失、遗漏或重复而引起的。
? 数据的延误:不是内容和数量的错误,仅仅因为
时间上延误而产生的差错。
,信息系统分析与设计, 74
三、用户界面设计
? 数据的校验方法
·重复校验:将同一处理内容重复执行两次,然后进行对比的校
验方法。
·视觉校验:一般安排在原始数据转换到介质上时执行。
·分批汇总校验:按原始票据的类别、发生日期等划分批次。
·控制总数校验:对一切数据项的所有数值求总。
·数据类型校验:校验数据是数字型还是字母型。
·格式校验:校验记录中各项数据位数和位臵是否构成预先确定
的格式。
·逻辑校验:也称合理性校验,检查数据项是否符合逻辑。
·界限校验:指某数据项输入是否位于预先指定的范围之内,界
限校验分上限、下限和范围三种。
·记录计数校验:通过计算记录的个数检查数据记录是否有遗漏
和重复。
·平衡校验:业务文件的重要代码与主文件的重要代码核对,如
果不匹配则数据错误。
,信息系统分析与设计, 75
三、用户界面设计
? 差错的纠正
-原始数据出错:立即退到产生该数据的处理场所予以纠正。
-由程序查出的差错:
·剔出出错数据留待纠正,正确数据照常处理。
·出错数据查出后马上进行纠正,纠正后再与正确数据一起
输入处理。
·废弃出错数据,只用正确数据进行处理。一般用于某些统
计分析等业务,只要大体上正确即可。
? 人 -机对话设计
-对话方式
① 菜单式
② 填表法:
③ 问答法
④ 提问法
,信息系统分析与设计, 76
图 4-25 下拉、弹出、级联式菜单
,信息系统分析与设计, 77
三、用户界面设计
?对话设计原则:
·对话要清楚、简单,不能具有二义性;
·对话要适合操作人员的水平,要能鼓励用户使用,
并且容易学习掌握;
·对话本身应具有指导用户怎样操作和回答问题的一
定能力;
·对话应能反映用户的观点、业务和习惯等;
·必须很快地反馈用户的输入状态 (尤其是出错的情
况 ),不能让用户犹豫或等待;
·要把错误信息的细节显示出来,并指导用户如何改
正错误;
·对话应该适合于用户的环境和具体情况,允许具有
不同能力和经验的用户在不同的速度下进行操作。
,信息系统分析与设计, 78
三、用户界面设计
?在设计图形用户界面时,应掌握以下几条原则:
①在对时间的响应要求较高,且硬件资源档次较低
的环境中,不宜采用图形界面。
②设计的图形对象,应具有直观、清楚、易理解的
特点,以便于用户的操作和使用。
③图形对象的选择和设计应尽可能利用系统本身提
供的图形工具软件或是通过继承的方式重用类库中已
有的图形对象,以提高现有资源的利用率。
,信息系统分析与设计, 79
四、处理过程设计
在详细设计阶段,处理过程设计的
任务是按照软件系统总体设计答对各模
块功能的要求考虑到系统开发环境与开
发工具的特点,编制出每个模块的计算
机处理的流程图和确定其数据存取需求,
为系统实施中的编程与测试提供依据。
,信息系统分析与设计, 80
系统 名,库存管理
日期,1/5/98模块 处理收发数据
制图者,白 XX
下列模块调用,
修改库存数据
调用下列模块,
增加在库数
减少在库数
增加记录
删除记录
输入,( 由修改库存数
据模块提供
库房收发数据
库存数据
输出,( 由修改库存数据模块
接收 )
修改后的库存数据
无效收发数据
处理内容,如库房收入,则调用增加在库数模块;
如库房发出,则调用减少在库数模块;
如增加库存文件纪录,则调用增加记录模块;
如删除文件记录,则调用删除记录模块 。
否则, 按无效收发数据处理
内部数据元素, 备注,
IPO图
4-26处理收发数据模块 IPO图
,信息系统分析与设计, 81
提取一项
收发数据
进货?
调用减少
在库数模块
调用增加
在库数模块
否是
新增此
库存记
录?调用增加
记录模块
删除此
库存记
录?
调用删除
记录模块
收 发 数 据
处 理 完 毕
否?
返回修改库存
数据模块
否
否
否
是
是
是
发货?
是
无效收发
数据处理
否
4-27 收发数据处理过程设计
结束
开始
,信息系统分析与设计, 82
输入数据 计算工资 打印工资表
工 资管理
应发工资 计算扣除
图 4-28 工资管理模块层次图
,信息系统分析与设计, 83
输入数据 计算工资 打印工资表
应发工资 计算扣除
图 工资管理模块层次图
系统名 工资管理
日期,2000,2.10模块名,数据输入
制图者,汪 XX
由下列模块调用,
工资管理 调用下列模块,无
输入,(手工输入 )
职工考核数据
职工工资变动数据
输出,( 存入职工工资数据
库 )
职工考核数据
职工工资变动数据
处理内容,
手工录入职工周期性的考核数据 ( 月, 年 )
手工录入职工工资变动数据 ( 有变动时 )
内部数据元素, 备注,
IPO图
图 4-29 数据输入模块 IPO图
,信息系统分析与设计, 84
图 4-30 输入数据模块的处理过程
输入编号, 姓名
输入出勤天数
输入产量
输入材料消耗
输完所有
人了吗?
工资档案
有变化?
输入编号, 姓名
还有其他
变动吗?
还有其他人
变动吗?
输入工资变动指标
否
否
是
是
提取工资档案
变动名单
是
否
结束
开始
,信息系统分析与设计, 85
数据名称 类型 属性
姓名 字符 输入
编号 字符 输入
工龄 数字 输入
基本工资 数字 输入
副食补贴 数字 输入
粮食补贴 数字 输入
洗理费 数字 输入
交通费 数字 输入
房租水电费 数字 输入
……,… …
表 4-12工资档案变动数据列表
,信息系统分析与设计, 86
表 4-11周期性考核数据数据列表
数据名称 类型 属性
姓名 字符 输入
编号 字符 输入
出勤天数 数字 输入
产量 数字 输入
材料消耗量 数字 输入
,信息系统分析与设计, 87
五、编写系统设计说明书
? 系统设计说明书的主要内容应包括:
⑴,系统开发项目概述。
⑵,模块设计说明。
⑶,代码设计说明。
⑷,输入设计说明。
⑸,输出设计说明。
⑹,数据库设计说明。
⑺,网络环境的说明。
⑻,安全保密说明。
⑼,系统设计实施方案说明。
,信息系统分析与设计, 88
第七节 系统实施
?一,系统实施阶段的主要活动
?二、编程
?三、系统测试
?四、系统转换
,信息系统分析与设计, 89
一,系统实施阶段的主要活动
? 系统实施的目的:把系统分析和系统设计的成果转化
为可实际运行的系统
? 系统实施的条件:以系统分析和设计文档资料为依据
的。
? 系统实施的主要活动
-编程:按照详细设计阶段产生的程序设计说明书,
用选定的程序设计语言书写源程序 。
-测试:运用一定的测试技术与方法, 通过模块测
试, 组装测试, 确认测试和系统测试几个步骤, 发现
和排除系统可能存在的问题 。
-系统安装:各种软, 硬件设备的选形, 论证, 购
臵, 安装, 以及整个系统调试运行 。
-新旧系统转换:以新开发的系统替换旧的系统,
并使之投入使用的过程 。
,信息系统分析与设计, 90
二、编程
?编程的任务:使用选定的计算机程序设计语言,
把软件系统详细设计所得到的各模块的信息处
理功能和过程描述转换成能在计算机系统上运
行的程序源代码(源程序)。
?对编程的质量要求
-基本的质量要求:程序的正确性,即在给定
环境下计算机能识别和正确运行所编程序,要
满足系统设计的功能要求。
-重要的质量要求:源程序的可读性
,信息系统分析与设计, 91
二、编程
? 结构化编程:
-顺序结构 (SEQUENCE结构 ):顺序结构表示含有多个
连续的处理步骤, 按程序书写的先后顺序执行 。
-选择结构 (IF-THEN-ELSE结构 ):由某个逻辑表达式
的取值决定选择两个处理加工中的一个 。
-循环结构或重复结构:
?, 当, 型循环结构 (DO-WHILE结构 ):在控制条件
成立时,重复执行特定的加工。
?, 直到, 型循环结构 (DO-UNTIL结构 ):与当型无
本质区别,只是测试条件在处理S之后进行。
-情况选择结构或多分支结构 (CASE结构 ):是条件结
构的扩充, 当被测试的变量有多种可能的取值, 而根
据不同的值需要选择不同的处理时, 可采用这种结构 。
,信息系统分析与设计, 92
入 口
A
B
出口
FT
出口
A B
p
入 口
图 4-31顺序结构 图 4-32选择结构
,信息系统分析与设计, 93
出口
S
P
入口
T
F
P
S
入口
F
出口
图 4-33,当”型循环 图 4-34,直到”型循环
,信息系统分析与设计, 94
P=P1 P=P2 P=P3 P=Pn
S3S2S1
测试 P
。。。。。。。。。。
入口
出口
Sn
4-35 多分支结构
,信息系统分析与设计, 95
三、系统测试
? 系统测试的目的,
系统测试是以找错误为目的,我们不是要证明程
序无错,而是要精心选取那些易于发生错误的测试数
据,以十分挑剔的态度,去寻找程序的错误。
? 系统测试的基本原则,
? 测试工作应避免由原开发软件的个人或小组来承
担。
? 设计测试用例不仅要包括合理、有效的输入数据,
还要包括无效的或不合理的输入数据。
? 不仅要检验程序做了该做的事,还要检查程序是
否同时做了不该做的事。
? 保留测试用例,将会给重新测试和追加测试带来
方便。
,信息系统分析与设计, 96
三、系统测试
? 系统测试的方法
人工测试:
– 个人复查:指源程序编完以后,直接由程序员自己
进行检查。
– 走查:测试在预先阅读过该软件资料和源程序的前
提下,由测试人员扮演计算机的角色,用人工方法
将测试数据输入被测程序,并在纸上跟踪监视程序
的执行情况,让人代替机器沿着程序的逻辑走一遍,
发现程序中的错误。
– 会审:测试成员在会审前仔细阅读软件有关资料,
根据错误类型清单(从以往经验看一般容易发生的
错误),填写检测表,列出根据错误类型要提问的
问题。会审时,由程序作者逐个阅读和讲解程序,
测试人员逐个审查、提问、讨论可能产生的错误。
,信息系统分析与设计, 97
三、系统测试
机器测试:
– 黑盒测试:将软件看作黑盒子,在完全不
考虑程序的内部结构和特性的情况下,研究
软件的外部特性。根据软件的需求规格说明
书设计测试用例,从程序的输入和输出特性
上测试是否满足设定的功能。
– 白盒测试:将软件看作一个透明的白盒子,
按照程序的内部结构和处理逻辑来选定测试
用例,对 软件的逻辑路径及过程进行测试,
检查与设计是否相符。
,信息系统分析与设计, 98
软件测试
机器测试
白盒测试
黑盒测试
会审
走查
个人复查
人工测试
,信息系统分析与设计, 99
三、系统测试
? 系统测试的步骤:
-单元测试:程序中的一个模块或一个子程序, 是
程序设计的最小单元, 是程序最小的独立编译单位 。
-组装测试:在每个模块完成了单元测试以后, 需
要按照设计时作出的层次模块图把它们连接起来, 进
行组装测试 。
-确认测试:经过组装测试, 软件已装配完毕, 接
下来进行的确认测试和系统测试将是以整个软件做为
测试对象, 且采用黑盒测试方法 。
-系统测试:将信息系统的所有组成部分包括软件,
硬件, 用户以及环境等综合在一起进行测试, 以保证
系统的各组成部分协调运行 。
,信息系统分析与设计, 100
设计信息
可
运
行
系
统
系统其它
元素单元测试
单元
测试
单元
测试
组装
测试
确认
测试
系统
测试
软件需求
信息
测后软件测后模块
模块
模块
模块
确认后软件
图 436 系统测试的步骤
,信息系统分析与设计, 101
四、系统转换
?系统转换的任务与方式
-直接转换:在老系统停止运行的某一时刻, 新系统立
即开始运行 。
-并行转换:新老系统并行工作一段时间, 经过一段时
间的考验以后, 以新系统正式全面代替老系统 。
-分段转换:分段转换实际上是上述两种方式的结合,
在新系统全部正式运行之前, 分阶段一部分一部分地
替代老系统 。
,信息系统分析与设计, 102
老系统
新系统
时间
切换点
老系统
新系统
时间
并行行运时间
图 4-37直接转换 图 4-38并行转换
,信息系统分析与设计, 103
时间
老系统 新系统
分段转换
图 4-39 分段转换
老系统 新系统
,信息系统分析与设计, 104
四、系统转换
? 系统转换的主要工作:
根据信息系统的实际开发和应用情况,确定了系统转换的方
式以后,除了做好组织准备、物质准备和人员培训等准备工作之
外,最重要而且工作量最大的是数据准备和系统初始化工作。
-数据准备:从老系统中整理出新系统运行所需的基础数据和资
料
-系统初始化:对系统的运行环境和资源进行设臵、系统运行和
控制参数设定、数据加载以及调整系统与业务工作同步等内容。
在系统转换过程中,尤其是长时间的并行转换过程中,用户
又会发现一些系统的错误和功能的缺陷,此时应以系统分析中确
定的系统目标来衡量是否要对系统进行修改,对此,无论是用户
还是系统开发方都应采取慎重态度。
,信息系统分析与设计, 105
第八节 结构化信息系统设计实例
---新亚纸制品公司管理信息系统开发概要
? 系统总体结构设计
系统总体功能结构
新亚公司管理信息系统
领导
信息
子系
统
生产
管理
子系
统
质量
管理
子系
统
财务
管理
子系
统
供应
管理
子系
统
行政
管理
子系
统
销售
管理
子系
统
仓库
管理
子系
统
图 4-40新亚公司管理信息系统子系统划分
,信息系统分析与设计, 106
,信息系统分析与设计, 107
,信息系统分析与设计, 108
,信息系统分析与设计, 109
图 4-44 生产进度管理 E-R图图 图
,信息系统分析与设计, 110
系统详细设计
--数据库设计
? 生产进度管理中所涉及到和主要实体集及其属性如下
生产班组 { 班组编号, 组长, 人数, 所属车间, 班次 } ;
工人 { 职工编号, 职工姓名, 性别, 年令, 工种 } ;
生产线 { 生 产 线 编 号, 生 产 线 名 称, 类别, 物 理 位 臵,
主要设备 } ;
备品备件 { 备件编号, 备 件 名 称, 技 术 规 格, 后备线类
别 } ;
产品 { 产品编号, 产品名称, 产品规格, 质量标准 } ;
原材料 { 材料编号, 材料名称, 计量单位, 消耗定额, 允许耗量 }
,信息系统分析与设计, 111
? 按照用E-R图设计关系数据库的方法, 除上述实体
分别构成一个关系外, 彼此之间的联系可转化为以下
几个关系:
生产记录 { 生产记录编号, 生产日期, 生产班组编号,
生产班次, 产品编号, 一等品产量, 二等品产量, 三
等品产量 } ;
材料消耗记录 { 生产记录编号, 材料编号, 理论消耗,
允许消耗, 实际消耗, 节超数量 } ;
生产线运行记录 { 生产记录编号, 生产线编号, 产品编
号 } ;
生产线结构 { 生产线编号, 备件编号 } ;
生产班组构成 { 班组编号, 职工编号 }
,信息系统分析与设计, 112
? 数据库文件名:生产记录
序号 数据项名 类型 长度
1 生产记录编号 字符 6
2 生产日期 日期 8
3 生产班组编号 字符 4
4 生产班次 字符 2
5 产品编号 字符 5
6 一等品产量 数值 6
7 二等品产量 数值 6
8 三等品产量 数值 6
? 主码:生产记录编号
? 外来码:生产班组编号, 生产编号
,信息系统分析与设计, 113
? 代码设计
通过对数据库及彼此之间的联系进行分析,
对所有数据库文件中的主码和外来码的构成进行设计 。
如, 生产记录, 中的, 生产记录编号, 的代码设计如
下,
XX XX XX
顺序号
月份
年份
码例,940382 含义为 1994年 3月的第 82条生产
记录。
,信息系统分析与设计, 114
? 用户交互界面
数据编辑
数据查询
数据输出
,信息系统分析与设计, 115
新亚公司生产日报 日期,94.03.12
编号 班组
号
产品品种
班次
一等品
产量
二等品产
量
三等品产
量
840382 B-03 晚中号纸
杯
5424 205 43
840383 C-02 中 I型卫生
巾
3201 24 0
840384 C-01 晚 2 号餐
巾纸
627 21 5
图 4-45生产记录输入界面示例
,信息系统分析与设计, 116
生产日报查询
可选字段:日期 序号 数据项 运算符 条件数据
班组号 1 班组号 等于 B-03
班次 2 班次 等于 中
产品品种 3 日期 大于等于 94.03.01
一等品产量 4 日期 小于等于 94.03.31
三等品产量
还有其他条件要定义吗?(Y/N)
图 4-46生产记录查询示例
,信息系统分析与设计, 117
系统的实施、维护与管理
? 本系统的实施是在上述系统设计的基础上, 用
FOXPRO 关系数据语言进行的程序设计和程序调试, 随
后是进行系统的测试 。 由于本系统是基于网络环境的,
因此系统测试一定要注重网络功能的测试 。 经过系统
测试后, 进入系统试运行 。 由于新亚公司职员的素质
的应用水平不同, 本系统的转换并不是一次性同步完
成的, 而是分别以子系统为单位进行试运行的, 并根
据子系统运行情况分别逐步进行系统转换的
? 系统维护与管理是贯穿整个系统生命周期的活动,
为此新亚公司专门成立了信息中心, 配备了专职的系
统维护与管理人员, 进行系统的程序维护, 代码维护,
数据备份与恢复, 网络管理与维护等工作 。
第四章 信息系统设计与实施
?第一节 信息系统设计概述
?第二节系统总体布局
?第三节软件系统的总体结构设计
?第四节数据存储的总体结构设计
?第五节计算机与网络系统方案的选择
?第六节系统详细设计
?第七节系统实施
?第八节 结构化信息系统设计实例
,信息系统分析与设计, 2
第一节 信息系统设计概述
?一、信息系统设计的目的与任务
?二、系统设计的依据
?三、系统设计阶段的主要活动
?四,系统设计工作的特点
,信息系统分析与设计, 3
一、信息系统设计的目的与任务
? 目的:
将系统分析阶段所提出的充分反映了用户信息需
求的系统逻辑方案转换成可以实施的基于计算机与网
络技术的物理 ( 技术 ) 方案 。
? 任务:
信息系统的总体目标出发, 根据系统分析阶段对
系统的逻辑功能的要求, 并考虑到经济, 技术和运行
环境等方面的条件, 确定系统的总体结构和系统各组
成部分的技术方案, 合理选择计算机和通信的软, 硬
件设备, 提出系统的实施计划 。
,信息系统分析与设计, 4
二、系统设计的依据
?系统分析的成果
?现行技术
?现行的信息管理和信息技术的标准, 规
范和有关法律制度 。
?用户需求
?系统运行环境
,信息系统分析与设计, 5
三、系统设计阶段的主要活动
? 系统总体设计:
-系统总体布局方案的确定
-软件系统总体结构的设计
-数据存储的总体设计
-计算机和网络系统方案的选择
? 详细设计:
-代码设计
-数据库设计
-人机界面设计
-处理过程设计
? 系统实施进度与计划的制订
?, 系统设计说明书, 的编写
,信息系统分析与设计, 6
四,系统设计工作的特点
? 系统设计的主要任务是提出合理的计算机硬软件系统的技术方案,
采取具体的技术措施来满足用户需求,因而大量工作是技术性的。
? 系统设计人员对系统的逻辑功能和用户的各类需求必须有深刻的、
切实的理解。了解用户对系统分析阶段提出的信息需求的解释。
? 用户在操作使用和运行环境等方面的具体要求,也要在系统设计
阶段加以明确并在系统的技术方案中得到反映。
? 系统设计工作的环境是管理环境和技术环境的结合, 这是这一阶
段工作的重要特点 。
,信息系统分析与设计, 7
第二节系统总体布局
?一、概述
?二、集中式系统
?三,分布式系统
,信息系统分析与设计, 8
一、概述
?系统总体布局方案主要有:
-集中式系统 (Centralized Systems)
-分布式系统 (Distributed Systems)
?从信息处理的方式来看主要有,
-批处理方式 (Batch processing)
-联机处理方式 (On-line processing)
,信息系统分析与设计, 9
二、集中式系统
? 单机批处理系统
? 单机多终端分时系统 (终端无处理功能 )
? 主机-智能终端系统(终端有辅助处理功能)
,信息系统分析与设计, 10
三,分布式系统
? 利用计算机网络把分布在不同地点的计算机硬件,
软件, 数据等信息资源联系在一起服务于一个共同
的目标而实现相互通信和资源共享, 就形成了信息
系统的分布式结构 。 具有分布结构的系统称为分布
式系统 。
? 分布式系统运行的网络环境有:局域网 (LAN),广域
网 (WAN),局域网和广域网混合形式以及互联网
( Internet), 内 联网 ( Intranet), 外联网
(Extranet)及其混合形式 。
? 分布式系统的计算模式有资源共享方式, 客户机 /服
务器 (C/S)方式和浏览器 /WEB服务器 ( B/S) 计算模
式 。
,信息系统分析与设计, 11
四、系统总体布局
? 一般应考虑以下几个问题:
? 系统类型
? 系统类型
? 处理方式
? 数据存储硬件配臵
? 软件配臵
? 系统布局方案的选择原则:
? 处理功能 。
? 使用方便
? 可维护性, 可扩展性, 可变更性好
? 安全性、可靠性高
? 经济实用
,信息系统分析与设计, 12
第三节软件系统的总体结构设计
?一,软件系统的总体结构设计任务
?二,软件系统总体结构设计的原则
?三,结构化系统设计的方法和工具
?四,模块结构设计
?五,从数据流图导出模块结构图
,信息系统分析与设计, 13
一,软件系统的总体结构设计任务
软件系统总体结构设计的主要任务
就是根据系统的总体目标和功能将整个
系统合理划分成若干个功能模块,正确
地处理模块之间的调用关系和数据联系,
定义各模块的内部结构等等。
,信息系统分析与设计, 14
二、软件系统总体结构设计的原则 (1)
? 分解 -协调原则:
-分解依据
? 按系统的功能进行分解
? 按管理活动和信息运动的客观规律分解
? 按信息处理的方式和手段分解
? 按系统的工作规程分解
? 按用户工作的特殊需要分解 (如有保密和其他要求 )
? 按开发, 维护和修改的方便性分解
-协调依据
? 目标协调
? 工作进程协调
? 工作规范和技术规范协调
? 信息协调 (指信息的提供和收回 )
? 业务内容协调 ( 如某些业务指标的控制 )
,信息系统分析与设计, 15
二、软件系统总体结构设计的原则 (2)
? 模块化原则。
。
? 自顶向下的原则。
? 信息隐蔽、抽象的原则。
? 一致性原则。
? 明确性原则 。
,信息系统分析与设计, 16
三,结构化系统设计的方法和工具
? 结构化设计方法概述
结构化设计( Structured Design,以下简称 SD)
是从建立一个具有良好结构的系统的观点出发,基于
把一个复杂的系统分解成相对独立的模块的原则,主
要研究了将系统分解为不同模块的方法与技术,分析
系统分解时产生的各种影响,提出了评价模块结构质
量的具体标准,还给出了从表达用户要求的数据流图
导出模块结构图的规则。
,信息系统分析与设计, 17
三,结构化系统设计的方法和工具
? 系统流程图
绘制系统流程图时主要根据:
? 信息处理的步骤和内容。
? 每一步骤根据内容所涉及的物理过程 。 主要包括:
输入 /输出的内容和形式, 存储要求, 加工所用
的物理设备 。
? 各步骤之间的物理和逻辑关系 。
,信息系统分析与设计, 18
输入 /
输出
辅助
处理
卡片
预处
理
脱机
储存
人工输入
人工
操作
处 理 联机存储
文 件
纸 带
判
断
通讯联结
联 结显示
端 点
磁带
直接访问
存储器 磁盘
离页联结符
系统流程图的常用符号
,信息系统分析与设计, 19
入库单 出库单
供应商 编辑事务
修正文件
错误
报表
新品单 报废单
配 件 库
存
供应商
编辑后
的事务
配 件
配 件
图 4-2 库存系统的流程图
库存
历史
事务
历史
,信息系统分析与设计, 20
三,结构化系统设计的方法和工具
? HIPO ( Hierarchy plus Input/Process /Output)技
术,即用图形方法表达一个系统的输入和输出功能以
及模块的层次。 HIPO技术包含两个方面的内容:
? H 图
? IPO图 (输入 -处理 -输出图 )
? 用途:应用 HIPO技术可以进行系统设计、评价,在系
统实施之前加工、修改已设计的系统。
,信息系统分析与设计, 21
HIPO技术 应用实例
-库存管理系统中, 修改库存数据,
? 第一步:绘制 H 图。
此时系统需具备以下几种数据处理过程
? 提取库房收发数据。
? 提取原有库存数据 。
? 处理收发数据 。
? 重写库存数据主记录 。
,信息系统分析与设计, 22
修改库存
数据
刷新库存
记录
提取库房收
发数据
提取
库存数据
处理收
发数据
图 4-3 第一轮 H 图
,信息系统分析与设计, 23
修改库
存数据
提取库
存数据
处理收
发数据
提取库房
收发数据
刷新库
存记录
增加
记录
减少
在库数
增加
在库数
删除
记录
图 4-4(a) 第二轮 H 图
进一步分解,
,信息系统分析与设计, 24
修改库存
数据
提取库存
数据
处理收发
数据
提取库房
收发数据
增加
记录
减少
在库数
增加
在库数
删除
记录
刷新库存
记录
图 4-4(b) H 图的另一种形式
,信息系统分析与设计, 25
图 4-5 IPO图的形式
系统名,制图者:
IPO图
日 期:模块名:
由下列模块调用,调用下列模块:
输入:
处理内容:
输出:
内部数据元素,备注:
,信息系统分析与设计, 26
处理内容,
如库房收入,则调用增加在库数模块;
如库房发出,则调用减少在库数模块;
如增加库存文件纪录,则调用增加记录模块;
如删除文件记录,则调用删除记录模块。
系统 名,库存管理
日期,1/5/88模块名,处理收发数据
制图者,白 XX
由 下列模块调用,修改
库存数据
调用下列模块,
增加在库数
减少在库数
增加记录
删除记录
输入, (由修改库
存数据模块提供
库房收发数据
库存数据
输出, ( 由修改库存数
据模块接收 )
修改后的库存数据
无效收发数据
处理内容,
如库房收入,则调用增加在库数模块;
如库房发出,则调用减少在库数模块;
如增加库存文件纪录,则调用增加记录模块;
如删除文件记录,则调用删除记录模块。
否则,按无效数据处理
内部数据元素, 备注,
IPO图
4-6 处理收发数据模块 IPO图
,信息系统分析与设计, 27
? 控制结构图
调用关系分为直接调用 (无条件调用 )、选择调用 (判断调用 )
和重复调用 (循环调用 )三种。其表示方法如图 4-7所示。
模块 A
模块 B
模块 A模块 A
模块 B 模块 B
图 4-7 模块间的调用关系
(a)直接调用 (b)选择调用 (c)重复调用
,信息系统分析与设计, 28
图 4-8 双层嵌套的重复调用
模块
A
模块
A
模块
A
模块
A
,信息系统分析与设计, 29
c
m
m
i
c
j
n
i n
ji
a
d
g
g
d
f
c
b
a e
be
a
b
提取库存
数据
提取库房
收发数据
增 加
在库数
处理收发
数据
减 少
在库数
增加
记录
删除
记录
刷新库存
记录
修改
库存数据
控制结构图示例
,信息系统分析与设计, 30
? 图 4-9中的各通讯符号的意义为:
a,收发数据 b,收发处理错误标志
c,零件号 d,库存数据
e,主文件错误标志 f,修改错误标志
g,重写错误标志 i,在库数
j,收发数 k,临界库存水平
m,增加记录标志 n,删除记录标志
,信息系统分析与设计, 31
四,模块结构设计
? 模块:
在软件系统设计中,模块 (module)是指这样的一组
程序语句,它包括输入与输出、逻辑处理功能, 内部
信息及其运行环境。
? 输入与输出,模块的输入来源和输出去向在正常的情况下
都是同一个调用者,即模块。从调用者处获得输入信息,
经过模块本身的处理后,再把输出返送给调用者。
? 逻辑功能,模块的逻辑功能描述了该模块能够做什么样的
事情,具备什么样功能,即对于输入信息能够加工成什么
样的输出信息。
? 内部信息,模块的内部信息是指模块执行的指令和在模块
运行时所需要的属于该模块自己的数据。
? 运行环境,模块的运行环境说明了模块的调用与被调用的
关系。
,信息系统分析与设计, 32
四,模块结构设计
? 模块化,
模块化就是把系统划分为若干个模块,每个模块
完成一个特定的功能,然后将这些模块汇集起来组成
一个整体 (即系统 ),用以完成指定功能的一种方法。
模块独立程度可以由两个定性标准度量,这两标
准分别称为块间耦合和块内联系。
? 块间耦合,系统内不同模块之间互连程度的度量。
块间耦合强弱取决于模块间联系形式及接口的复
杂程度。模块间接口的复杂性越高,说明耦合的
程度也越高。
? 块内联系,模块内部元素的联系方式,块内联系
标志一个模块内部各个元素间彼此结合的紧密程
度,主要表现在模块内部各个元素为了执行某一
功能而结合在一起的程度 。
,信息系统分析与设计, 33
四,模块结构设计
? 模块之间的耦合形式
模块之间的耦合形式决定了模块之间联系程度。
通常两个模块间的耦合形式有数据耦合、控制耦合、
公共耦合和内容耦合。
? 数据耦合,如果两个模块彼此间通过数据交换信
息,而且每一个参数仅仅为数据,那么这种块间
耦合称之为数据耦合。
? 控制耦合,如果两个模块彼此间传递的信息中有
控制信息,那么这种块间耦合称为控制耦合。
? 公共耦合,如果两个模块彼此之间通过一个公共
的数据区域传递信息时,则称之为公共耦合或公
共数据域耦合。
? 内容耦合,如果一个模块需要涉及另一个模块的
内部信息时,则这种联系称为内容耦合。
,信息系统分析与设计, 34
四,模块结构设计
? 耦合方式的比较
表 4-1 模块之间四种耦合方式的比较
块间
耦合形式
可读
性
错误
扩散能力
可修
改性
通用
性
数据耦合 好 弱 好 好
控制耦合 中 中 中 中
公共耦合 不好 强 不好 较差
内容耦合 最差 最强 最差 差
,信息系统分析与设计, 35
四,模块结构设计
? 模块内部的组合形式
强 ━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━ 弱
功能 顺序 通讯 过程 时间 逻辑 偶然
组合 组合 组合 组合 组合 组合 组合
图 4-12 模块内部的组合程度比较
,信息系统分析与设计, 36
四,模块结构设计
? 模块内部的组合形式,
? 偶然组合,如果一个模块所要完成的动作之间没有任何关系,或
者即使有某种关系,也是非常松散的,就称之为偶然组合。
? 逻辑组合,如果一个模块内部的各个组成部分在逻辑上具有相似
的处理动作,但功能上、用途上却彼此无关,则称之为逻辑组合。
? 时间组合,如果一个模块内部的各个组成部分所包含的处理动作
必须在同一时间内执行,则称之为时间组合。
? 过程组合,如果一个模块内部的各个组成部分所要完成的动作彼
此间没什么关系,但必须以特定的次序 (控制流 )执行,则称之
为过程组合。
? 通信组合,如果一个模块内部的各个组成部分所完成的动作都使
用了同一个输入数据或产生同一个输出数据,则称之为通信组合。
? 顺序组合,对于一个模块内部的各个组成部分,如果前一部分处
理动作的输出是后一部分处理动作的输入,则称之为顺序组合。
? 功能组合,如果一个模块内部的各个组成部分全部为执行同一功
能而结合 成为一个整体,则称之为功能组合方式的模块。
,信息系统分析与设计, 37
表 4-2 模块内部的七种组合形式的比较
块内组合 联接形式 可修改性 可读性 通用性 联系程度
功能组合 好 好 好 好 高
低
顺序组合 好 好 好 中
通讯组合 中 中 中 不好
过程组合 中 中 中 不好
时间组合 不好 不好 中 最坏
逻辑组合 最坏 最坏 不好 最坏
偶然组合 最坏 最坏 最坏 最坏
,信息系统分析与设计, 38
No
No
No
Yes
Yes
Yes
其 他
控制流
数据流
No
Yes 功能组合
该模块
执行一个
功能吗?
模块内
各组成
部分关
系如何
?
次序重
要吗?
次序重
要吗?
逻辑相
似吗?
顺序组合
通讯组合
过程组合
时间组合
逻辑组合
偶然组合
图 4-14 块内组合程度判定
,信息系统分析与设计, 39
四,模块结构设计
? 模块设计的注意事项
? 改进系统结构,对于初步设计出的系统结构,应该仔细地分
析与审查,发现高块间联系,低块内联系的模块,要通过
模块的分解与合并,改进系统结构,从而降低块间联系,
提高块内联系,
? 系统的深度和宽度,系统的深度表示系统结构中的控制层数,
宽度则表示控制的总分布,即同一层次的模块总数的最大
值,
? 模块的扇出数与扇入数,一个模块控制的直属下级模块的个
数称为该模块的扇出数;反之,一个模块的直接上级模块
的个数称模块的扇入数。
? 模块的规模,大量的实践表明,一个模块的规模不可过大,
也不可过小。
? 模块的作用范围与控制范围,模块的作用范围是指受该模块
内部的一个判定影响的所有模块的集合,模块的控制范围
包括该模块本身及所有的下属模块的集合。
,信息系统分析与设计, 40
扇入
扇出
宽度
深度
图 4-15 模块层次结构的形状参数
,信息系统分析与设计, 41
A
CB D
E F G
(a)
A
B D
C F G
(b)
E
图 4-16 模块控制范围及改进
,信息系统分析与设计, 42
五,从数据流图导出模块结构图
? 以变换为中心的设计
-找出变换中心,确定出主加工
从此输出输入至此
输出输入
以格式
化的解解
正确
数据
机内
数据
原始
数据 编辑
数据
读入
数据
编排
解的
格式
求解 显示
解
主加工
(a) 变换型数据流图
,信息系统分析与设计, 43
五,从数据流图导出模块结构图
-设计模块结构图的顶层和第一层
? 为主加工每一个输入(逻辑输入)设计一个输入
模块,其功能是向主模块提供数据。
? 为主加工每一个输出(逻辑输出)设计一个输出
模块,其功能是从主模块接收数据并为下层模块
提供数据输出。
? 为主加工设计一个变换模块,其功能是将逻辑输
入变换成逻辑输出。
-设计中,下层模块
? 从第一层模块开始,自顶向下,逐步细化来完成,
主要包括:输入模块的细化、输出模块的细化以
及变换模块的细化。
,信息系统分析与设计, 44
五,从数据流图导出模块结构图
? 以事务为中心的设计
事务记录
C事务
B事务
A事务类型标志
事务记录
事务记录
类型标志事务记录
类型标志
分析
事务类型
读
事务文件
调度处理获得事务类型
事务处理
处理
A类事务
处理
B类事务
处理
C类事务
编辑
A类事务
编辑
B类事务
编辑
C类事务图 4-19 转换后的结构图
,信息系统分析与设计, 45
五,从数据流图导出模块结构图
事务处理
……
处理 T1事务 处理 T2事务 处理 Tn事务
动作 A1 动作 A2 动作 A3 动作 An
图 4-20 典型的事务中心结构图
,信息系统分析与设计, 46
五,从数据流图导出模块结构图
? 确定事务的来源。
? 确定适当的以事务为中心的系统结构。
? 确定出每一种事务以及它所需要的处理动作。
? 合并具有相同处理功能的模块。
? 对每一种类型的事务,分别建立专门的事务模块,
对它进行独立的处理。
? 对一种事务所引起的每一个处理动作,要分别建
立一个直接从属于该事务模块的下级模块(即事
务模块),要使用模块的分解原则,在分解时要
注意允许有公共处理动作模块,加大它的扇入数。
? 必要时对动作模块进一步分解。
,信息系统分析与设计, 47
第四节数据存储的总体结构设计
?一,数据的分类
?二、数据存储规模的确定
?三、数据存储空间的分布
?四、数据库管理系统( DBMS)的选择
,信息系统分析与设计, 48
一,数据的分类
? 基础数据:整个系统的输入数据、输出数据、代码、
各种工作和技术标准、规范以及主要子系统的共享数
据
? 中间数据:在数据处理中需要保存的中间结果
? 工作数据:为提高某项处理功能的效率而事先加工好
的数据
? 暂存数据:处理过程中需存储、在处理过程结束后即
可消除的数据
? 从数据处理与存储的实际需要出发,对系统所涉及到的各类数据
进行逻辑上的描述,从中确定数据的总体结构,它包括:
-各类数据记录和数据项的逻辑描述(应规范化)。
-各类数据文件的组织方式 。
-各类数据文件之间的逻辑关系 。
,信息系统分析与设计, 49
二,数据存储规模的确定
数据作为一种非消耗性资源,往往随着系统的不
断运行而大量积累和增加,这势必增加系统负荷,影
响系统的运行效率,因此,在进行数据存储总体结构
设计时,既要考虑现有数据量的存储规模,又要预见
到未来数据量的增长趋势,区分哪些是相对稳定的数
据,哪些是非稳定的数据;哪些是基础数据,哪些是
派生数据。在以上分析的基础上合理的组织数据的存
储格式,应用各种必要的数据压缩技术并选择合适的
外部存储设备。
,信息系统分析与设计, 50
三,数据存储空间的分布
数据存储的空间分布应与系统总体设计的
物理环境配臵协调一致, 例如, 系统数据应集
中存储于分布式网络环境中的服务器上, 而新
的数据则应就近分别存放于各自应用部门的站
点机或工作站上 。 以保证使用和管理上的方便 。
,信息系统分析与设计, 51
四、数据库管理系统( DBMS)的选择
从目前发展趋势看, DBMS已成为建立信息系统的
基本环境, 进行数据存储总体结构设计时, 必然要考
虑选择什么样的 DBMS才能最有效的实现数据存储设计
的要求, 目前市场上可提供的 DBMS产品种类较多, 可
适用于不同的软, 硬件和应用环境, 我们应从系统总
体角度出发, 使选用的 DBMS既可满足系统总体设计的
需要, 又能够实现数据存储设计的目标 。
,信息系统分析与设计, 52
第四节数据存储的总体结构设计原则
?数据结构的合理性:数据文件的合理组织, 数
据元素的合理归类和划分, 以及数据项的合理
描述 。
?数据存储的安全性:从存储总体结构上如何保
证数据的安全性, 一致性和完整性 。
?维护和管理方便:首先保证对数据进行管理和
维护上的方便, 是提高系统运行效率的基础 。
,信息系统分析与设计, 53
第五节计算机与网络系统方案的选择
? 选择依据:计算机系统方案的提出应主要考虑和依据系统的可行
性报告, 系统说明书和系统总体结构设计以及技术发展和市场有
关产品的性能与价格等 。
? 功能要求:主要考虑的是数据处理功能, 数据的存储功能, 系统
外设的功能 (即文字, 图形, 声像等多媒体的处理能力 ),通信功
能 (即指数据的通讯方式, 点对点通讯还是网络通讯 )。
? 市场考虑:计算机的选型,通常应考虑系统的升级情况和第三方
软件的支持情况,即系统应具有延续性。
? 系统的配臵:从硬件和软件两个方面来考虑
? 培训要求:以用户为主, 尽量满足他们的要求
? 评价:系统方案的评价主要依据以下几个方面:
① 是否满足所有的功能要求, 并考虑到了今后的发展; ②
配件是否齐全; ③ 软件是否丰富; ④ 技术是否先进; ⑤ 后援
是否可靠; ⑥ 系统是否开放; ⑦ 价格是否合理 。
,信息系统分析与设计, 54
第六节系统详细设计
?一,代码设计
?二、数据库设计
?三、用户界面设计
?四、处理过程设计
?五、编写系统设计说明书
,信息系统分析与设计, 55
一、代码设计
? 代码的概念:用来表征客观事物的实体类别和属性的
一个或一组易于计算机识别和处理的特定符号或记号,
它可以是字符、数字、某些特殊符号或它们的组合。
? 代码设计的任务:把信息系统要处理的事物用特定的
字符、数字或其组合来描述,以便于计算机系统识别
与处理。
? 代码的作用:
-标识作用:可用来标识和确定某个具体的对象,
以便于计算机的识别。
-统计和检索作用:当按对象的属性或类别进行
编码时,易于优化对象的统计和检索。
-对象状态的描述作用:代码可以用来标明事物
所处的状态,便于对象的动态管理。
,信息系统分析与设计, 56
一、代码设计
? 代码设计的原则
-适应性
-合理性
-简明性
-系统性
-稳定性
-可扩充性
-标准化
-便于识别和记忆
,信息系统分析与设计, 57
系列顺序码
无序码
顺序码
代码
无含义码
有含义码
数值化字母顺序码
层次码
特征组合码
复合码
图 4-21 代码分类
,信息系统分析与设计, 58
代码种类
? 无含义码:无含义码只起代替编码对象名称的作用,
并不提供有关编码对象的其它信息。
-顺序码:将顺序的自然数和字母赋予编码对象。
-无序码:将无序的自然数或字母赋予编码对象。
? 有含义码:
-系列顺序码:用连续数字代表编码对象的码
-数值化字母顺序码:按编码对象名称的字母排列顺
序编写的代码。
-层次码:按分类对象的从属、层次关系为排列顺序
的一种代码。
-特征组合码:将分类对象按其属性或特征分成若干
个, 面,,每个, 面, 内的诸类目按其规律分别进行
编码。
-复合码:由两个或两个以上完整的、独立的代码组
成。
,信息系统分析与设计, 59
一、代码设计
? 代码的校验
为了保证正确的输入,有意识地在编码设计结构
中原代码的基础上,通过事先规定的数学方法计算出
校验码 (一位或两位 ),附加在原代码的后面,使它变
成代码的一个组成部分;使用时与原代码一起输入,
此时计算机会用同样的数学运算方法按输入的代码数
字计算出校验位,并将它与输入校验位进行比较,以
检验输入是否有错。
,信息系统分析与设计, 60
一、代码设计
? 校验码的生成过程
-对原代码中的每一位加权求和
N位代码,C1,C2,……, Cn
权因子为,P1,P2,……, Pn
加权和,C1*P1+C2*P2+…… +Cn*Pn
权因子可选为自然数 1,2,3,4,5;几何级数 2,4,8,16、
32;质数 3,5,7,11,13或其它系列。
-以模除加权和得余数
S/M=Q…… R
其中,S表示加权和; M代表模; Q表示商; R表示余数。模可取
不同的数,如,9, 10,11,37,97等。
-得到校验码
将模和余数之差作为校验码。或将余数直接作校验码,附加在原
代码后。
例如,原代码为,2578、权系数为,1234、模为,9
加权和,2*1+5*2+7*3+8*4=65
校验码,65/9=7…… 2 9-2=7
所以带校验位的代码为 25787,其中 7为校验位。
,信息系统分析与设计, 61
一、代码设计
?用校验码检查代码的过程
设输入的代码 (含校验码 )为 55787,其中 7
为校验位,对每一位乘以它的原来的权,校验
位乘的权为 1。用所得的加权和被模除,若余
数为零,则该代码一般来说是正确的,否则就
是输入有错。上述代码显然有错,因为其加权
和除以模的余数不为 0。
,信息系统分析与设计, 62
二、数据库设计
?建立一个数据模式,必须满足的几个条件:
-符合用户的要求,即能正确地反映用户的工作环境
-与所选用的 DBMS所支持的数据模式相匹配。
-数据组织合理,应易操作,易维护,易理解。
?数据的规范化形式
-在任一列上,数据项应该具有同一个属性。
-在这个表中所有的行都是不相同的,即不允许有重复的组
项出现。
-在一个表中,行的顺序是无关紧要的。
-在一个表中,每一个列 (属性 )有不同的名称,列的顺序也
无关紧要。
,信息系统分析与设计, 63
二、数据库设计
表 4-6(a)关系的非规范化形式示例 表 4-6(b)关系的第一范式示例
厂
名
生产情况 (每月 )
产品名称 数 量
F1 P1
P2
P3
P4
P5
P6
300
200
400
200
100
100
F2 P1
P2
300
400
F3 P2 200
F4 P2
P3
P4
200
300
400
厂
名
产品名
称
每月产量
F1
F1
F1
F1
F1
F1
F2
F2
F3
F4
F4
F4
P1
P2
P3
P4
P5
P6
P1
P2
P2
P2
P3
P4
300
200
400
200
100
100
300
400
200
200
300
400
,信息系统分析与设计, 64
二、数据库设计
? 第二范式
表 4-7
━━━━━┯━━━━━┯━━━━━┯━━━━┯━━━━━┯━━━━━━
职工号 │ 姓 名 │ 级 别 │ 工 资 │ 学 历 │ 毕业时间
────┼─────┼─────┼────┼─────┼──────
001 │ 张 三 │ 技 6 │ 1500 │ 中 专 │ 1983
001 │ 张 三 │ 技 6 │ 1500 │ 大 学 │ 1988
001 │ 张 三 │ 技 6 │ 1500 │ 研究生 │ 1995
002 │ 李 四 │ 技 8 │ 1200 │ 大 学 │ 1990
━━━━━┷━━━━━┷━━━━━┷━━━━┷━━━━━┷━━━━━━
间接
职工号
学历
姓名
级别
工资
毕业时间
图 4-24 各属性间的依赖关系
,信息系统分析与设计, 65
表 4-8 (a) 表 4-8 (b)
职工
号
姓
名
级
别
工
资
001 张三 技 4 1500
002 李四 技 6 1200
职工
号
学 历 毕业
时间
001 中 专 1983年
001 大 学 1988年
001 研究
生
1995年
002 大 学 1990年
,信息系统分析与设计, 66
二、数据库设计
? 第三范式
表 4-9(a) 表 4-9(b)
职工号 姓 名 级别
001 张三 技 4
002 李四 技 6
级 别 工 资
技 4 1500
技 6 1200
,信息系统分析与设计, 67
二、数据库设计
? 数据库设计的步骤,
(1)用户需求分析
(2)基本数据库结构的设计
? 数据的基础程度
? 数据的稳定程度
? 数据的重要程度
? 数据的冗余程度
(3)中间数据库结构的设计
(4)与应用程序的接口
,信息系统分析与设计, 68
三、用户界面设计
? 输出设计
-输出设计的主要职责和目标,
由计算机对输入的原始信息进行加工处理,形成
高质量的有效信息,并使之具有一定的格式,提供管
理者使用。
-输出设计主要涉及的内容
(1)输出信息使用方面的内容
(2)输出信息的内容
(3)输出设备
(4)输出介质
,信息系统分析与设计, 69
三、用户界面设计
? 输入设计
-输入设计的目标
在保证输入信息正确性和满足需要的前提下,应
做到输入方法简单、迅速、经济和方便使用者。
-输入设计应遵循如下原则:
? 输入量应保持在能满足处理要求的最低限度。
? 输入的准备及输入过程应尽量简单易行,从而减
少错误的发生。
? 应尽早对输入数据进行检查,以便使错误及时得
到改正。
? 输入数据应尽早地记录在其处理所需的介质上,
以避免转录及可能发生的错误。
,信息系统分析与设计, 70
三、用户界面设计
? 输入信息的获得
-在设计原始数据表格时就考虑以下问题:
·纸张的尺寸和质量;
·拷贝份数和各个拷贝的颜色;
·保存时间;
·送交处理的时机;
·重要程度;
·安全;
? 输入信息的内容设计
,信息系统分析与设计, 71
三、用户界面设计
? 输入信息的设备和介质
-通常所用的输入设备
·键盘;
·鼠标;
·软盘、光盘、活动硬盘、磁带等;
·读卡机;
·磁性墨水字符识别机;
·光电阅读器;
·条型码识别机;
·声音识别仪;
·图象扫描仪等。
,信息系统分析与设计, 72
三、用户界面设计
? 输入设备的介质的选用要考虑的因素:
·输入的数据量与频度;
·输入信息的来源、形式;
·输入的类型的格式的灵活程度;
·输入的速度和准确性的要求;
·输入的校验方法、允许的错误率及纠正的难易程度;
·数据记录的要求、特点、保密性等;
·数据收集的环境,以及对于其它系统是否适应;
·可选用的设备和费用等。
,信息系统分析与设计, 73
三、用户界面设计
? 输入信息的校验
-校验对象,最重要的是主文件数据,其次是各
种金额和数量数据 。
-数据出错的种类
? 数据内容的错误:由于原始单据有错误或录入时
产生的错误。
? 数据多余和不足:数据收集中的差错,由于原始
单据丢失、遗漏或重复而引起的。
? 数据的延误:不是内容和数量的错误,仅仅因为
时间上延误而产生的差错。
,信息系统分析与设计, 74
三、用户界面设计
? 数据的校验方法
·重复校验:将同一处理内容重复执行两次,然后进行对比的校
验方法。
·视觉校验:一般安排在原始数据转换到介质上时执行。
·分批汇总校验:按原始票据的类别、发生日期等划分批次。
·控制总数校验:对一切数据项的所有数值求总。
·数据类型校验:校验数据是数字型还是字母型。
·格式校验:校验记录中各项数据位数和位臵是否构成预先确定
的格式。
·逻辑校验:也称合理性校验,检查数据项是否符合逻辑。
·界限校验:指某数据项输入是否位于预先指定的范围之内,界
限校验分上限、下限和范围三种。
·记录计数校验:通过计算记录的个数检查数据记录是否有遗漏
和重复。
·平衡校验:业务文件的重要代码与主文件的重要代码核对,如
果不匹配则数据错误。
,信息系统分析与设计, 75
三、用户界面设计
? 差错的纠正
-原始数据出错:立即退到产生该数据的处理场所予以纠正。
-由程序查出的差错:
·剔出出错数据留待纠正,正确数据照常处理。
·出错数据查出后马上进行纠正,纠正后再与正确数据一起
输入处理。
·废弃出错数据,只用正确数据进行处理。一般用于某些统
计分析等业务,只要大体上正确即可。
? 人 -机对话设计
-对话方式
① 菜单式
② 填表法:
③ 问答法
④ 提问法
,信息系统分析与设计, 76
图 4-25 下拉、弹出、级联式菜单
,信息系统分析与设计, 77
三、用户界面设计
?对话设计原则:
·对话要清楚、简单,不能具有二义性;
·对话要适合操作人员的水平,要能鼓励用户使用,
并且容易学习掌握;
·对话本身应具有指导用户怎样操作和回答问题的一
定能力;
·对话应能反映用户的观点、业务和习惯等;
·必须很快地反馈用户的输入状态 (尤其是出错的情
况 ),不能让用户犹豫或等待;
·要把错误信息的细节显示出来,并指导用户如何改
正错误;
·对话应该适合于用户的环境和具体情况,允许具有
不同能力和经验的用户在不同的速度下进行操作。
,信息系统分析与设计, 78
三、用户界面设计
?在设计图形用户界面时,应掌握以下几条原则:
①在对时间的响应要求较高,且硬件资源档次较低
的环境中,不宜采用图形界面。
②设计的图形对象,应具有直观、清楚、易理解的
特点,以便于用户的操作和使用。
③图形对象的选择和设计应尽可能利用系统本身提
供的图形工具软件或是通过继承的方式重用类库中已
有的图形对象,以提高现有资源的利用率。
,信息系统分析与设计, 79
四、处理过程设计
在详细设计阶段,处理过程设计的
任务是按照软件系统总体设计答对各模
块功能的要求考虑到系统开发环境与开
发工具的特点,编制出每个模块的计算
机处理的流程图和确定其数据存取需求,
为系统实施中的编程与测试提供依据。
,信息系统分析与设计, 80
系统 名,库存管理
日期,1/5/98模块 处理收发数据
制图者,白 XX
下列模块调用,
修改库存数据
调用下列模块,
增加在库数
减少在库数
增加记录
删除记录
输入,( 由修改库存数
据模块提供
库房收发数据
库存数据
输出,( 由修改库存数据模块
接收 )
修改后的库存数据
无效收发数据
处理内容,如库房收入,则调用增加在库数模块;
如库房发出,则调用减少在库数模块;
如增加库存文件纪录,则调用增加记录模块;
如删除文件记录,则调用删除记录模块 。
否则, 按无效收发数据处理
内部数据元素, 备注,
IPO图
4-26处理收发数据模块 IPO图
,信息系统分析与设计, 81
提取一项
收发数据
进货?
调用减少
在库数模块
调用增加
在库数模块
否是
新增此
库存记
录?调用增加
记录模块
删除此
库存记
录?
调用删除
记录模块
收 发 数 据
处 理 完 毕
否?
返回修改库存
数据模块
否
否
否
是
是
是
发货?
是
无效收发
数据处理
否
4-27 收发数据处理过程设计
结束
开始
,信息系统分析与设计, 82
输入数据 计算工资 打印工资表
工 资管理
应发工资 计算扣除
图 4-28 工资管理模块层次图
,信息系统分析与设计, 83
输入数据 计算工资 打印工资表
应发工资 计算扣除
图 工资管理模块层次图
系统名 工资管理
日期,2000,2.10模块名,数据输入
制图者,汪 XX
由下列模块调用,
工资管理 调用下列模块,无
输入,(手工输入 )
职工考核数据
职工工资变动数据
输出,( 存入职工工资数据
库 )
职工考核数据
职工工资变动数据
处理内容,
手工录入职工周期性的考核数据 ( 月, 年 )
手工录入职工工资变动数据 ( 有变动时 )
内部数据元素, 备注,
IPO图
图 4-29 数据输入模块 IPO图
,信息系统分析与设计, 84
图 4-30 输入数据模块的处理过程
输入编号, 姓名
输入出勤天数
输入产量
输入材料消耗
输完所有
人了吗?
工资档案
有变化?
输入编号, 姓名
还有其他
变动吗?
还有其他人
变动吗?
输入工资变动指标
否
否
是
是
提取工资档案
变动名单
是
否
结束
开始
,信息系统分析与设计, 85
数据名称 类型 属性
姓名 字符 输入
编号 字符 输入
工龄 数字 输入
基本工资 数字 输入
副食补贴 数字 输入
粮食补贴 数字 输入
洗理费 数字 输入
交通费 数字 输入
房租水电费 数字 输入
……,… …
表 4-12工资档案变动数据列表
,信息系统分析与设计, 86
表 4-11周期性考核数据数据列表
数据名称 类型 属性
姓名 字符 输入
编号 字符 输入
出勤天数 数字 输入
产量 数字 输入
材料消耗量 数字 输入
,信息系统分析与设计, 87
五、编写系统设计说明书
? 系统设计说明书的主要内容应包括:
⑴,系统开发项目概述。
⑵,模块设计说明。
⑶,代码设计说明。
⑷,输入设计说明。
⑸,输出设计说明。
⑹,数据库设计说明。
⑺,网络环境的说明。
⑻,安全保密说明。
⑼,系统设计实施方案说明。
,信息系统分析与设计, 88
第七节 系统实施
?一,系统实施阶段的主要活动
?二、编程
?三、系统测试
?四、系统转换
,信息系统分析与设计, 89
一,系统实施阶段的主要活动
? 系统实施的目的:把系统分析和系统设计的成果转化
为可实际运行的系统
? 系统实施的条件:以系统分析和设计文档资料为依据
的。
? 系统实施的主要活动
-编程:按照详细设计阶段产生的程序设计说明书,
用选定的程序设计语言书写源程序 。
-测试:运用一定的测试技术与方法, 通过模块测
试, 组装测试, 确认测试和系统测试几个步骤, 发现
和排除系统可能存在的问题 。
-系统安装:各种软, 硬件设备的选形, 论证, 购
臵, 安装, 以及整个系统调试运行 。
-新旧系统转换:以新开发的系统替换旧的系统,
并使之投入使用的过程 。
,信息系统分析与设计, 90
二、编程
?编程的任务:使用选定的计算机程序设计语言,
把软件系统详细设计所得到的各模块的信息处
理功能和过程描述转换成能在计算机系统上运
行的程序源代码(源程序)。
?对编程的质量要求
-基本的质量要求:程序的正确性,即在给定
环境下计算机能识别和正确运行所编程序,要
满足系统设计的功能要求。
-重要的质量要求:源程序的可读性
,信息系统分析与设计, 91
二、编程
? 结构化编程:
-顺序结构 (SEQUENCE结构 ):顺序结构表示含有多个
连续的处理步骤, 按程序书写的先后顺序执行 。
-选择结构 (IF-THEN-ELSE结构 ):由某个逻辑表达式
的取值决定选择两个处理加工中的一个 。
-循环结构或重复结构:
?, 当, 型循环结构 (DO-WHILE结构 ):在控制条件
成立时,重复执行特定的加工。
?, 直到, 型循环结构 (DO-UNTIL结构 ):与当型无
本质区别,只是测试条件在处理S之后进行。
-情况选择结构或多分支结构 (CASE结构 ):是条件结
构的扩充, 当被测试的变量有多种可能的取值, 而根
据不同的值需要选择不同的处理时, 可采用这种结构 。
,信息系统分析与设计, 92
入 口
A
B
出口
FT
出口
A B
p
入 口
图 4-31顺序结构 图 4-32选择结构
,信息系统分析与设计, 93
出口
S
P
入口
T
F
P
S
入口
F
出口
图 4-33,当”型循环 图 4-34,直到”型循环
,信息系统分析与设计, 94
P=P1 P=P2 P=P3 P=Pn
S3S2S1
测试 P
。。。。。。。。。。
入口
出口
Sn
4-35 多分支结构
,信息系统分析与设计, 95
三、系统测试
? 系统测试的目的,
系统测试是以找错误为目的,我们不是要证明程
序无错,而是要精心选取那些易于发生错误的测试数
据,以十分挑剔的态度,去寻找程序的错误。
? 系统测试的基本原则,
? 测试工作应避免由原开发软件的个人或小组来承
担。
? 设计测试用例不仅要包括合理、有效的输入数据,
还要包括无效的或不合理的输入数据。
? 不仅要检验程序做了该做的事,还要检查程序是
否同时做了不该做的事。
? 保留测试用例,将会给重新测试和追加测试带来
方便。
,信息系统分析与设计, 96
三、系统测试
? 系统测试的方法
人工测试:
– 个人复查:指源程序编完以后,直接由程序员自己
进行检查。
– 走查:测试在预先阅读过该软件资料和源程序的前
提下,由测试人员扮演计算机的角色,用人工方法
将测试数据输入被测程序,并在纸上跟踪监视程序
的执行情况,让人代替机器沿着程序的逻辑走一遍,
发现程序中的错误。
– 会审:测试成员在会审前仔细阅读软件有关资料,
根据错误类型清单(从以往经验看一般容易发生的
错误),填写检测表,列出根据错误类型要提问的
问题。会审时,由程序作者逐个阅读和讲解程序,
测试人员逐个审查、提问、讨论可能产生的错误。
,信息系统分析与设计, 97
三、系统测试
机器测试:
– 黑盒测试:将软件看作黑盒子,在完全不
考虑程序的内部结构和特性的情况下,研究
软件的外部特性。根据软件的需求规格说明
书设计测试用例,从程序的输入和输出特性
上测试是否满足设定的功能。
– 白盒测试:将软件看作一个透明的白盒子,
按照程序的内部结构和处理逻辑来选定测试
用例,对 软件的逻辑路径及过程进行测试,
检查与设计是否相符。
,信息系统分析与设计, 98
软件测试
机器测试
白盒测试
黑盒测试
会审
走查
个人复查
人工测试
,信息系统分析与设计, 99
三、系统测试
? 系统测试的步骤:
-单元测试:程序中的一个模块或一个子程序, 是
程序设计的最小单元, 是程序最小的独立编译单位 。
-组装测试:在每个模块完成了单元测试以后, 需
要按照设计时作出的层次模块图把它们连接起来, 进
行组装测试 。
-确认测试:经过组装测试, 软件已装配完毕, 接
下来进行的确认测试和系统测试将是以整个软件做为
测试对象, 且采用黑盒测试方法 。
-系统测试:将信息系统的所有组成部分包括软件,
硬件, 用户以及环境等综合在一起进行测试, 以保证
系统的各组成部分协调运行 。
,信息系统分析与设计, 100
设计信息
可
运
行
系
统
系统其它
元素单元测试
单元
测试
单元
测试
组装
测试
确认
测试
系统
测试
软件需求
信息
测后软件测后模块
模块
模块
模块
确认后软件
图 436 系统测试的步骤
,信息系统分析与设计, 101
四、系统转换
?系统转换的任务与方式
-直接转换:在老系统停止运行的某一时刻, 新系统立
即开始运行 。
-并行转换:新老系统并行工作一段时间, 经过一段时
间的考验以后, 以新系统正式全面代替老系统 。
-分段转换:分段转换实际上是上述两种方式的结合,
在新系统全部正式运行之前, 分阶段一部分一部分地
替代老系统 。
,信息系统分析与设计, 102
老系统
新系统
时间
切换点
老系统
新系统
时间
并行行运时间
图 4-37直接转换 图 4-38并行转换
,信息系统分析与设计, 103
时间
老系统 新系统
分段转换
图 4-39 分段转换
老系统 新系统
,信息系统分析与设计, 104
四、系统转换
? 系统转换的主要工作:
根据信息系统的实际开发和应用情况,确定了系统转换的方
式以后,除了做好组织准备、物质准备和人员培训等准备工作之
外,最重要而且工作量最大的是数据准备和系统初始化工作。
-数据准备:从老系统中整理出新系统运行所需的基础数据和资
料
-系统初始化:对系统的运行环境和资源进行设臵、系统运行和
控制参数设定、数据加载以及调整系统与业务工作同步等内容。
在系统转换过程中,尤其是长时间的并行转换过程中,用户
又会发现一些系统的错误和功能的缺陷,此时应以系统分析中确
定的系统目标来衡量是否要对系统进行修改,对此,无论是用户
还是系统开发方都应采取慎重态度。
,信息系统分析与设计, 105
第八节 结构化信息系统设计实例
---新亚纸制品公司管理信息系统开发概要
? 系统总体结构设计
系统总体功能结构
新亚公司管理信息系统
领导
信息
子系
统
生产
管理
子系
统
质量
管理
子系
统
财务
管理
子系
统
供应
管理
子系
统
行政
管理
子系
统
销售
管理
子系
统
仓库
管理
子系
统
图 4-40新亚公司管理信息系统子系统划分
,信息系统分析与设计, 106
,信息系统分析与设计, 107
,信息系统分析与设计, 108
,信息系统分析与设计, 109
图 4-44 生产进度管理 E-R图图 图
,信息系统分析与设计, 110
系统详细设计
--数据库设计
? 生产进度管理中所涉及到和主要实体集及其属性如下
生产班组 { 班组编号, 组长, 人数, 所属车间, 班次 } ;
工人 { 职工编号, 职工姓名, 性别, 年令, 工种 } ;
生产线 { 生 产 线 编 号, 生 产 线 名 称, 类别, 物 理 位 臵,
主要设备 } ;
备品备件 { 备件编号, 备 件 名 称, 技 术 规 格, 后备线类
别 } ;
产品 { 产品编号, 产品名称, 产品规格, 质量标准 } ;
原材料 { 材料编号, 材料名称, 计量单位, 消耗定额, 允许耗量 }
,信息系统分析与设计, 111
? 按照用E-R图设计关系数据库的方法, 除上述实体
分别构成一个关系外, 彼此之间的联系可转化为以下
几个关系:
生产记录 { 生产记录编号, 生产日期, 生产班组编号,
生产班次, 产品编号, 一等品产量, 二等品产量, 三
等品产量 } ;
材料消耗记录 { 生产记录编号, 材料编号, 理论消耗,
允许消耗, 实际消耗, 节超数量 } ;
生产线运行记录 { 生产记录编号, 生产线编号, 产品编
号 } ;
生产线结构 { 生产线编号, 备件编号 } ;
生产班组构成 { 班组编号, 职工编号 }
,信息系统分析与设计, 112
? 数据库文件名:生产记录
序号 数据项名 类型 长度
1 生产记录编号 字符 6
2 生产日期 日期 8
3 生产班组编号 字符 4
4 生产班次 字符 2
5 产品编号 字符 5
6 一等品产量 数值 6
7 二等品产量 数值 6
8 三等品产量 数值 6
? 主码:生产记录编号
? 外来码:生产班组编号, 生产编号
,信息系统分析与设计, 113
? 代码设计
通过对数据库及彼此之间的联系进行分析,
对所有数据库文件中的主码和外来码的构成进行设计 。
如, 生产记录, 中的, 生产记录编号, 的代码设计如
下,
XX XX XX
顺序号
月份
年份
码例,940382 含义为 1994年 3月的第 82条生产
记录。
,信息系统分析与设计, 114
? 用户交互界面
数据编辑
数据查询
数据输出
,信息系统分析与设计, 115
新亚公司生产日报 日期,94.03.12
编号 班组
号
产品品种
班次
一等品
产量
二等品产
量
三等品产
量
840382 B-03 晚中号纸
杯
5424 205 43
840383 C-02 中 I型卫生
巾
3201 24 0
840384 C-01 晚 2 号餐
巾纸
627 21 5
图 4-45生产记录输入界面示例
,信息系统分析与设计, 116
生产日报查询
可选字段:日期 序号 数据项 运算符 条件数据
班组号 1 班组号 等于 B-03
班次 2 班次 等于 中
产品品种 3 日期 大于等于 94.03.01
一等品产量 4 日期 小于等于 94.03.31
三等品产量
还有其他条件要定义吗?(Y/N)
图 4-46生产记录查询示例
,信息系统分析与设计, 117
系统的实施、维护与管理
? 本系统的实施是在上述系统设计的基础上, 用
FOXPRO 关系数据语言进行的程序设计和程序调试, 随
后是进行系统的测试 。 由于本系统是基于网络环境的,
因此系统测试一定要注重网络功能的测试 。 经过系统
测试后, 进入系统试运行 。 由于新亚公司职员的素质
的应用水平不同, 本系统的转换并不是一次性同步完
成的, 而是分别以子系统为单位进行试运行的, 并根
据子系统运行情况分别逐步进行系统转换的
? 系统维护与管理是贯穿整个系统生命周期的活动,
为此新亚公司专门成立了信息中心, 配备了专职的系
统维护与管理人员, 进行系统的程序维护, 代码维护,
数据备份与恢复, 网络管理与维护等工作 。