收藏 分享(赏)

《物流信息系统》课件第7章.pptx

上传人:bubibi 文档编号:21705278 上传时间:2024-04-13 格式:PPTX 页数:52 大小:1.91MB
下载 相关 举报
《物流信息系统》课件第7章.pptx_第1页
第1页 / 共52页
《物流信息系统》课件第7章.pptx_第2页
第2页 / 共52页
《物流信息系统》课件第7章.pptx_第3页
第3页 / 共52页
《物流信息系统》课件第7章.pptx_第4页
第4页 / 共52页
《物流信息系统》课件第7章.pptx_第5页
第5页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、SCM第第7章章 物流信息系统开发与实施物流信息系统开发与实施学学习习目目标标01熟悉物流信息系统实施阶段的任务与特点02了解程序设计的方法03掌握系统测试的目的、类型、方法及技术04掌握系统转换的方式及优缺点05熟悉系统维护的内容和类型本章目录本章目录1物流信息系统实施概述物流信息系统实施概述2345程序设计与系统测试程序设计与系统测试系统转换系统转换系统实施环境的建立系统实施环境的建立系统运行与维护系统运行与维护第 一 节 物流信息系统实施概述CONTENTS一系统实施的主要任务系统实施的特点二系系统统实实施施的的主主要要任任务务一、一、(一)硬件准备(一)硬件准备(一)硬件准备(一)硬件

2、准备按总体设计方案购置和安装计算机网络系统,具体包括计算机主机、输入按总体设计方案购置和安装计算机网络系统,具体包括计算机主机、输入/输出设备、存输出设备、存储设备、辅助设备和通信设备等。储设备、辅助设备和通信设备等。(二)软件准备(二)软件准备(二)软件准备(二)软件准备软件设备包括系统软件、数据库管理系统以及一些应用程序。特别是建立数据库系统、程软件设备包括系统软件、数据库管理系统以及一些应用程序。特别是建立数据库系统、程序设计和调试。序设计和调试。(三(三(三(三)人员培训)人员培训)人员培训)人员培训人员培训主要是指用户的培训,用户包括主管人员和业务人员。这些人员多数来自现行系人员培训

3、主要是指用户的培训,用户包括主管人员和业务人员。这些人员多数来自现行系统,精通业务,但往往缺乏计算机知识。为保证系统调试和运行顺利进行,应根据他们的基础,统,精通业务,但往往缺乏计算机知识。为保证系统调试和运行顺利进行,应根据他们的基础,提前进行培训,使他们适应并逐步熟悉新的操作环境。信息系统人员,如用户顾问,应当确保提前进行培训,使他们适应并逐步熟悉新的操作环境。信息系统人员,如用户顾问,应当确保终端用户接受过如何运行新业务系统的培训,否则就会导致实施过程的失败。终端用户接受过如何运行新业务系统的培训,否则就会导致实施过程的失败。(四)数据准备(四)数据准备(四)数据准备(四)数据准备数据的

4、收集、整理和录入是一项繁琐、劳动量大的工作。一般来说,确定数据库物理模型数据的收集、整理和录入是一项繁琐、劳动量大的工作。一般来说,确定数据库物理模型后,就应进行数据的整理和录入。这样,既分散了工作量,又可以为系统调试提供真实的数据。后,就应进行数据的整理和录入。这样,既分散了工作量,又可以为系统调试提供真实的数据。系系统统实实施施的的特特点点二、二、与系统分析、系统设计阶段相比,系统实施的特点是工作量与系统分析、系统设计阶段相比,系统实施的特点是工作量大,投入的人力、物力多。因此,系统的实施是一个艰难且费时大,投入的人力、物力多。因此,系统的实施是一个艰难且费时的过程。但是,对于确保任何新系

5、统的成功开发来说,它又是至的过程。但是,对于确保任何新系统的成功开发来说,它又是至关重要的。即使是一个设计良好的系统,如果没有正确的实施,关重要的。即使是一个设计良好的系统,如果没有正确的实施,也会导致失败。若在实施过程中进行项目管理,对保证整个系统也会导致失败。若在实施过程中进行项目管理,对保证整个系统的成功开发是有很大帮助的。的成功开发是有很大帮助的。计算机系统的选择计算机系统的选择计算机系统的选择计算机系统的选择计算机网络系统的选择计算机网络系统的选择计算机网络系统的选择计算机网络系统的选择软件的安装软件的安装软件的安装软件的安装系统环境的调试系统环境的调试系统环境的调试系统环境的调试系

