管理信息系统_6

上传人:ths****59 文档编号:54816773 上传时间:2018-09-20 格式:PPT 页数:61 大小:1.43MB
返回 下载 相关 举报
管理信息系统_6_第1页
第1页 / 共61页
管理信息系统_6_第2页
第2页 / 共61页
管理信息系统_6_第3页
第3页 / 共61页
管理信息系统_6_第4页
第4页 / 共61页
管理信息系统_6_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《管理信息系统_6》由会员分享,可在线阅读,更多相关《管理信息系统_6(61页珍藏版)》请在金锄头文库上搜索。

1、第5章 系统设计,付永华 QQ:676634473 E-mail:fuyonghua_ Mobile: 13526675111 Blog:,6.1 系统实施,总体来讲,系统实施阶段的任务就是实现系统设计阶段提出的物理模型,按实施方案完成一个可以实际运行的信息系统、并交付用户使用。系统设计说明书是实施阶段的基础,它规定了管理信息系统各个模块的功能、输入和输出、数据库的物理结构等。,系统实施阶段的具体任务包括,计算机物理系统的实施 包括计算机主机、输入输出设备、存储设备、通信设备等。 购置、安装、调试这些设备要花费大量的人力、物力,并可能持续相当长的时间。 应用软件的编写与调试 软件包括了系统软件

2、、数据库管理系统及一些应用程序。程序设计是这一阶段的任务之一。 人员培训 主要是指用户的培训,包括管理人员和业务人员。 数据准备 信息系统的调试、运行都需要一定的基础数据。 系统转换 目标系统投入运行时必须做好与现行系统的转换工作,以保证实际业务不受影响。,6.1.2系统实施阶段的领导,与其他阶段相比,系统实施阶段工作量大,占用时间长,投入的人力、物力多,用户有关部门的设备、机构、工作方法都要发生变化,因此,该阶段的组织、管理工作非常重要。目标系统实施领导工作应由目标系统开发领导小组承担,也可由专门成立的实施小组承担,但组长必须由用户单位的最高领导担任。领导小组、专家和有关部门领导共同编制目标

3、系统实施计划。在计划实施过程中还要经常进行检查和调整,处理、解决实施过程中发生的一切重大问题。该小组 还要负责验收各部分工作,组织目标系统的测试,以及现行系统向目标系统转换的一切重大问题。该小组还要负责验收各部分工作,组织目标系统的测试,以及现行系统向目标系统转换的一切组织管理工作。,Thank you,6.2 程序设计,程序设计的目的就是用计算机程序语言来实现系统设计中的每一个模块。这是系统实施阶段的核心工作。但是,这部分工作与计算机的发展密切相关。随着技术的发展,程序设计的评价指标、设计思想、方法技巧等都发生了一些根本性的变化。,6.2.1评价编程工作的标准,软件工程技术要求软件生产工程化

4、、规范化,使软件设计从“艺术”变成了“技术”。 从目前技术来看,评价编程工作的标准大致可以分为四个面:可维护性、可靠性、可读性、效率。 可维护性; 可靠性; 可读性; 效率.,6.2.2结构化程序设计方法,1. 结构化程序设计的原则: 任何程序结构都可以用三种基本的结构:顺序结构、选择结构、循环结构来实现; 复杂结构可以通过上述三种基本结构的组合嵌套来实现; 程序语句组成容易识别的模块,每个模块只有一个入口和一个出口; 严格控制GOTO语句的使用,只有在下列两种情况下才可以使用: 用一个非结构化的程序设计语言实现一个结构化的构造; 在某种可以改善而不是损害程序可读性的情况下。,6.2.2结构化

5、程序设计方法,2.自顶向下、逐步求精的模块化设计 自顶向下、逐步求精方法符合人们解决复杂问题的普遍规律,可提高管理信息系统开发的成功率; 逐步求精是先全局后局部、先整体后细节、先抽象后具体的过程,利用这个过程开发出来的程序具有清晰的层次结构,容易阅读和理解; 程序自顶向下、逐步细化,分解成一个树形结构,如图61所示。同一层的节点相互之间没有关系,因此它们之间的细化工作是相互独立的。当某一步发生错误,一般只影响它下层的节点,同一层其他节点不受影响。在以后的测试中,也可以先独立地一个节点一个节点地完成,最后再集成。 程序清晰和模块化,使得在修改和重新设计一个软件时,可再利用的代码量最大;有利于程序

