《第8章管理信息系统的系统实施》由会员分享,可在线阅读,更多相关《第8章管理信息系统的系统实施(62页珍藏版)》请在金锄头文库上搜索。
1、7-1管理信息系统主讲教师:和力主讲教师:和力韩山师范学院数学与信息技术系韩山师范学院数学与信息技术系Management Information Systems7-2n教学内容和要求:教学内容和要求:掌握在整体规划、分步实施的原则指导下,如何进行管理信息系统的实施工作,包括物理系统的实施、程序设计、程序和系统调试、系统切换,以及系统的运行和维护等。n教学重点:教学重点:程序的编制、调试与生成7-3第八章第八章 管理信息系统的系统实施管理信息系统的系统实施第一节第一节 物理系统的实施物理系统的实施第二节程序设计第二节程序设计第三节系统测试第三节系统测试第四节第四节 系统转换、维护系统转换、维护
2、7-4 开发一个管理信息系统好像建一栋大楼,系统分析、开发一个管理信息系统好像建一栋大楼,系统分析、系统设计是根据楼的要求画出各种蓝图,系统实施是调集系统设计是根据楼的要求画出各种蓝图,系统实施是调集各类人员、设备、材料,在现场根据图纸按实施方案的要各类人员、设备、材料,在现场根据图纸按实施方案的要求把大楼建起来。完成了系统分析、系统设计之后,如何求把大楼建起来。完成了系统分析、系统设计之后,如何将原来纸面上的、类似于设计图的新系统方案转换成可执将原来纸面上的、类似于设计图的新系统方案转换成可执行的实际系统,这是系统实施阶段的行的实际系统,这是系统实施阶段的主要工作主要工作。 系统实施的系统实
3、施的主要内容主要内容包括包括物理系统的实施物理系统的实施、程序设计程序设计、系统测试与调试系统测试与调试、系统转换系统转换、维护与评价维护与评价等。系统实施阶等。系统实施阶段既是成功地实现新系统,又是取得用户对系统信任的关段既是成功地实现新系统,又是取得用户对系统信任的关键阶段。键阶段。7-5第一节第一节 物理系统的实施物理系统的实施 管理信息系统的物理系统的实施是计算机系统和通信网络系统设备管理信息系统的物理系统的实施是计算机系统和通信网络系统设备的订购、机房的准备和设备的安装调试等一系列活动的总和。的订购、机房的准备和设备的安装调试等一系列活动的总和。P计算机系统的实施计算机系统的实施 购
4、置计算机系统的基本原则是:购置计算机系统的基本原则是:v能够满足管理信息系统的设计要求;能够满足管理信息系统的设计要求;v计算机系统是否具有合理的性能价格比;计算机系统是否具有合理的性能价格比;v系统是不是具有良好的可扩充性;系统是不是具有良好的可扩充性;v能否得到来自供应商的售后服务和技术支持等。能否得到来自供应商的售后服务和技术支持等。 计算机对周围环境比较敏感,尤其在安全性较高的应用场合,对机计算机对周围环境比较敏感,尤其在安全性较高的应用场合,对机房的温度、湿度等都有特殊的要求。通常,机房可安装双层玻璃门窗,房的温度、湿度等都有特殊的要求。通常,机房可安装双层玻璃门窗,并且要求无尘。硬
5、件通过电缆线连接至电源,电缆走线要安放在防止静并且要求无尘。硬件通过电缆线连接至电源,电缆走线要安放在防止静电感应的耐压有脚的活动地板下面。另外,为了防止由于突然停电造成电感应的耐压有脚的活动地板下面。另外,为了防止由于突然停电造成的事故发生,应安装备用电源设备,如功率足够的不间断电源(的事故发生,应安装备用电源设备,如功率足够的不间断电源(UPS)。)。7-6P 网络系统的实施网络系统的实施 MIS 通常是一个由通信线路把各种设备连接起来组成的网络系通常是一个由通信线路把各种设备连接起来组成的网络系统,统,MIS 网络有局域网和广域网两种。网络有局域网和广域网两种。 网络系统的实施的主要内容
6、:网络系统的实施的主要内容:v通信设备的安装;通信设备的安装;v电缆线的铺设;电缆线的铺设;v网络性能的调试等工作。网络性能的调试等工作。7-7第二节程序设计第二节程序设计 系统实施阶段最主要的工作是程序设计。程序设计是根据系统设计系统实施阶段最主要的工作是程序设计。程序设计是根据系统设计文档(系统设计说明书)中有关模块的处理过程描述,选择合适的计算文档(系统设计说明书)中有关模块的处理过程描述,选择合适的计算机程序语言,编制出正确、清晰、健壮,易维护、易理解、工作效率高机程序语言,编制出正确、清晰、健壮,易维护、易理解、工作效率高的程序的过程。的程序的过程。P程序设计语言的选择程序设计语言的
7、选择XC/S结构集成编程工具结构集成编程工具:Visual Basic Visual C+ PowerBuilder Delphi XB/S结构下的脚本语言结构下的脚本语言:ASPJSPPHP X关系型数据库关系型数据库:nOraclenDB2nInformix nSybase nSQL Server nAccess nxBASE类类7-8X选择的依据选择的依据n所所处处理理问问题题的的性性质质 管管理理信信息息系系统统是是以以数数据据处处理理为为主主,故故应应选择数据处理能力强的语言。选择数据处理能力强的语言。n用用户户的的要要求求 如如果果所所开开发发的的系系统统由由用用户户负负责责维维护
8、护,用用户户通通常常要求用他们熟悉的语言书写程序。要求用他们熟悉的语言书写程序。n语语言言的的人人机机交交互互动动能能 选选用用的的语语言言必必须须能能够够提提供供友友好好、美美观观的人机交互功能,这对用户来说是非常重要的。的人机交互功能,这对用户来说是非常重要的。 n软软件件工工具具 如如果果某某种种语语言言有有较较丰丰富富的的支支持持程程序序开开发发的的软软件件工工具可以利用,则使系统的实现和调试都变得比较容易。具可以利用,则使系统的实现和调试都变得比较容易。 n开开发发人人员员的的知知识识 虽虽然然对对于于有有经经验验的的程程序序员员来来说说,学学习习一一种种新新语语言言并并不不困困难难
9、,但但要要完完全全掌掌握握一一种种新新语语言言并并用用它它编编出出高高质质量量的的程程序序来来,却却需需要要经经过过一一段段时时间间的的实实践践。因因此此,如如果果可可能能的的话话,应该尽量选择一种已经为程序员所熟悉的语言。应该尽量选择一种已经为程序员所熟悉的语言。 n软软件件可可移移植植性性 如如果果开开发发出出的的系系统统软软件件将将在在不不同同的的计计算算机机上上运运行行,或或打打算算在在某某个个部部门门推推广广使使用用,那那么么应应该该选选择择一一种种通通用用性性强的语言。强的语言。7-9X按程序开发路径划分按程序开发路径划分1 1、自自顶顶向向下下的的方方法法 要要求求程程序序员员首
10、首先先实实现现软软件件结结构构的的最最高高层层次次,之之后后再再实实现现下下一一个个层层次次,直直至至用用程程序序设设计计语言实现最低层次为止。语言实现最低层次为止。2 2、自自底底向向上上的的方方法法 与与上上述述方方法法开开发发过过程程相相反反,它它是是从从最底层开始,直至实现最高层次为止。最底层开始,直至实现最高层次为止。 通通常常用用自自顶顶向向下下的的开开发发方方法法开开发发的的程程序序可可读读性性好好,条条理理分分明明,可可靠靠性性也也较较高高。而而用用自自底底向向上上开开发发方方法法得得到到的的程程序序往往往往局局部部是是最最优优的的,系系统统的的整整体体结结构构却却较差。较差。
11、P 程序设计方法程序设计方法7-10X 程序设计的基本要求程序设计的基本要求正正确确性性 编编出出的的程程序序,能能够够严严格格按按照照规规定定的的要要求求,准准确确无无误误地地提提供预期的全部信息;供预期的全部信息;可理解性可理解性 程序的内容清晰、明了,便于阅读和理解;程序的内容清晰、明了,便于阅读和理解;可可靠靠性性 程程序序应应具具有有较较好好的的容容错错能能力力,不不仅仅正正常常情情况况下下能能正正确确工工作,而且在异常情况下应便于处理;作,而且在异常情况下应便于处理;可可维维护护性性 程程序序的的应应变变性性能能强强。程程序序执执行行过过程程中中,发发现现问问题题或或客客观条件有了
12、变化,调整和修改程序比较简便易行;观条件有了变化,调整和修改程序比较简便易行;效效率率 程程序序的的结结构构严严谨谨、明明了了,运运算算处处理理速速度度快快,节节省省机机时时。程程序和数据的存储、调用安排得当,节省存储空间。序和数据的存储、调用安排得当,节省存储空间。健健壮壮性性 是是指指系系统统对对错错误误操操作作、错错误误数数据据输输入入 能能予予以以识识别别与与禁禁止止的的能能力力,不不会会因因错错误误操操作作、错错误误数数据据输输入入及及硬硬件件故故障障而而造造成成系系统崩溃。统崩溃。7-11明确条件和要求明确条件和要求 根据系统设计及其他有关资料根据系统设计及其他有关资料, ,弄清该
13、程序设弄清该程序设计的条件和设计要求。计的条件和设计要求。分析数据分析数据 对要处理的数据进行仔细分析,弄清数据的详细内容对要处理的数据进行仔细分析,弄清数据的详细内容和特点。和特点。确定流程确定流程 用统一规定的符号,描述数据输入、加工、输出等处用统一规定的符号,描述数据输入、加工、输出等处理过程。理过程。编写程序编写程序 采用某种程序设计语言,按其规定的语法把确定的流采用某种程序设计语言,按其规定的语法把确定的流程编写出来。程编写出来。检查和调试检查和调试 对编好的程序进行检查和调试。对编好的程序进行检查和调试。编写程序使用说明书编写程序使用说明书X 程序设计的步骤程序设计的步骤7-12采
14、用有实际意义的标识符采用有实际意义的标识符不用过于相似的变量名不用过于相似的变量名同一标识符不要具有多种含义同一标识符不要具有多种含义名字不要过长,过长的名字会增加工作量。名字不要过长,过长的名字会增加工作量。在在编编程程前前最最好好能能对对标标识识符符的的选选取取约约定定统统一一的的标标准准,便便于于以以后阅读理解。后阅读理解。标识符的命名标识符的命名: : 标识符包括模块名、变量名、常量名、过程名以及标识符包括模块名、变量名、常量名、过程名以及数据区名等。理解程序中这些名字的含义是理解程序的关键,所以数据区名等。理解程序中这些名字的含义是理解程序的关键,所以标识符应该适当选取,使其直观,易
15、于理解和记忆。标识符应该适当选取,使其直观,易于理解和记忆。X 编程风格编程风格7-13不要为了节省空间而把多个语句写在同一行;不要为了节省空间而把多个语句写在同一行;避免过于复杂的条件测试;避免过于复杂的条件测试;利用括号使多条件表达式清晰直观;利用括号使多条件表达式清晰直观;把把同同一一层层次次的的语语句句行行左左端端对对齐齐,而而下下一一层层的的语语句句向向右右边边缩进若干格书写,它能体现程序逻辑结构的深度。缩进若干格书写,它能体现程序逻辑结构的深度。 程序的书写格式程序的书写格式: : 编程时应注意每个语句力求简单而直接,不能编程时应注意每个语句力求简单而直接,不能为了提高效率而使程序
16、过于复杂。恰当的书写格式将有助于阅读。为了提高效率而使程序过于复杂。恰当的书写格式将有助于阅读。7-14注释应正确,修改程序时应同时修改注释,否则会起反作用。注释应正确,修改程序时应同时修改注释,否则会起反作用。注释应提供一些程序本身难以表达的信息。注释应提供一些程序本身难以表达的信息。为了方便用户今后维护,注释中尽量多用汉字。为了方便用户今后维护,注释中尽量多用汉字。程序的注释程序的注释: : 程序的注释序言性注释出现在模块的首都,内容应程序的注释序言性注释出现在模块的首都,内容应包括:模块功能说明;界面描述(如调用语句格式、所有参数包括:模块功能说明;界面描述(如调用语句格式、所有参数的解
17、释和该模块需调用的模块名等);某些重要变量的使用、的解释和该模块需调用的模块名等);某些重要变量的使用、限制;开发信息(如作者、修改日期等)。限制;开发信息(如作者、修改日期等)。 描述性注释嵌在程序之中,用来说明程序段的功能或数据描述性注释嵌在程序之中,用来说明程序段的功能或数据的状态。的状态。7-15对所有的输入数据都进行检验;对所有的输入数据都进行检验;检查输入项各种重要组合的合理性;检查输入项各种重要组合的合理性;应允许缺省值;应允许缺省值;输入步骤和操作尽可能简单,并保持简单的输入格式。输入步骤和操作尽可能简单,并保持简单的输入格式。 程序的输入和输出程序的输入和输出: : 程序的输
18、入和输出信息与用户的使用直接相关,程序的输入和输出信息与用户的使用直接相关,输入和输出的方式和格式应方便用户使用。编写程序是应注意:输入和输出的方式和格式应方便用户使用。编写程序是应注意:7-16 结构化程序设计(结构化程序设计(StructuredProgramming, 简称简称SP)方法是方法是E.Djkstra等人于等人于 1972年提出,用于详细设计和程序设年提出,用于详细设计和程序设计阶段,指导人们用良好的思想方法,开发出易于理解、又正计阶段,指导人们用良好的思想方法,开发出易于理解、又正确的程序的一种程序设计方法。确的程序的一种程序设计方法。 它建立在它建立在Bohm和和Jaco
19、pini在在1966年就证明了的结构定理的年就证明了的结构定理的基础上,它指出任何程序逻辑结构都可以用顺序、分支和循环基础上,它指出任何程序逻辑结构都可以用顺序、分支和循环这三种基本结构来表示。这三种基本结构来表示。顺序顺序分支分支循环循环 程序的基本结构程序的基本结构P 结构化程序设计结构化程序设计7-17SPSP方方法法用用三三种种基基本本结结构构反反复复嵌嵌套套构构成成“结结构构化化的的程程序序”。每每种种结结构构严严格格地地只只有有一一个个入入口口和和一一个个出出口口,所所以以一一般般认认为为,结结构构化化程程序序设设计计是是采采用用自自顶顶向向下下逐逐步步求求精精的的设设计计方方法法
20、和和单单入口单出口的控制技术。入口单出口的控制技术。由由于于结结构构化化程程序序具具有有结结构构清清晰晰、易易于于阅阅读读和和修修改改、容容易易验验证证其其正正确确性性等等优优点点,因因此此使使用用该该方方法法有有利利于于编编写写出出结结构构良良好的程序,提高编程工作效率。好的程序,提高编程工作效率。 目前,多种计算机程序语言都支持结构化程序设计。目前,多种计算机程序语言都支持结构化程序设计。X结构化程序设计结构化程序设计( (SP)SP)特点:特点:7-18第三节第三节 系统测试系统测试 系统测试是管理信息系统开发过程中十分重要的环节。尽系统测试是管理信息系统开发过程中十分重要的环节。尽管在
21、系统开发周期的各个阶段均采取了严格的技术审查,但依管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免留下差错,这些差错如果没有在投入运行前的系统测试然难免留下差错,这些差错如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。纠正错误将会付出更大的代价。7-19P 测试的目的、原则和过程测试的目的、原则和过程系统测试是保证系统质量的关键步骤。统计资料表明,对于一系统测试是保证系统质量的关键步骤。统计资料表明,对于一些较大规模的系统来说,系统测试的工作量往往占系统开发总些较大
22、规模的系统来说,系统测试的工作量往往占系统开发总工作量的工作量的40%40%以上,开发费用的近以上,开发费用的近1/21/2。 到目前为止,人们还无法证明一个大型复杂程序的正确性,只到目前为止,人们还无法证明一个大型复杂程序的正确性,只能依靠一定的测试手段来说明该程序在某些条件下没有发生错能依靠一定的测试手段来说明该程序在某些条件下没有发生错误。所以在测试时应想方设法使程序的各个部分部投入运行,误。所以在测试时应想方设法使程序的各个部分部投入运行,力图找出所有错误。力图找出所有错误。发现系统中的错误并及时纠正。发现系统中的错误并及时纠正。X测试的目的测试的目的测试是为了发现程序中的错误而执行程
23、序的过程,系统测试就是测试是为了发现程序中的错误而执行程序的过程,系统测试就是要在计算机上以各种可能的数据和操作条件反复地对程序进行要在计算机上以各种可能的数据和操作条件反复地对程序进行试验,发现存在的错误并及时加以修改,使其符合设计要求;试验,发现存在的错误并及时加以修改,使其符合设计要求;好的测试方案是很可能发现迄今为止尚未发现错误的测试方案;好的测试方案是很可能发现迄今为止尚未发现错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。成功的测试是发现了至今为止尚未发现的错误的测试。G.MyersG.Myers对测试目标做出了如下归纳:对测试目标做出了如下归纳:7-20测试人员应
24、避免测试自己设计的程序;测试人员应避免测试自己设计的程序;测试用例应分别考虑输入和输出;测试用例应分别考虑输入和输出;测试数据的选取应考虑各种不同情况;测试数据的选取应考虑各种不同情况;检查程序是否执行了规定以外的操作;检查程序是否执行了规定以外的操作;注意保留测试用例;注意保留测试用例;对已发现的错误模块要足够重视。对已发现的错误模块要足够重视。X测试的基本原则测试的基本原则7-21X 测试过程测试过程n 单元测试:单元测试:对软件单元对软件单元(模块模块)进行测试,确实保证它作为一个进行测试,确实保证它作为一个单元能正常地工作。单元能正常地工作。n集成测试:集成测试:把经过测试的单元按一定
25、顺序组装成为系统,进行把经过测试的单元按一定顺序组装成为系统,进行测试,又称接口测试。测试,又称接口测试。n确认测试:确认测试:根据软件需求规格说明中定义的全部功能、性能、根据软件需求规格说明中定义的全部功能、性能、可靠性等需求,测试整个软件是否达到要求。可靠性等需求,测试整个软件是否达到要求。n系统测试:系统测试:将通过确测试的软件与系统中其它的软件、硬件人将通过确测试的软件与系统中其它的软件、硬件人员、数据等结合在一起,在真实的系统工作环境下检验软件是否员、数据等结合在一起,在真实的系统工作环境下检验软件是否能与系统正确连接,并确认软件是否与用户需求(系统需求)一能与系统正确连接,并确认软
26、件是否与用户需求(系统需求)一致。致。7-22测试与开发过程的关系测试与开发过程的关系7-23P 测试的方式测试的方式X 静态测试静态测试 静态测试是指通过人工方式评审系统文档和程序,在不实际运行静态测试是指通过人工方式评审系统文档和程序,在不实际运行程序的情况下,找出编译不能发现的错误。这种方法手续简单,是一程序的情况下,找出编译不能发现的错误。这种方法手续简单,是一种行之有效的检验手段。经验表明,组织良好的静态测试可以发现程种行之有效的检验手段。经验表明,组织良好的静态测试可以发现程序中序中3070的编码和逻辑设计错误,从而可以减少动态测试的负的编码和逻辑设计错误,从而可以减少动态测试的负
27、担,提高整个测试工作的效率。担,提高整个测试工作的效率。n个人复查:个人复查:指源程序编完以后,直接由程序员自己进行检查。指源程序编完以后,直接由程序员自己进行检查。n走查:走查:测试在预先阅读过该软件资料和源程序的前提下,由测试人员测试在预先阅读过该软件资料和源程序的前提下,由测试人员扮演计算机的角色,用人工方法将测试数据输入被测程序,并在纸上扮演计算机的角色,用人工方法将测试数据输入被测程序,并在纸上跟踪监视程序的执行情况,跟踪监视程序的执行情况, 让人代替机器沿着程序的逻辑走一遍,让人代替机器沿着程序的逻辑走一遍, 发发现程序中的错误。由于人工运行很慢,因此走查只能使用少量简单的现程序中
28、的错误。由于人工运行很慢,因此走查只能使用少量简单的测试用例,实际上走查只是个手段,是在测试用例,实际上走查只是个手段,是在“走走”的进程中不断从程序的进程中不断从程序中发现错误。中发现错误。n会审:会审:由程序作者逐个阅读和讲解程序,测试人员逐个审查、提问,由程序作者逐个阅读和讲解程序,测试人员逐个审查、提问,讨论可能产生的错误。会审要对程序的功能、结构及风格等全面进行讨论可能产生的错误。会审要对程序的功能、结构及风格等全面进行审定。审定。7-24X 动态测试动态测试 动态测试是运用事先设计好的测试用例,有控制地运行动态测试是运用事先设计好的测试用例,有控制地运行程序,从多种角度观察程序运行
29、时的行为,程序,从多种角度观察程序运行时的行为, 对比运行结果与对比运行结果与预期结果预期结果 的差别以发现错误。也就是说,动态测试是为了发的差别以发现错误。也就是说,动态测试是为了发现错误而执行程序。因此,动态测试的关键问题是如何设计现错误而执行程序。因此,动态测试的关键问题是如何设计测试用例,即设计一批测试数据,通过有限的测试用例,在测试用例,即设计一批测试数据,通过有限的测试用例,在有限的研制时间、研制经费的约束下,尽可能多地发现程序有限的研制时间、研制经费的约束下,尽可能多地发现程序中的错误。中的错误。 动态测试可分为动态测试可分为黑盒法黑盒法和和白盒法白盒法,在不同的测试阶段可,在不
30、同的测试阶段可采用不同的方法或交叉使用这两种方法。采用不同的方法或交叉使用这两种方法。7-251、黑盒测试:、黑盒测试:将被测试程序对象看作黑盒子,不考虑其内部程序将被测试程序对象看作黑盒子,不考虑其内部程序结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是否能够产生适当的输出。又称为功能测试,数据驱动测试,基于规格否能够产生适当的输出。又称为功能测试,数据驱动测试,基于规格说明书的测试。说明书的测试。 用黑盒测试发现程序中的错误,必须在用黑盒测试发现程序中的错误,必须在所有可能的输入条件所有可能的输入条件所有可能的输入条件
31、所有可能的输入条件中确定中确定测试数据,来检查程序是否都能产生正确的输出,但这是测试数据,来检查程序是否都能产生正确的输出,但这是不可能不可能不可能不可能的。的。u示例:假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:可能采用的测试数据组:232232264 如果测试一 组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。7-262、白盒测试:、白盒测试:分析程序结构与过程执行路径,按照程序内部的分析程序结构与过程执行路径,按照程序内部的逻辑结构设计测试用例,检验程序的每条通路是否按预期正常进行,逻辑结构设计测试用例,
32、检验程序的每条通路是否按预期正常进行,力求提高测试覆盖率。又称为结构测试力求提高测试覆盖率。又称为结构测试,玻璃盒测试玻璃盒测试,基于覆盖的测基于覆盖的测试。试。 最彻底的白箱法是覆盖程序中的每一条路径。然而,由于大型最彻底的白箱法是覆盖程序中的每一条路径。然而,由于大型复杂程序中的逻辑路径数目太多,致使不可能将全部路径都覆盖。复杂程序中的逻辑路径数目太多,致使不可能将全部路径都覆盖。u示例:给出一个小程序的流程图,它包括了一个执行20次的循环,循环体中包含5条路径。它包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,要想把所有路径测试完,需3170年。7-27P 测试用例的设计
33、测试用例的设计 不论黑盒还是白盒测试都不论黑盒还是白盒测试都不能进行穷尽测试不能进行穷尽测试, 所以软件测试不所以软件测试不可能发现程序中存在的所有错误可能发现程序中存在的所有错误, 因此需精心设计测试用例因此需精心设计测试用例, 力争力争尽可能少的次数尽可能少的次数,测出尽可能多的错误测出尽可能多的错误.把把所所有有可可能能的的输输入入数数据据划划分分成成若若干干部部分分(等等价价类类),并并从从每每个个等等价价类类中中选选取取一一个个典典型型代代表表数数据据作作为为测测试试用用例例,并并假假设设在在一一个个等等价价类中,各个输入数据对于揭露程序中的错误都是等价的。类中,各个输入数据对于揭露
34、程序中的错误都是等价的。通通常常是是将将模模块块的的输输入入域域划划分分成成有有效效等等价价类类(模模块块中中符符合合规规范范的的输入)和输入)和无效等价类无效等价类(模块中非法的输入)两种。(模块中非法的输入)两种。X 等价类划分法等价类划分法(黑盒类黑盒类)7-28u划分等价类的规则划分等价类的规则 1、如果输入条件代表一个范围,可定义一个有效等价类和两个无效、如果输入条件代表一个范围,可定义一个有效等价类和两个无效等价类。等价类。 例:例:某模块的合理输入是某模块的合理输入是1999,则大于等于,则大于等于1且小于等于且小于等于999的数的数据属于有效等价数据;小于据属于有效等价数据;小
35、于1或大于或大于999的数据为无效等价类,测试数的数据为无效等价类,测试数据可以从这三个等价类中抽取。据可以从这三个等价类中抽取。 2、如果输入条件规定了输入值的集合,则可定义一个有效等价类和、如果输入条件规定了输入值的集合,则可定义一个有效等价类和一个无效等价类。一个无效等价类。 例:例:某个待测程序的输入参数某个待测程序的输入参数“职称职称”的输入值可以是助教、讲师、的输入值可以是助教、讲师、副教授、教授四种。则,可以设计副教授、教授四种。则,可以设计一个一个有效等价类(取四个职称中的有效等价类(取四个职称中的一个值);一个无效等价类(四个职称之外的任意值)。一个值);一个无效等价类(四个
36、职称之外的任意值)。7-293、如规定了输入数据的一组值,且程序对不同输入值做不同处理,、如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类则每个允许的输入值是一个有效等价类,并有一个无效等价类(所所有不允许的输入值的集合有不允许的输入值的集合)。 例:例:如果程序对不同职称有不同的处理方案,如如果程序对不同职称有不同的处理方案,如“住房分配住房分配”程序。则,应设计程序。则,应设计四个四个有效等价类(四个职称每个值为一类);有效等价类(四个职称每个值为一类);一个无效等价类(四个职称之外的任意值)。一个无效等价类(四个职称之外的任意
37、值)。4、如果规定了输入条件必须遵守的规则,则可划分一个有效等价类、如果规定了输入条件必须遵守的规则,则可划分一个有效等价类(符合规则符合规则)和若干个无效等价类和若干个无效等价类(从不同角度违反规则从不同角度违反规则)。 例:例:如果规定了输入数据是整型,则可划分出一个有效等价类如果规定了输入数据是整型,则可划分出一个有效等价类(输入整数输入整数);若干个无效等价类;若干个无效等价类(输入字符、实数输入字符、实数)。7-30u 用等价类划分法确定测试用例步骤:用等价类划分法确定测试用例步骤:1、形成等价类表,每一等价类规定一个唯一的编号;、形成等价类表,每一等价类规定一个唯一的编号;2、设计
38、一测试用例,使其、设计一测试用例,使其尽可能多地覆盖尽可能多地覆盖尚未覆盖的有效尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;所覆盖;3、设计一新测试用例,使其、设计一新测试用例,使其只覆盖一个只覆盖一个无效等价类,重复无效等价类,重复这一步骤直到所有无效等价类均被覆盖;这一步骤直到所有无效等价类均被覆盖;例例:某城市电话号码由三部分组成某城市电话号码由三部分组成 地区码地区码:空白或:空白或3位数字位数字 前前 缀:缀:非非0或或1开头的三位数字开头的三位数字 后后 缀:缀:4位数字位数字7-31第一步第一步:电
39、话号码等价类划分电话号码等价类划分输入条件输入条件 有效等价类有效等价类 无效等价类无效等价类 地区码地区码空白空白(1)(1)3 3位数字位数字(2)(2)有非数字字符有非数字字符 (5)(5)少于少于3 3位数字位数字 (6)(6)多于多于3 3位数字位数字 (7)(7)前前 缀缀从从200200到到999999之间的之间的3 3位位数字数字(3)(3)有非数字字符有非数字字符 (8)(8)起始位为起始位为0 0(9)(9)起始位为起始位为1 1(10)(10)少于少于3 3位数字位数字 (11)(11)多于多于3 3位数字位数字 (12)(12)后后 缀缀有非数字字符有非数字字符 (13
40、)(13)少于少于4 4位数字位数字 (14)(14)多于多于4 4位数字位数字 (15)(15)4 4位数字位数字(4)(4)7-32第二步第二步:确定测试用例确定测试用例可通过下面可通过下面13个测试用例覆盖所有等价类。个测试用例覆盖所有等价类。 测试数据测试数据 覆盖范围覆盖范围 期望结果期望结果1 1、( )276-2345( )276-23452 2、(635)805-9321(635)805-9321等价类等价类(1)(3)(4)(1)(3)(4)等价类等价类(2)(3)(4)(2)(3)(4)有效有效有效有效3 3、(20A)123-4567(20A)123-45674 4、(3
41、3 )234-5678(33 )234-56785 5、(7777)345-6789(7777)345-6789 . . . . . .1313、(678)256-23890(678)256-23890无效等价类无效等价类(5)(5)无效等价类无效等价类(6)(6)无效等价类无效等价类(7)(7) . . . .无效等价类无效等价类(15)(15)无效无效无效无效无效无效 . . . . 无效无效7-33X 边界值分析法边界值分析法(黑盒类黑盒类)在编写程序时,往往只注意正常情况,忽视了边界状态。因在编写程序时,往往只注意正常情况,忽视了边界状态。因此,在测试过程中以刚好等于、大于或小于边界值
42、的数据作此,在测试过程中以刚好等于、大于或小于边界值的数据作为测试数据,容易发现程序中的错误。为测试数据,容易发现程序中的错误。边界是相对于输入等价类和输出等价类而言,稍高于其边界边界是相对于输入等价类和输出等价类而言,稍高于其边界边界是相对于输入等价类和输出等价类而言,稍高于其边界边界是相对于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。值及稍低于其边界值的一些特定情况。值及稍低于其边界值的一些特定情况。值及稍低于其边界值的一些特定情况。使用边界值分析方法设计测试用例,应对确定的边界,使用边界值分析方法设计测试用例,应对确定的边界,使用边界值分析方法设计测试用例,
43、应对确定的边界,使用边界值分析方法设计测试用例,应对确定的边界,选取选取选取选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据正好等于,刚刚大于,或刚刚小于边界的值做为测试数据正好等于,刚刚大于,或刚刚小于边界的值做为测试数据正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。而不是选取等价类中的典型值或任意值做为测试数据。而不是选取等价类中的典型值或任意值做为测试数据。而不是选取等价类中的典型值或任意值做为测试数据。7-34u边界值分析法设计测试用例原则边界值分析法设计测试用例原则 1、如输入条件代表以、如输入条件代表以a和和b为边界的范围
44、,测试用例应包含为边界的范围,测试用例应包含a、b、略、略大于大于a和略小于和略小于b的值。的值。 例:例:邮件收费规定邮件收费规定 15 kg收费收费2元,则应设计测试用例元,则应设计测试用例: 0.9、1、 5、5.1 kg 2、如果输入条件规定了输入值的个数,则用最大个数、最小个数、如果输入条件规定了输入值的个数,则用最大个数、最小个数、比最大个数多比最大个数多1、比最小个数少、比最小个数少1的数作为测试数据。的数作为测试数据。 例:例:一个输入文件可有一个输入文件可有1255个记录,则可分别设计有个记录,则可分别设计有: 1个、个、255个、个、0个、个、256个记录的输入文件个记录的
45、输入文件 3、 如规格说明中提出输入输出的有序集(顺序文件、有序表等如规格说明中提出输入输出的有序集(顺序文件、有序表等),取有序集的第一个和最后一个元素做测试用例。取有序集的第一个和最后一个元素做测试用例。7-35 4、如程序数据结构有预定的边界,应测试其边界的数据项。、如程序数据结构有预定的边界,应测试其边界的数据项。 例:例:程序中定义一数组,其元素下标的下界是程序中定义一数组,其元素下标的下界是0,上界是,上界是100,则,则应选择达到这个数组下标边界的值,如应选择达到这个数组下标边界的值,如0与与100作为测试用例。作为测试用例。 5、如输出条件规定了取值范围,取边界上下浮动值做测试
46、用例。、如输出条件规定了取值范围,取边界上下浮动值做测试用例。 例:例: 每日保险扣除额每日保险扣除额(输出项输出项)在在01165.25 元,则应设计测试用元,则应设计测试用例使其恰好产生例使其恰好产生0元和元和1165.25元的结果元的结果, 此外还应考虑设计结果为负此外还应考虑设计结果为负值或值或 1165.25元的测试用例,如元的测试用例,如: -0.01元和元和1165.26元元)。 由于输入值的边界不与输出值的边界相对应,所以要检查输出值由于输入值的边界不与输出值的边界相对应,所以要检查输出值的边界及产生超出输出值值域的结果不一定可能。的边界及产生超出输出值值域的结果不一定可能。7
47、-36X 逻辑覆盖测试法逻辑覆盖测试法(白盒类白盒类) 用白盒法测试模块时,最彻底的就是覆盖程序中的每一条路径,然用白盒法测试模块时,最彻底的就是覆盖程序中的每一条路径,然而,由于大型复杂程序中的逻辑路径数目太多,致使不可能将全部路而,由于大型复杂程序中的逻辑路径数目太多,致使不可能将全部路径都覆盖。因此采用其它一些标准来量度覆盖的程度,并希望覆盖程径都覆盖。因此采用其它一些标准来量度覆盖的程度,并希望覆盖程度尽可能高些。度尽可能高些。例:例:一个被测程的程序段如下所示:一个被测程的程序段如下所示:A1 AND B=0A=2 OR X1X=X/AX=X+1YESYESNONOabced路径:路
48、径:uL1:aceuL2:abduL3:abeuL4:acd7-371、语句覆盖、语句覆盖执行足够多的测试用例,使得被测程序中每个可执行语句至执行足够多的测试用例,使得被测程序中每个可执行语句至少被执行一次。少被执行一次。上例中只需设计一个测试用例上例中只需设计一个测试用例: 【(2, 0, 4)(2, 0, 4),(2, 0, 3)(2, 0, 3)】,覆盖,覆盖ace(L1),即达到了语句覆盖。即达到了语句覆盖。语句覆盖是最弱的覆盖标准。语句覆盖是最弱的覆盖标准。A1 AND B=0A=2 OR X1X=X/AX=X+1YESYESNONOabcedA1 OR B=0A=2 AND X1X
49、=X/AX=X+1YESYESNONOabced7-382、判定覆盖(边覆盖)、判定覆盖(边覆盖)执行足够多的测试用例,使得被测程序中每个语句至少被执行一执行足够多的测试用例,使得被测程序中每个语句至少被执行一次,且每个判断的真假分支至少执行一次。次,且每个判断的真假分支至少执行一次。上例中可设计两组测试用例上例中可设计两组测试用例: 【(2, 1, 1),(2, 1, 2)】,覆盖覆盖 abe【L3】 【(3, 0, 3),(3, 0, 1)】,覆盖覆盖 acd【L4】 两组测试用例可覆盖所有判定的真假分支两组测试用例可覆盖所有判定的真假分支判定覆盖仍是弱的覆盖标准。判定覆盖仍是弱的覆盖标准
50、。A1 AND B=0A=2 OR X1X=X/AX=X+1YESYESNONOabcedA1 AND B=0A=2 OR X1T1T1B=0T2T2判断判断( (二二) )A=2T3T3X1T4T4设条件的取值标记 条件覆盖可选取的 测试用例 如下表 测试用例通过路径条件取值覆盖分支 【(1, 0, 3),(1, 0, 4)】abe(L3)b,e【(2, 1, 1),(2, 1, 2)】abe(L3)b,eT1 T2 T3 T4T1 T2 T3 T4A1 AND B=0A=2 OR X1X=X/AX=X+1YESYESNONOabced注:注:未覆盖未覆盖c、d分支,不满足判定覆盖的要求,分
51、支,不满足判定覆盖的要求,条件覆盖不一定条件覆盖不一定包含判定覆盖,判定覆盖也不一定包含条件覆盖包含判定覆盖,判定覆盖也不一定包含条件覆盖7-404、判定、判定/条件覆盖条件覆盖执行足够多的测试用例,使得被测程序中的判定的每个条件执行足够多的测试用例,使得被测程序中的判定的每个条件的所有可能取值至少执行一次,同时每个判定本身的所有可的所有可能取值至少执行一次,同时每个判定本身的所有可能判定结果至少执行一次。能判定结果至少执行一次。判断判断条件条件取真值取真值取假值取假值判断判断( (一一) )A1T1T1B=0T2T2判断判断( (二二) )A=2T3T3X1T4T4设条件的取值标记A1 AN
52、D B=0A=2 OR X1X=X/AX=X+1YESYESNONOabced 判定/ /条件覆盖可选取的 测试用例 如下表 测试用例通过路径条件取值覆盖分支 【(2, 0, 4)(2, 0, 4),(2, 0, 3)(2, 0, 3)】ace(L1)c,e【(1, 1, 1)(1, 1, 1),(1, 1, 1)(1, 1, 1)】abd(L2)b,dT1 T2 T3 T4T1 T2 T3 T4注:注:它是判定覆盖与条件覆盖的综合,但不能保证检查出逻辑表达式的全部它是判定覆盖与条件覆盖的综合,但不能保证检查出逻辑表达式的全部错误。对于上例中错误。对于上例中A1时检查时检查B=0,而,而 A=
53、1时,时,B0却不去验证了。却不去验证了。7-415 、条件组合覆盖、条件组合覆盖执行足够多的测试用例,使得被测程序中所有可能的条件取执行足够多的测试用例,使得被测程序中所有可能的条件取值组合至少执行一次。值组合至少执行一次。各个判断的条件共有各个判断的条件共有8种可能的组合种可能的组合:(1)A1, B=0 (2) A1, B0 (3) A=1, B=0 (4) A=1, B0 (5) A=2, X1 (6) A=2, X=1 (7) A2, X1 (8) A2, X1T1T1B=0T2T2判断判断( (二二) )A=2T3T3X1T4T4设条件的取值标记A1 AND B=0A=2 OR X
54、1X=X/AX=X+1YESYESNONOabced7-42测试用例通过路径条件取值覆盖组合号 【(2, 0, 4), (2, 0, 3)】ace L1T1 T2 T3 T4,【(2, 1, 1), (2, 1, 2)】abe L3T1 T2 T3 T4, ,【(1, 0, 3), (1, 0, 4)】abe L3T1 T2 T3 T4, ,【(1, 1, 1), (1, 1, 1)】abd L2T1 T2 T3 T4, ,A1 AND B=0A=2 OR X1X=X/AX=X+1YESYESNONOabced注:注:满足条件组合覆盖必满足判定、条件、满足条件组合覆盖必满足判定、条件、判定判定
55、/条件覆盖,但仍不能遍历每条路径。条件覆盖,但仍不能遍历每条路径。7-43 6、路径覆盖、路径覆盖执行足够多的测试用例,使得被测程序中每条可能路径至少执行足够多的测试用例,使得被测程序中每条可能路径至少通过一次。通过一次。测试用例通过路径条件取值 【(2, 0, 4), (2, 0, 3)】ace L1T1 T2 T3 T4【(1, 1, 1), (1, 1, 1)】abd L2【(1, 1, 2), (1, 1, 3)】abe L3【(3, 0, 3), (3, 0, 1)】acd L4T1 T2 T3 T4T1 T2 T3 T4T1 T2 T3 T4A1 AND B=0A=2 OR X1X
56、=X/AX=X+1YESYESNONOabced判断判断条件条件取真值取真值取假值取假值判断判断( (一一) )A1T1T1B=0T2T2判断判断( (二二) )A=2T3T3X1T4T4设条件的取值标记7-44P 单元测试单元测试对软件单元进行测试,确实保证它作为一个单元能正常地工作。对软件单元进行测试,确实保证它作为一个单元能正常地工作。单元测试的目的是验证单元满足功能、性能和接口等的要求。单元测试的目的是验证单元满足功能、性能和接口等的要求。单元测试采用的技术:主要采用白盒测试,辅之以黑盒测试。单元测试采用的技术:主要采用白盒测试,辅之以黑盒测试。测试的充分性:由各种测试覆盖率来度量测试
57、的充分性:由各种测试覆盖率来度量X单元测试的内容单元测试的内容模块接口模块接口局部数据结构局部数据结构重要的执行路径重要的执行路径出错处理出错处理边界测试边界测试7-45X单元测试的环境单元测试的环境 模块并不是一个独立的程序,在考虑测试模块时,同时要考虑模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。模块。u驱动模块:驱动模块:驱动模块是模拟待测模块的调用模块,其作用是将测驱动模块是模拟待测模块的调用模块,其作用是将测试数据传送给待测模块,并显示结果。试数据传送给待
58、测模块,并显示结果。u桩模块:桩模块:桩模块的作用是模拟待测模块的下层模块,其作用是接桩模块的作用是模拟待测模块的下层模块,其作用是接受待测模块的控制并模拟下层模块的功能。受待测模块的控制并模拟下层模块的功能。7-46P 集成测试集成测试 依据软件设计确定的软件结构,按照软件集成依据软件设计确定的软件结构,按照软件集成“工序工序”,把各,把各个软件单元逐步集成为完整的软件系统,并不断发现和排除错误,个软件单元逐步集成为完整的软件系统,并不断发现和排除错误,以保证联接、集成的正确性。以保证联接、集成的正确性。X 非增量方式测试非增量方式测试 先分别测试每一个模块,然后一次组装在一起再测试整个程序
59、。先分别测试每一个模块,然后一次组装在一起再测试整个程序。7-47u非增量方式的优点非增量方式的优点:a.非增量方式占用机器时间较少。非增量方式占用机器时间较少。b.非增量方式有利于并行测试。非增量方式有利于并行测试。u非增量方式的缺点:非增量方式的缺点:a. 需编写太多的驱动模块和桩模块。需编写太多的驱动模块和桩模块。b. 接口错误发现得晚。接口错误发现得晚。c. 难以确定错误源的位置。难以确定错误源的位置。7-48X 渐增式测试渐增式测试 采用每次增加一个模块的方式进行测试,既把下一个要测试的模采用每次增加一个模块的方式进行测试,既把下一个要测试的模块与测试好的那些模块结合起来进行测试,这
60、样边组装边测试,直到块与测试好的那些模块结合起来进行测试,这样边组装边测试,直到构成一个完整的系统为止。构成一个完整的系统为止。u渐增式的优点:渐增式的优点:a. 渐增式可以较早地发现模块界面之间的错误渐增式可以较早地发现模块界面之间的错误b. 渐增式有利于排错渐增式有利于排错c. 渐增式比较彻底渐增式比较彻底u渐增式的缺点:渐增式的缺点:a. 渐增式需要较多的机器时间渐增式需要较多的机器时间b. 渐增式的测试工作无法并行渐增式的测试工作无法并行7-49n 自顶向下方法自顶向下方法1、主主控控模模块块用用作作为为测测试试模模块块兼兼驱驱动动模模块块,直直接接附附属属于于主主控控模模块块的的各各
61、模块全都用桩模块代替,对主模块进行测试。模块全都用桩模块代替,对主模块进行测试。2、按按照照所所选选的的组组装装法法(即即深深度度优优先先或或宽宽度度优优先先)每每次次用用一一个个真真模模块块取代一个附属的桩模块,再用桩模块代替它们的直接下属模块。取代一个附属的桩模块,再用桩模块代替它们的直接下属模块。3、进进行行回回复复测测试试(即即重重新新再再作作过过去去作作过过的的全全部部或或部部分分测测试试),以以便便肯定没有新的错误发生。肯定没有新的错误发生。4、作完每一组测试后又再用一个真模块代替另一个桩模块。、作完每一组测试后又再用一个真模块代替另一个桩模块。7-50n自底向上集成方法自底向上集
62、成方法1、低层的模块组成簇,以执行某个特定的软件子功能。、低层的模块组成簇,以执行某个特定的软件子功能。2、编编写写一一个个驱驱动动模模块块作作为为测测试试的的控控制制程程序序,和和被被测测试试的的簇簇连连在在一一起,负责安排测试用例的输入及输出。起,负责安排测试用例的输入及输出。3、对簇进行测试。、对簇进行测试。4、拆拆去去各各个个小小簇簇的的驱驱动动模模块块,把把几几个个小小簇簇合合并并成成大大簇簇,再再重重复复做做2、3及及4步。步。 这样在软件结构上逐步向上组装。这样在软件结构上逐步向上组装。7-51自顶向下结合的优点自顶向下结合的优点在于和子系统整体有关的接口问题可以在子在于和子系统
63、整体有关的接口问题可以在子系统测试的早期得到解决,但设计测试用例和编写桩模块比较困系统测试的早期得到解决,但设计测试用例和编写桩模块比较困难。难。自底向上结合的优点自底向上结合的优点在于设计测试用例和编写驱动模块比较容易,在于设计测试用例和编写驱动模块比较容易,但它必须在最后一个模块组装出来之后,才能使模块群作为一个但它必须在最后一个模块组装出来之后,才能使模块群作为一个整体存在。整体存在。 由于上述两种方法具有互补性,一般常结合起来进行。即对由于上述两种方法具有互补性,一般常结合起来进行。即对子系统的较上层模块使用自顶向下的组装方法,对下层模块使用子系统的较上层模块使用自顶向下的组装方法,对
64、下层模块使用自底向上的组装方法。自底向上的组装方法。 7-52P 确认测试确认测试安全测试:安全测试:是指测试系统对外来有意或恶意攻击的自我保护能力。是指测试系统对外来有意或恶意攻击的自我保护能力。恢恢复复测测试试:是是指指系系统统出出现现意意外外故故障障时时,能能否否正正确确和和迅迅速速恢恢复复的的测测试。试。有效性测试:有效性测试:通过测试来证实系统功能与用户要求一致。通过测试来证实系统功能与用户要求一致。功功能能测测试试:是是在在规规定定的的一一段段时时间间内内运运行行软软件件系系统统的的所所有有功功能能,以以验证这个软件系统有无严重错误。验证这个软件系统有无严重错误。性性能能测测试试:
65、是是要要检检查查系系统统是是否否满满足足在在需需求求说说明明书书中中规规定定的的性性能能。特别是对于实时系统或嵌入式系统。特别是对于实时系统或嵌入式系统。操操作作测测试试:包包括括对对用用户户接接口口、人人机机接接口口和和人人机机交交互互要要求求的的所所有有测测试。试。验验收收测测试试:验验收收测测试试必必须须由由用用户户参参加加或或者者以以用用户户为为主主进进行行。它它是是用用户户在在实实际际应应用用环环境境中中所所进进行行的的真真实实数数据据的的测测试试,验验收收测测试试主主要要使使用用原原有有系系统统所所用用过过的的历历史史数数据据,将将新新系系统统运运行行结结果果和和原原系系统统所所得
66、相核对,以检查系统的可靠性和运行效率。得相核对,以检查系统的可靠性和运行效率。7-53第四节第四节 系统切换、维护系统切换、维护;系统切换:系统切换:新旧系统的交替过程,也就是旧的管理信息系统逐渐新旧系统的交替过程,也就是旧的管理信息系统逐渐退出,由新的管理信息系统来代替。退出,由新的管理信息系统来代替。X人员培训人员培训 企业各层次人员参与管理信息系统的操作、维护、运行,因而,企业各层次人员参与管理信息系统的操作、维护、运行,因而,必须对企业各层次人员开展有针对性的培训以确保管理信息系统正必须对企业各层次人员开展有针对性的培训以确保管理信息系统正常运行并充分发挥作用。常运行并充分发挥作用。1
67、、事事务务管管理理人人员员:培培训训的的主主要要内内容容有有新新系系统统的的目目标标、功功能能;系系统统的的结结构构及及运运行行过过程程;对对企企业业组组织织机机构构、工工作作方方式式等等产产生生的的影影响响;采采用用新新系系统统后后,对对职职工工必必须须学学会会新新技技术术的的要要求求; 今今后后如如何何衡衡量量任务完成情况。任务完成情况。P系统切换系统切换7-542、系系统统操操作作员员:是是管管理理信信息息系系统统的的直直接接使使用用者者,对对他他们们的的培培训训内内容容包包括括必必要要的的计计算算机机硬硬、软软件件知知识识;键键盘盘指指法法、汉汉字字输输入入等等训训练练;新新系系统统的
68、的工工作作原原理理;新新系系统统输输入入方方式式和和操操作作方方式式的的培培训训;简简单单出出错的及处置知识;运行操作注意事项。错的及处置知识;运行操作注意事项。3、系系统统维维护护人人员员:培培训训的的最最好好途途径径就就是是让让他他们们直直接接参参与与系系统统的的开开发发工工作作,这这样样有有助助于于他他们们了了解解整整个个系系统统的的全全过过程程,并并为为他他们们今今后后维维护工作打下良好的基础。护工作打下良好的基础。7-55X系统转换方式系统转换方式1、直接切换方式:、直接切换方式:是指在某一时刻,旧系统终止使用,新系统投是指在某一时刻,旧系统终止使用,新系统投入运行,新系统一般要经过
69、较详细的测试和模拟运行。考虑到系入运行,新系统一般要经过较详细的测试和模拟运行。考虑到系统测试中试验样本的不彻底性,以及新系统没有真正担负过实际统测试中试验样本的不彻底性,以及新系统没有真正担负过实际工作,因而这种方式虽然最简单、最省钱,但风险性最大,在切工作,因而这种方式虽然最简单、最省钱,但风险性最大,在切换过程中很可能出现事先预想不到的问题。换过程中很可能出现事先预想不到的问题。 原有系统原有系统新系统新系统2、并行切换方式:、并行切换方式:新投入运行时,老系统并不停止运行,而是与新新投入运行时,老系统并不停止运行,而是与新系统同时运行一段时间,新老系统并存的时间一般为系统同时运行一段时
70、间,新老系统并存的时间一般为35个月左右。个月左右。在这段时间内,既保持系统工作不间断,又可以对照两个系统的输出,在这段时间内,既保持系统工作不间断,又可以对照两个系统的输出,利用老系统对新系统进行检验。经过一段时间运行,在验证新系统处利用老系统对新系统进行检验。经过一段时间运行,在验证新系统处理准确可靠后,原系统停止工作。理准确可靠后,原系统停止工作。 原有系统原有系统新系统新系统7-563、分段切换方式:、分段切换方式:对由多个部分构成的系统分多个步骤进行切换,对由多个部分构成的系统分多个步骤进行切换,每次用部分新系统代替老系统中的某些部分,平衡后再进行下次切每次用部分新系统代替老系统中的
71、某些部分,平衡后再进行下次切换,直到整个系统切换完成。例如,公司可以先切换旧的订单录入换,直到整个系统切换完成。例如,公司可以先切换旧的订单录入系统,然后再切换库存系统。这种切换方式既避免了直接式的风险系统,然后再切换库存系统。这种切换方式既避免了直接式的风险性,又避免了并行式发生的高费用。性,又避免了并行式发生的高费用。 分段式系统切换方式中的最大问题表现在接口的增加上。系统分段式系统切换方式中的最大问题表现在接口的增加上。系统各部分之间往往是互相联系的,当老系统的某些部分切换给新系统各部分之间往往是互相联系的,当老系统的某些部分切换给新系统去执行,其余部分仍然由老系统去完成,于是在已切换部
72、分和未切去执行,其余部分仍然由老系统去完成,于是在已切换部分和未切换部分之间就出现了如何衔接的问题,这类接口是十分复杂的。换部分之间就出现了如何衔接的问题,这类接口是十分复杂的。原有系统原有系统新系统新系统注:注:在实际的系统切换工作中,并行切换方式用的较多,因这样做既在实际的系统切换工作中,并行切换方式用的较多,因这样做既安全,技术上也简单。当然,也有为数不少的系统是将三种切换方式安全,技术上也简单。当然,也有为数不少的系统是将三种切换方式配合起来使用,例如,在分段方式中的某些部分采用直接式,其他部配合起来使用,例如,在分段方式中的某些部分采用直接式,其他部分采用并行式。分采用并行式。7-5
73、7P系统维护系统维护系统维护:系统维护:是指为了应付信息系统环境和其它因素的各种变化,保是指为了应付信息系统环境和其它因素的各种变化,保证系统正常工作而采取的一切活动。证系统正常工作而采取的一切活动。X 需要进行维护的原因:需要进行维护的原因:1、政府政策的调节和来自上级的命令和要求。、政府政策的调节和来自上级的命令和要求。2、管理方式、方法及策略的改变。、管理方式、方法及策略的改变。3、随着用户对信息系统的了解,要求会不断提高,也需要对系统进、随着用户对信息系统的了解,要求会不断提高,也需要对系统进行某些修改。行某些修改。4、先进技术的出现,如硬、软件产品的更新换代等,也需要对系统、先进技术
74、的出现,如硬、软件产品的更新换代等,也需要对系统进行某些修改进行某些修改5、在系统测试阶段没有发现的潜在错误、在系统测试阶段没有发现的潜在错误 7-58X系统系统维护的类型维护的类型1、改正性维护:、改正性维护:诊断和改正软件错误的过程。诊断和改正软件错误的过程。2、适应性维护:、适应性维护:为适应软硬件等新的变化进行修改。为适应软硬件等新的变化进行修改。3、完完善善性性维维护护:为为了了满满足足用用户户提提出出增增加加新新功功能能,修修改改已已有有的的功功能能以以及及一一般般的的改改进进要要求求和和建建议议进进行行的的工工作作。这这类类维维护护占占软软件件维维护护工作的大部分。工作的大部分。
75、4、预预防防性性维维护护:为为进进一一步步改改进进系系统统的的可可维维护护性性和和可可靠靠性性等等进进行行的的修改,在系统维护中这类维护相对来说是很少的。修改,在系统维护中这类维护相对来说是很少的。7-59程序的维护程序的维护数据的维护数据的维护代码的维护代码的维护设备的维护设备的维护X系统维护的内容系统维护的内容Y决定维护目标决定维护目标建立维护方案建立维护方案调试调试理解系统理解系统考虑波及影响考虑波及影响修改程序修改程序修改文挡修改文挡通过通过NX系统维护的过程系统维护的过程7-60P系统评价系统评价检查系统的目标、功能及各项指标是否达到设计要求检查系统的目标、功能及各项指标是否达到设计
76、要求检查系统的质量检查系统的质量检查系统使用效果检查系统使用效果根据评审和分析结果,找出系统的薄弱环节,提出改进意见根据评审和分析结果,找出系统的薄弱环节,提出改进意见X评价目的评价目的评价项目评价项目评价指标评价指标系统性能评价系统性能评价直接经济效益指标直接经济效益指标间接经济效益指标间接经济效益指标完整性;正确性;可靠性;方便、灵活性;可维护性;适完整性;正确性;可靠性;方便、灵活性;可维护性;适应性;安全保密性;响应时间;文完备性应性;安全保密性;响应时间;文完备性一次性投资;系统运行费用;新增加的效益;投资回收一次性投资;系统运行费用;新增加的效益;投资回收期期管理体制合理化;管理方
77、法科学化;管理基础数据规范化;管理体制合理化;管理方法科学化;管理基础数据规范化;提高管理效率;改善企业形象提高管理效率;改善企业形象X评价指标评价指标7-61u有关系统的文件、任务书、文件资料等有关系统的文件、任务书、文件资料等u系统性能指标的评价系统性能指标的评价u直接经济效益指标的评价直接经济效益指标的评价u间接经济效益指标的评价间接经济效益指标的评价u综合性评价综合性评价u结论及建议结论及建议X评价报告评价报告7-62上机实验上机实验1、根据实验指导书中的实验、根据实验指导书中的实验8实验实验10完成完成演示演示6.1、6.2、6.3。2、完成演示、完成演示C8、C9、C10。3、分组讨论系统设计。、分组讨论系统设计。