6、系统统实实施施环环境境的的建建立立第二节计计算算机机系系统统的的选选择择计算机系统由硬件(子)系统和软件(子)系统组成。前者是计算机系统由硬件(子)系统和软件(子)系统组成。前者是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统赖以工作的实体。后者是各种程序和文件,用于指挥全系统按系统赖以工作的实体。后者是各种程序和文件,用于指挥全系统按指定的要求进行工作。指定的要求进行工作。硬件系统主要由中央处理器、存储器、输入输出控制系统和各硬件系统主要由中央处理器、存储器、输入输出控制系统和各种外部设备组成。软件分为系统软件、支撑软

7、件和应用软件。种外部设备组成。软件分为系统软件、支撑软件和应用软件。在配置计算机系统时,首先要能够满足物流信息系统的基本要在配置计算机系统时,首先要能够满足物流信息系统的基本要求。此外,还应考虑计算机系统是否具有合理的性价比、系统是否求。此外,还应考虑计算机系统是否具有合理的性价比、系统是否具有良好的扩充性、能否得到来自供应商的售后服务和技术支持等。具有良好的扩充性、能否得到来自供应商的售后服务和技术支持等。一、一、计计算算机机网网络络系系统统的的选选择择计算机网络系统就是利用通信设备和线路将地理位置不同、功能独立计算机网络系统就是利用通信设备和线路将地理位置不同、功能独立的多个计算机系统互联

8、起来,以功能完善的网络软件实现网络中资源共的多个计算机系统互联起来,以功能完善的网络软件实现网络中资源共享和信息传递的系统。享和信息传递的系统。构成计算机网络系统的要素:构成计算机网络系统的要素:(1 1)计算机系统:工作站(终端设备)、网络服务器。)计算机系统:工作站(终端设备)、网络服务器。(2 2)网络通信设备:包括网卡、集线器、交换机、路由器等。)网络通信设备:包括网卡、集线器、交换机、路由器等。(3 3)网络外部设备:如高性能打印机、大容量硬盘等)网络外部设备:如高性能打印机、大容量硬盘等(4 4)网络软件:包括网络操作系统;客户连接软件;网络管理软件)网络软件:包括网络操作系统;客

9、户连接软件;网络管理软件等。等。在进行计算机网络系统实施时,根据所开发的物流信息系统所需要的在进行计算机网络系统实施时,根据所开发的物流信息系统所需要的网络环境进行各要素配置。网络环境进行各要素配置。二、二、软软件件的的安安装装软件安装是为计算机系统装入应用系统开发和运行的软件环境。软件安装是为计算机系统装入应用系统开发和运行的软件环境。从底层到高层要安装操作系统、网络管理系统、文字处理系统、从底层到高层要安装操作系统、网络管理系统、文字处理系统、数据库管理系统、程序设计语言系统和开发应用工具软件等。安数据库管理系统、程序设计语言系统和开发应用工具软件等。安装软件时要注意软件的版本要符合机器的

10、型号与配置,注重软件装软件时要注意软件的版本要符合机器的型号与配置,注重软件之间的相互支持与兼容性。之间的相互支持与兼容性。三、三、系系统统环环境境的的调调试试当开发的物流信息系统所需的软件与硬件安装完后,需要对系当开发的物流信息系统所需的软件与硬件安装完后,需要对系统的整个软件和硬件环境测试,重点测试系统主机、外设(输入、统的整个软件和硬件环境测试,重点测试系统主机、外设(输入、输出及存储设备),网络系统和软件四个方面。内容包括软硬件输出及存储设备),网络系统和软件四个方面。内容包括软硬件运行情况与性能指标测试,多用户联机通信的效率测试和软件与运行情况与性能指标测试,多用户联机通信的效率测试

11、和软件与硬件的匹配测试等。硬件的匹配测试等。系统环境还包括机房环境(包括机房的温度、湿度、无尘化、系统环境还包括机房环境(包括机房的温度、湿度、无尘化、防静电等)、电力供应(包括备用电源、不间断电源防静电等)、电力供应(包括备用电源、不间断电源UPSUPS等)、安等)、安全设施等因素。在系统实施时,要充分考虑到与系统运行相关的全设施等因素。在系统实施时,要充分考虑到与系统运行相关的各种环境因素,这样才能为系统日后的正常运行奠定基础。各种环境因素,这样才能为系统日后的正常运行奠定基础。四、四、程序设计一系统测试二第三节 程序设计与系统测试程程序序设设计计(一)(一)(二)(二)程序设计方法(三)