6、设计的分工和组织工作。,6.2.3程序设计风格,程序实际上也是一种供人阅读的文章,也有一个程序的风格问题。20世纪70年代初,有人提出在编写程序时,应该使之具有良好的风格。程序员在编写程序时,应当意识到今后会有人反复地阅读这个程序,并沿着编写者的思路去理解程序的功能。所以,应当在编写程序时注意程序设计的风格,这样能够大量减少人们读程序的时间,从整体上来看,提高了效率。,1.源程序文档化,源程序文档化是指程序内部带有说明性材料,即程序的注释。源程序中的注释是程序员与日后的程序阅读者之间通信的重要手段。正确的注释能够帮助程序阅读者理解程序,可以为后续的测试、维护阶段提供明确的指导。目前,大多数程序

7、设计语言允许使用自然语言对程序本身进行注释,给阅读程序带来极大的方便。在一些正规的程序文本中,注释行的数量会占到整个源程序总量的13甚至12。在使用注释时要注意以下几点: 注释必须与程序保持一致,否则就毫无价值。特别是修改程序时要注意对注释也要进行相应的修改; 注释是针对一段程序,而不是对每一条语句; 注释不是重复说明程序语句,而应该提供从程序本身难以得到的信息; 利用缩进和空行等组织形式使程序与注释区分开。,1.源程序文档化,注释一般分为序言性注释和功能性注释。 序言性注释通常置于每个程序模块的开头部分。它给出程序的整体说明,引导阅读者理解程序。 功能性注释嵌在源程序体内,用于描述相对应的程

8、序段或语句要做什么,或者是完成什么功能。,2.简单、直接地反映意图,程序的编写要简单,直截了当地说明程序员的用意,使人能一目了然地、准确地知道,不需要过多的分析和想象。,3.程序书写格式,在编写程序时,一行只写一条语句,并采取适当的移行,可使程序的逻辑和功能变得清楚、明确。,4.标识符命名规范化,标识符包括了文件名、模块名、变量名、常量名、子程序名、数据区名等。对标识符的理解是理解程序逻辑的关键。这些标识符的命名应能反映出它们所代表的实际内容。好的标识符命名能使人见名知意,例如,表示总量用TOTAL,表示平均值是AVERAGE,表示累加和用SUM等。 因此,应当选用精练的、意义明确的名字作为标

9、识符的命名。,5.合理使用GOTO语句,Dijkstra有关程序设计的一句名言是“程序员的水平与他在程序中使用GOTO语句的密度成反比”。因此,一定要避免使用不必要的GOTO语句。,Thank you,6.3 系统测试,软件开发是人们智力劳动的过程。在这个过程中,尽管人们利用许多方法去保证、提高系统分析、设计、实施等各个阶段的质量,但难免会在工作中存在这样、那样的错误。因此,系统中会隐藏许多的错误和缺陷。特别是在大规模、高复杂性项目的开发中更是如此。随着信息技术在国民经济的一些重要领域的应用日益广泛,系统中的任何错误,都有可能造成财产以至生命的重要损失。例如,1963年美国飞往火星的火箭爆炸事

10、件,其原因在于某一段FORTRAN程序的循环语句DO 5 I=1,3被误写成 DO 5 I=1.3在系统编译时误写的语句被认为是赋值语句 DO5I=1.3从“,”到“.”的一点之差造成了1000万美元的损失。,6.3.1测试的概念,1. 测试的概念目前,检验程序的方法有三种:正确性验证、静态检查和动态检查。程序的正确性验证是利用数学方法证明程序的正确性。这是一种理论性方法,目前尚处于研究阶段,还不能用于大型系统当中。设置命题及其证明推导过程冗长,需要大量的脑力劳动。一个440行的ALGOL程序,其正确性验证长达46页之多。尽管如此,正确性验证仍是一个诱人的课题,对未来的软件可能产生深远影响。,

11、静态检查,程序的静态检查是指人工评审软件文档和程序。这种方法简单而且行之有效。据统计,约有3070的错误是通过评审发现的。因此,这是开发过程中必不可少的保证措施。结构化生命周期法强调在每一个阶段都要对本阶段的工作进行评审,当然也包括对文档的评审。阶段评审要有开发人员、局外专家及项目单位的领导参加,以便各抒己见、长短互补,更多地发现错误。错误发现越早,就越易于纠正,纠正越早,系统开发成本就越低。,动态检查,程序的动态检查就是测试。这是一种实验法,即有控制地运行程序,从各个方面观察程序运行的状况以求发现其中的错误。也可以说,测试是为了发现错误而执行程序的过程。在测试时,根据系统开发各个阶段的要求说

