1MIS—系统实施与维护太原科技大学经济与管理学院侯艳龙2系统分析系统设计系统实施管理信息系统的开发思路3新系统设计方案的成功实施是MIS生命周期中的一个重要阶段。这个阶段的任务:系统实施就是把系统设计阶段形成的物理模型转换成可以实际运行的物理系统的过程。交付用户使用。一个好的设计方案,只有经过精心实施,才能带来实际效益,因此,系统实施阶段的工作对系统的质量有着十分直接的影响。4系统实施框架:5物理系统的实施程序的编写与软件选择系统测试人员的培训系统转换6.1系统实施阶段的主要内容6系统实施的步骤:系统设计系统实施准备程序编制程序调试系统调试系统试运行系统转换与验收系统运行维护培训数据采集数据库文件建立7是计算机系统和通信网络系统设备的订购、机房的准备和设备的安装调试等一系列活动的总和。具体地说就是计算机和通信设备的安装、电缆线的铺设以网络性能的调试等工作。6.2物理系统的实施8(1)计算机选择选择那些性能稳定、使用方便、信誉高和售后服务好的计算机产品。计算机品牌选择国外品牌目前有IBM、HP、Compaq、NEC、Dell国内品牌目前有联想、新浪潮、方正等。6.2.1计算机系统的实施9(2)计算机购置应考虑的问题①计算机系统能否满足系统设计和运行的基本要求②计算机系统是否具有合理的性价比③计算机系统是否有良好的可扩充性④能否得到供应商的售后服务和技术支持等10(3)计算机的环境要求①机房要求无尘、恒温等条件②连接电缆应放置在防静电的活动地板下面③应安装备用电源(4)计算机设备到货,按合同开箱验收①安装和调试工作主要应由供货方负责完成②系统运行用的常规诊断校验系统应由供货方提供,并负责操作人员的培训11用通信线路把各种设备连接起来组成网络。网络产品选型包括路由器、交换机等网络类型包括局域网(LAN)和广域网(WAN)通信介质包括双绞线、电缆、微波和卫星通信等6.2.2网络系统的实施12•局域网(LocalAreaNetwork,LAN)通常指一定范围内的网络,可以实现楼宇内部和临近的几座大楼之间的内部联系。•广域网(WideAreaNetwork,WAN)能连接多个城市,国家或大洲--广域网不仅仅只是连接许多结点中的计算机,它还必须能使得计算机之间能同时通信。13常用的通信介质:双绞线同轴电缆14光纤微波通信地表卫星微波站(B)卫星通信地表地面波微波站(A)地面微波通信15路由器设备交换机设备16就是根据系统设计说明书中的模块处理过程描述、数据库结构等选择合适的计算机语言,编制出正确、清晰、可理解性好、可维护性强的程序的过程。程序设计又称编程或编码,选用程序设计语言书写源程序。6.3程序设计17可靠性可维护性可理解性容错性强高效性6.3.1程序设计的目标18(1)了解计算机系统的性能和软硬件环境。包括运算速度、存取速度、存储容量、外设连接及通信能力等。(2)充分理解系统概要设计和详细设计的文档,准确把握系统功能、模块间的逻辑关系、输入输出要求等。(3)根据系统设计要求和软硬件环境条件,选定程序设计语言。(4)编写程序代码。(5)程序的检查、编译与调试。6.3.2程序设计的步骤19采用顺序结构、循环结构、选择结构三种基本逻辑结构来编写程序的方法。6.3.3结构化程序设计方法20(1)顺序结构顺序结构表示含有多个连续的处理步骤,按照书写的先后顺序执行。入口AB出口Inti=0Ints=1S=100+i21(2)循环结构循环结构是由一个或几个模块构成,程序运行时重复执行,直到满足某一条件为止。PS入口出口TFInti=1Ints=0DoWhile(i=100)s=s+ii=i+1EndDo22(3)选择结构由某个逻辑表达式的取值决定选择两个处理加工中的一个。PAB入口出口TF23结构化程序设计语言。如C、Fortran、Basic等,基本是手工编程,适用于小规模的应用软件,一般不用作信息系统的开发工具。数据库管理系统(DBMS)。目前流行的有小型DBMS(VFP、Access等)和大型数据库系统工具(Oracle、SQLServer等)。可视化面向对象编程工具。如Java、VB、VisualC++、PowerBuilder、Delphi等。6.3.4编程工具的选择24常用的软件开发工具——电子表格软件例如,Lotus1-2-3电子表格软件包有一个规模较大的电子工作表(256列*2048行)。用户可以通过键盘在屏幕上填写表中数据,存入数据库,然后按图形方式显示或打印出来。由于这种软件可以灵活地将其它类型的数据文件转换成工作表文件,所以使用比较方便。此外,Lotus1-2-3还设定了许多统计和财会中常用的函数和模型,因而便于MIS和DSS的开发。25常用的软件开发工具——套装软件套装软件是将流行的若干软件集成起来形成的软件。例如:OFFICE将下列软件融合在一起:WORD(文字处理软件)EXCEL(电子表格软件)PowerPoint(绘图软件)这套软件可同时运用字处理、表格设计、数据库和绘图功能,其中EXCEL还具备一定规模的生成模型的函数。26常用的软件开发工具——可视化编程工具例如:VisualBASIC。它结合了面向对象技术,提供了一个运用对象的编程环境。它提供给用户一种可以跨越多个软件平台(如电子表格软件、Fox-pro类型的数据库、字处理软件、绘图软件)的通用语言。软件开发人员只要掌握一种核心的语言,就可方便地与其他软件连结,而且看到的是相同的用户界面。27标识符命名规范化适当的程序注释程序布局格式化程序结构简单化6.3.5程序设计风格28系统测试是对整个系统开发过程包括系统分析、系统设计和系统实施的最终审查,是保证系统质量与可靠性的最后关口。是在计算机上用各种可能的数据和操作条件,反复地对程序进行试验,发现错误及时修改,使其完全符合设计要求的过程。6.4系统测试291、系统测试的对象测试对象是整个软件包括需求分析、概要设计、详细设计以及程序设计各个阶段的开发文档,包括需求规格说明、概要设计说明、详细设计说明以及源程序。2、系统测试的目的发现软件的错误6.4.1系统测试的基本概念303、系统测试的常见错误功能错误系统错误过程错误数据错误编码错误314、系统测试的基本原则开发者不参与的原则系统输入与结果并重原则测试用例设计全面原则无效功能严格剔除原则软件中仍存在错误的概率和已经发现错误的个数成正比保留测试用例,作为软件文档的组成部分326.4.2系统测试的方法系统测试穷举测试选择测试人工测试机器测试黑盒测试白盒测试个人复查会审走查33黑盒测试:也称功能测试。将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性,即程序满足哪些功能。测试在接口上进行,看输入能否被正确地接收,并能输出正确的结果。白盒测试:结构测试。将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程(在一些点上检查程序的状态)进行测试,检查它与设计是否相符。34黑盒测试:白盒测试:356.4.3系统测试的步骤单元测试单元测试单元测试模块模块模块…组装测试系统测试确认测试测试后模块确认后软件测试后软件36371、单元测试单元测试也称模块测试,目的是保证每个模块作为独立单元能够正确运行。在单元测试中主要是代码和详细设计的错误。主要从五个方面检验模块:模块接口、模块内部的数据结构、逻辑路径、出错处理和边界条件。单元测试中应设置辅助模块:驱动模块和桩模块。382、组装测试在每个模块完成单元测试后,需按照设计时做出的结构图,把它们连接起来,进行组装测试。各模块是否无错误地连接;能否保证数据有效传输及数据的完整性和一致性;人机界面及各种通信接口能否满足设计要求能否与硬件系统的所有设备正确连接。39对每个模块完成了单元测试后,需要按照设计时作出的层次模块图把它们连接起来,进行组装测试,也叫组合测试。组装测试主要以系统详细设计和程序设计为依据,通常采用黑盒测试方法。组装测试的策略分为非增式策略和增式策略。40(1)非增式测试指在对所有模块分别进行了基于辅助模块的单元测试以后,按程序结构图,将所有模块联接起来,把联接后的程序作为一个整体来进行测试。例如:有以下程序结构图ABCDEF41先分别对六个模块进行单元测试,然后将所有模块按程序结构图联接起来,进行非增式组合测试。ABCDEFd5d4d3d2d1s2s1s3s4s542(2)增式测试实际上是把单元测试和组装测试结合起来。每次测试把下一个待测试的模块与已经测试过的那些模块结合起来进行测试。测试对象是逐渐组装起来的,一次增加一个模块。增式测试按其组装顺序又分为自上而下测试和自下而上测试两种。43自上而下测试是按照程序模块结构图,从顶层模块开始自上而下地组装,每次只增加一个模块。每增加一个模块,都要同时加上与之接口的桩模块,去掉上次测试中本模块的替身桩模块。自下而上测试的组装顺序与自上而下测试相反,先从一个最底层模块开始,从下而上逐步添加模块,组成程序的一个分支,对每一个分支重复上述过程,直到所有的分支都分别组装完成,最后将所有分支组成整个程序。44As1s2s3s4ABCs3s4ABs2s3s4ABCDs5EABCDs5EABCDF自上而下增式组合测试45Ed6BCDFEABCDF自下而上增式组合测试BCDEFd4d1d3d5d2FE463、确认测试确认测试是要进一步检查软件是否符合软件需求说明书的全部需求,又叫合格性测试或验收测试。确认测试主要包括功能测试、性能测试和配置审查。474、系统测试系统测试是将信息系统的所有组成部分包括软件、硬件、用户以及环境等综合在一起进行测试,以保证系统的各个部分协调运行。系统测试要在系统的实际运行环境中,在用户的直接参与下进行。包括集成功能测试、可靠性与适应性测试、系统自我保护及恢复能力测试、安全性测试和强度测试。48软件测试与软件开发过程的关系49⑴设计测试用例时,应同时确定程序运行的预期结果;⑵要选择合理的数据及不合理的数据;⑶检查程序应做的事情及是否做了不应做的事⑷千万不能幻想程序是正确的;⑸保留有用的测试用例,以便再测试时使用;⑹测试用例要系统地进行设计,不可随意拼凑。6.4.4测试用例设计50测试是为了发现程序中存在的错误,而排错是确定错误在程序中的位置和错误的性质,并及时改正错误。排错的关键是找到错误的具体位置。排错的方法主要有试探法跟踪法对分查找法归纳法演绎法6.4.5排错51就是指以新系统替换老系统的过程,即老系统停止使用,新系统开始运行。系统转换的任务:保证新老系统进行平稳而可靠的交接,最后使整个新系统正式交付使用。需要项目开发人员、系统操作人员、用户单位领导以及各业务部门的通力协作。6.5系统转换52系统转换前的准备工作:1.数据准备:是从老系统中整理出新系统运行所需的基础数据和资料,即把老系统的文件、数据加工成符合新系统要求的数据,其中包括历史数据的整理、数据口径的调整、数据资料的格式化,分类,编码,数据的增删改等。2.文档的准备:在系统开发结束后,应有一完整的开发文档资料,它记录了开发过程中的开发轨迹,是开发人员工作的依据,也是用户运行系统、维护系统的依据。文档资料要与开发方法相一致,且符合一定的规范。在系统运行之前要准备齐全,形成正规的文件。3.用户培训:⑴操作人员⑵管理人员⑶系统管理人员53(1)直接转换老系统新系统时间切换点6.5.1系统转换的方式在指定的时间点,停止原系统的使用,启动新系统。54(2)并行转换老系统新系统时间并行运行时间新系统投入运行时,老系统并不停止运行,而是与新系统同时运行一段时间,对照两者的输出,利用老