12、(三)软件开发工具程序设计的原则一、一、程程序序设设计计的的原原则则一般情况下认为一个好的程序应遵循以下原则:一般情况下认为一个好的程序应遵循以下原则:1 1能工作:能工作:能工作:能工作:基本原则。基本原则。2 2调试代价低:调试代价低:调试代价低:调试代价低:在调试上花费的时间少。在调试上花费的时间少。3 3易于维护:易于维护:易于维护:易于维护:一个不易维护的程序,其寿命也不长。一个不易维护的程序,其寿命也不长。4 4具有可靠性:具有可靠性:具有可靠性:具有可靠性:程序应具有较好的容错能力。程序应具有较好的容错能力。5 5易于理解:易于理解:易于理解:易于理解:程序不仅要逻辑正确,计算机

13、能够执行,而且应程序不仅要逻辑正确,计算机能够执行,而且应当层次清楚,便于阅读。当层次清楚,便于阅读。6 6效率高:效率高:效率高:效率高:提高程序设计人员的工作效率,不仅能降低软件开提高程序设计人员的工作效率,不仅能降低软件开发成本,而且可明显降低程序的出错率,进而减轻维护人员的工作发成本,而且可明显降低程序的出错率,进而减轻维护人员的工作负担。负担。(一)(一)程序设计方法结构化程序设计1(二)面向对象程序设计2速成原型式的程序设计3可视化编程技术4(1 1)产生)产生结构化程序设计由迪克斯特拉(结构化程序设计由迪克斯特拉(E.W.dijkstraE.W.dijkstra)在)在19691

14、969年提出,是以模块化设计为中心,年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。明确,为设计一些较大的软件打下了良好的基础。(2 2)基本结构)基本结构在具体编程中,结构化程序设计方法是采用在具体编程中,结构化程序设计方法是采用3 3种基本的逻辑结构来编写程序:顺序结构、种基本的逻辑结构来编写程序:顺序结构、循环结构和选择结构,如图循环结构和选择结构,如图7-17-1所示。所示。结结构构化化程程序序设设计计

15、1图7-1 三种基本控制结构结结构构化化程程序序设设计计1(3 3 3 3)基本思想:)基本思想:)基本思想:)基本思想:采用自顶向下,逐步求精的程序设计方法采用自顶向下,逐步求精的程序设计方法使用三种基本控制结构构造程序使用三种基本控制结构构造程序(4 4 4 4)设计语言:)设计语言:)设计语言:)设计语言:主要的结构化程序设计语言有主要的结构化程序设计语言有C C、FORTRANFORTRAN、PASCALPASCAL、AdaAda、BASIC BASIC 等。等。(5 5 5 5)适用情况:)适用情况:)适用情况:)适用情况:结构化程序设计又称为面向过程的程序设计。在面向过程程序设计中

16、,问题被结构化程序设计又称为面向过程的程序设计。在面向过程程序设计中,问题被看作一系列需要完成的任务,函数(在此泛指例程、函数、过程)用于完成这些任务,看作一系列需要完成的任务,函数(在此泛指例程、函数、过程)用于完成这些任务,解决问题的焦点集中于函数。其中函数是面向过程的,即它关注如何根据规定的条件解决问题的焦点集中于函数。其中函数是面向过程的,即它关注如何根据规定的条件完成指定的任务。完成指定的任务。(6 6 6 6)特点)特点)特点)特点结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死结构化程序中的任意基本结构都具有唯一入口和唯一出口,并且程序不会出现死循环。循环。

17、在程序的静态形式与动态执行流程之间具有良好的对应关系。在程序的静态形式与动态执行流程之间具有良好的对应关系。结结构构化化程程序序设设计计1(7 7 7 7)优点)优点)优点)优点整体思路清楚,目标明确。整体思路清楚,目标明确。设计工作中阶段性非常强,有利于系统开发的总体管理和控制。设计工作中阶段性非常强,有利于系统开发的总体管理和控制。在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。(8 8 8 8)缺点)缺点)缺点)缺点用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许用户要求难以在系统分析阶段准确定义,致使系统在交

18、付使用时产生许多问题。多问题。用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。系统的开发周期长。系统的开发周期长。面面向向对对象象程程序序设设计计2(1)产生 1967年挪威计算中心的Kisten Nygaard和Ole Johan Dahl开发了Simula67语言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,它被认为是第一个面向对象语言。“对象”和“对象的属性”这样的概念可以追溯到20世纪50年代初,它们首先出现于关于人工智能的早期著作中。但是出现了面向对象语言之后,面向对象思想才得到了迅速的发展。

19、汇编语言出现后,程序员就避免了直接使用0-1,而是利用符号来表示机器指令,从而更方便地编写程序;当程序规模继续增长的时候,出现了Fortran、C、Pascal等高级语言,这些高级语言使得编写复杂的程序变得容易,程序员们可以更好地对付日益增加的复杂性。但是,如果软件系统达到一定规模,即使应用结构化程序设计方法,局势仍将变得不可控制。作为一种降低复杂性的工具,面向对象语言产生了,面向对象程序设计也随之产生。如今,面向对象程序设计已成为软件产业的主体技术。(2)基本概念 面向对象方法以客观世界中的对象为中心,其分析和设计思想符合人们的思维方式,分析和设计的结果与客观世界中的实际比较接近,容易被人们

