资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第六章 管理信息系统实施与评价,学习目标 1了解管理信息系统的实施与评价的整个过程; 2掌握程序设计的基本原则和结构化程序设计方法; 3掌握系统常用的调试技术和测试策略; 4掌握系统转换方式及系统日常运行与维护的方法; 5掌握系统评价的主要指标及其内容。,6.2 相关理论知识,6.2.1 系统实施概述 1系统实施的主要内容 系统实施阶段的主要任务就是实现新系统的物理模型,为用户提供一个功能丰富实用、运行安全可靠、易于维护扩充、使用简单方便的系统。系统实施的典型步骤包括硬件的获取、软件的获取或开发、用户准备、聘用和培训人员、地点和数据的准备、安装、测试、试运行及用户验收,如下图所示。,6.2 相关理论知识,2系统实施成功的主要因素 规划设计时要找出适合自身情况的管理信息系统,使之适应企业的发展战略,做好计划和管理。 实施中一定要有业务流程再造的配合。 运行中的维护及再开发管理,即对系统持续改进。,6.2 相关理论知识,6.2.2 程序设计概述 1程序设计任务 程序设计的主要任务是,以用户的需求为出发点,以系统分析与系统设计阶段的结构图、判断表、设计说明书等为依据,选择适当的程序设计语言及软件开发环境和工具,编制程序和调试程序,并检查运行结果是否符合设计要求。,6.2 相关理论知识,2程序设计原则 (1)可维护性。 (2)可靠性。 (3)可理解性。 (4)效率性。 (5)文档齐全。 (6)健壮性。,6.2 相关理论知识,3程序设计语言选择 项目的应用范围; 算法和计算复杂性; 软件执行的环境; 性能上的考虑与实现的条件; 数据结构的复杂性; 软件开发人员的知识水平和心理因素等。,6.2 相关理论知识,6.2.3 程序设计方法 1结构化程序设计的3种基本结构 在数据处理领域中,最早使用的“结构化”(Structured)一词出自程序设计,也就是所谓的结构化程序设计。“结构化”的含义是指用一组标准的准则与工具从事某项工作。在结构化程序设计出现以前,每一个程序员都按照各自的习惯与思路编写程序,没有统一的标准与方法,每个人的编程效率与程序的质量相差很大。 还有一个重要的问题是编写的程序,其可读性和可修改性都很差,往往一个程序员编写的程序只有他自己才能看得懂,有时甚至连他自己都看不懂,因而,别人无法看懂,更无法修改。,6.2 相关理论知识,2结构化程序的特点 结构化程序的特点是结构简单清晰,容易阅读理解、调试验证和修改维护,可靠性高。 结构化程序总体上呈现线性结构,是由多个程序段串联组成的,因此简单清楚。 阅读结构化程序时,看到哪一段就能理解到哪儿;在进行测试时,只要能验证每一程序段的正确性,那么,整个程序基本上就是正确的,因为每个程序段的输出只影响下一程序段的执行。 同时,由于各程序段只有单入口和单出口,每个程序段相对简单且容易调试,因此,整个程序的质量和可靠性也得到了保证。,6.2 相关理论知识,3结构化程序设计的基本方法 结构化程序设计的基本方法是:“自顶向下,逐步求精”。当我们对问题只知其要求尚无具体解决办法时,不可能立即设计出具体的处理程序,只能先设计高度抽象的算法,这种算法仅仅表达了解决问题的总体策略和程序的基本框架。 然后,在此基础上,对每个抽象问题进一步分析、分解和求精,划分各个部分并对各部分求得解决办法。这样逐步将问题分解细化、逐步求精,直到写出程序细节为止。 “自顶向下”是从系统的总体模块结构出发,先研究和编写最顶层的主控模块,然后沿着控制调用线向下逐次将较大的模块分解为较小的模块,并逐个予以分析解决。 “自顶向下,逐步求精”,其本质就是从整体到局部,从复杂到简单,逐步分解,细化求精,分而治之,直到问题的最终解决。 “自顶向下,逐步求精”的程序设计方法不能死搬硬套,要灵活运用,有时可以和“自底向上”的程序设计方法结合起来使用。对于模块图底层比较简单、比较熟悉或有现成程序的模块,可以先进行设计和编写,然后再将其组装成较大的模块,这就是“自底向上”的程序设计方法。,6.2 相关理论知识,4程序设计步骤 (1)充分理解系统设计要求。 (2)熟悉编程的环境。 (3)细化程序处理过程。 (4)编程。 (5)调试。 (6)运行。 如果是自用程序,在调试通过以后即可使用实际数据运行程序,得到计算结果;如果是商品软件或受委托开发的软件,则运行由用户实施。,6.2 相关理论知识,5建立良好的编程风格 (1)文档习惯。 (2)丰富的想象力。 (3)最简单的是最好的。 (4)代码编写的规范化与标准化。 源程序规范化。 数据声明规范化。 语句结构正确、清晰。 (5)程序的复用性和模块化。,6.3 相关实践知识,6.3.1 程序和系统调试 1系统调试的目的 调试是对软件计划、软件设计、软件编码进行查错和纠错的活动。 调试的目的是为了找出软件开发过程中各个阶段的错误,以便分析错误的性质和确定错误的位置,并纠正错误。 系统调试的意义不仅在于发现系统内部的错误,还可通过某些系统调试了解系统的响应时间、事务处理吞吐量、载荷能力、失效恢复能力以及系统实用性等指标,从而对整个系统做出综合评价。 专家认为“调试能证明错误存在,但不能证明错误不存在”,因此,“调试是为了发现错误而执行程序的过程。”既然调试的目的是为了发现程序中的错误,而任何调试要查出程序中的所有错误又是不太可能的,所以系统调试与前面的设计工作有所不同,是带有破坏性的,也就是要“千方百计”、“吹毛求疵”地寻找程序中的错误。,6.3 相关实践知识,2系统调试的基本方法 (1)上机编译。 (2)人工静态测试。 (3)机器动态测试。 3代码调试 (1)用正常数据调试。 (2)用异常数据调试。例如用空数据文件参加测试,检查程序能否正常运行。 (3)用错误数据调试。考验程序对错误的处理能力,包括显示错误信息以及允许修改错误的可能性。具体检查内容如下。 输入键号错误时,包括错的键号和不应有的键号,能否及时检查出和发出出错信息,并允许修改。 输入数据错误时,包括错误数据、不合理数据和负数,能否及时检查出和发出出错信息,并允许修改。 操作错误时,包括磁盘错误、操作步骤或方法错误,能否及时检查出和发出警告信息,并允许改正。 (4)设置断点。在编写好的代码中添加一些断点,观察实际发生的情况,并和预计的结果相比较,从而发现错误。,6.3 相关实践知识,4单元调试 单元调试也称为分调,它集中在程序设计的最小单位即模块上,通过调试发现该模块实现的功能与定义该模块的功能说明不符合的情况,以及编码的错误。 5验收调试 验收调试的目的是向未来的用户表明系统能够像预定要求那样工作。 6总调调试 (1)主控程序和调度程序调试。 (2)程序的总调。 7特殊调试,6.3 相关实践知识,6.3.2 系统测试策略 1黑盒测试 黑盒测试也称为功能测试或数据驱动测试,它是在已知产品所具有的功能的条件下,通过测试来检测每个功能是否能正常使用。 在测试时,把程序看做一个不能打开的黑色盒子,在完全不考虑程序内部结构和内部特征的情况下,测试者对程序接口进行测试,它只检查程序功能是否符合需求规格说明书的规定,程序是否能适当地接收输入数据并且产生正确的输出信息,还要保持外部信息(如数据库或文件)的完整性。 黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构,不考虑内部逻辑结构,只针对软件界面和功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入条件都作为测试情况使用,才能以这种方法查出程序中所有的错误。不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。,6.3 相关实践知识,2白盒测试 白盒测试也称为结构测试或逻辑驱动测试,它是在知道产品内部工作过程的情况下,通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,并按照程序内部的结构进行测试,检验程序中的每条通路是否都能按预定要求正确工作,而不管它的功能。白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 “白盒”法全面了解程序内部逻辑结构,对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字,但即使每条路径都测试了仍然可能有错误。 其中,第一,穷举路径测试不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出现的错误。第三,穷举路径测试可能发现不了一些与数据相关的错误。,6.3 相关实践知识,3灰盒测试 灰盒测试就是介于以上两者之间的测试。可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,它只是通过一些表征性的现象、事件、标志来判断内部的运行状态。有时候输出是正确的,但内部其实已经错了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样一种灰盒的方法。 灰盒测试结合了白盒测试和黑盒测试的要素,它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。 灰盒测试由方法和工具组成,这些方法和工具取自于应用程序的内部知识和与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。,6.3 相关实践知识,4黑盒测试与白盒测试的区别 (1)黑盒测试的特点。 黑盒测试主要是为了发现以下几类错误。 是否有不正确或遗漏的功能? 在接口上,输入是否能正确的接收?能否输出正确的结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始化或终止性错误? (2)白盒测试的特点。 白盒测试主要是程序模块进行如下检查。 对程序模块的所有独立的执行路径至少测试试一遍。 对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。 在循环的边界和运行的界限内执行循环体。 测试内部数据结构的有效性等等。 以上事实说明,软件测试有一个致命的缺陷,即测试的不完全性、不彻底性。由于任何程序只能进行少量(相对于穷举的巨大数量而言)的有限的测试,因此在未发现错误时,不能说明程序中没有错误。,6.3 相关实践知识,6.3.3 Web信息系统测试 1功能测试 (1)链接测试。 测试所有链接是否按指示的那样确实链接到了应该链接的页面。 测试所链接的页面是否存在。 保证Web应用系统中没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问。 (3)Cookies测试。 (4)设计语言测试 。 (5)数据库测试 。,6.3 相关实践知识,2性能测试 (1)连接速度测试 。 (2)负载测试 。 (3)压力测试 3可用性测试 (1)导航测试 。 (2)图形测试。 要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。 验证所有页面字体的风格是否一致。 背景颜色应该与字体颜色和前景颜色相搭配。 图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。,6.3 相关实践知识,(3)内容测试 。 (4)整体界面测试。 4客户端兼容性测试 (1)平台测试。 (2)浏览器测试。 5安全性测试 (1)现在的Web应用系统基本采用先注册、后登录的方式. (2)Web应用系统是否有超时的限制. (3)为了保证Web应用系统的安全性,日志文件是至关重要的。 (4)当使用了安全链接时,还要测试加密是否正确,检查信息的完整性。 (5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。,6.4 职业技能训练,6.4.1 系统的试运行与系统的转换 1系统试运行 系统试运行阶段的主要工作是;对系统进行初
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号