第七章 开发管理信息系统(续)
三、系统设计
怎么做?
1、评价信息系统的标准
?信息系统的功能
?系统的效率
?系统的可靠性
?系统的工作质量
?系统的可变更性
?系统的经济性
2、系统设计的目标
?系统的修改
?某一模块或某一子系统的细节的一些变动
?子系统组合关系的某些变动
?某局部数据结构或执行语句的修改
?使系统易被理解
?把系统划分为 ---模块
?系统分成模块的工作按层次进行
?每一模块应尽可能独立
?模块间的关系要阐明
3 系统设计的内容
?总体结构框架设计 ----总体设计
?代码设计
?数据库设计
?输入 /输出设计
?模块设计
?编写系统设计报告
详细设计
?子系统(或模块)划分(按业务处理功
能划分)
?总体功能结构图
?网络设计
?设备配置(计算机和网络设备)
?软件的选择
?操作系统,数据库管理系统,开发工具等
4 系统总体结构设计
?把总任务分解成许多基本的、具体的任务
?将系统划分成模块
?决定每个模块的功能
?决定模块间的调用关系
?决定模块的界面,即模块间信息的传递
4 系统总体结构设计(续)
外文书店管理信息系统
图书销售子系统图书订购子系统 库存管理子系统
申
购
订
单
处
理
订
书
数
据
处
理
图
书
销
售
处
理
盘
点
处
理
销
售
数
据
处
理
图
书
信
息
查
询
入
库
图
书
信
息
录
入
库
存
数
据
维
护
库
存
信
息
查
询
库
存
信
息
输
出
<总体功能结构图 >
5 代码设计
?编码的目的
?编码的功能
?信息分类
-分类原则
-分类方法
?编码设计的基本原则
?编码的种类与形式
?编码设计注意的问题
?编码设计说明书
?为了有效地收集、存储与处理信息
编码的目的
编码的功能
? 鉴别,编码是鉴别信息分类对象的唯一标识
? 分类,当分类对象按一定的属性分类时,给予
不同的类别设计一定的编码,这时编码可以作
为区分分类对象类别的标识。这种标识要求结
构清晰,毫不含糊
? 排序,由于编码所有的符号都是有一定的顺序
序列的,因而可以方便地按这些序列排序
? 专用含义,由于某种需要,当采用一些专用符
号代表特定事物或概念时,编码就提供一定的
专用含义,如某些分类对象的技术参数,性能
指标等
信息分类原则
信息分类 是指将具有某种共同属性或特征的信息
归并在一起,把不具有上述共性的信息区分开来
的过程。
分类原则:
? 科学性
? 系统性
? 可扩延性
? 兼容性
信息分类方法
? 线分类法
? 面分类法
线分类法
将初始的分类对象按选定的 一个属性 逐次地分成若干个层
次类目,并编成一个有层次的逐级展开的分类体系。
在此分类体系中,同一层的类目之间存在着 并列关系,互
不重复,互不交叉,不同层级类目之间存在着 隶属关系 。
优缺点:
?在一个分类体系中可设计多层次、多类目,因而可容
纳较多的信息
?层次清晰。能较好地反映类目之间的逻辑关系
?使用方便。既符合手工处理信息的传统习惯,又便于
电子计算机处理信息
?结构弹性较差。分类结构一经确定,不易改动
?由于编码一般较长,影响数据处理的速度
线分类法(例一)
中华人民共和国
北京市 浙江省 河北省 广东省 ……
杭州市 绍兴市 湖州市 温州市 ……
德清县 安吉县 长兴县 南浔区 菱湖区
<中华人民共和国行政区划分 >
线分类法(例二)
公司
机关 党政 生产 经营 ……
一分厂 ……二分厂 三分厂 四分厂
一车间 二车间 三车间 四车间 ……
面分类法
? 根据被编码对象的多个属性进行编码
? 将给定的分类对象按选定的 若干属性 分成彼此之间互不
相关的若干个面,每个面又可分为许多彼此独立的若干
类目,不同面内的类目互不交叉,互不重复。
? 使用时根据需要将这些面中的类目组合在一起,形成一
个复合类目。
? 优缺点:
? 分类具有较大的弹性,一个“面”内类目的改变,
不会影响其他的“面”,易于添加和修改类目;
? 不能充分利用容量,有时设置了很多类目,但实际
应用的类目不多;
? 分类适应性强。可按需要组合各种类目,但这种复
合的组合适宜于机器处理,而手工处理较为困难。
面分类法(例)
服装面料 男女服装 款式
纯棉
纯毛
涤棉
…
男
女
西服
休闲服
唐装
…
?机制螺钉
材料 直径 形状 表面处理
不锈钢 ?0.5 圆头 不锈钢
黄铜 ?1 平头 镀钢
六角头 镀锌
?唯一性
?合理性
?可扩充性
?规范性
?稳定性
编码设计的基本原则
?顺序码,从 1开始,顺序、连续地编上后续编号
?优点:简单明了,利用率高
?缺点:不适宜于分类,码的组织性和体系性较差,不
适用于项目较多的情况
?例 1:职工号、城市代号、班号、系号、学院号
?例 2:人的性别编码(国家标准 GB2261-80)规定
? 1-男性
? 2-女性
?无序码:随机产生随机数,密码、口令
编码的种类
?系列顺序码(块码),特殊的顺序码,顺序
编码分为若干段
?优点:能表示一定的信息属性
?缺点:空码较多,不适用于较复杂的分类体系
?例:企业部门编码
? 01-19车间
? 20-49科室码
? 50-69仓库码
编码的种类(续)
?分组码(区间码、层次码):用于线分类,是
按分类对象的从属层次关系为排列顺序的一种
编码。
?每层若干位编码,
?左侧最高层,右端为最低层
?## ## ###
第一层
大类
第二层
中类
第三层
小类
编码的种类(续)
?例 1:会计科目编码
一级科目 二级科目 三级科目
102 银行存款
10201 工行存款
1020101 工行人民币
?例 2:中华人民共和国行政区划编码
13 河北省
1322 邢台地区
132221 邢台县
?例 3:邮政编码
?分组码的优点,能明确表示分类对象的类别,有严
格的隶属关系,容量大,便于计算机排序与归类汇
总。
编码的种类(续)
? 特征组合码(多面码)
常用于面分类法(如学号)
例 1
编码的种类(续)
服装面料 男女服装 款式
纯棉( 00)
纯毛( 01)
涤棉( 02)
…
男( 0)
女( 1)
西服( 00)
休闲服( 01)
唐装( 02)
…
优点,类目组合比较灵活
缺点,码的利用率较低
?例 2:通用商品码(条码,条形码 bar code的一种)
? 前缀码(国家或地区名) 制造厂商代码 商品特性码
校验码
? 690 #### #####
? 691
? 692
?例 3:学生编号
10020016
20020016
3002001001
? 博、硕、本
? 入学年份
? 学院编号
? 系号
? 专业
? 顺序号
?例 4:机制螺钉
材料 直径 形状 表面处理
不锈钢 ?0.5 圆头 不锈钢
黄铜 ?1 平头 镀钢
六角头 镀锌
?数字型编码
?用若干位十进制数字表示分类对象的编码
?特点
? 结构简单,使用方便,
? 对分类对象的属性表示不直观
?字母型编码
?用一个或多个字母表示分类对象的编码
?特点
? 字母型编码比同样位数的数字型编码容量大
? 能直观地表示事物,便于理解和记忆
? 常会出现重复和冲突
编码的形式
?字母数字型、混合码
?特点
? 结构严密,具有良好的直观性
? 由于编码形式复杂,易造成机器录入慢,出错率高
?表意码:实体的属性值、内容出现在编码中
编码的形式(续)
编码设计应注意的问题
?首先要分析编码对象的分类属性,选择合适的编码
方法。还要分析编码对象的总的数量,以及对象所
涉及的数码的最大、最小值的范围,从而确定编码
的位数与总长度 (必须在编码中留有一定的后备码 )。
?对使用编码对象的用户的分析。分析这些用户使用
编码时所涉及到的业务范围,它们有什么特殊的业
务处理的要求,包括分类、汇总、统计以及检索等
数据处理的要求。
?为了合理地设计新的编码,有必要对现存的老编码
作详细的调查与分析。以便在原有的已使用习惯的
老编码基础上,设计新的更适合信息系统的全部门
(企业)统一的编码。
?设计新编码时应注意贯彻与使用已有的分类编码标
准。在现存的国际、全国、部门、行业的标准下,
有的直接采用标准,有的在上级编制的标准基础上
作必要的扩充或补充,以更适合用户单位使用。
?最后对每个编码要编写 编码设计书 。
编码设计应注意的问题
编码设计说明书
?被编码对象的说明
?编码设计思想
?编码设计方案
出生地
出生年月日
由派出所确定
性别(女双数,男单数)
编码设计的步骤
? 确定代码对象
? 考察是否已有标准代码。如有,应遵循这些标准
代码;如没有,那么设计时要参考标准化组织、其
他国家、其他部门及其单位的编码标准,设计出便
于今后标准化的代码。
? 根据代码的使用范围,使用时间,根据实际情况
选择编码的种类与类型
? 考虑编码校验功能
? 编写编码设计说明书
6 输入 /输出设计( I/O设计)
?输入设计内容
?输入校验
?输出设计内容
?输入设计原则
?最小量原则
?简单性原则
?早检验原则
?少转换原则
输入设计内容
输入设计内容
?输入数据的名称及功能;
?输入方式,键盘输入、数模 /模数转换输入、
网络数据传送、磁盘读入
?输入格式
?输入周期,多长时间输入一次;
?输入限期,每次输入的限期
?校对方式
?用户界面设计
原则:友好,简单,实用,易于操作,避免过
于繁琐和花哨
界面设计:菜单方式、会话方式、提示方式
输入校对
?人工校对,一般将已录入的数据,由计算机打印或显
示出清单,然后由人进行校对,并建立一定数据校验
的负责制,由校验人员签署。
?程序校验,校验位设计与校对
?二次键入校对,通过两次录入(两个操作员对同一批
录入数据作两次录入)
?合计数校验(数据平衡校对),有的成批数据,已经
由手工作出合计数,这时,在录入数据的同时,可以
将手工的合计数据也录入,然后由计算机自动地将录
入数据的合计与手工的合计数进行核对。
输出设计内容
?输出信息名称及功能;
?输出格式
?输出周期:多长时间输出一次;
?输出限期:每次输出的限期;
?输出的方式:报表输出,图形输出;
?保密的要求;
7 模块设计
?什么是模块
?模块的联结 (Coupling)
?模块的聚合 (Cohesion)
?模块划分的原则
?HIPO图
什么是模块
?模块
?是指具有输入输出、逻辑功能、运行程序和内部数据四种属性
的一组程序语句。它往往有一个名称,它可以调用别的模块,
也可以被别的模块调用。
?一个好的模块应该是一个黑箱,它应该有如下特点:
?对已知的输入,你可以获得预期的输出。
?你知道它的功能(能做什么事情),会使用它。
?你看不见它的内部,也不知道它是如何构造、如何实现这
些功能的。
模块的联结(耦合度)
模块的联结(耦合度)是指模块之间相互联系
的一种度量,是模块独立性的直接尺度。
最坏最坏最坏最强
最坏最坏不好强
不好不好不好中
中中中弱
好好好弱
通用性可读性可修改性相互影响联结形式
数据联结
特征联结
控制联结
公共联结
内容联结
模块的联结形式
? 数据联结
两个模块之间的通讯信息是若干个数据,传递的是简单变量。
开发货单
计算金额
单
价
数
量
金
额
? 特征联结
在调用与被调用模块之间传递象数组这样的数据结构
模块的联结形式(续)
? 控制联结
两个模块之间的传递的信息中含有控制信号,使得一个模块
控制了另一个模块的内部逻辑。
获得配件库存量
读库存记
录
配件
编号
库
存
量
无此配件
模块的联结形式(续)
? 公共联结
多个模块访问同一个全局变量,或访问同一全局性的数
据结构
? 内容联结
一个模块直接调用另一个模块的内容
模块的聚合
模块的聚合是指模块内部各个组成部分之间的联系。
0透明最坏最坏最坏最坏
1透明最坏不好最坏最坏
3半透明最坏中不好不好
5半透明不好中中中
7不完全黑不好中中中
8不完全黑中好好好
9黑箱好好好好
聚合度黑箱程度通用性可读性可修改性联合形式聚合形式
功能聚合
顺序聚合
通讯聚合
过程聚合
暂时聚合
逻辑聚合
机械聚合
模块的聚合形式
? 功能聚合
一个模块内所有的成分都是为完成同一个功能而存在,并且
只执行一个功能。
? 顺序聚合
模块内各成分顺序执行,前一成分的输出是后一成分的输入。
A
读入 编辑 打印数据 结果
模块的聚合形式 (续)
? 通讯聚合
模块内各成分共用相同的输入数据或产生相同的输出数据。
A
打印
报告 2
打印
报告 1
打印
报告 3
? 过程聚合
模块内各成分的处理动作不同,受同一控制流(判断选择或循环)
支配,决定它们的执行次序。
模块的聚合形式 (续)
?暂时聚合(时间聚合)
模块内各成分需在同一时间内完成,成分之间可以毫无关系。
如初始化模块。
? 逻辑聚合
把几个逻辑上相似,实际并无必然联系的功能放一个模块而形
成的块内联系称为逻辑聚合。
如出错处理模块
? 机械聚合(偶然聚合)
模块内各成分彼此之间无任何关系,是硬性凑在一起的。
模块的聚合形式判断树
该模块只能
执行一个功
能吗?
功能聚合
模块内各
成分关系
如何
次序重要吗?
次序重要吗?
逻辑相似吗?
数据流
控制流
两者都不是
顺序聚合
通讯聚合
过程聚合
暂时聚合
逻辑聚合
机械聚合
是
否
是
否
是
是
否
否
模块设计的原则
?主要原则,高内聚,低耦合
?辅助原则
? 模块的扇出系数(调用下属模块的数量)适中
? 模块的扇入系数(直接的上级模块的数量)大
? 模块的 判断作用范围 应该是它 控制范围 的子集
? 判断调用的模块与被调用的模块层次相隔不要太
远
HIPO图
? HIPO(Hierachy plus Input Process Output)
图是 IBM公司于 70年代中期在层次结构图
(Hierachy Structure Chart)的基础上推出的一
种描述系统结构和模块内部处理功能的工具(技
术)。它是由 层次结构图 和 IPO图 两部分组成,前
者描述整个系统的设计结构以及各模块之间的调用
关系,后者描述了某个特定模块内部的处理过程和
输入 /输出关系。
?层次结构图的画法
? IPO图的画法
层次模块结构图的画法
模块名
模块 简单调用 循环调用 判断调用
A
B B C D CB B
A A A
C
a b
模块 A依次
调用模块 B和 C
模块 A判断
调用模块 B,C和 D
模块 A依次循环
调用模块 B和 C
A带着数据 a调用 B
B返回时传回数据 b
标志
数据
控制通讯
数据通讯
库存
记录
合格
标志 库存
编号
出入库
单据
合格出
入库单据
层次化模块结构图
修改
库存文件
C5.3.2
获得
合格输入
C5.4.4 修改库存记录 C5.4.5 写库存文件 C5.4.6
读
出入库单据
C5.5.7 验证
出入库单据
C5.5.8
新库存
记录合格出入库单据
结束
标志
新库存
记录
出入库
单据
读
库存文件
C5.5.9
IPO图
1.将合理标志送回上一
级调用模块
2.将检查的记录记入
XXX表
3.修改用户记录表
┇
┇
1.核对单据与单据存根记录
2.计算并核实价格
3.检查用户记录和信贷情况
┇
┇
在这儿可以用结构化语言、决策树、
判断表、算法描述语言
1.上级模块送入单据数
据
2.读单据存根文件
3.读价格文件
4.读用户记录文件
┇
┇
输出部分( O)处理描述( P)输入部分( I)
编程语言,C使用单位,XXX设计者,XXX模块名称,XXXXX
编程要求文件号,C1.1编码文件号,C2.3数据库设计文件号,C3.2.2,C.3.2.3
HIPO图编号,C5.0.0IPO图编号(即模块号),C 5.5.8
8 系统设计报告
(1)系统总体结构设计
系统总体功能结构图、网络设计、设备配置、软件选
择
(2)系统编码设计方案
(3)数据库设计
E-R图(概念模型设计)、关系模型(逻辑模型设计)
(4)I/O设计方案
(5)HIPO图
1 系统实施工作内容
2 程序设计
3 系统调试
4 系统转换与试运行
四,系统实施
1 系统实施工作内容
?把物理模型转换为可实际运行的系统
?软件 /硬件的购买与安装
?建立数据库结构
?程序设计与调试
?人员培训
?数据准备与录入
?系统转换与试运行
?系统评价
耗时多,工作量大
2 程序设计
? 程序设计的依据,HIPO图,数据库设计和编码设计
? 程序设计方法(自顶向下实现)
结构化程序设计方法
面向对象程序设计方法
? 程序设计的要求
可维护性
可靠性
可读性
效率
3 系统调试
系统调试 是指在计算机上以各种可能的数据和操作条件对程
序进行试验,找出存在的问题加以修改,使之符合设计要求。
?调试方法
黑箱测试
数据测试
穷举测试
操作测试
?调试步骤
模
块
调
试
子
系
统
调
试
系
统
调
试
老系统 新系统
4 系统转换与试运行
?直接转换方式
简单、省钱
风险大
?并行转换方式
保险、校对工作负
担大、费用高
?分段转换方式
都较好
衔接问题
老系统
新系统
老系统
新系统
五、系统维护和评价
系统维护 ( system maintenance),是指在系统运行中,
为了适应系统环境的变化,保证系统能持续、正常
地运行而从事的各项活动。
系统维护的内容:
? 硬件维护
? 程序维护
? 数据维护
正确性维护
适应性维护
完善性维护
开
发
成
本
维护
成本
30%~40%
开
发
成
本
维护
成本
40%~60%
开
发
成
本
维护
成本
70%
1970年 1980年 1990年
系统维护成本的比例
完善性维护
50%
适应性维护
25%
更正性维护
21%
预防性维护
4%
各类维护工作的比例
?系统评价
?系统运行的一般情况
?系统功能是否达到设计要求
?用户付出的资源是否控制在预定界限内,资源的利用率是否
达到要求
?用户对系统工作的满意程度
?系统使用效果
?用户对提供信息的满意程度(那些有用、那些无用、引用率)
?提供信息的及时性、准确性、完整性
?系统的性能
?计算机资源利用情况
?系统可靠性
?系统可扩充性
?系统的经济效益
?系统费用
?系统收益
?投资效益分析
三、系统设计
怎么做?
1、评价信息系统的标准
?信息系统的功能
?系统的效率
?系统的可靠性
?系统的工作质量
?系统的可变更性
?系统的经济性
2、系统设计的目标
?系统的修改
?某一模块或某一子系统的细节的一些变动
?子系统组合关系的某些变动
?某局部数据结构或执行语句的修改
?使系统易被理解
?把系统划分为 ---模块
?系统分成模块的工作按层次进行
?每一模块应尽可能独立
?模块间的关系要阐明
3 系统设计的内容
?总体结构框架设计 ----总体设计
?代码设计
?数据库设计
?输入 /输出设计
?模块设计
?编写系统设计报告
详细设计
?子系统(或模块)划分(按业务处理功
能划分)
?总体功能结构图
?网络设计
?设备配置(计算机和网络设备)
?软件的选择
?操作系统,数据库管理系统,开发工具等
4 系统总体结构设计
?把总任务分解成许多基本的、具体的任务
?将系统划分成模块
?决定每个模块的功能
?决定模块间的调用关系
?决定模块的界面,即模块间信息的传递
4 系统总体结构设计(续)
外文书店管理信息系统
图书销售子系统图书订购子系统 库存管理子系统
申
购
订
单
处
理
订
书
数
据
处
理
图
书
销
售
处
理
盘
点
处
理
销
售
数
据
处
理
图
书
信
息
查
询
入
库
图
书
信
息
录
入
库
存
数
据
维
护
库
存
信
息
查
询
库
存
信
息
输
出
<总体功能结构图 >
5 代码设计
?编码的目的
?编码的功能
?信息分类
-分类原则
-分类方法
?编码设计的基本原则
?编码的种类与形式
?编码设计注意的问题
?编码设计说明书
?为了有效地收集、存储与处理信息
编码的目的
编码的功能
? 鉴别,编码是鉴别信息分类对象的唯一标识
? 分类,当分类对象按一定的属性分类时,给予
不同的类别设计一定的编码,这时编码可以作
为区分分类对象类别的标识。这种标识要求结
构清晰,毫不含糊
? 排序,由于编码所有的符号都是有一定的顺序
序列的,因而可以方便地按这些序列排序
? 专用含义,由于某种需要,当采用一些专用符
号代表特定事物或概念时,编码就提供一定的
专用含义,如某些分类对象的技术参数,性能
指标等
信息分类原则
信息分类 是指将具有某种共同属性或特征的信息
归并在一起,把不具有上述共性的信息区分开来
的过程。
分类原则:
? 科学性
? 系统性
? 可扩延性
? 兼容性
信息分类方法
? 线分类法
? 面分类法
线分类法
将初始的分类对象按选定的 一个属性 逐次地分成若干个层
次类目,并编成一个有层次的逐级展开的分类体系。
在此分类体系中,同一层的类目之间存在着 并列关系,互
不重复,互不交叉,不同层级类目之间存在着 隶属关系 。
优缺点:
?在一个分类体系中可设计多层次、多类目,因而可容
纳较多的信息
?层次清晰。能较好地反映类目之间的逻辑关系
?使用方便。既符合手工处理信息的传统习惯,又便于
电子计算机处理信息
?结构弹性较差。分类结构一经确定,不易改动
?由于编码一般较长,影响数据处理的速度
线分类法(例一)
中华人民共和国
北京市 浙江省 河北省 广东省 ……
杭州市 绍兴市 湖州市 温州市 ……
德清县 安吉县 长兴县 南浔区 菱湖区
<中华人民共和国行政区划分 >
线分类法(例二)
公司
机关 党政 生产 经营 ……
一分厂 ……二分厂 三分厂 四分厂
一车间 二车间 三车间 四车间 ……
面分类法
? 根据被编码对象的多个属性进行编码
? 将给定的分类对象按选定的 若干属性 分成彼此之间互不
相关的若干个面,每个面又可分为许多彼此独立的若干
类目,不同面内的类目互不交叉,互不重复。
? 使用时根据需要将这些面中的类目组合在一起,形成一
个复合类目。
? 优缺点:
? 分类具有较大的弹性,一个“面”内类目的改变,
不会影响其他的“面”,易于添加和修改类目;
? 不能充分利用容量,有时设置了很多类目,但实际
应用的类目不多;
? 分类适应性强。可按需要组合各种类目,但这种复
合的组合适宜于机器处理,而手工处理较为困难。
面分类法(例)
服装面料 男女服装 款式
纯棉
纯毛
涤棉
…
男
女
西服
休闲服
唐装
…
?机制螺钉
材料 直径 形状 表面处理
不锈钢 ?0.5 圆头 不锈钢
黄铜 ?1 平头 镀钢
六角头 镀锌
?唯一性
?合理性
?可扩充性
?规范性
?稳定性
编码设计的基本原则
?顺序码,从 1开始,顺序、连续地编上后续编号
?优点:简单明了,利用率高
?缺点:不适宜于分类,码的组织性和体系性较差,不
适用于项目较多的情况
?例 1:职工号、城市代号、班号、系号、学院号
?例 2:人的性别编码(国家标准 GB2261-80)规定
? 1-男性
? 2-女性
?无序码:随机产生随机数,密码、口令
编码的种类
?系列顺序码(块码),特殊的顺序码,顺序
编码分为若干段
?优点:能表示一定的信息属性
?缺点:空码较多,不适用于较复杂的分类体系
?例:企业部门编码
? 01-19车间
? 20-49科室码
? 50-69仓库码
编码的种类(续)
?分组码(区间码、层次码):用于线分类,是
按分类对象的从属层次关系为排列顺序的一种
编码。
?每层若干位编码,
?左侧最高层,右端为最低层
?## ## ###
第一层
大类
第二层
中类
第三层
小类
编码的种类(续)
?例 1:会计科目编码
一级科目 二级科目 三级科目
102 银行存款
10201 工行存款
1020101 工行人民币
?例 2:中华人民共和国行政区划编码
13 河北省
1322 邢台地区
132221 邢台县
?例 3:邮政编码
?分组码的优点,能明确表示分类对象的类别,有严
格的隶属关系,容量大,便于计算机排序与归类汇
总。
编码的种类(续)
? 特征组合码(多面码)
常用于面分类法(如学号)
例 1
编码的种类(续)
服装面料 男女服装 款式
纯棉( 00)
纯毛( 01)
涤棉( 02)
…
男( 0)
女( 1)
西服( 00)
休闲服( 01)
唐装( 02)
…
优点,类目组合比较灵活
缺点,码的利用率较低
?例 2:通用商品码(条码,条形码 bar code的一种)
? 前缀码(国家或地区名) 制造厂商代码 商品特性码
校验码
? 690 #### #####
? 691
? 692
?例 3:学生编号
10020016
20020016
3002001001
? 博、硕、本
? 入学年份
? 学院编号
? 系号
? 专业
? 顺序号
?例 4:机制螺钉
材料 直径 形状 表面处理
不锈钢 ?0.5 圆头 不锈钢
黄铜 ?1 平头 镀钢
六角头 镀锌
?数字型编码
?用若干位十进制数字表示分类对象的编码
?特点
? 结构简单,使用方便,
? 对分类对象的属性表示不直观
?字母型编码
?用一个或多个字母表示分类对象的编码
?特点
? 字母型编码比同样位数的数字型编码容量大
? 能直观地表示事物,便于理解和记忆
? 常会出现重复和冲突
编码的形式
?字母数字型、混合码
?特点
? 结构严密,具有良好的直观性
? 由于编码形式复杂,易造成机器录入慢,出错率高
?表意码:实体的属性值、内容出现在编码中
编码的形式(续)
编码设计应注意的问题
?首先要分析编码对象的分类属性,选择合适的编码
方法。还要分析编码对象的总的数量,以及对象所
涉及的数码的最大、最小值的范围,从而确定编码
的位数与总长度 (必须在编码中留有一定的后备码 )。
?对使用编码对象的用户的分析。分析这些用户使用
编码时所涉及到的业务范围,它们有什么特殊的业
务处理的要求,包括分类、汇总、统计以及检索等
数据处理的要求。
?为了合理地设计新的编码,有必要对现存的老编码
作详细的调查与分析。以便在原有的已使用习惯的
老编码基础上,设计新的更适合信息系统的全部门
(企业)统一的编码。
?设计新编码时应注意贯彻与使用已有的分类编码标
准。在现存的国际、全国、部门、行业的标准下,
有的直接采用标准,有的在上级编制的标准基础上
作必要的扩充或补充,以更适合用户单位使用。
?最后对每个编码要编写 编码设计书 。
编码设计应注意的问题
编码设计说明书
?被编码对象的说明
?编码设计思想
?编码设计方案
出生地
出生年月日
由派出所确定
性别(女双数,男单数)
编码设计的步骤
? 确定代码对象
? 考察是否已有标准代码。如有,应遵循这些标准
代码;如没有,那么设计时要参考标准化组织、其
他国家、其他部门及其单位的编码标准,设计出便
于今后标准化的代码。
? 根据代码的使用范围,使用时间,根据实际情况
选择编码的种类与类型
? 考虑编码校验功能
? 编写编码设计说明书
6 输入 /输出设计( I/O设计)
?输入设计内容
?输入校验
?输出设计内容
?输入设计原则
?最小量原则
?简单性原则
?早检验原则
?少转换原则
输入设计内容
输入设计内容
?输入数据的名称及功能;
?输入方式,键盘输入、数模 /模数转换输入、
网络数据传送、磁盘读入
?输入格式
?输入周期,多长时间输入一次;
?输入限期,每次输入的限期
?校对方式
?用户界面设计
原则:友好,简单,实用,易于操作,避免过
于繁琐和花哨
界面设计:菜单方式、会话方式、提示方式
输入校对
?人工校对,一般将已录入的数据,由计算机打印或显
示出清单,然后由人进行校对,并建立一定数据校验
的负责制,由校验人员签署。
?程序校验,校验位设计与校对
?二次键入校对,通过两次录入(两个操作员对同一批
录入数据作两次录入)
?合计数校验(数据平衡校对),有的成批数据,已经
由手工作出合计数,这时,在录入数据的同时,可以
将手工的合计数据也录入,然后由计算机自动地将录
入数据的合计与手工的合计数进行核对。
输出设计内容
?输出信息名称及功能;
?输出格式
?输出周期:多长时间输出一次;
?输出限期:每次输出的限期;
?输出的方式:报表输出,图形输出;
?保密的要求;
7 模块设计
?什么是模块
?模块的联结 (Coupling)
?模块的聚合 (Cohesion)
?模块划分的原则
?HIPO图
什么是模块
?模块
?是指具有输入输出、逻辑功能、运行程序和内部数据四种属性
的一组程序语句。它往往有一个名称,它可以调用别的模块,
也可以被别的模块调用。
?一个好的模块应该是一个黑箱,它应该有如下特点:
?对已知的输入,你可以获得预期的输出。
?你知道它的功能(能做什么事情),会使用它。
?你看不见它的内部,也不知道它是如何构造、如何实现这
些功能的。
模块的联结(耦合度)
模块的联结(耦合度)是指模块之间相互联系
的一种度量,是模块独立性的直接尺度。
最坏最坏最坏最强
最坏最坏不好强
不好不好不好中
中中中弱
好好好弱
通用性可读性可修改性相互影响联结形式
数据联结
特征联结
控制联结
公共联结
内容联结
模块的联结形式
? 数据联结
两个模块之间的通讯信息是若干个数据,传递的是简单变量。
开发货单
计算金额
单
价
数
量
金
额
? 特征联结
在调用与被调用模块之间传递象数组这样的数据结构
模块的联结形式(续)
? 控制联结
两个模块之间的传递的信息中含有控制信号,使得一个模块
控制了另一个模块的内部逻辑。
获得配件库存量
读库存记
录
配件
编号
库
存
量
无此配件
模块的联结形式(续)
? 公共联结
多个模块访问同一个全局变量,或访问同一全局性的数
据结构
? 内容联结
一个模块直接调用另一个模块的内容
模块的聚合
模块的聚合是指模块内部各个组成部分之间的联系。
0透明最坏最坏最坏最坏
1透明最坏不好最坏最坏
3半透明最坏中不好不好
5半透明不好中中中
7不完全黑不好中中中
8不完全黑中好好好
9黑箱好好好好
聚合度黑箱程度通用性可读性可修改性联合形式聚合形式
功能聚合
顺序聚合
通讯聚合
过程聚合
暂时聚合
逻辑聚合
机械聚合
模块的聚合形式
? 功能聚合
一个模块内所有的成分都是为完成同一个功能而存在,并且
只执行一个功能。
? 顺序聚合
模块内各成分顺序执行,前一成分的输出是后一成分的输入。
A
读入 编辑 打印数据 结果
模块的聚合形式 (续)
? 通讯聚合
模块内各成分共用相同的输入数据或产生相同的输出数据。
A
打印
报告 2
打印
报告 1
打印
报告 3
? 过程聚合
模块内各成分的处理动作不同,受同一控制流(判断选择或循环)
支配,决定它们的执行次序。
模块的聚合形式 (续)
?暂时聚合(时间聚合)
模块内各成分需在同一时间内完成,成分之间可以毫无关系。
如初始化模块。
? 逻辑聚合
把几个逻辑上相似,实际并无必然联系的功能放一个模块而形
成的块内联系称为逻辑聚合。
如出错处理模块
? 机械聚合(偶然聚合)
模块内各成分彼此之间无任何关系,是硬性凑在一起的。
模块的聚合形式判断树
该模块只能
执行一个功
能吗?
功能聚合
模块内各
成分关系
如何
次序重要吗?
次序重要吗?
逻辑相似吗?
数据流
控制流
两者都不是
顺序聚合
通讯聚合
过程聚合
暂时聚合
逻辑聚合
机械聚合
是
否
是
否
是
是
否
否
模块设计的原则
?主要原则,高内聚,低耦合
?辅助原则
? 模块的扇出系数(调用下属模块的数量)适中
? 模块的扇入系数(直接的上级模块的数量)大
? 模块的 判断作用范围 应该是它 控制范围 的子集
? 判断调用的模块与被调用的模块层次相隔不要太
远
HIPO图
? HIPO(Hierachy plus Input Process Output)
图是 IBM公司于 70年代中期在层次结构图
(Hierachy Structure Chart)的基础上推出的一
种描述系统结构和模块内部处理功能的工具(技
术)。它是由 层次结构图 和 IPO图 两部分组成,前
者描述整个系统的设计结构以及各模块之间的调用
关系,后者描述了某个特定模块内部的处理过程和
输入 /输出关系。
?层次结构图的画法
? IPO图的画法
层次模块结构图的画法
模块名
模块 简单调用 循环调用 判断调用
A
B B C D CB B
A A A
C
a b
模块 A依次
调用模块 B和 C
模块 A判断
调用模块 B,C和 D
模块 A依次循环
调用模块 B和 C
A带着数据 a调用 B
B返回时传回数据 b
标志
数据
控制通讯
数据通讯
库存
记录
合格
标志 库存
编号
出入库
单据
合格出
入库单据
层次化模块结构图
修改
库存文件
C5.3.2
获得
合格输入
C5.4.4 修改库存记录 C5.4.5 写库存文件 C5.4.6
读
出入库单据
C5.5.7 验证
出入库单据
C5.5.8
新库存
记录合格出入库单据
结束
标志
新库存
记录
出入库
单据
读
库存文件
C5.5.9
IPO图
1.将合理标志送回上一
级调用模块
2.将检查的记录记入
XXX表
3.修改用户记录表
┇
┇
1.核对单据与单据存根记录
2.计算并核实价格
3.检查用户记录和信贷情况
┇
┇
在这儿可以用结构化语言、决策树、
判断表、算法描述语言
1.上级模块送入单据数
据
2.读单据存根文件
3.读价格文件
4.读用户记录文件
┇
┇
输出部分( O)处理描述( P)输入部分( I)
编程语言,C使用单位,XXX设计者,XXX模块名称,XXXXX
编程要求文件号,C1.1编码文件号,C2.3数据库设计文件号,C3.2.2,C.3.2.3
HIPO图编号,C5.0.0IPO图编号(即模块号),C 5.5.8
8 系统设计报告
(1)系统总体结构设计
系统总体功能结构图、网络设计、设备配置、软件选
择
(2)系统编码设计方案
(3)数据库设计
E-R图(概念模型设计)、关系模型(逻辑模型设计)
(4)I/O设计方案
(5)HIPO图
1 系统实施工作内容
2 程序设计
3 系统调试
4 系统转换与试运行
四,系统实施
1 系统实施工作内容
?把物理模型转换为可实际运行的系统
?软件 /硬件的购买与安装
?建立数据库结构
?程序设计与调试
?人员培训
?数据准备与录入
?系统转换与试运行
?系统评价
耗时多,工作量大
2 程序设计
? 程序设计的依据,HIPO图,数据库设计和编码设计
? 程序设计方法(自顶向下实现)
结构化程序设计方法
面向对象程序设计方法
? 程序设计的要求
可维护性
可靠性
可读性
效率
3 系统调试
系统调试 是指在计算机上以各种可能的数据和操作条件对程
序进行试验,找出存在的问题加以修改,使之符合设计要求。
?调试方法
黑箱测试
数据测试
穷举测试
操作测试
?调试步骤
模
块
调
试
子
系
统
调
试
系
统
调
试
老系统 新系统
4 系统转换与试运行
?直接转换方式
简单、省钱
风险大
?并行转换方式
保险、校对工作负
担大、费用高
?分段转换方式
都较好
衔接问题
老系统
新系统
老系统
新系统
五、系统维护和评价
系统维护 ( system maintenance),是指在系统运行中,
为了适应系统环境的变化,保证系统能持续、正常
地运行而从事的各项活动。
系统维护的内容:
? 硬件维护
? 程序维护
? 数据维护
正确性维护
适应性维护
完善性维护
开
发
成
本
维护
成本
30%~40%
开
发
成
本
维护
成本
40%~60%
开
发
成
本
维护
成本
70%
1970年 1980年 1990年
系统维护成本的比例
完善性维护
50%
适应性维护
25%
更正性维护
21%
预防性维护
4%
各类维护工作的比例
?系统评价
?系统运行的一般情况
?系统功能是否达到设计要求
?用户付出的资源是否控制在预定界限内,资源的利用率是否
达到要求
?用户对系统工作的满意程度
?系统使用效果
?用户对提供信息的满意程度(那些有用、那些无用、引用率)
?提供信息的及时性、准确性、完整性
?系统的性能
?计算机资源利用情况
?系统可靠性
?系统可扩充性
?系统的经济效益
?系统费用
?系统收益
?投资效益分析