20、所接受,主要包括对象、类、继承、消息、多态性等基本概念。面面向向对对象象程程序序设设计计2对象在OOP方法中,一个对象是一个独立存在的实体,每个对象都有各自的属性和行为。每个对象都有它自己的属性值,表示该对象的状态。对象中的属性只能通过该对象所提供的操作来存取或修改。操作也称为方法或服务,它规定了对象的行为,表示对象所能提供的服务。封装是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。封装的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。一个对象通常可由对象名、属性和操作三部分组成。类类是一组具有相同属性和相同操作的对象的集合。一个类中的每个对象都是

21、这个类的一个实例。在分析和设计时,通常把注意力集中在类上,而不是具体的对象,同时,也不必为每个对象逐个定义,只需对类做出定义,而对类的属性的不同赋值即可得到该类的对象实例。继承继承是类间的一种基本关系,是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个子类只有惟一的一个父类,这种继承称为单一继承。一个子类也可以有多个父类,它可以从多个父类中继承特性,这种继承称为多重继承。面面向向对对象象程程序序设设计计2消息消息是传递对象间通信的手段,一个对象通过向另一对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数。消息只告诉接收对象需要完成什么操作,但并不指示接收者

22、怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。多态性多态性是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。图7-2所示是一个类、对象和继承的例子。图7-2 类、对象和继承实例速速成成原原型型式式的的程程序序设设计计3这种方法在程序设计阶段的具体实施步骤如下:(1)将HIPO图中类似带有普遍性的功能模块集中起来,例如,菜单模块、报表模块、查询模块、统计分析和图形模块等。这些模块几乎是每个子系统都必不可少的。(2)寻找有无相应、可用的软件工具。如果没有,则可以考虑开发一个能够适合各子系统情况的通用模块。用这些工具生成这些程序模型原型。如果H

23、IPO图中有一些特定的处理功能和模型,而这些功能和模型又是现有工具不可能生成出来的,则再考虑编制一段程序加进去。这样,利用现有的工具和原型方法可以很快地开发出所要的程序。可可视视化化编编程程技技术术4可视化编程技术的主要思想是用图形工具和可重用部件来交互地编制程序。它把现有的或新建的模块代码封装于标准接口的封包中,作为可视化编程编辑工具中的一个对象,用图符来表示和控制。可视化编程技术中的封包可能由某种语言的一个语句、功能模块或数据库程序组成,由此获得的是高度的平台独立性和可移植性。在可视化编程环境中,用户还可以自己构造可视控制部件,或引用其他环境构造的、符合封包接口规范的可视控制部件,增加了编

24、程的效率和灵活性。可视化编程一般基于事件驱动的原理。用户界面中包含各种类型的可视控制部件,如按钮、列表框和滚动条等,每个可视控制部件对应多个事件和事件驱动程序。发生于可视控制部件上的事件触发对应的事件驱动程序,完成各种操作。编程人员可以在可视化编程工具的帮助下,利用鼠标建立、复制、缩放、移动或清除各种已提供的控件,然后再利用该可视化编程工具提供的语言编写每个控件对应的事件程序,最后可以用解释方式运行来测试程序。这样,通过一系列的交互设计就能很快地完成一个应用项目的编程工作。另外,一般可视化编程工具还有应用专家或应用向导提供模板,按照步骤对使用者进行交互式指导,让用户定制自己的应用,然后就可以生

25、成应用程序的框架代码,随后用户可在适当的地方添加或修改以适应自己的需求。软件开发工具常用编程语言类1(三)数据库管理系统类2程序生成工具类3系统开发工具类4客户/服务器工具类5面向对象编程工具类6常用编程语言是指由传统编程工具发展而来的一类程序设计语言。管理领域中比较常用的有:C语言、C语言、COBOL语言、PL/1语言、PROLOG语言以及OPS语言等。由于这类编程语言提供的是程序设计全集的基本集合,因此没有很强的针对性,适应范围比较广,原则上任何功能模块都可以用这类编程语言来实现。正是由于它们适应范围广,因而也使程序设计人员在编程时的复杂程度增加,从而使程序设计的工作量变得较大。随着计算机

