第九章 MIS的系统实现与系统文档

第9章 MIS的
系统实现与系
统文档
第九章 MIS的系统实现与系统文档
结构化系统实现依然遵循结构化的基本思想。但系统实
现阶段要将纸上的模型变成实际运行的新系统,要投入
大量的人力、物力、财力,涉及到系统平台的建立、数
据库的建立、应用程序的设计与测试、人员培训、新组
织机构的建立、新规章制度的建立与推行等等,方方面
面,千头万绪。这就更需要周密的计划和清晰的思路。
MIS系统实现阶段直接的任务是:
MIS系统平台建立与人员培训
MIS数据库系统的建立与测试
结构化程序设计与测试
系统调试与试运行
系统鉴定与系统文档整理
9.1
MIS系统平台配置的实现与人员培训
一、MIS系统平台配置的实现
MIS系统平台在建立就是按系统设计方案购置和安
装计算机网络系统,没有多少实质性的难点,但繁杂得
很。
平台建立的一般做法是:先建立开发平台,后建立
运行平台;先改造现有设备,充分利用现有的软、硬件
资源,后购置新设备。
按设计要求和可行性报告对人、财、物资源进行分
析,选择好适当的软、硬件,通知供货商按要求供货,
安装调试,要把好质量关。
二、人员培训
人员培训是信息系统开发过程中不可缺少的一部分。
人员培训包括: :
信息技术人员:承担计算机的操作与维护管理工作
知识工作者:完成信息系统中人工处理过程和利用
MIS获取资讯,发现知识,构思方案
各级管理决策者:用MIS管理业务支持决策的。
管理决策者既是MIS的用户,又是MIS的组成部分。
对管理决策者的培训往往容易被忽视。MIS开发的成败,
管理的水平,运行的效果,都在很大程度上取决于相关
领导的观念、水平与能力。
培训内容:主要是通过鲜活的案例与仿真环境,展
示新系统处理业务与支持决策的优势与潜力,并与其
一起研究如何用MIS获取资讯和支持决策。
培训时间:要在可行性研究完成后就马上开始,以
便管理决策者的用MIS管理业务与支持决策的观念、
水平与能力随着系统开发的进程与时俱进,对MIS开
发运用的要求日益迫切,从而为MIS的开发与运行使
用提供支持与保证。
企业的知识工作者是针对企业业务和管理决策的需
要,通过就近和远程与计算机系统协同完成人工处理模
块,利用MIS来获取相关资讯,分析发现鲜活有用的知
识,乃至提出备选的决策方案,直接为管理决策者及全
体员工服务的人员。
培训内容:重点是如何配置、改进乃至开发自己的
本地微机上的个人系统与工具软件,针对管理决策者
或其他员工的现实与潜在需求,协同计算机系统完成
人工处理模块,运行MIS来获取分析资讯,发现知识,
制定方案。
培训时间:前期是在系统分析的与其交流中非正式
地进行的。在系统分析完成后,就要结合新系统的逻
辑模型和总体构思正式开展。
信息技术人员:系统操作员和运行管理人员等,培
训时间是与系统的程序设计和调试工作同步进行的。
程序设计完毕后,系统即将投入试运行和实际运行,
这时,经过培训合格的操作人员和运行管理人员才
能接手新系统的运行和管理,确保系统按时正常投
入运行
操作人员和运行管理人员接受培训后能够更有效地
参与系统的测试,更好地了解系统的结构、功能和
软、硬件运行环境,从而更好地管理系统。
9.2 MIS数据库系统的建立与测试
一、数据库结构的建立
1.建立数据库结构(实际上是建立数据库字典)
用SQL的 CREATE DATABASE <数据库名>[<说明>]命令
语句或其他方法建立,常常要说明数据库包含的逻辑
文件等
2.建立数据库表结构
用SQL的 CREATE TABLE <数据表名> [<说明>]命令语
句或其他方法按设计的具体结构建立,注意完整性约
束的描述
3.建立视图结构
用SQL的 CREATE VIEW <视图名> AS <SELECT查询>命
令语句或其他方法按设计的具体结构建立
二、数据录入
数据转换、组织入库的工作相当费时费力。
为提高数据输入工作的效率和质量,应该针对具体
的应用环境设计一个数据录入子系统,人机来完成
数据入库的任务。
在源数据入库之前后都要采用多种方法对它们进行
检验,以防止不正确的数据入库。
在组织数据入库的同时还要调试输入应用程序。
二、数据库的测试与联合调试
1. 数据库的测试
测试数据:量不能太大,但要有代表性,枚举可能
出现的各种典型情况,包括DBMS及DB结构应能防止的
典型错误。
测试:用测试数据来校验数据库及其主要应用程序
的设计质量,并力求尽可能多地发现问题,以便改正。
测试通过后,即可清除测试数据,输入原有系统的数
据。
2. 数据库的联合调试
在原有系统的数据有一小部分已输入DB后,就可以
开始对DB进行联合调试,即称为DB的调试运行。
这一阶段要实际运行DB应用程序,执行对DB的各种
操作,校验应用程序的功能是否满足设计要求。如不满
足,对应应用程序部分则要修改、调整,直到达到设计
要求为止。
在DB试运行时,还要测试系统的性能指标,分析其
是否达到设计目标。有些参数的最佳值往往是经过运行
调试后找到的。如果测试运行的结果与设计目标不符,
则要返回物理设计阶段,重新调整物理结构,修改系统
参数,某些情况甚至要返回逻辑设计阶段,修改逻辑结
构。
有两点必须注意:
应分期分批地组织数据入库,先输入小批量数据做调
试,待试运行基本合格后,再大批量输入数据,逐步
增加数据量,逐步完成运行评价;
应首先调试运行DBMS的恢复功能,做好DB的转储和恢
复工作。一旦故障发生,能使DB尽快恢复,尽量减少
对DB的破坏。试运行阶段,原有系统应照常工作。
9.3 结构化程序设计
结构化程序设计(Structured Programming, SP)
是一种设计程序的技术,它采用自顶向下逐步求精的设
计方法和单入口的控制结构。SP方法是建立在模块化基
础上,使程序具有更好的结构性和逻辑性。任何程序逻
辑都可以用顺序、选择和循环三种基本结构(见图9.1)
a)
.b).
和c)。
在SP方法的内部,强调的是自顶向下地分析和设计,
而在其外部它又可以自底向上地实现整个系统,是当今
程序设计的主流方法。SP方法特别适合那些开发过程不
规范、模块划分不细,或因特殊业务处理所需模块程序
量较大的系统。
a) 顺序结构
b) 选择结构
c) 循环结构
9.3.1 结构化程序设计优点
自顶向下逐步求精的方法符合人类解决复杂问题的
普遍规律,可以显著提高成功率和生产率。
先全局后局部,先整体后细节,先抽象后具体,开
发出的程序有清晰的层次结构,容易阅读和理解。
仅用受限制的GO TO 语句、单入口的控制结构,程
序的静态结构和动态执行情况比较一致。容易保证程
序的正确性,即使出现错误也较容易诊断和纠正。
控制结构有规范的逻辑模式,源程序清晰流畅,易
读易懂,容易测试。
程序清晰和模块化,修改和重新设计一个软件时可
以重用的代码量大。
程序的逻辑结构清晰,有利于程序正确性证明。
9.3.2 描述程序的常用工具
描述程序处理过程的工具可以细分为图形、表格
和语言三类。
在第七章已介绍过的PAD图就是一种常用的图形描
述工具。
不论是哪类工具,对它们的基本要求都是能提供对
描述的无歧义描述,也就是应该能指明控制流程、处理
功能、数据组织以及其他方面的实现细节,从而在编码
阶段能把对设计的描述直接翻译成程序代码。
有关程序设计的具体方法、技术等各种计算机程序
语言书中都有详细介绍,这里不重述。
9.2.3
常用编程工具
常用编程语言类:如C语言、C++语言、各种BASIC语
言 、COBOL语言、PL/1语言、PROLOG语言、OPS语言。
数据库语言类:如FOXPRO系统、ORACLE系统、
SYBASE系统、INFOMAX系统、DB2系统等。
程序生成工具或称第四代程序生成语言(4th
Generation Language, 4GL):是一种基于常用数据
处理功能和程序之间对应关系的自动编程工具。
系统开发工具类,主要有两类:专业开发工具类
(如SQL、SDK等)和综合开发类(如Visual FoxPro,
dBASE-V,Visual Basic, Visual C++, CASE, Team
Enterprise Developer等)。
客户机/服务器工具类,市场上现有的C/S类工具有:
如Delphi Client/Server, Power Builder
Enterprise, Team Enterprise Developer等。
面向对象编程工具类,目前主要有:C++或Visual
C++ 和Small Talk,Visual Foxpro也能支持面向
对象方法。
9.3.4
衡量编程工作质量的指标
可靠性:一个程序应该在正常情况下正确地工作,
而在意外情况下,也能适当地作出处理,防止造成严
重的损失。这些都是程序可靠性的范畴。包括检错、
纠错、容错和从故障中回复等能力。
可维护性:一个程序在其运行期间,总会逐步暴露出
某些隐含的错误,因而需要及时排错。同时,用户还
会提出一些新的要求,这就需要对程序进行修改或扩
充,使其进一步完善。另外,随着计算机技术的突飞
猛进发展,计算机软件、硬件的更新换代,应用程序
也必须作相应的调整或移植。这些都属于程序的维护
任务。考虑到一个MIS一般要使用3-10年,程序的维
护工作量是相当大的。一个不容易维护的程序将不会
有多大的实际使用价值。因此,可维护性也是衡量程
序质量的重要指标
可理解性(可读性):一个程序,特别是大型程序,
要求它不仅逻辑上正确、计算机能够执行,而且应当
层次清楚、简洁明了,便于人们阅读与理解,即可读
性强。因为可读程序是今后维护和修改程序的基础,
如果很难读懂,则无法修改,而无法修改的程序是没
有生命力的程序。
效率:程序的效率是指计算机资源(如时间和空间)
能否被有效地使用。由于计算机速度越来越快,存储
容量越来越大,价格越来越便宜,使得原来编程时主
要担心和考虑的问题不复存在了。所以效率已经不象
以前那样举足轻重了。另外,效率与可维护性和可理
解性通常是矛盾的,片面追求程序的运行效率不利于
程序设计质量的全面提高。在实际编写程序的过程中,
人们往往宁可牺牲一定的时间和空间,也要尽量换取
程序的可维护性和可理解性的提高。
通常要编写好包含有精心设计的测试数据、测试步
骤和测试记录表格的程序测试书或系统测试书,以指导
测试工作的顺利进行。
9.4 程序调试与系统联调
一、程序测试的方法
原则上说,程序调试有两种方法,即理论法和实验
法。理论法是属于程序正确性证明问题,是利用数学
方法证明程序的正确性。目前仍在研究中,还达不到
实用的地步。实验法是目前普遍使用的程序测试方法,
下面简单介绍目前比较流行的也是比较有效的两种程
序测试方法。
1.白箱测试(White Box Testing)
白箱测试法的前提是可以把程序看成装在一个透明
的白箱里,也就是完全了解程序的结构和处理过程。
这种方法按照程序内部的逻辑测试程序,检验程序中
的每条通路是否都能按预定要求正确工作。白箱测试
又称结构测试,或称为逻辑覆盖法。
2. 黑箱测试(Black Box Testing)
黑箱测试把程序看成一个黑箱,完全不考虑程序的
内部结构和处理过程。黑箱测试是在程序接口进行的测
试,它只检查程序功能是否按照规格说明书的规定正常
使用,程序是否能适当地接收输入数据,产生正确的输
出信息,并且保持外部信息(如DB或文件)的完整性。
黑箱测试又称为功能测试,它并不关心程序内部的逻辑
(执行路径),而只是根据程序的功能来设计调试用例,
进行测试。
不论采用哪种测试方法,只要对每一种可能的情况
都进行测试,就可以得到完全正确的程序。包含所有可
能情况的测试称为穷尽测试,也称完全测试。
例如,一个程序需要三个整数型的输入数据,如果
计算机字长16位,则每个整数可能取的值有216个,三
个输入数据的各种可能值的排列组合共有
216*216*216=248≈3*1014种,即大约需要把这个程序
执行3*1014次才能做到“穷尽”测试。按每执行一次程
序需要一毫秒计,执行这么多次大约需要一万年!
综上所述,目前,人们不可能对程序进行彻底地
测试,只能在有限的时间和经费约束条件下,用有限个
程序调试用例,尽可能地发现程序中的错误。
二、程序调试的步骤与内容
程序调试分为程序分调与程序联调两大步骤。
1.分调
程序分调包括程序单调与模块分调。
程序单调:是对单个程序进行语法检查和逻辑检查。
这项工作应由程序的编写者自己完成,经常使用的调
试方法是白箱法。
模块分调:一个功能模块的功能常由若干个独立的程
序完成。在单程序调试的基础上,要进行模块分调。
除了程序编制者参加之外,主要应由其他人员去调试,
如主程序员和设计人员。模块分调经常采用黑箱法,
其目的是保证模块内部控制关系和数据处理内容的正
确,同时测试其运行效率。
2.联调
联调包括分系统调试和系统总调试。当各个功能模
块调试通过之后,即可转入各个分系统调试,只有全部
分系统都调试通过之后,方可再转入系统总调试。
联调的目的是发现系统中属于相互关系方面的错误
和缺陷。分系统调试和系统总调试的主要目标已不是查
找程序内部逻辑错误。程序联调的方法大都采用黑箱法。
分系统程序调试:虽然分控制调度程序并不太长,
但其逻辑控制关系较为复杂。首先应该在分控制调度
程序与各个功能模块相连的接口处都用短路程序(树
桩)代替原来的功能模块,来验证控制往来通路和参
数的传递是否正确。所谓短路程序,就是直接送出预
先安排计算结果的联络程序。一旦分控制调度程序调
试通过,就可以将分控制调度程序直接与全部相关模
块连接起来,对分系统内各种可能的使用形态及其组
合情况进行考察。
总控制调度程序调试:这一步调试工作是将业已调
试通过的各个子系统,由总控制调度程序将它们统帅
起来,检查整个系统是否能够协调一致地进行工作。
实践证明,这种分步骤的调试方法是非常奏效的。
它得益于结构化系统设计和程序设计的基本思想,在其
操作过程中自身形成了一个个反馈环,由小到大,通过
这些反馈较容易发现编程过程中的问题,从而可以及时
地进行修改,如图9.2所示。
程
序
单
调
系
统
调
试
分系统调试
模块分调
图9.2 程序调试的主要步骤示意图
应该强调的是,在数据库平台上的MIS程序调式一
般要与数据库测试相伴而行。
三、系统运行说明书
系统调试完毕,系统研制人员要及时整理和编印
详细的程序运行说明书,它是系统操作使用说明书的主
要组成部分。程序运行说明书的内容包括用户怎样启动
并运行系统,怎样调用各种功能,怎样实现数据的输入、
修改和输出,并附有必要的图示和实例。它是指导用户
正确地使用和运行系统的指导文件。
9.5 系统试运行、系统转换与系统验收
系统实现的最后一步就是新系统的试运行和新老系
统的转换。它是系统调试和检测工作的延续。
一、数据的整理与录入
数据的整理与录入是关系到新系统成功与否的重
要工作,绝不能低估它的作用。数据整理就是按照新
系统对数据要求的格式和内容统一进行收集、分类和
编码。录入就是将整理好的数据送入计算机内,并存
入相应的文件中,作为新系统的操作客体。
在数据的整理与录入工作中,要注意以下几点:
各类统计和数据采集报表要标准化、规范化。
计量工具、计量方法、数据采集渠道和程序都应该
固定,以确保新系统运行有稳定可靠的数据来源。
特别注意对变动数据的控制,确保这些数据在系统
切换时保持最新状态,以保证新老系统之间顺利转换。
二、系统的试运行
在程序调试与系统联调时,使用的是测试数据,而
这些数据很难测试出系统在实际运行中可能出现的问题。
所以一个系统开发完成后让它实际的运行一段时间即试
运行,才是对系统最好的检验和测试方法。
系统试运行阶段的主要工作有如下几项:
对系统进行初始化,并输入各原始数据记录。
详细记录系统运行的数据和现状。
核对新系统输出和老系统(人工或计算机系统)输
出结果。
对实际系统的输入方式进行各方面的测试:如是否
方便,效率如何,完全可靠性,误操作保护等。
对系统实际运行、响应速度,包括运算速度、传递
速度、查询速度、输出速度等进行实际测试,检验是
否完全合乎系统设计要求。
三、系统切换
系统切换是指系统开发完成后新老系统之间的转
换。最常见的系统切换方式是直接式、并行式和阶段
式,如图9.3(a)、(b)、(c)所示。
老系统
老系统
老系统
新系统
新系统
切换 时间
并行时间
(a)
(b)
图9.3 系统切换三种方式
新系统
分段区间
(c)
(1)直接切换
直接切换是指在确定新系统运行准确无误时,立刻
启用新系统,终止老系统运行。这种方式最简单,也最
省钱,但风险很大。一般只是适用于一些处理过程不太
复杂,数据不很重要的场合。
(2)并行切换
这种切换方式是新老系统并行工作一段时间,经
过3-6个月左右时间的考验以后,新系统正式代替老系
统。这种新老系统同时工作可以提供两种系统运行结果
进行比较的机会,可以对两个系统的时间要求、出错次
数、工作效率等给以公正的评价。如果在并行期间,新
系统出现问题而不能正常运行时,老系统仍在工作,所
以没有风险。在银行、财务和一些企业的核心系统中,
这是一种经常使用的切换方式。但费用和工作量都很大,
因为在并行工作这一段时间内系统需要两套工作人员。
(3)分段切换
这种切换方式的特点是分阶段、分部分地进行切换,
它是以上两种切换方式的结合。在新系统正式运行前,
一部分地代替老系统。它既避免了直接式的风险性,又
避免了并行式所发生的双倍费用。分段式系统切换方式
中的最大问题表现在接口的增加上。如何解决新老系统
在切换过程中,已切换部分和未切换部分之间的衔接是
个关键问题。这类接口比较复杂,设计和实现有一定的
难度。
在实际的系统切换中,通常较多采用并行切换方式。
这样做不仅安全,而且技术上也简单。也有不少系统是
将这三种切换方式配合起来使用。例如,在某些阶段方
式中的某些不太重要部分采用直接式,其他部分采用并
行式。
无论一个系统采用何种切换方式,都必须保持系统
的完整性,即系统的切换结果应当是可靠的。
四、系统验收
系统经过切换并交付使用之后,系统开发的实质
性工作就算全部结束了。通常,用户和开发人员都希望
利用这个机会,完成对系统开发与设计工作的总结,并
对系统组织验收。对于大型的复杂MIS,应该组织有关
方面的专家对系统进行鉴定。
在对系统验收(或鉴定)之前,要成立验收小组,
并编写验收文档,制定验收大纲,验收方式,程序等。
验收文档原则上应包含系统开发过程中各个阶段产
生的所有文档资料及验收用的各种文件。其中至少包括:
系统分析说明书和系统设计说明书
系统实施方案与计划
系统使用说明书
系统开发与设计工作的总结报告
系统开发的技术报告
系统验收测试报告
系统验收工作的完成,标志着系统即将进入长时
期的运行,直到又一个新的系统诞生并完成切换与移
交才正式停止运行而退出历史舞台。
MIS系统实现阶段所形成的主要文档有:
数据库结构图/表与源模式(模式或子模式)清单、
程序流程图与源程序清单
程序测试与系统联调报告
试运行记录与总结报告
系统使用说明书
系统维护手册
用户意见书
系统验收报告或系统鉴定书
系统开发总结报告
在MIS正式移前要整理好系统开发中所形成的所有
这些文档。按照协议,有的交给用户,有的由开发者保
留,还有的双方共同持有。无论由谁持有,都要整理归
档,妥善保管。
习题9