资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第四章 系统实施,主要内容,当系统分析和系统设计完成之后,系统工作的重点就从创造性思考的阶段转入具体的实践性阶段。,系统实施的任务就是要实现新系统的物理模型,为用户提供一个功能丰富实用、运行安全可靠、易于维护扩充、使用简单方便的物理系统。,系统实施阶段的主要内容包括程序设计、系统测试、系统转换、维护与评价。,1,系统实施的主要内容,2,物理系统的实施,3,程序设计,7,系统实施阶段的文档,5,人员培训,6,系统转换,4,系统测试,主要内容(续),程序设计直接关系到能否有效地利用计算机达到预期目的;,系统测试是保证系统质量的关键步骤;,系统转换、维护与评价是使新系统按预期目标正常运行,发现系统的不足及薄弱环节,提出系统改进和完善建议的重要措施。,一、系统实施阶段的主要内容,物理系统的实施,程序的编写,系统测试,人员的培训,系统转换,二、物理系统的实施,管理信息系统物理系统的实施是计算机系统和通信网络系统设备的订购、机房的准备和设备的安装调试等一系列活动的总和。,具体地说就是计算机和通信设备的安装、电缆线的铺设以及网络性能的调试等工作。,二、物理系统的实施,(一)计算机及网络系统的实施,计算机机房要求无尘、恒温等条件。,计算机硬件间的连接电缆应放置在防静电的活动地板下面。,为了防止发生由于突然停电造成的事故,应安装备用电源设备,例如功率足够的不间断电源(,UPS,)。,1,计算机机房的环境要求,二、物理系统的实施,(一)计算机及网络系统的实施,应购置那些性能稳定、使用方便、信誉高和售后服务好的服务器和计算机产品。,各设置要能够满足系统设计和运行的基本要求。,各设备要具有合理的性能价格比。,基础设备要具有良好的可扩充性。,要能得到来自供应商的售后服务和技术支持。,2,购置计算机设备以及网络设备,二、物理系统的实施,(一)计算机及网络系统的实施,当机房布置好并完成购置计算机设备和网络设备后,就可安装计算机以及网络设备。,3,安装计算机以及网络设备,二、物理系统的实施,(二)软件系统的实施,软件系统的实施主要包括:,安装操作系统,网络通信系统,数据库系统,各种辅助软件,各种应用软件,购置并安装软件系统时应注意与硬件的协调和匹配问题,协调匹配的软硬件系统才能发挥其最大的性能和效率。,三、程序设计,问题,1,进行程序设计的软件工具有那些?,问题,2,如何进行程序设计?,问题,3,结构化程序设计的特点有那些?,三、程序设计,(一)软件开发工具的选择,基于,C/S,模式,GUI,开发工具,前端开发工具或客户端软件提供用户界面,使得开发者可以容易地指定处理应用的表示逻辑部分,同时将用户对数据的请求用标准的,SQL,语言表示,发送到服务器方面,并对其处理结果进行加工和表示。,后端服务器或数据库:它专门处理来自客户机的,SQL,请求,并将处理结果返回给客户方。,中间件(,middleware,)是一种连接工具软件,它提供服务器之间开发工具和服务器之间的连接或通信功能,典型的产品有微软公司的,ODBC,等。,三、程序设计,(一)软件开发工具的选择,分类,典型产品,特征,可视化开发工具,Visual Basic,Visual C+,Delphi,价格低,学习容易;,显示画面制作效率高;,维护性较差,专用开发工具,Power Builder,面向对象、开发效率高;,维护性好;,高价格、限制条件多;,电子表格计算软件,Excel,Lotus 1-2-3,低价格、学习容易;,图形功能强;,性能较低、维护性差;,PC,数据库,Access,Foxpro,Paradox,低价格、学习容易;,可以从单机开始扩张;,维护性较差;,三、程序设计,(一)软件开发工具的选择,产品名称,操作系统,UNIX,版本,成本,与开发工具的可连接性,Oracle,NT,OS/2,Netware,Yes,Higher,Many,DB2,OS/2,Yes,High,Little,Sybase,NT,Netware,Yes,Higher,Many,SQL Server,NT,No,Lower,Little,三、程序设计,(一)软件开发工具的选择,软件开发工具的选择,选择适合管理信息系统的程序开发工具,应从以下五个方面考虑:,用户的要求,语言的人机交互功能,软件工具,开发人员的知识,软件可移植性,三、程序设计,(二)程序设计的基本要求,软件的设计应遵循以下五点要求:,可靠性,:指编制的程序能够正确地完成系统的功能,保证系统的安全及运行的可靠。(,首要标准,),可维护性,:指排错所需要的时间。(,主要标准之一,),可理解性,:指程序结构清晰、易于理解。(,是保证程序正确性、提高可读性和可维护性的基础,),容错性强,:指程序在正常情况下能正确工作,并能识别和禁止错误的操作和错误数据的输入,不会因为错误操作、错误数据输入以及硬件的故障而造成系统崩溃。,高效性,:指程序运行的速度和占用系统资源的程序。,程序的效率和可维护性、可理解性通常是矛盾的。实际中宁可牺牲一定的时间和空间,以尽量提高系统的可理解性和可维护性。,三、程序设计,(三)程序设计的方法,从程序设计的路径来看,程序设计方法有以下两种:,1,、自顶向下的程序设计方法,首先实现软件结构的顶层模块,然后再实现下层模块,直到实现底层模块为止。,特点:开发出的程序可读性好、条理分明、可靠性也高。,2,、自底向上的程序设计方法,从最底层模块实现开始,直到最高层模块为止。,特点:开发出的程序局部最优,系统的整体结构较差。,三、程序设计,(四)程序设计的步骤,为了能够保证顺利完成每个程序的设计,通常要遵循以下六个步骤:,明确条件和要求,分析数据,确定流程,编写程序,检查和调试,编写程序使用说明书,有错误,正确,图,5-4-1,程序设计的基本步骤,三、程序设计,(五)程序设计风格,编程风格应该注意以下四点:,1,、标识符的命名,包括模块名、变量名、常量名、过程名、数据区名等。,命名应该直观、便于理解和记忆。,2,、程序的书写格式,程序语句应该简单而且直接,避免复杂和过于冗长。,3,、程序的注释,在程序恰当的位置增加注释语句,提高程序可读性。,注释语句一般有:序言性注释、描述性注释。,4,、程序的输入与输出,输入和输出的方式与格式应该方便用户使用。,三、程序设计,(六)结构化程序设计,结构化程序设计(,structured,programming,SP,)方法是由,E.Dijkstra,提出的,是指导人们用良好的思想方法开发正确又易于理解的程序的一种程序设计技术。,1966,年,Bohm,和,Jacopini,证明了结构定理,指出任何程序逻辑都可以用顺序、分支和循环这三种结构表示:,1,、顺序结构,(顺序结构中,程序语句逐条按照先后次序执行,是最常见和最基本的结构。),2,、分支结构,3,、循环结构,三、程序设计,(六)结构化程序设计,1,、顺序结构,顺序结构中,程序语句逐条按照先后次序执行,是最常见和最基本的结构。,X=0,y=0,z=,x+y,图,5-4-2,顺序结构,三、程序设计,(六)结构化程序设计,2,、分支结构,单分支结构,图,5-4-3,单分支结构,i=100,A(i,)=A(i)+1,Y,程序语句:,If,(条件),(程序段),End If,三、程序设计,(六)结构化程序设计,2,、分支结构,双分支结构,图,5-4-4,双分支结构,程序语句:,If,(条件),(程序段,1,),Else,(程序段,2,),End If,i=100,A(i,)=A(i)+1,Y,Y=,A(i,),N,三、程序设计,(六)结构化程序设计,2,、分支结构,多分支结构,图,5-4-5,多分支结构,程序语句:,Do Case,Case,(条件,1,),(程序段,1,),Case,(条件,2,),(程序段,2,),Otherwise,(程序段,n+1,),End Case,i=100,A(i,)=A(i)+1,Y=,A(i,),X=A(i)-1,条件,1,条件,2,条件,n,三、程序设计,(六)结构化程序设计,3,、分支结构,循环结构,图,5-4-6,循环结构,程序语句:,Do While,(条件),(程序段,1,),Loop,(程序段,2,),Exit,(程序段,3,),End Do,i100,i=i+1,Y,N,三、程序设计,(六)结构化程序设计,结构化程序设计中,将以上三种结构反复嵌套使用,形成,“,结构化的程序设计,”,。,其共同的特点就在于:每种结构只有一个入口一个出口。,因此,结构化程序设计就是采用自顶向下逐步求精的设计京都 单入口、单出口的控制技术。,四、系统测试,问题,1,系统测试的目的是什么?,问题,2,测试的步骤是怎样的?,问题,3,如何进行测试?,四、系统测试(续),1963,年美国用于控制火箭飞行的,Fortran,程序中,把一个循环语句,“,DO 5 I=1,3,”,误写成,”,Do 5 I=1.3,”,。在系统测试中这一错误又没有被发现,导致飞往火星的火箭爆炸,造成,1000,万美元的损失。有统计表明,开发较大型的系统,系统测试的工作量大约占整个软件开发工作量的,40,50,。对于高可靠性的、复杂系统的测试工作量还可能是其他工作量总和的若干倍。,四、系统测试,(一)系统测试的目的和原则,1,、系统测试的目的,系统测试的目的:,为了发现程序中的错误而执行程序的过程,。,系统测试的,误区,:测试的目的是为了说明程序没问题。,系统测试,是指以查找程序中的错误为目的,不是证明程序无错。而是要精心选取那些易于使程序发生错误的测试数据,十分挑剔地寻找程序中的错误。,四、系统测试,(一)系统测试的目的和原则,系统测试的目的,Bill,Hetzel,指出:,“,测试是评价一个程序或系统属性为目标的任何一种活动。测试是对软件质量的度量,”,。,Grenford,J.Myers,指出:,软件测试显了发现错误而执行程序的过程;,测试是为了证明程序有错,而不是证明程序无错误;,一个好的测试用例在于它能发现至今未发现的错误;,一个成功的测试是发现了至今未发现的错误的测试。,系统测试为系统质量的评价提供依据;,系统测试只是系统质量保证的手段之一,不能单凭测试来保证系统质量。,四、系统测试,(一)系统测试的目的和原则,2,、系统测试的原则,在进行系统测试时应遵循以下六个基本原则:,开发者不参与原则,系统输入与输出结果联系的原则,测试用例设计全面原则,无效功能剔除的原则,注意保留测试用例的原则,对于已经发现的错误模块要足够重视的原则,四、系统测试,(二)系统测试可能发现的常见错误,在系统测试中发现的错误是各种各样的,按其范围和性质可划分为以下五类:,1,、功能错误,2,、系统错误,3,、过程错误,4,、数据错误,5,、编码错误,四、系统测试,(三)系统测试的过程,系统测试的过程是先进行模块测试,再进行子系统测试,最后进行系统测试。,模块,1,模块,2,模块,4,模块,5,模块,3,模块测试,子系统测试,系统测试,图,5-4-7,系统测试过程,四、系统测试,(三)系统测试的过程,1,、模块测试,模块测试,是对单个模块进行的测试,是系统测试的基础。,目的,:保证每个模块本身能正常运行。,模块测试,静态测试,动态测试,黑盒测试,白盒测试,(逻辑覆盖测试),语句覆盖,判断覆盖,条件覆盖,条件组合覆盖,路径覆盖,由人工阅读程序来发现程序中的语句错误和部分逻辑错误。,由计算机执行模块代码,发现程序中的错误。,四、系统测试,(三)系统测试的过程,1,、模块测试,黑盒测试,目的:检验模块的功能是否可以达到预期要求,即根据输入数据来确定是否能够得到预期的输出数据。,适合于不了解模块内部程序的一般用户。,黑盒模型,输入,输出,图,5-4-8,黑盒测试模型,四、系统测试,(三)系统测试的过程,1,、模块测试,白盒测试,白盒测试时,测试人员需要搞清楚模块的内部代码逻辑,根据程序逻辑分别来设计测试数
展开阅读全文