26、应用的深入发展,管理信息系统的程序规模日益增大,采用的程序设计语言也逐渐发生变化,选择适合于管理信息系统的程序设计语言应该考虑的方面有:语言的结构化机制与数据管理能力;语言可提供的交互功能;有较丰富的软件工具;开发人员的熟练程度;软件可移植性要求;系统用户的要求。常常用用编编程程语语言言类类1数据库管理系统是信息系统数据存放的中心和整个系统数据传递和交换的枢纽,对信息系统而言是至关重要的。目前,数据库软件工具产品可以分为两大类,一类是在大型机上运行的数据库管理系统,另一类是在微机上运行的数据库管理系统。大型机上运行的大型数据库管理系统,规模较大,功能也比较齐全,目前比较典型的系统有Oracle

27、、Sybase、Ingres、Informax和DB2等。这类系统比较适合大型综合类系统的开发。目前在微机上运行的数据库管理系统,其典型的代表是xBASE系列、FoxPro的各种版本和Microsoft Access等。这种数据库系统以微机和关系数据库为基础,提供了一系列围绕数据库的各种操作、数据处理和程序设计的命令集。简单易学、方便实用是这类数据库的最大特点。数数据据库库管管理理系系统统类类2程序生成工具也称为第四代程序生成语言(4th Generation Language,4GL),是一种基于常用数据处理功能和程序之间的对应关系的自动编程工具。曾经流行的产品有:应用系统建造工具(Appl

28、ication Builder,AB)、屏幕生成工具、报表生成工具以及综合程序生成工具等,它们的一个显著特点就是它们必须针对几类常见的程序设计语言。目前,这类工具的一个发展趋势就是向功能的大型综合化、生成程序模块语言的专一化的方向发展。程程序序生生成成工工具具类类3系统开发工具是在程序生成工具的基础上进一步发展而来的,因此它不但具有4GL的功能和特点,同时更加综合化、图形化,给程序设计人员带来了更多的便利。目前这类工具主要有两类:专用开发工具类和综合开发工具类。(1)专用开发工具类,就是指对应用领域和待开发功能针对性都较强的一类系统开发工具。这一类工具主要有:专门用于开发查询模块用的SQL、专

29、门用于开发数据处理模块用的SDK、专门用于人工智能和符号处理的Prolog for Windows以及专门用于开发产生式规则知识处理系统的OPS等。这类工具显著的特点是针对性比较强,可以帮助用户开发出相对深入的信息处理模块。(2)综合开发工具类,就是针对开发一般应用系统和数据处理功能的一类系统开发工具,因此其特点就是可以最大限度地适用于一般应用系统的开发和生成。常见的工具有:FoxPro、VB、Visual C+、CASE和Team Enterprise Developer等。虽然这类开发工具不能帮助程序设计人员生成一个完全可用的系统,但可在一定程度上帮助开发人员生成应用系统中的大部分常见处理

30、功能;而对于那些特殊的处理模块还是需要程序设计人员手工编制,才能最后实现整个系统。系系统统开开发发工工具具类类4客户/服务器工具是迄今软件工具发展中出现的比较新的开发工具。这一类工具的基本思想和概念主要继承了人类处理问题的“专业化分工协作”的思想。C/S工具解决问题的基本思路就是在原有开发工具的基础上,将原有工具改变为一个既可以被其他工具所调用,又可调用其他工具的“公共模块”。在这一思想指导下,系统开发的工作过程就可以不受一种语言、一类开发工具的限制,而是能够综合发挥各类工具的长处,尽快、更好地完成系统开发工作。另外,在整个系统结构方面,C/S工具产生了前台和后台的作业方式,特别是在网络上可以

31、大大减轻网络传输的压力,提高系统的运行效率。所以,C/S工具被广泛地应用于开发工具、程序设计和网络系统的开发等各个方面。市场上常见的C/S工具有:Visual FoxPro、VB、VC+,Excel、Powerpoint、Borland International公司的Delphi Client/Server,Powersoft公司的Power Build Enterprise和Sysmantec公司的Team Enterprise Developer等。这类开发工具最显著的特点就是相互之间调用的随意性。客客户户/服服务务器器工工具具类类5面向对象编程工具主要是指与面向对象(Object Or

32、iented,OO)相对应的编程工具。这是一类针对性比较强,并且很有潜力的系统开发工具,其最明显的特点是在运用这类工具时,与整个OO方法紧密结合。如果没有这类工具,OO方法的特点将受到极大的影响;反之,没有OO方法,该类工具也将失去应有的作用。目前OO编程工具主要有:C和Visual C、Smalltalk等。另外,随着网络技术的不断普及,越来越多的企业在其内联网(Intranet)中采用了Internet协议,HTML、Java和其他开发工具也已得到广泛的应用。面面向向对对象象编编程程工工具具类类6系系统统测测试试(一)(一)(二)(二)测试的类型(三)(三)白盒测试的测试用例设计系统测试的

