版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、管理信息系统内蒙古大学计算机学院1管理信息系统内蒙古大学计算机学院2l当系统分析与设计完成之后,系统工作的重点当系统分析与设计完成之后,系统工作的重点从创造性思考的阶段转入具体的实践阶段。从创造性思考的阶段转入具体的实践阶段。l系统实施是新系统开发工作的最后一个阶段,系统实施是新系统开发工作的最后一个阶段,其主要内容:其主要内容:4按总体设计方案购置和安装计算机设备和网络按总体设计方案购置和安装计算机设备和网络系统;系统;4安装软件系统,建立数据库管理系统;安装软件系统,建立数据库管理系统;4程序设计与调试、系统测试;程序设计与调试、系统测试;4整理基础数据,培训操作人员;整理基础数据,培训操
2、作人员;4系统切换和试运行;系统切换和试运行;4系统维护与评价。系统维护与评价。管理信息系统内蒙古大学计算机学院3l系统实施工作必须在系统分析和系统设计工作完成后,系统实施工作必须在系统分析和系统设计工作完成后,严格按照系统开发文档进行,系统实施是以系统分析严格按照系统开发文档进行,系统实施是以系统分析和设计文档资料为依据的。系统开发者只有通过系统和设计文档资料为依据的。系统开发者只有通过系统开发文档,对系统目标、系统总体结构、系统代码设开发文档,对系统目标、系统总体结构、系统代码设计、输入计、输入/输出设计、数据库设计、处理过程设计以及输出设计、数据库设计、处理过程设计以及系统运行环境等有了
3、明确理解和认识以后,才能开始系统运行环境等有了明确理解和认识以后,才能开始系统实施活动。系统实施活动。l系统开发人员不仅要了解本人所承担的部分,还要了系统开发人员不仅要了解本人所承担的部分,还要了解总体结构、彼此接口、数据交换等相互联系部分的解总体结构、彼此接口、数据交换等相互联系部分的内容,以保证在系统实施工作中局部分散实施与系统内容,以保证在系统实施工作中局部分散实施与系统整体的协调一致性。整体的协调一致性。管理信息系统内蒙古大学计算机学院4管理信息系统内蒙古大学计算机学院5l程序设计的依据:程序设计的依据:系统设计阶段的模块结构图、系统设计阶段的模块结构图、IPO图、数据库设计中各种数据
4、表结构和编程图、数据库设计中各种数据表结构和编程设计说明。设计说明。l程序设计的目的:程序设计的目的:就是用计算机程序设计语言就是用计算机程序设计语言实现系统设计中的每个细节。实现系统设计中的每个细节。l程序设计总体思路:程序设计总体思路:程序设计与技术发展有关,程序设计与技术发展有关,过去的尽量短小、构思巧妙、难以理解的程序过去的尽量短小、构思巧妙、难以理解的程序编制方法逐渐被不惜时、空,造就高可读性、编制方法逐渐被不惜时、空,造就高可读性、高可维护性的编程思想所取代。高可维护性的编程思想所取代。管理信息系统内蒙古大学计算机学院6l管理信息系统开发中常用的编程工具:常用编程语言、管理信息系统
5、开发中常用的编程工具:常用编程语言、关系数据库系统,代码生成工具,系统开发工具,关系数据库系统,代码生成工具,系统开发工具,C/S工工具,具,B/S工具,工具,OO工具等。工具等。l1、常用编程语言类:、常用编程语言类:C、C+、COBOL、PROLOG等。等。l2、关系数据库类:、关系数据库类:l(1)Oracle:是美国是美国Oracle公司研制的第一个商品化的公司研制的第一个商品化的对象对象-关系型数据库管理系统。关系型数据库管理系统。l特点:支持大数据库、多用户的高性能的事务处理;遵特点:支持大数据库、多用户的高性能的事务处理;遵守数据存取、操作系统、用户接口和网络通信协议的工守数据存
6、取、操作系统、用户接口和网络通信协议的工业标准,是一个开放系统;实施安全性控制和完整性控业标准,是一个开放系统;实施安全性控制和完整性控制;支持分布式数据库和分布处理;具有可移植性、可制;支持分布式数据库和分布处理;具有可移植性、可兼容性和可连接性。兼容性和可连接性。管理信息系统内蒙古大学计算机学院7l(2)DB2:是是IBM公司提供的一种基于公司提供的一种基于SQL的关系型的关系型数据库产品。数据库产品。l特点:支持面向对象编程;支持多媒体应用程序;具特点:支持面向对象编程;支持多媒体应用程序;具有备份和恢复能力;用户可以在建表时显示定义复杂有备份和恢复能力;用户可以在建表时显示定义复杂的完
7、整性规则;支持的完整性规则;支持SQL查询;支持异构分布式数据查询;支持异构分布式数据库访问。库访问。l(3)Sybase:Sybase公司第一个推出客户公司第一个推出客户/服务器体系服务器体系结构和多线程技术的高性能数据库服务器。结构和多线程技术的高性能数据库服务器。 Sybase数数据库产品的特点:支持据库产品的特点:支持JAVA和标准的关系数据库查询和标准的关系数据库查询语言语言SQL,支持广泛的软硬件平台,具有优秀的联机,支持广泛的软硬件平台,具有优秀的联机事务处理功能。事务处理功能。管理信息系统内蒙古大学计算机学院8l(4)SQL Server:微软微软SQL Server是运行的是
8、运行的Windows NT上的一个著名的高性能数据库管理系统。它基于多上的一个著名的高性能数据库管理系统。它基于多线程的客户线程的客户/服务器体系结构,允许集中管理服务器,服务器体系结构,允许集中管理服务器,提供企业级的数据复制,提供平行的体系结构,支持提供企业级的数据复制,提供平行的体系结构,支持超大型数据库,可以与超大型数据库,可以与OLE对象紧密集成。对象紧密集成。l(5)Informix:是美国是美国Informix软件公司的数据库系软件公司的数据库系统产品,可以在统产品,可以在UNIX、 Windows NT 、Netware、Macintosh等各种操作系统环境下运行。其产品主要分
9、等各种操作系统环境下运行。其产品主要分为数据库服务器,网络连接软件,应用开发工具,终为数据库服务器,网络连接软件,应用开发工具,终端用户访问工具等四大类。端用户访问工具等四大类。管理信息系统内蒙古大学计算机学院9l(6)Access:是微软公司推出的基于是微软公司推出的基于Windows环境的环境的关系型数据库系统。它采用关系型数据库系统。它采用Windows程序设计概念,程序设计概念,具有简单易用、功能强大、面向对象的可视化设计等具有简单易用、功能强大、面向对象的可视化设计等特点。该数据库系统具有易学易用,快速开发,简化特点。该数据库系统具有易学易用,快速开发,简化用户开发工作等优点,是微软
10、公司在用户开发工作等优点,是微软公司在Office系统软件中系统软件中力推的力推的“办公室数据库办公室数据库”。自从发布以来,该数据库。自从发布以来,该数据库系统以其强大的功能,与其他系统以其强大的功能,与其他Office组件的高度集成以组件的高度集成以及无需大型数据库专业的维护人等优势,赢得广大用及无需大型数据库专业的维护人等优势,赢得广大用户的青睐,是开发中、小型管理信息系统的首选数据户的青睐,是开发中、小型管理信息系统的首选数据库系统。库系统。l(7)xBASE:略。略。l(8)Paradox:略。略。管理信息系统内蒙古大学计算机学院10l3、程序生成工具类、程序生成工具类:4GL。l4
11、、系统集成开发工具:、系统集成开发工具:VFP、VB、VC+、CASE、PB、Delphi等。l5、客户机、客户机/服务器工具:服务器工具:VFP、VB、VC、 Delphi 、PB等。l6、浏览器、浏览器/服务器工具:服务器工具:VB、JAVA、C#、WEB SERVICES、ASP、JSP等。l7、面向对象编程工具:、面向对象编程工具:C+、VC+、SMALLTALK等。管理信息系统内蒙古大学计算机学院11l(1)最少工作量原则。)最少工作量原则。使用最小代价让系统工作。使用最小代价让系统工作。l(2)最少技巧性原则。)最少技巧性原则。最好无需培训或很少培训就能最好无需培训或很少培训就能编
12、制程序。编制程序。l(3)最少错误原则。)最少错误原则。对常用的高级语言来说,要提供对常用的高级语言来说,要提供结构化控制结构、类型检查、数据结构描述、易于检结构化控制结构、类型检查、数据结构描述、易于检验测试等机制。验测试等机制。l(4)最少维护原则。)最少维护原则。对一般的高级语言来说,应提供对一般的高级语言来说,应提供独立编译能力和系统软件包。独立编译意味着可分别独立编译能力和系统软件包。独立编译意味着可分别编译各个程序单元,无需因修改了一个程序单元而重编译各个程序单元,无需因修改了一个程序单元而重新编译所有的程序。软件包意味着系统工具能提供较新编译所有的程序。软件包意味着系统工具能提供
13、较多功能,以减轻开发强度,提高开发效率。多功能,以减轻开发强度,提高开发效率。管理信息系统内蒙古大学计算机学院12l(6)项目的应用领域。)项目的应用领域。l(7)用户的要求。)用户的要求。有时用户要求使用它们熟有时用户要求使用它们熟悉的语言。悉的语言。l(8)程序员的经验和知识。)程序员的经验和知识。如果条件允许,如果条件允许,应尽量选择程序员熟悉的开发工具。应尽量选择程序员熟悉的开发工具。l(9)软件可移植性要求。)软件可移植性要求。如果目标系统需要如果目标系统需要运行于不同的环境,应选择可移植性好的程序运行于不同的环境,应选择可移植性好的程序设计语言。如设计语言。如Java语言。语言。管
14、理信息系统内蒙古大学计算机学院13l1、包括:结构化方法、原型法、面向对象方法;每种、包括:结构化方法、原型法、面向对象方法;每种方法都要充分利用现有软件工具。方法都要充分利用现有软件工具。l(1)、结构化程序设计方法)、结构化程序设计方法l按按HIPO图的要求,用结构化、模块化的方法分解内容图的要求,用结构化、模块化的方法分解内容和程序设计。和程序设计。l采用顺序、分支和循环三种基本结构编程。采用顺序、分支和循环三种基本结构编程。l采用自顶向下分析设计、自底向上实现系统。采用自顶向下分析设计、自底向上实现系统。l(2)速成原型式的程序开发方法)速成原型式的程序开发方法l将将HIPO中具有普遍
15、性的功能模块集中(菜单模块、报中具有普遍性的功能模块集中(菜单模块、报表模块、查询模块、统计分析和图形模块等);表模块、查询模块、统计分析和图形模块等);l利用生成工具完成通用模块设置,在各子系统中应用。利用生成工具完成通用模块设置,在各子系统中应用。l无法生成的特殊内容,单独编制。无法生成的特殊内容,单独编制。管理信息系统内蒙古大学计算机学院14l(3)面向对象的程序设计方法)面向对象的程序设计方法l开发阶段采用的是开发阶段采用的是OO方法,则可以直接用方法,则可以直接用OOP实现;实现;l开发阶段未采用开发阶段未采用OO方法,编程时某些部分也方法,编程时某些部分也可用可用OOP实现;实现;
16、lOOP方法优势较大,其他方法无法比拟。方法优势较大,其他方法无法比拟。管理信息系统内蒙古大学计算机学院15l2、程序设计的基本要求、程序设计的基本要求l(1)正确性:)正确性:准确无误地按要求编写出程序。准确无误地按要求编写出程序。l(2)可靠性:)可靠性:程序和系统要安全可靠(数据、通信、程序和系统要安全可靠(数据、通信、权限等),要有容错能力,正常情况下正确工作,异权限等),要有容错能力,正常情况下正确工作,异常情况下也要有异常处理。常情况下也要有异常处理。l(3)规范性:)规范性:程序设计风格、书写格式,变量定义等程序设计风格、书写格式,变量定义等都具有统一规范。都具有统一规范。l(4
17、)可理解性:)可理解性:程序清晰易于读懂,为以后维护、提程序清晰易于读懂,为以后维护、提供有利条件。供有利条件。l(5)可维护性:)可维护性:程序模块高独立性,模块间无病态耦程序模块高独立性,模块间无病态耦合,调整和修改程序比较简便易行。合,调整和修改程序比较简便易行。l(6)效率高:)效率高:在前述要求达到的情况下,尽量提高程在前述要求达到的情况下,尽量提高程序设计的时空效率。序设计的时空效率。管理信息系统内蒙古大学计算机学院16l3、程序设计的基本步骤、程序设计的基本步骤l(1)理解系统的设计要求:)理解系统的设计要求:首先要仔细地阅读系统设首先要仔细地阅读系统设计说明书,吃透系统设计所提
18、出的任务、功能和目标,计说明书,吃透系统设计所提出的任务、功能和目标,明确自己所编程序在系统中所处的位置及与之相关的明确自己所编程序在系统中所处的位置及与之相关的环境条件;环境条件;l(2)熟悉计算机软硬件环境及性能:)熟悉计算机软硬件环境及性能:在程序设计前要在程序设计前要熟悉系统的开发环境,包括计算机、网络的性能,操熟悉系统的开发环境,包括计算机、网络的性能,操作系统,程序设计语言与数据库管理系统;作系统,程序设计语言与数据库管理系统;l(3)细化程序处理过程,确定流程:)细化程序处理过程,确定流程:系统设计说明书系统设计说明书中给出的处理过程的描述如果比较粗糙,程序设计者中给出的处理过程
19、的描述如果比较粗糙,程序设计者在编程前要根据所选择的程序设计语言予以细化,并在编程前要根据所选择的程序设计语言予以细化,并用一定的方法对处理过程进行描述。用一定的方法对处理过程进行描述。管理信息系统内蒙古大学计算机学院17l(4)编写源程序:)编写源程序:在完成前三阶段工作的基础上,完在完成前三阶段工作的基础上,完成编程并在计算机上实现。编程过程中要注意每一个成编程并在计算机上实现。编程过程中要注意每一个细节,严格遵守语法规则,准确使用各种语句,编写细节,严格遵守语法规则,准确使用各种语句,编写符合要求的程序。符合要求的程序。l(5)测试:)测试:程序编制完成以后,要对程序的正确性作程序编制完
20、成以后,要对程序的正确性作出评价,这就需要对程序进行测试。测试的目的是为出评价,这就需要对程序进行测试。测试的目的是为了发现错误并加以改正。程序中常见的错误有:语法了发现错误并加以改正。程序中常见的错误有:语法错误、逻辑错误、输入输出格式错误等。有关统计表错误、逻辑错误、输入输出格式错误等。有关统计表明,程序测试所占用的时间和经费与开发系统的规模明,程序测试所占用的时间和经费与开发系统的规模成正比。成正比。l(6)编写程序使用说明书:)编写程序使用说明书:说明执行该程序时需要使说明执行该程序时需要使用的设备,输入输出要求,操作步骤等。用的设备,输入输出要求,操作步骤等。管理信息系统内蒙古大学计
21、算机学院18l4、程序设计风格、程序设计风格l(1)源程序文档化)源程序文档化l标识符的命名标识符的命名l标识符,包括模块名、变量名、常量名、标号名、子标识符,包括模块名、变量名、常量名、标号名、子程序名以及数据区名、缓冲区名等。这些名字应能反程序名以及数据区名、缓冲区名等。这些名字应能反映它所代表的实际东西,应有一定的实际意义,使其映它所代表的实际东西,应有一定的实际意义,使其能够见名知意,有助于对程序功能的理解。为达此目能够见名知意,有助于对程序功能的理解。为达此目的,应采用长标识符命(多个英文单词用下划线连的,应采用长标识符命(多个英文单词用下划线连接)。接)。管理信息系统内蒙古大学计算
22、机学院19l程序的注释程序的注释l夹在程序中的注释是程序员与日后的程序读者之间通夹在程序中的注释是程序员与日后的程序读者之间通信的重要手段。正确的注释能够帮助读者理解程序,信的重要手段。正确的注释能够帮助读者理解程序,可为后续阶段进行测试和维护,提供明确的指导。因可为后续阶段进行测试和维护,提供明确的指导。因此注释决不是可有可无的,大多数程序设计语言允许此注释决不是可有可无的,大多数程序设计语言允许使用自然语言写注释,这给阅读程序带来很大的方便。使用自然语言写注释,这给阅读程序带来很大的方便。一些正规的程序文本中,注释行的数量占到整个源程一些正规的程序文本中,注释行的数量占到整个源程序的序的1
23、3到到12。l注释分为注释分为序言性注释序言性注释和和功能性注释功能性注释。管理信息系统内蒙古大学计算机学院20l序言性注释序言性注释通常置于每个程序模块的开头部分,它应当通常置于每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序本身具有引导作用。给出程序的整体说明,对于理解程序本身具有引导作用。有些软件开发部门对序言性注释作了明确而严格的规定,有些软件开发部门对序言性注释作了明确而严格的规定,要求程序编制者逐项列出。要求程序编制者逐项列出。l有关项目包括:有关项目包括:.程序标题;程序标题;.有关本模块功能和目的的说明;有关本模块功能和目的的说明;.主要算法;主要算法;.接口说明
24、:包括调用形式,参数描述,子程序清单;接口说明:包括调用形式,参数描述,子程序清单;.有关数据描述:重要的变量及其用途,约束或限制条件,有关数据描述:重要的变量及其用途,约束或限制条件,以及其它有关信息;以及其它有关信息;.模块位置:在哪一个源文件中,或隶属于哪一个软件包。模块位置:在哪一个源文件中,或隶属于哪一个软件包。 管理信息系统内蒙古大学计算机学院21l书写书写功能性注释功能性注释,要注意以下几点:,要注意以下几点:.用于描述一段程序,而不是每一个语句;用于描述一段程序,而不是每一个语句;.用缩进和空行,使程序与注释容易区别;用缩进和空行,使程序与注释容易区别;.注释要正确。注释要正确
25、。管理信息系统内蒙古大学计算机学院22l视觉组织视觉组织空格、空行和缩进空格、空行和缩进l一个程序如果写得密密麻麻,分不出层次来常常是很一个程序如果写得密密麻麻,分不出层次来常常是很难看懂的。难看懂的。l优秀的程序员在利用空格、空行和缩进的技巧上显示优秀的程序员在利用空格、空行和缩进的技巧上显示了他们的经验。了他们的经验。l恰当地利用空格,可以突出运算的优先性,避免发生恰当地利用空格,可以突出运算的优先性,避免发生运算的错误。运算的错误。管理信息系统内蒙古大学计算机学院23l(2)语句结构)语句结构l在一行内只写一条语句,并且采取适当的缩进格式,在一行内只写一条语句,并且采取适当的缩进格式,使
26、程序的逻辑和功能变得更加明确。使程序的逻辑和功能变得更加明确。l程序员首先应当考虑程序的清晰性,直截了当地说程序员首先应当考虑程序的清晰性,直截了当地说明程序员的用意,不要刻意追求技巧性或程序执行速明程序员的用意,不要刻意追求技巧性或程序执行速度,使程序编写得过于紧凑和难以理解。度,使程序编写得过于紧凑和难以理解。l要保证程序正确,然后才要求提高速度。要保证程序正确,然后才要求提高速度。l避免使用临时变量而使可读性下降。避免使用临时变量而使可读性下降。l尽量用公共过程或子程序代替重复的功能代码段。尽量用公共过程或子程序代替重复的功能代码段。要注意,这段代码应具有一个独立的功能,不要只因要注意,
27、这段代码应具有一个独立的功能,不要只因代码形式一样便将其抽出组成一个公共过程或子程序代码形式一样便将其抽出组成一个公共过程或子程序(模块的偶然内聚)。(模块的偶然内聚)。管理信息系统内蒙古大学计算机学院24l使用括号清晰地表达算术表达式和逻辑表达式的运使用括号清晰地表达算术表达式和逻辑表达式的运算顺序。算顺序。l用逻辑表达式代替分支嵌套,以避免过多的循环嵌用逻辑表达式代替分支嵌套,以避免过多的循环嵌套和条件嵌套。套和条件嵌套。l尽量减少使用尽量减少使用“否定否定”条件的条件语句。条件的条件语句。l经常反躬自省:经常反躬自省:“如果我不是编码的人,我能看懂如果我不是编码的人,我能看懂它吗?它吗?
28、” 。l总之,要从程序编码的实践中,积累编制程序的经验,总之,要从程序编码的实践中,积累编制程序的经验,培养和学习良好的程序设计风格,使编写出来的程序培养和学习良好的程序设计风格,使编写出来的程序清晰易懂,易于测试和维护。在程序编码阶段改善和清晰易懂,易于测试和维护。在程序编码阶段改善和提高软件的质量。提高软件的质量。管理信息系统内蒙古大学计算机学院25l一、一、系统测试的作用和意义系统测试的作用和意义l系统测试是管理信息系统开发周期中一个十分重要而漫长系统测试是管理信息系统开发周期中一个十分重要而漫长的阶段。的阶段。l其重要性体现在它是保证系统质量与可靠性的最后关口,其重要性体现在它是保证系
29、统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。现的最终审查。l尽管在系统开发周期的各个阶段均采取了严格的技术审查,尽管在系统开发周期的各个阶段均采取了严格的技术审查,希望尽早发现问题予以修正,但依然难免遗留下差错,如希望尽早发现问题予以修正,但依然难免遗留下差错,如果没有在投入运行前的系统测试阶段被发现并纠正,问题果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价,甚至会造成不堪设想的后果。因此
30、不要以为程大的代价,甚至会造成不堪设想的后果。因此不要以为程序设计完成后系统开发工作就接近尾声了,还有大量重要序设计完成后系统开发工作就接近尾声了,还有大量重要而艰巨的系统测试工作才刚刚开始。而艰巨的系统测试工作才刚刚开始。管理信息系统内蒙古大学计算机学院26l二、二、系统测试的对象和目的系统测试的对象和目的l由于信息系统的开发很大程度上是软件系统的开发,由于信息系统的开发很大程度上是软件系统的开发,那么经过程序设计阶段以后,系统测试的对象是不是那么经过程序设计阶段以后,系统测试的对象是不是源程序呢?源程序呢?l我们知道,系统开发周期内的各个阶段是彼此衔接的,我们知道,系统开发周期内的各个阶段
31、是彼此衔接的,前一阶段发生的问题如未能及时解决,很自然会带入前一阶段发生的问题如未能及时解决,很自然会带入下一个阶段,因此在测试中发现的问题不一定是在编下一个阶段,因此在测试中发现的问题不一定是在编码阶段产生的,而是前面各阶段的错误的集中反映。码阶段产生的,而是前面各阶段的错误的集中反映。也就是说,对程序设计阶段来讲,有些错误是也就是说,对程序设计阶段来讲,有些错误是“先天先天性性”的。因此系统测试的对象显然不仅仅是源程序,的。因此系统测试的对象显然不仅仅是源程序,而应是整个软件,它把系统分析、系统设计以及程序而应是整个软件,它把系统分析、系统设计以及程序设计各阶段的开发文档以及源程序,都作为
32、测试的对设计各阶段的开发文档以及源程序,都作为测试的对象。由于象。由于“程序程序+文档文档=软件软件”,所以系统测试的对象,所以系统测试的对象是软件。是软件。管理信息系统内蒙古大学计算机学院27l三、测试的基本原则三、测试的基本原则l1、测试人员应当避免测试自己设计的程序:、测试人员应当避免测试自己设计的程序:l因为从心理学上来看,程序员和程序设计机构总认为因为从心理学上来看,程序员和程序设计机构总认为自己的程序没有错误,因此让他们测试自己的程序要自己的程序没有错误,因此让他们测试自己的程序要采用客观的态度是很困难。最好由与源程序无关的程采用客观的态度是很困难。最好由与源程序无关的程序员和程序
33、设计机构进行测试。序员和程序设计机构进行测试。l2、测试用例应该分别考虑输入和输出:、测试用例应该分别考虑输入和输出:l测试用例的设计应该由测试用例的设计应该由“确定的输入数据确定的输入数据”和和“预期预期的输出结果的输出结果”组成。在执行测试程序之前应该有很明组成。在执行测试程序之前应该有很明确的期望输出,测试后可将程序的输出与预期输出对确的期望输出,测试后可将程序的输出与预期输出对照检查。若不是先确定预期的输出,由于心理作用,照检查。若不是先确定预期的输出,由于心理作用,可能把似乎是正确而实际是错误的输出结果当成是正可能把似乎是正确而实际是错误的输出结果当成是正确的结果。确的结果。管理信息
34、系统内蒙古大学计算机学院28l3、测试数据的选取应当考虑各种不同的情况、测试数据的选取应当考虑各种不同的情况:l不仅选用合理的输入数据进行测试,还应选用不合理不仅选用合理的输入数据进行测试,还应选用不合理的甚至是错误的输入数据。因为人们常有一种自然的的甚至是错误的输入数据。因为人们常有一种自然的倾向,只注意合理数据而忽略不合理的数据。为了提倾向,只注意合理数据而忽略不合理的数据。为了提高程序的可靠性,应该认真组织一些异常数据进行测高程序的可靠性,应该认真组织一些异常数据进行测试,注意观察和分析系统的反应。试,注意观察和分析系统的反应。l4、检查程序是否执行了规定以外的操作:、检查程序是否执行了
35、规定以外的操作:l除了检查程序是否做了他应该做工作以外,还应检查除了检查程序是否做了他应该做工作以外,还应检查程序是否作它不应该做事情。比如,除了检查工资管程序是否作它不应该做事情。比如,除了检查工资管理程序是否为每一个职工正确地产生一份工资单以外,理程序是否为每一个职工正确地产生一份工资单以外,还应检查它是否产生了多余的工资单。还应检查它是否产生了多余的工资单。管理信息系统内蒙古大学计算机学院29l5、注意保留测试用例:、注意保留测试用例:l应该保留全部测试用例,并且将其作为管理信息系统应该保留全部测试用例,并且将其作为管理信息系统软件的组成部分之一。在系统的测试过程中,设计测软件的组成部分
36、之一。在系统的测试过程中,设计测试用例是很费时的,如果将用户过的例子丢弃了,需试用例是很费时的,如果将用户过的例子丢弃了,需要再测试时就需要重复很多的人工。而且人们往往不要再测试时就需要重复很多的人工。而且人们往往不愿意再次重新设计测试用例,因而下次测试就不会像愿意再次重新设计测试用例,因而下次测试就不会像初次那样全面、严格。如果将所有测试用例作为系统初次那样全面、严格。如果将所有测试用例作为系统的一部分保存下来,就可以避免这种情况发生。的一部分保存下来,就可以避免这种情况发生。管理信息系统内蒙古大学计算机学院30l6、软件中仍存在错误的概率和已经发现错误的个数是、软件中仍存在错误的概率和已经
37、发现错误的个数是成正比的。成正比的。l有时软件经测试发现了许多错误后,测试者认为可能有时软件经测试发现了许多错误后,测试者认为可能错误已找得差不多了,因而不必再继续测试了。但经错误已找得差不多了,因而不必再继续测试了。但经验和统计结果均表明,发现的错误越多,程序中潜在验和统计结果均表明,发现的错误越多,程序中潜在的错误可能会越多。的错误可能会越多。l这个事实还可用米中含沙的情况做比喻,当我们发现这个事实还可用米中含沙的情况做比喻,当我们发现手中抓到的一把米里有沙时,绝不表示米袋里的沙粒手中抓到的一把米里有沙时,绝不表示米袋里的沙粒只有这些,往往是随手一抓,手中的沙子越多,说明只有这些,往往是随
38、手一抓,手中的沙子越多,说明米中含沙量越高。米中含沙量越高。l因此,如软件经测试发现了许多错误,则继续测试发因此,如软件经测试发现了许多错误,则继续测试发现错误的可能性更大。现错误的可能性更大。管理信息系统内蒙古大学计算机学院31l测试与调试测试与调试l测试与调试意义是不同的,仅就测试而言,其目标是测试与调试意义是不同的,仅就测试而言,其目标是发现系统中的错误,但发现错误并不是我们的最终目发现系统中的错误,但发现错误并不是我们的最终目的。系统开发的最终目的是高质量的完全符合用户需的。系统开发的最终目的是高质量的完全符合用户需要的信息系统。因此测试发现问题后,还必须诊断错要的信息系统。因此测试发
39、现问题后,还必须诊断错误,改正错误,这就是调试:准确判定错误位置以及误,改正错误,这就是调试:准确判定错误位置以及具体的出错情况,继而进行改正以排除错误。具体的出错情况,继而进行改正以排除错误。管理信息系统内蒙古大学计算机学院32l四、调试的过程四、调试的过程l一个管理信息系统通常由若干个子系统组成,一个管理信息系统通常由若干个子系统组成,每个子系统又由若干个程序模块组成。所以可每个子系统又由若干个程序模块组成。所以可以把调试工作分为模块调试、子系统调试和系以把调试工作分为模块调试、子系统调试和系统总体调试三各层次,调试过程依次是模块调统总体调试三各层次,调试过程依次是模块调试、子系统调试(或
40、分调)和系统调试(或联试、子系统调试(或分调)和系统调试(或联调)。调)。l另外还可以增加实况考试,即用企业原有历史另外还可以增加实况考试,即用企业原有历史数据去拟合新系统。数据去拟合新系统。管理信息系统内蒙古大学计算机学院33模块调试模块调试子系统子系统1子系统子系统2子系统子系统k系系统统 分调分调联调联调管理信息系统内蒙古大学计算机学院34l穷举测试与选择测试穷举测试与选择测试l既然测试的目的在于寻找错误,并且找出的错既然测试的目的在于寻找错误,并且找出的错误越多,测试就越成功,那么能不能通过测试误越多,测试就越成功,那么能不能通过测试把所有隐藏的错误全部找出来呢?把所有隐藏的错误全部找
41、出来呢?l换句话说,能否将所有可能发现错误的测试都换句话说,能否将所有可能发现错误的测试都做完呢?我们把能够包含所有可能情况的测试做完呢?我们把能够包含所有可能情况的测试称为穷举测试。称为穷举测试。l例如:穷举测试例如:穷举测试管理信息系统内蒙古大学计算机学院35l从程序入口从程序入口A到程序到程序出口出口B的路径数高达的路径数高达520 ,近似,近似1014个可能个可能的路径。若每毫秒测的路径。若每毫秒测试一个路径,则需要试一个路径,则需要花费花费3170年才能测试年才能测试完该程序。完该程序。循环20次AB管理信息系统内蒙古大学计算机学院36l五、模块测试五、模块测试l模块测试是单个模块进
42、行的测试,是系统测试的基础。模块测试是单个模块进行的测试,是系统测试的基础。模块测试的目的是保证每个模块本身正常运行。模块测试的目的是保证每个模块本身正常运行。l1 1、模块测试的基本方法、模块测试的基本方法l(1)(1)静态测试:静态测试是在模块上机运行之前,通过静态测试:静态测试是在模块上机运行之前,通过阅读程序和人工走查的方法发现程序中的语法错误和阅读程序和人工走查的方法发现程序中的语法错误和逻辑错误。只要认真检查,可以发现绝大部分的语法逻辑错误。只要认真检查,可以发现绝大部分的语法错误或部分的逻辑错误。错误或部分的逻辑错误。l(2)(2)动态测试:就是模块上机运行测试。总的看来语法动态
43、测试:就是模块上机运行测试。总的看来语法错误比较容易发现和修改,追踪逻辑错误则比较困难。错误比较容易发现和修改,追踪逻辑错误则比较困难。为了有效地发现并改正逻辑错误,除了要充分利用所为了有效地发现并改正逻辑错误,除了要充分利用所有高级语言提供的调试机制和软件工具外,还需要掌有高级语言提供的调试机制和软件工具外,还需要掌握测试技术。握测试技术。管理信息系统内蒙古大学计算机学院37l2 2、模块测试内容:、模块测试内容:l模块测试主要从下述五个方面去检验模块:模块测试主要从下述五个方面去检验模块:l(1)模块接口:测试信息能否正确无误地流入、流出模)模块接口:测试信息能否正确无误地流入、流出模块。
44、块。l(2)模块内部之数据结构:测试内部数据的完整性,包)模块内部之数据结构:测试内部数据的完整性,包括内容、形式及相互关系。括内容、形式及相互关系。l(3)逻辑路径:测试应覆盖模块中关键的逻辑路径。)逻辑路径:测试应覆盖模块中关键的逻辑路径。l(4)出错处理:测试模块对错误及产生错误的条件的预)出错处理:测试模块对错误及产生错误的条件的预见能力,并且检测其出错处理是否适当。见能力,并且检测其出错处理是否适当。l(5)边界条件:软件往往容易在边界条件上发生问题,)边界条件:软件往往容易在边界条件上发生问题,如循环的第一次和最后一次执行,判断选择的边界值等。如循环的第一次和最后一次执行,判断选择
45、的边界值等。管理信息系统内蒙古大学计算机学院38l3 3、动态测试的实现原理、动态测试的实现原理l(1)黑盒测试:也称功能测试,将模块看作黑盒子,在完)黑盒测试:也称功能测试,将模块看作黑盒子,在完全不考虑模块的内部结构和特性的情况下,测试模块的外全不考虑模块的内部结构和特性的情况下,测试模块的外部特性。根据模块的需求规格说明书设计测试用例,从模部特性。根据模块的需求规格说明书设计测试用例,从模块的输入和输出特性上测试是否满足设定的功能。块的输入和输出特性上测试是否满足设定的功能。l(2)白盒测试:也称结构测试,将模块看作一个透明的白)白盒测试:也称结构测试,将模块看作一个透明的白盒子,按照模
46、块的内部结构和处理逻辑来选定测试用例,盒子,按照模块的内部结构和处理逻辑来选定测试用例,对模块的逻辑路径及过程进行测试,检查它与设计是否相对模块的逻辑路径及过程进行测试,检查它与设计是否相符。符。l无论黑盒测试还是白盒测试,都不能将程序中的所有错误无论黑盒测试还是白盒测试,都不能将程序中的所有错误全部检查出来;因为黑盒测试不可能将所有的输入情况都全部检查出来;因为黑盒测试不可能将所有的输入情况都测试一遍,白盒测试也不能穷举模块中的所有可能路径。测试一遍,白盒测试也不能穷举模块中的所有可能路径。在实际工作中,可以根据黑盒测试和白盒测试的基本原理在实际工作中,可以根据黑盒测试和白盒测试的基本原理按
47、照下述三种方法进行模块测试。按照下述三种方法进行模块测试。管理信息系统内蒙古大学计算机学院39l4 4、等价分类法、等价分类法l根据选择测试思想,在所有可能的输入数据中取一个根据选择测试思想,在所有可能的输入数据中取一个有限的子集,作为测试用数据。通常在黑盒测试中将有限的子集,作为测试用数据。通常在黑盒测试中将模块的输入域划分成有效等价类(模块中符合规范的模块的输入域划分成有效等价类(模块中符合规范的输入)和无效等价类(模块中非法的输入)两种。输入)和无效等价类(模块中非法的输入)两种。l例如,某模块的合理输入是例如,某模块的合理输入是0一一100,则大于等于,则大于等于0且小且小于等于于等于
48、100的数据属于有效等价数据;小于的数据属于有效等价数据;小于0或大于或大于100的数据为无效等价类,测试数据可以从这两个等价类的数据为无效等价类,测试数据可以从这两个等价类中抽取。中抽取。管理信息系统内蒙古大学计算机学院40l5 5、边缘分析法、边缘分析法l这也是一个黑盒测试法。在编写程序时,人们往往只这也是一个黑盒测试法。在编写程序时,人们往往只注意正常情况,忽视了边界条件下的程序运行状态。注意正常情况,忽视了边界条件下的程序运行状态。因此,在测试过程中边缘值常被用来作为测试数据。因此,在测试过程中边缘值常被用来作为测试数据。l如模块的有效值是如模块的有效值是0一一100,则可以取,则可以
49、取-0.1,0.1,99.9,100.1作为测试数据。作为测试数据。管理信息系统内蒙古大学计算机学院41l6 6、逻辑覆盖法、逻辑覆盖法l用白箱法测试模块时,要执行程序中的每一条路径,用白箱法测试模块时,要执行程序中的每一条路径,当程序中有循环存在时,要测试程序中的每一条路径当程序中有循环存在时,要测试程序中的每一条路径是不可能的。而用逻辑覆盖法测试模块,只能希望覆是不可能的。而用逻辑覆盖法测试模块,只能希望覆盖的程度尽可能高一些。盖的程度尽可能高一些。l通过下面的例子说明逻辑覆盖测试的方法。通过下面的例子说明逻辑覆盖测试的方法。管理信息系统内蒙古大学计算机学院42PROCEDURE EXAM
50、PLE1 PARAMETER A,B,X IF (A1) .AND. (B=0) X=X/A ENDIF IF (A=2) .OR. (X1) X=X+1 ENDIFYNA1 And B=0A=2 OR X1X=X/AX=X+1bcNdYea管理信息系统内蒙古大学计算机学院43l(1)判断覆盖判断覆盖:l 即让程序中每个判断语句至少获得一次即让程序中每个判断语句至少获得一次“真真”值和值和“假假”值。以上图为例,如果一次两组测试数据,使值。以上图为例,如果一次两组测试数据,使它们能够通过路径它们能够通过路径ace和和abd,或者通过路径,或者通过路径acd和和abe,就可以达到就可以达到“判断
51、覆盖判断覆盖”的要求。的要求。l选择:选择: A=3,B=0,X=1(沿(沿a,c,d) A=2,B=1,X=3(沿(沿a,b,e )管理信息系统内蒙古大学计算机学院44l(2)条件覆盖条件覆盖:l通常一个判断语句中往往含多个条件,能使这些条件通常一个判断语句中往往含多个条件,能使这些条件的各种可能取值出现的测试方法称之为条件覆盖,它的各种可能取值出现的测试方法称之为条件覆盖,它比判断覆盖在测错能力上强些。比判断覆盖在测错能力上强些。l在上例中两个判断语句共包括四个条件:在上例中两个判断语句共包括四个条件: A1, B=0和和A=2, X1l选择测试数据使选择测试数据使a点上:点上:A1,A1
52、,X1,B=0和和A=2,X1两种情况出现两种情况出现(沿路径(沿路径ace););l A=2,B=l,X=1使使Al,B0和和A=2,X=1两种情况两种情况出现(沿路径出现(沿路径abe););l A=l,B=0,X=2使使A=1,B=0和和A2,Xl两种情况出两种情况出现(沿路径现(沿路径abe););l A=l,B=1,X=1使使A=1,B0和和A2,X80%维护成本维护成本40%-60%维护成本维护成本30%-40%70-80年代年代80-90年代年代2000年之后年之后管理信息系统内蒙古大学计算机学院76l1、系统维护的定义、系统维护的定义l系统维护是指新的管理信息系统运行以后,为了
53、改正系统维护是指新的管理信息系统运行以后,为了改正错误或满足新的需求而修改系统的过程。根据维护活错误或满足新的需求而修改系统的过程。根据维护活动的目的不同,可把系统维护分为改正性维护、适应动的目的不同,可把系统维护分为改正性维护、适应性维护、完善性维护和预防性维护四类。性维护、完善性维护和预防性维护四类。l(1 1)改正)改正/ /纠错性维护纠错性维护l由于系统测试不可能揭露系统存在的所有错误,因此由于系统测试不可能揭露系统存在的所有错误,因此在系统投入运行后频繁的实际应用过程中,就有可能在系统投入运行后频繁的实际应用过程中,就有可能暴露出系统内隐藏的错误,诊断和修正系统中遗留的暴露出系统内隐
54、藏的错误,诊断和修正系统中遗留的错误,就是纠错性维护。错误,就是纠错性维护。管理信息系统内蒙古大学计算机学院77l(2 2)适应性维护)适应性维护l适应性维护是为了使系统适应环境的变化而进行的维适应性维护是为了使系统适应环境的变化而进行的维护工作。一方面信息系统的寿命一般要超过系统当初护工作。一方面信息系统的寿命一般要超过系统当初开发时的环境的寿命,所以要求信息系统能够适应新开发时的环境的寿命,所以要求信息系统能够适应新的软硬件环境,以提高系统的性能和运行效率;另一的软硬件环境,以提高系统的性能和运行效率;另一方面,信息系统要适应组织机构的调整、管理体制的方面,信息系统要适应组织机构的调整、管
55、理体制的改变、数据与信息需求的变更等都将导致系统不能适改变、数据与信息需求的变更等都将导致系统不能适应新的应用环境。应新的应用环境。管理信息系统内蒙古大学计算机学院78l(3 3)完善性维护)完善性维护l在系统的使用过程中,用户往往要求扩充原有系统的在系统的使用过程中,用户往往要求扩充原有系统的功能,提高其性能,如增加数据输出的图形方式,增功能,提高其性能,如增加数据输出的图形方式,增加联机在线帮助功能、调整用户界面等等为了满足这加联机在线帮助功能、调整用户界面等等为了满足这些要求而进行的系统维护工作就是完善性维护。些要求而进行的系统维护工作就是完善性维护。l(4 4)预防性维护)预防性维护l
56、系统维护工作不应总是被动地等待用户提出要求后才系统维护工作不应总是被动地等待用户提出要求后才进行,应进行主动的预防性维护,即选择那些还有较进行,应进行主动的预防性维护,即选择那些还有较长使用寿命,目前尚能正常运行,但可能将要发生变长使用寿命,目前尚能正常运行,但可能将要发生变化或调整的系统进行维护,目的是通过预防性维护为化或调整的系统进行维护,目的是通过预防性维护为未来的修改与调整奠定更好的基础。未来的修改与调整奠定更好的基础。管理信息系统内蒙古大学计算机学院79完善性维护完善性维护 占占50%左右左右适应性维护适应性维护 占占25%左右左右改正性维护改正性维护 占占21%左右左右预防性维护预
57、防性维护 占占4%左右左右管理信息系统内蒙古大学计算机学院80l2、系统维护工作的内容、系统维护工作的内容l(1 1)系统应用程序维护)系统应用程序维护l系统的业务处理过程是通过应用程序的运行而实现的,系统的业务处理过程是通过应用程序的运行而实现的,一旦程序发生问题或业务发生变化,就必然地引起程一旦程序发生问题或业务发生变化,就必然地引起程序的修改和调整,因此系统维护的主要活动是对程序序的修改和调整,因此系统维护的主要活动是对程序进行维护。程序维护时通常要充分利用原有的程序,进行维护。程序维护时通常要充分利用原有的程序,修改后要填写程序修改登记表,写明新、旧程序的不修改后要填写程序修改登记表,
58、写明新、旧程序的不同之处。同之处。管理信息系统内蒙古大学计算机学院81l(2)数据维护)数据维护l业务处理对数据的需求是不断发生变化的,除了系统业务处理对数据的需求是不断发生变化的,除了系统中主体业务数据的定期正常更新外,还有许多数据需中主体业务数据的定期正常更新外,还有许多数据需要进行不定期的更新,或随环境或业务的变化而进行要进行不定期的更新,或随环境或业务的变化而进行调整,以及数据内容的增加、数据结构的调整。此外,调整,以及数据内容的增加、数据结构的调整。此外,数据的备份与恢复等,都是数据维护的工作内容。数据的备份与恢复等,都是数据维护的工作内容。l(3)代码维护)代码维护l随着系统应用范
59、围的扩大、应用环境的变化,原有代随着系统应用范围的扩大、应用环境的变化,原有代码如果不能继续适应新的要求,就必须对代码进行变码如果不能继续适应新的要求,就必须对代码进行变更。变更代码时,由现场业务人员和维护人员共同讨更。变更代码时,由现场业务人员和维护人员共同讨论新的代码体系。论新的代码体系。管理信息系统内蒙古大学计算机学院82l(4 4)硬件设备维护)硬件设备维护l 主要是指对主机及外设的日常维护和管理,如机器主要是指对主机及外设的日常维护和管理,如机器部件的清洗、润滑,设备故障的检修,易损部件的更部件的清洗、润滑,设备故障的检修,易损部件的更换等,都应由专人负责,定期进行,填写相关的设备换
60、等,都应由专人负责,定期进行,填写相关的设备故障和维护表格,以便设备维护工作的开展,从而保故障和维护表格,以便设备维护工作的开展,从而保证系统正常有效地运行。证系统正常有效地运行。管理信息系统内蒙古大学计算机学院83l3、系统维护的过程和注意事项、系统维护的过程和注意事项l许多人认为系统的维护要比系统开发容易,其实在更许多人认为系统的维护要比系统开发容易,其实在更多的情况下,维护工作比开发工作更的困难。这是因多的情况下,维护工作比开发工作更的困难。这是因为维护人员必须用更多的时间理解别人编写程序和文为维护人员必须用更多的时间理解别人编写程序和文档,且对系统的修改不能影响该程序的正确性和完整档,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中四年总结怎么写
- 2024-2025 学年成都市小学五年级科学期中模拟卷(带答案详解)
- 高中语文必修上册同步练习 含答案-第7单元 故都的秋
- 2025年基护护理试题及答案
- 2025年超声考试初级试题及答案
- 2025年高中政治下学期模拟试卷
- 2025房产买卖合同样本
- 发展公共交通系统降低碳排放量
- 2025商业房产定金买卖合同
- 2025年临床药师培训基地年终总结
- 冷链物流安全生产管理制度
- 充电桩备案申请书
- 单位涉密人员保密审查表
- MOOC 食品营养学-福建农林大学 中国大学慕课答案
- 变电运维管理规定(试行)第3分册组合电器运维细则
- 《小英雄雨来》整本书阅读教学设计
- 气箱脉冲袋式除尘器说明书
- 比较思想政治教育学11
- 病人欠费催缴通知单
- GB/T 23180-2008饲料添加剂2%d-生物素
- GB/T 16857.901-2020产品几何技术规范(GPS)坐标测量机的验收检测和复检检测第901部分:配置多影像探测系统的坐标测量机
评论
0/150
提交评论