12、明和程序的内部结构而精心设计一批测试用例,包括输入数据以及预期的输出结果,并用这些测试用例去运行程序,以发现程序中存在的错误。,目前,系统开发中用于测试的费用一般占到研制费用的40。而对一些特殊的实时控制系统,如核反应堆监控、飞行控制等一旦发生问题就会产生灾难性后果的软件,其测试费用甚至高达所有其他阶段费用总和的35倍,动态检查,2. 测试的类型,测试工作应该贯穿系统开发的各个阶段。根据测试对象的不同,可以将测试分为模块测试联合测试验收测试系统测试,模块测试与联合测试,模块测试是在编写出一个模块之后就对它进行测试,所以也叫单元测试。模块测试一般包括下列项目:模块界面、内部数据结构、独立路径、错

13、误处理、边界条件等,根据模块说明,检查上述项目是否存在错误。联合测试即是通常说的联调,是在每个模块都完成了模块测试之后进行的。 各个模块单独执行可能没有错误,但组合起来由于相互之间的影响,可能会出现意想不到的错误,因此要将整个系统作为一个整体进行联合测试。联合测试方法有两种,即根据模块结构图自顶向下或自底向上地进行测试 .联合测试查出的往往是模块间相互关系方面的错误和缺陷。,验收测试,验收测试用于检验系统分析说明书的各项功能与性能是否都实现,系统是否满足要求。验收测试的方法一般是列出一张清单,左边是需求的功能,右边是验收测试过程中发现的错误或缺陷。一般使用组织运行中的实际数据进行测试,使用用户

14、界面输入测试数据,并分析测试的结果。验收是以用户为主的测试。,系统测试,系统测试是对整个系统的测试,将硬件、软件、操作员等看作一个整体,检验系统是否有不符合系统分析说明书的地方。这种测试可以发现系统分析和设计中的错误。例如,安全测试用来测试安全措施是否完善,能不能保证系统不受非法侵入。系统测试需要在实际环境中进行。,6.3.2测试的目的和原则,测试是为了发现系统中的错误。因此,选取测试用例时,应选择那些易于发现系统错误的数据。Crenford J.Myen就测试目的提出以下观点: (1)测试是程序的执行过程,其目的在于发现错误; (2)一个好的测试用例是指这个测试用例很有可能发现至今未发现的错

15、误; (3)一个成功的测试是指它发现了至今未发现的错误。,根据这样的测试目的,系统测试的原则应该是: (1)应尽早地和不断地进行测试; (2)测试用例应由测试输入数据和与之对应的预期输出结果组成; 测试之前应当根据测试的要求选择测试用例(test case)。任何一个系统都包含有输入和输出部分,因此测试用例不但需要包含测试时的输入数据,而且还需要针对这些输入数据产生预期输出结果,作为检验测试结果的基准 (3)在设计测试用例时,不仅应当包括合理的输入数据,而且也应当包括不合理的输入数据 (4)测试报告应长期保留,为维护提供方便,6.3.2测试的目的和原则,6.3.3测试用例的设计,测试的目的在于

16、尽可能多地发现错误。那么,测试能否发现所有的错误?或者说能不能把所有可能做的测试无遗漏地一一做完,找出所有的错误呢?下面按两种常用的测试方法做出具体分析。两种常用的测试方法是“白盒测试”和“黑盒测试”。,6.3.3测试用例的设计,白盒测试是已知系统的内部控制结构,通过测试证明每种内部操作是否都符合设计规范,所有内部成分是否都已经过检查。 黑盒测试是已知系统的功能设计规格,通过测试证明每个实现了的功能是否符合要求。,白盒测试,白盒测试是对系统的过程细节作细致的检查。它把测试对象看作一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。,白盒测试,如图6-2所示的某程序的流程图,共有5条不同的路径,需循环20次。它所包含的不同执行路径数高达520(=1013)条。若要对它进行穷举测试,即要设计测试用例,覆盖所有的路径。假使对每一条路径进行测试需要1毫秒,而且一天工作24小时,一年工作365天,那么要想把如图6-2所示的小程序的所有路径测试完,则需要,

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号