33、基本概念二、二、(四)四)黑盒测试的测试用例设计(五)(五)排错系系统统测测试试的的基基本本概概念念(一)(一)1.1.测试的目的测试的目的测试的目的是尽可多地发现新系统中的错误和缺陷。2.2.测试用例测试用例要进行测试,除了要有测试数据外,还应同时给出该组测试数据应该得到怎样的输出结果,可称它为预期结果。在测试时,将实际的输出结果与预期结果比较,若不同则表示出现了错误,因此测试用例是由测试数据和预期结果构成的。3.3.测试的原则测试的原则(1)确定预期输出结果是测试用例必不可少的一部分。(2)程序员应避免测试自己的程序,程序设计机构不应测试自己的程序。(3)彻底检查每个测试结果。(4)对非法

34、的和非预期的输入数据也要像合法的和预期的输入数据一样编写测试用例(5)检查程序是否做了应做的事仅是成功的一半,另一半是看程序是否做了不该做的事。(6)除了真正没有用的程序外,一定不要丢弃测试用例。(7)在规划测试时,不要设想程序中不会查出错误。(8)程序模块经测试后,遗留的错误数目往往与已发现的错误数目成比例。4.4.测试的方法测试的方法测试的关键是测试用例的设计,其方法可分成两类:白盒测试和黑盒测试。测测试试的的类类型型(二)(二)1.1.模块测试模块测试模块测试是对一个模块进行测试,根据模块的功能说明,检验模块是否有错误。这种测试在各模块编程后进行。模块测试通常采用白盒测试。2.2.联合测

35、试联合测试联合测试即是通常说的联调,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信,可以发现总体设计中的错误。联合测试方法一般有两种,即根据模块结构图由上到下或由下到上进行测试。联合测试通常采用黑盒测试。3.3.验收测试验收测试验收测试检验系统说明书的各项功能与性能是否与用户的需求一致,它是以需求规格说明书作为依据的测试。验收测试通常采用黑盒测试。验收测试的方法一般是列出一张清单,左边是需求的功能,右边是发现的错误或缺陷。常见的验收测试有测试和测试。测试和测试除了进一步发现程序中的错误外,还能发现使用上的问题。4.4.系统测试系统测试系统测试是对整个系统的测试,将硬件、软件和

36、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。例如,安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入。白白盒盒测测试试的的测测试试用用例例设设计计(三)(三)1.1.语句覆盖语句覆盖一般来讲,程序的某次运行并不一定执行其中的所有语句。因此,如果某个含有错误的语句在测试中并没有执行,这个错误便不可能发现。为了提高发现错误的可能性,应在测试中执行程序的每一个语句。语句覆盖法就是要选择这样的测试用例,使程序中的每个语句至少能执行一次。图7-4是一个程序流程图,其源程序如下。图7-4 程序流程图PROCEDURE N(Var a,b,x:R

37、EAL)BEGIN IF(a 1)and(b=0)THEN x:=x/a IF(a=2)or(x 1)THEN x:=x+1END;若选择测试用例为a=2,b=0,x=3,则程序通过路径ace,程序中的每个语句都执行了一次,达到了语句覆盖的要求。如果程序中第一个条件语句中的and错误地写为or,或者第二个条件语句中x1写为x0,这个测试用例都不能发现这些错误,可见语句覆盖发现错误的能力较弱。白白盒盒测测试试的的测测试试用用例例设设计计(三)(三)2.2.判断覆盖判断覆盖判断覆盖是指设计测试用例使程序中每个判断取“真”和取“假”值的每一个分支至少通过一次。在上面的例子中,若取测试用例为“a=3,

38、b=0,x=1”和“a=2,b=1,x=3”,则可以分别执行路径acd和abe,使得两个判断语句的4个分支都得到覆盖。既然每个分支都执行了,当然程序中的每个语句也就被执行了。可见,判断覆盖比语句覆盖更严格一些。但是,判断覆盖还是存在缺陷。例如,当程序沿路径abd执行时,x的值应保持不变。若发生了这方面的错误,上面的测试用例都发现不了。3.3.条件覆盖条件覆盖条件覆盖是指执行足够的测试用例,使判断中的每个条件获得各种可能的结果。图7-4的程序有4个条件:a1,b=0,a=2,x1为满足条件覆盖的要求,需要执行足够多的例子,使得第一个判断条件有:a1,a1,b=0,b0等各种结果出现,第二个判断条

