信息系统分析与设计_第1页
信息系统分析与设计_第2页
信息系统分析与设计_第3页
信息系统分析与设计_第4页
信息系统分析与设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章MIS系统的实现及维护,6.1系统实施的任务,软硬件设备购置硬件购置:计算机、网络设备、辅助设备以及网络建设等等。软件购置:网络系统软件、数据库系统软件及软件开发工具等等。程序编制根据系统设计书,实现数据库的设计,编制模块程序,实现系统的软件设计。人员培训针对新系统的运行和操作,对相关人员进行培训,使其逐步适应和熟悉新的操作方法。数据准备在确定数据库物理模型后,应进行基础数据的整理和录入;以便分散工作量,为系统调试提供真实数据。,系统实施阶段的任务包括:,表6.1实施阶段的任务之间的关系,6.2自顶而下的实现方法,构建系统框架,结构化方法主张自顶而下实现系统,即尽量先实现上层模块,逐步向下,最后实现下层最基本的模块。,添加新功能,实现系统全部功能,调试系统的结构和模块间的接口,下层模块只保留名字和参数传递,最后实现最基本的模块,6.3程序设计,1.程序的注解1)序言注解2)功能注解3)语句注解2.标识符命名风格匈牙利命名规则,一、程序设计风格,二、程序设计语言,1、传统的程序设计语言低级语言高级语言2、SQL语言3、面向对象的程序设计语言基于Smalltalk基于C基于Pascal基于LISP,三、常用开发工具,VisualStudio系列开发工具Delphi,C+BuilderPowerBuilder数据库系统:SQLServer,Oracle,SyBASE,Informix,InterBase,FoxPro各种版本。,四、好程序的标准,能工作;调试代价低;易于维护;易于修改;设计不复杂;效率高。,对于什么是“结构化程序设计”,至今还没有被普遍接受的定义。通常认为结构化程序设计包括以下四个方面的内容。1、限制使用GOTO语句2、逐步求精的设计方法在一个程序模块内,先从该模块的功能描述出发,一层层地逐步细化,直到最后将它分解、细化成语句为止。3、自顶向下的设计、编码和调试这是把逐步求精的方法由程序模块内的设计推广到一个系统的设计与实现。4、主程序员制的组织形式这是程序人员的组织形式。一个主程序员组的固定成员是主程序员一人,辅助程序员一人,程序资料员(或秘书)一人。其他技术人员按需要随时加入组内。,五、结构化程序设计,程序员必须严格遵守:,不使用可能干扰其他模块的命令或函数;按总体设计的要求传递参数,不随意修改其内容与含义;按统一规定的格式操作公用文件或数据库;按统一的原则使用标识符;保持程序风格的一致。,程序设计举例,6.4系统的测试,1983年IEEE提出的软件工程标准术语中对软件测试的定义为“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。”,一、测试的基本概念,1、软件测试的认识的发展,人们对软件测试认识的五个阶段:阶段1测试=调试阶段2测试是证明软件正确阶段3测试是发现软件中错误阶段4测试是减小软件不工作的风险(是度量软件质量要素的过程)阶段5测试可产生低风险的软件的一种认识上的训练,测试(test)调试(debug),以已知条件开始,使用预先定义的程序,有预知的结果,以不可知内部条件开始,结果一般不可预见,有计划,被动的,由独立的测试组,在不了解软件设计的条件下完成,由程序作者进行,发现错误,找出错误位置,排除,2、测试与调试(排错),二、测试的目的与地位1.测试是为了寻找错误而运行程序的过程。2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。3.一个成功的测试是揭示了迄今为止尚未发现的错误的测试。,E.W.Dijkstra指出:“程序测试能证明错误的存在,但不能证明错误不存在.”测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错.,三、测试的基本原则,1.测试队伍:测试队伍与研发队伍应分别建立。2.测试用例:设计测试用例时,应包括对有效的输入条件和无效的输入条件的测试。3.期望结果:设计测试用例时要给出测试的期望结果。4.回归测试:程序修改之后,要进行回归测试。,四、测试方法,1、静态测试方法不在计算机上运行被测程序,而是采用其它手段达到对程序进行检测目的测试方法。静态测试的类型人工测试计算机辅助静态分析。,2、动态测试方法在计算机上运行被测试程序,并用所设计的测试用例对程序进行检测的方法。动态测试的类型黑盒测试白盒测试,静态和动态测试举例,汽车的检查过程:踩油门看车漆打开前盖检查发动汽车听听发动机声音上路行使,静态测试,动态测试,3、静态测试的内容对软件进行分析、检查和审阅,不实际运行被测试的软件。静态测试约可找出3070%的逻辑设计错误.对需求规格说明书、软件设计说明书、源程序做检查和审阅,包括:是否符合标准和规范;通过结构分析、流图分析、符号执行指出软件缺陷;,4、动态黑盒测试和动态白盒测试,输入,不深入代码细节的测试方法称为动态黑盒测试。软件测试员充当客户来使用它,即不关心程序内部的具体实现,而只是根据程序的功能说明来设计测试用例。因此又称功能测试,,输出,1)动态黑盒测试闭着眼睛测试软件,2)动态白盒测试带上X光眼镜测试软件,?,3581322.293419985680302829734315,250*(1+0.015)*(1+0.015)360-1)/0.015,250*(1+0.015)*(1+0.015)360-1)/0.015,假如知道一个盒子包含一台计算机,而另一个盒子是人用纸笔计算,就会选择不同的测试用例,了解软件的运作方式会影响测试手段,又称结构测试,它以程序的内部逻辑为依据,设计测试用例。,3)黑盒测试与白盒测试优缺点比较,黑盒测试白盒测试,优点,缺点,性质,适用于各阶段测试从产品功能角度测试容易入手生成测试数据,可构成测试数据使特定程序部分得到测试有一定的充分性度量手段可或较多工具支持,某些代码得不到测试如果规格说明有误,则无法发现不易进行充分性测试,不易生成测试数据(通常)无法对未实现规格说明的部分进行测试工作量大,通常只用于单元测试,有应用局限,是一种确认技术,回答“我们在构造一个正确的系统吗?”,是一种验证技术,回答“我们在正确地构造一个系统吗?”,4)白盒、黑盒测试的适应阶段,规划阶段需求分析设计阶段实现阶段运行和维护白盒测试黑盒测试,5)小结,1.无论白盒测试还是黑盒测试,都不可能做到穷尽测试;2.用有限的测试案例去尽可能地发现程序的错误;3.将白盒测试、黑盒测试等各种测试方法结合起来测试可以达到更为明显的效果;4.白盒测试与黑盒测试的适应情况。,五、测试案例设计,一个测试用例由两部分组成:对程序进行测试的一组输入数据的描述。由这组输入数据所产生的程序的预期输出结果的描述。,Module-,测试用例,六、常用的覆盖标准,语句覆盖判定覆盖条件覆盖条件组合覆盖路径覆盖边界值测试,1.语句覆盖法在测试中执行程序中的每一个语句,使得程序中的每个语句至少能执行一次。,测试用例:A=2,B=0,X=3,其原程序是:PROCEDUREM(VARA,B,X:REAL);BEGINIF(A1)AND(B=0)THENX:=X/A;IF(A=2)OR(X1)THENX:=X+1END;,2.判断覆盖判断覆盖是设计测试用例使程序中的每个判断的取“真”值和取“假”值的每一个分支至少通过一次。在上面例子中,若取测试用例为:A=3,B=0,X=1和A=2,B=1,X=3,则可以分别执行路径acd和abe,3.条件覆盖条件覆盖是指执行足够的测试用例,使得判断中的每个条件获得各种可能的结果。上图的程序有四个条件:A1、B=0、A=2、X1为满足条件覆盖的要求,需要执行足够多的例子,使得第一个判断条件有A1、A1、B=0、B0等各种结果出现,而在第二个判断条件有A=2、A2、X1、X1等各种结果出现。以下的两个测试用例可以满足要求:A=2,B=0,X=4A=1,B=1,X=1,4.条件组合覆盖设计测试用例时,要使得判断中每个条件的所有可能取值至少出现一次,并且每个判断本身的判定结果也至少出现一次。上述例子中,两个判断分别包含两个条件,可以形成八种组合:,(1)A1,B=0;(2)A1,B0;(3)A1,B=0;(4)A1,B0;(5)A=2,X1;(6)A=2,X1;(7)A2,X1;(8)A2,X1。,下面的四个测试用例可以满足条件组合覆盖的要求:A=2,B=0,X=4(使(1)、(5)两种情况出现);A=2,B=1,X=1(使(2)、(6)两种情况出现);A=1,B=0,X=2(使(3)、(7)两种情况出现);A=1,B=1,X=1(使(4)、(8)两种情况出现)。,5.路径覆盖路径覆盖是指设计测试用例,覆盖程序中所有可能的路径。在我们的例子中,有四条可能的路径:abd、ace,abe,acd。下面的测试用例可以满足路径覆盖的要求:A=2,B=0,X=3(沿路径ace);A=1,B=0,X=1(沿路径abd);A=2,B=1,X=1(沿路径abe);A=3,B=0,X=1(沿路径acd)。以上这五种测试技术均属于“白箱测试”,下面是“黑箱测试”的例子。我们介绍设计测试用例的另一种技术:边界值测试。,6.边界值测试经验证明,程序往往在处理边缘情况时犯错误,因此检查边缘情况的测试用例效率是比较高的。下面是一些例子:1)对新记录(1)在文件第一个记录之前加一个记录;(2)在文件最后一个记录之后加一个记录;(3)插入的新记录对应实体是实际不可能存在的;(4)记录的域不全。,2)处理业务(1)处理文件的第一个记录;(2)处理文件的最后一个记录;(3)处理中间的一个记录;(4)处理同一程序刚建立的记录;(5)连续处理相邻记录;(6)试图处理一个不存在的记录;(7)处理业务使某个数值超过常规(如库存数为负或域值上溢);(8)对某些关键数据输入有错误的数据;(9)同一业务处理过程中造成多重例外和出错。,3)记录删除(1)删去文件的第一个记录;(2)删去文件的最后一个记录;(3)试图删去不存在的记录;(4)连续删去多个记录;(5)删去一个记录,并试图处理这个记录。4)试验逻辑(1)检查所有能产生最大值、最小值、平均值的计算;(2)除式中除数为0;(3)数据域填入最小数或最大数;(4)数据域填入允许值之外的数。,5)对报告程序(1)负号是否全打印出来;(2)全9是否打全;(3)全0看高位压缩情况;(4)交叉结算平衡结果是否有报告。,七、测试的步骤,(1)单元测试(2)集成测试(3)确认测试(4)系统测试,6.5系统的交付使用,系统转换有三种方式:,1、直接转换方式:新系统直接替换老系统;风险大。,2、试运行方式:试运行期间,老系统照常运行,新系统承担部分工作。,试运行,3、逐步转换方式:新系统一部分一部分地替代老系统,直到全部代替老系统。接口复杂。,实际工作中,这几种方式可以混合使用。,6.6系统维护,1、系统维护工作内容包括:软件维护机器、设备的维护数据文件的维护建立新的数据文件,或对现有文件的结构进行修改。代码的维护制定新的代码或修改旧代码。,2、维护的类型改正性维护适应性维护完善性维护预防性维护,软件维护工作量的分布,3、维护的管理提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论