39、件有:a=2,a2,x1,x1等各种结果出现。设计以下两个测试用例可以满足要求:a=2,b=0,x=4和a=1,b=1,x=1一般说来,条件覆盖比判断覆盖要求严格,因为判断覆盖的对象是每个判断结果,而条件覆盖考虑每个判断中的条件。但是,由于条件覆盖分别考虑每个条件而不管同一判断中诸条件的组合情况,因此,测试用例有可能满足条件覆盖的要求,但不满足判断覆盖的要求。不难验证,a=1,b=0,x=3和a=2,b=1,x=1测试用例就属于这种情况。白白盒盒测测试试的的测测试试用用例例设设计计(三)(三)4.4.条件组合覆盖法条件组合覆盖法设计测试用例时,要使得判断中每个条件的所有可能取值至少出现一次,并

40、且每个判断本身的判定结果也至少出现一次。上述例子中,两个判断分别包括两个条件(条件1:a1,b=0;条件2:a=2,x1)。对于条件1来说,包含两个子条件:子条件1为a1,子条件2为b=0,这两个子条件取“真”“假”的排列组合共有四种如表7-1中的(1)-(4);同样,对条件2来说,其子条件也有四种排列,如表7-1中的(5)-(8)。为了满足(1)-(8)条件组合覆盖,用下面的4个测试用例即可满足要求。(1)a=2,b=0,x=4使(1)和(5)两种情况出现。(2)a=2,b=1,x=1使(2)和(6)两种情况出现。(3)a=1,b=0,x=2使(3)和(7)两种情况出现。(4)a=1,b=1

41、,x=1使(4)和(8)两种情况出现。条件组合覆盖综合了判断覆盖和条件覆盖的要求,因此,优于单纯的判断覆盖或条件覆盖。但是,上面的4个测试用例虽然满足了条件组合覆盖的要求,却没有覆盖路径acd。白白盒盒测测试试的的测测试试用用例例设设计计(三)(三)5.5.路径覆盖路径覆盖设计测试用例时,使它覆盖程序中所有可能的路径。在上面的例子中,有4条可能的路径,下面的测试用例可以满足路径覆盖的要求。(1)a=2,b=0,x=3;(沿路径ace)。(2)a=1,b=0,x=1;(沿路径abd)。(3)a=2,b=1,x=1;(沿路径abe)。(4)a=3,b=0,x=1;(沿路径acd)。路径覆盖的测试功

42、能很强。但对于实际问题,一个不太复杂的程序,其路径数可能相当庞大而且又不可能完全覆盖。黑黑盒盒测测试试的的测测试试用用例例设设计计(四)(四)1.1.等价类划分等价类划分如果把所有可能的输入数据(有效的和无效的)划分成若干个等价类,那么我们就可以合理做出假定:如果等价类中的一个输入数据能检测出一个错误,那么等价类中的其他输入数据也能检测出同一个错误;反之,如果一个输入数据不能检测出某一个错误,那么等价类中其他输入数据也不能发现这一错误(除非这个等价类的某个子集还属于另一等价类)。在确定输入数据等价类时,还要分析输出数据等价类,以便根据输出数据等价类导出相应的输入数据等价类。(1)确定等价类根据

43、程序的功能说明,对每一个输入条件(通常是说明中的一句话或一个短语)确定若干个有效等价类和无效等价类,可使用表格形式分别写出输入条件、有效等价类和无效等价类。(2)设计测试用例利用等价类设计测试用例的步骤如下。为每个有效等价类和无效等价类编号。设计一个新的测试用例,以尽可能多地覆盖尚未被覆盖的有效等价类。重复这一步,直至所有的有效等价类都被覆盖为止。为每个无效等价类设计一个新的测试用例。无效等价类都是测试非正常输入数据的情况,因此每个无效等价类都很有可能查出程序中的错误。所以,要为每个无效等价类设计一个新的测试用例。黑黑盒盒测测试试的的测测试试用用例例设设计计(四)(四)2.2.边界值分析边界值

44、分析经验证明,程序往往在处理边缘情况时出现错误,因此检查边缘情况的测试用例效率是比较高的。边界条件是指相对于输入与输出等价类直接在其边界上,或稍高于其边界,或稍低于其边界的这些状态条件。例如,某个输入条件说明值的范围是0100,则可以选0,100,-1,101为测试用例。边界值分析则是专门挑选那些位于边界附近的值作为测试用例。3.3.错误猜测错误猜测错误猜测是一种凭直觉和经验推测某些可能存在的错误,从而针对这些可能存在的错误设计测试用例的方法。这种方法没有机械的执行步骤,主要依靠直觉和经验。4.4.因果图因果图边界值分析和等价类划分等方法都没有考虑输入条件的各种组合,在输入条件的组合情况数目相

45、当大的情况下,应该用某种方法来选择输入条件的子集,再考虑它们的组合。因果图是一种帮助人们系统地选择一组高效测试用例的方法。采用因果图设计测试用例的步骤如下:(1)分割功能说明书。(2)识别出“原因”和“结果”,并加以编号。(3)根据功能说明中规定的原因和结果之间的关系画出因果图。(4)根据功能说明在因果图中加上约束条件。(5)根据因果图画出判定表。(6)为判定表的每一列设计一个测试用例。排排错错(五)(五)1.1.排错步骤排错步骤(1)从错误的外部表现形式入手,确定程序中出错的位置;(2)研究有关部分程序,找出错误的内在原因;(3)修改设计和代码,以便排除这个错误;(4)重复进行暴露了这个错误

46、的原始测试或某些有关测试,以便确认该错误是否被排除以及是否引进了新的错误;(5)如果所做的修正无效,则撤消这次改动,重复上述过程,直到找到一个有效的解决办法为止。2.2.排错方法:排错方法:(1)试探法(2)跟踪法(3)对分查找法(4)归纳法(5)演绎法3.3.测试与排错工具:测试与排错工具:(1)静态分析工具(2)监视工具(3)交互式排错工具系统的转换包括把旧系统的文件转换成新系统的文件,数据的整理和录入,人员、设系统的转换包括把旧系统的文件转换成新系统的文件,数据的整理和录入,人员、设备、组织机构的改造和调整,以及有关资料档案的建立和移交。系统转换有备、组织机构的改造和调整,以及有关资料档

47、案的建立和移交。系统转换有3 3种方式,如种方式,如图图7-57-5所示。所示。第四节 系统转换图7-5 系统转换的三种方式1.1.直接转换方式。直接转换方式。即新系统直接替换旧系统。这是一种最省时、省力和省费用的方式,但有一定的风险,一般在较小的应用系统中采用。2.2.平等转换方式。平等转换方式。新旧系统平行运行,经过一段时间试运行,新系统才完全代替旧系统工作。这种方式耗费人力、物力和经费,一切业务处理均要设两套系统,但这种过渡方式可靠而平稳。3.3.分阶段转换方式。分阶段转换方式。新旧系统同时运行,旧系统逐步减少工作内容,新系统逐步增加工作内容,经过一段时间后,新系统完全代替旧系统。1系统

48、维护的系统维护的内容内容2维护的类型维护的类型3系统维护的系统维护的管理管理第五节 系统运行与维护目 录4与维护有关与维护有关的问题的问题系系统统维维护护的的内内容容1.1.1.1.程序的维护程序的维护程序的维护程序的维护在系统维护阶段,会有一部分程序需要改动。根据运行记录,发现程序的在系统维护阶段,会有一部分程序需要改动。根据运行记录,发现程序的错误,这时需要改正;或者随着用户对系统的熟悉,用户有更高的要求,部分错误,这时需要改正;或者随着用户对系统的熟悉,用户有更高的要求,部分程序需要改进;或者环境发生变化,部分程序需要修改。程序需要改进;或者环境发生变化,部分程序需要修改。2.2.2.2

49、.数据文件的维护数据文件的维护数据文件的维护数据文件的维护当业务发生了变化,从而需要建立新文件,或者对现有文件的结构进行修当业务发生了变化,从而需要建立新文件,或者对现有文件的结构进行修改,这就是数据文件维护。改,这就是数据文件维护。3.3.3.3.代码的维护代码的维护代码的维护代码的维护随着环境的变化,旧的代码不能适应新的要求,必须进行改造,制定新的随着环境的变化,旧的代码不能适应新的要求,必须进行改造,制定新的代码或修改旧的代码体系。代码维护的困难主要是新代码的贯彻,因此,各个代码或修改旧的代码体系。代码维护的困难主要是新代码的贯彻,因此,各个部门要有专人负责代码管理。部门要有专人负责代码

50、管理。4.4.4.4.机器、设备的维护机器、设备的维护机器、设备的维护机器、设备的维护该维护包括机器、设备的日常维护与管理。一旦发生小故障,要有专人进该维护包括机器、设备的日常维护与管理。一旦发生小故障,要有专人进行修理,保证系统的正常运行。行修理,保证系统的正常运行。一、一、维维护护的的类类型型1.1.1.1.更正性维护更正性维护更正性维护更正性维护由于程序正确性证明尚未得到圆满的解决,系统测试又不可能找出程序中的所有错误,因由于程序正确性证明尚未得到圆满的解决,系统测试又不可能找出程序中的所有错误,因此,在交付使用的系统中都可能隐藏着某些尚未被发现的错误,而这些错误在某种使用环境下此,在交

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报