260 likes | 506 Views
第 6 章 系统实施、维护与评价. 6.1 系统实施概述 当系统分析与系统设计的工作完成以后,开发人员的工作重点就从分析、设计和创造性思考的阶段转入实践阶段。在此其间,将投入大量的人力、物力及占用较长的时间进行物理系统的实施、程序设计、程序和系统调试、人员培训、系统转换、系统管理等一系 6.1.1 系统实施的目标 在系统分析与与系统设计的阶段中,开发人员为新系统设计了它的逻辑模型和物理模型。系统实施阶段的目标就是把系统设计的物理模型转换成可实际运行的新系统。系统实施阶段既是成功地实现新系统,又是取得用户对新系统信任的关键阶段。 列工作,这个过程称为系统实施。.
E N D
第6章 系统实施、维护与评价 6.1 系统实施概述 当系统分析与系统设计的工作完成以后,开发人员的工作重点就从分析、设计和创造性思考的阶段转入实践阶段。在此其间,将投入大量的人力、物力及占用较长的时间进行物理系统的实施、程序设计、程序和系统调试、人员培训、系统转换、系统管理等一系 6.1.1 系统实施的目标 在系统分析与与系统设计的阶段中,开发人员为新系统设计了它的逻辑模型和物理模型。系统实施阶段的目标就是把系统设计的物理模型转换成可实际运行的新系统。系统实施阶段既是成功地实现新系统,又是取得用户对新系统信任的关键阶段。 列工作,这个过程称为系统实施。
第6章 系统实施、维护与评价 6.1.2 系统实施的主要内容和步骤 一般来说,系统实施阶段主要有以下几个方面的工作: 1.物理系统的实施; 2.程序设计; 3.系统调试; 4.人员培训; 5.系统切换。 6.2 程序设计与调试 程序设计的主要依据是系统设计阶段的HIPO图以及数据库结构和编程代码设计。 程序调试的目的是要使用计算机语言实现系统设计中的每一个细节。
第6章 系统实施、维护与评价 6.2.1 程序设计的任务与基本要求 高质量的程序,必须符合以下基本要求: 1.程序的功能必须按照规定的要求,正确地满足预期的需要; 2.程序的内容清晰、明了、便于阅读和理解; 3.程序的结构严谨、简捷、算法和语句选用合理,执行速度快,节省机时; 4.程序和数据的存储、调用安排得当,节省存储空间; 5.程序的适应性强。程序交付使用后,若应用问题或外界环境有了变化时,调整和修改程 以上各要求并不是绝对的,允许根据系统本身以及用户环境的不同情况而有所侧重考虑。序比较简便易行。此外,程序设计结束后,还应写出操作说明书,说明执行该程序时的具体操作步骤。
第6章 系统实施、维护与评价 6.2.2 程序设计方法 我们推荐使用现有软件工具的方法,这样做不但可以减轻开发的工作量,而且可以使系统开发过程规范,功能强,易于修改和维护。 结构化程序设计方法 结构化程序设计(STRUCTURED PROGRAMING,简称SP)方法,由E·DIJKSTRA等人于1972年提出,用于详细设计和程序设计阶段,指导人们用良好的思想方法,开发出正确又易于理解的程序。 鲍赫门(BOHM)和加柯皮(JACOPINI)在1966年就证明了结构定理:任何程序结构都可以用顺序、选择和循环这三种基本结构如图6-2-1(a)、(b)、(c)所示来表示。
第6章 系统实施、维护与评价 (a) 顺序(b) 选择(c) 循环 图6-2-1 程序的三种基本结构 结构化程序设计至今还没有一个统一的定义,一般认为:结构化程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制技术。 速成原型式的程序开发方法 这种开发方法是 : 首先将HIPO图中类似带有普遍性的功能模块集中,如菜单模块、报表模块、查询模块、统计分析和图形模块等。 寻找有无相应和可用的软件工具,若有则使用这些工具生成这些程序模型原型。否则,可考虑开发一个能够适合各子系统情况的通用模块。
第6章 系统实施、维护与评价 面向对象程序设计方法 面向对象的程序设计方法一般应与OOD所设计的内容相对应。它实际上是一个简单、直接的映射过程,即将OOD中所定义的范式直接用面向对象的程序(OOP),如C++,Smalltalk,Visual C等来取代即可。 6.2.3 程序设计语言的选择 选择适合于管理信息系统的程序设计语言应该从以下几个方面考虑: 1. 语言的结构化机制与数据管理能力 2. 语言可提供的交互功能 3. 有较丰富的软件工具 4. 开发人员的熟练程度 5. 软件可移植性要求 6. 系统用户的要求
第6章 系统实施、维护与评价 6.2.4 程序设计的风格 为了提高程序的可读性,在程序设计风格方面应注意以下几点: 1.适当的程序注释 书写注释时应注意: (1)注释应和程序一致,修改程序时应同时修改注释,否则会起反作用,使人更难明白。 (2)注释应提供一些程序本身难以表达的信息。 (3)为了方便用户今后维护,注释应尽量多用汉字。 2.有规律的程序书写格式 3.恰当选择变量名 6.2.5 管理信息系统的基本程序模块 一个管理信息系统的软件由很多程序模块组成,这些程序模块可以归纳成为几种基本类型,包括控制模块、输入及校验模块、修改或更新模块、分类合并模块、计算模块、查询、检索模块、输出模块和预测、优化模块等,其结构如图6-2-3所示。
第6章 系统实施、维护与评价 图6-2-3 基本程序模块结构图片 6.2.6 衡量编程工作指标 从目前的技术发展来看,衡量编程工作的指标大致可分为5个方面: 可靠性(Reliability):它可分解为两个方面的内容:一是程序或系统的安全可靠性,如数据存取的安全可靠性,通讯的安全可靠性,操作权限的安全可靠性。另一个方面是程序运行的可靠性,这一点只能靠程序调试时严格把关来保证编程工作质量。
第6章 系统实施、维护与评价 实用性(Suability) :一般从用户的角度来审查,它是指系统各部分是否都非常方便实用。它是系统今后能否投入实际运行的重要保证。 规范性(Standardability):即系统的划分、书写格式、变量的命名等等都是按统一规范进行的。这对于今后程序的阅读、修改和维护都是十分必要的。 可读性(Readability):即程序的清晰,没有太多繁杂的技巧,能够使他人容易读懂。它对于大规模过程化开发软件非常重要。 可维护性(maintainability):即程序各部分相互独立,没有调用子程序以外的其它数据关联。也就是说不会发生那种在维护时,牵一发动全身的连锁反应。 一般一个规范性、可读性、结构划分都很好的程序模块,它的可维护性也是比较好的。
第6章 系统实施、维护与评价 6.2.7常用的编程工具 一般比较流行的软件工具开分为6类:一般编程语言,数据库系统,程序生成工具、专用系统开发工具、客户/服务器(client/Server, C/S)型工具以及面向对象的编程工具。 常用编程语言类 它是指由传统编程工具发展而来的一类程序设计语言。通常有:C语言、C++语言、COBOL语言、PL/1语言、PROLOG语言、OPS语言等等。 这些语言一般不具有很强的针对性,它只是提供了一般程序设计命令的基本集合,因而适应范围很广,原则上任何模块都可以用它们来编写。 缺点:其适应范围广是以用户编程的复杂程度为代价的,程序设计的工作量很大。 数据库类 目前市场上提供的主要有两类:xBASE系统(以微机关系数据库为基础)和大型数据库系统。
第6章 系统实施、维护与评价 程序生成工具类 它是指第四代程序(4GLs)生成语言,是一种常用数据处理功能和程序之间的对应关系的自动编程工具。 较为典型的产品有:AB(Application Builder应用系统建造工具),屏幕生成工具、报表生成工具以及综合程序生成工具,即有FoxPro, Visual BASIC, Visual C++, CASE, Power Builder等。 目前这类工具发展的一个趋势是功能大型综合化,生成程序模块语言专一化。 系统开发工具类 前主要有两类:专用开发工具类和综合开发工具类。 专用开发工具类:是指对某应用领域和待开发功能针对性都较强的一类系统开发工具。 综合开发工具类:它是指一般应用系统和数据处理功能的一类系统开发工具。其特点是可以最大限度地适用于一般应用系统开发和生成。
第6章 系统实施、维护与评价 客户/服务器(C/S)工具类 面向对象编程工具类 6.2.8 程序调试 调试的意义和目的 调试的策略和基本原则 调试阶段还应注意以下一些基本原则: (1)调试用例应该由“输入数据”和“预期的输出结果”组成。 (2)不仅要选用合理的输入数据进行调试,还应选用不合理的甚至错误的输入数据。 (3)除了检查程序是否做了它应该做的工作,(4)应该长期保留所有的调试用例,直至该系统被废弃不用为止。
第6章 系统实施、维护与评价 测试方法 测试包括三方面,即设计“测试用例”,执行被测程序和分析执行结果并发现错误。设计测试用例是开始程序测试的第一步,也是有效地完成测试工作的关键。按照在设计测试用例时是否涉及程序的内部结构,可以分为白盒测试和黑盒测试两种方法。 白盒测试时,测试者对被测试程序的内部结构是清楚的。他从程序的逻辑结构人手,按照一定的原则来设计测试用例,设定测试数据。由于被测程序的结构对测试者是透明的,因此有些书本又称这类测试为玻璃盒测试或结构测试。 黑盒测试的情况正好相反。此时,测试者把被测程序看成一个黑盒,完全用不着关心程序的内部结构。设计测试用例时,仅以程序的外部功能为根据。一方面检查程序能否完成一切应做的事情,另一方面要考察它能否拒绝一切不应该做的事情。由于黑盒测试着重于检查程序的功能,所以也称为功能测试。
第6章 系统实施、维护与评价 设计测试用例的基本目标 设计测试用例是测试阶段的关键技术问题。所谓测试用例就是以发现程序错误为目的而精心设计的一组测试数据,包括预定要测试的功能,应该输入的测试数据和预期的结果。可以写成: 测试用例={输入数据+期望结果} 设计测试用例最困难的问题是设计测试的输入数据。不同的测试数据发现程序错误的能力差别很大,为了提高测试效果、降低测试成本,应该选用高效的测试数据。因为不可能进行穷尽的测试,选用少量“最有效的”测试数据,做到尽可能完备的测试就很重要了。因此,设计测试用例的基本目标就是确定一组最可能发现多个错误或多类错误的测试数据。 设计测试数据的技术 已经研究出许多设计测试数据的技术,这些技术各有优缺点,没有哪一种是最好的,更没有一种可以代替其余所有技术;同一种技术在不同应用场合效果可能相差很大,因此,通常需要联合使用多种测试数据。 本书介绍的设计测试数据技术主要有:适用于黑盒测试的等价划分、边界值分析及错误推测法等;适用于白盒测试的逻辑覆盖法等。 通常设计测试数据的做法是:用黑盒法设计基本的测试用例,再用白盒法补充一些方案。
第6章 系统实施、维护与评价 黑盒测试技术 等价划分 等价划分是黑箱测试的一种技术。前面讲过,穷尽的黑盒测试需要使用所有有效的和无效的输入数据来测试程序,通常这是不现实的。因此,只能选取少量有代表性的输入数据,以期用较小的代价暴露出较多的程序错误。 设计等价类的测试用例一般分为两步进行: 第一步:划分等价类并给出定义; 第二步:选择测试用例。 边界值分析 经验表明,处理边界情况时程序最容易发生错误。例如,许多程序错误出现在下标、纯量、数据结构和循环等等的边界附近。因此,设计使程序运行在边界情况附近的测试方案,暴露出错误的可能性更大一些。 错误推测 输入组合
第6章 系统实施、维护与评价 逻辑覆盖(白箱测试技术) 有选择的执行程序中某些最有代表性的通路是对穷尽测试的唯一可行的替代方案。所谓逻辑覆盖是对一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。 测试数据执行(或叫覆盖)程序逻辑的程度可以划分成哪些不同的等级呢?从覆盖源程序的语句的详尽程度分析,大致有以下一些不同的覆盖标准: 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 调试步骤 模块调试 分调 总调
第6章 系统实施、维护与评价 系统调试 6.3 新旧系统切换 数据准备 系统文档准备 人员培训 设备安装 系统切换 直接切换 平行切换 分段切换
第6章 系统实施、维护与评价 6.4 系统运行与维护 6.4.1 系统运行 运行的组织 系统运行管理 6.4.2 系统维护 系统维护的定义 系统维护是指在管理信息系统交付使用后,为了改正错误或满足新的需要而修改系统的过程。 维护工作中常见的问题 理解别人写的程序通常非常困难,而且困难程度随着软件配置成分的减少而 需要维护的软件往往没有合适的文档,或者文档资料显著不足。迅速增加。 当要求对软件进行维护时,不能指望由开发人员来仔细说明软件。 绝大多数软件在设计时没有考虑将来的修改。
第6章 系统实施、维护与评价 6.4.3 系统的可维护性 系统的可维护性可通过以下方面来衡量。 1.可理解性 2.可测试性 3.可修改性 4.软件文档 5. 可维护性复审资料 6.4.4 系统维护的内容和类型 根据维护活动的目的不同,可把维护分成改正性维护、适应性维护、完善性维护和安全性维护四大类。另一方面,根据维护活动的具体内容不同,可将维护分成程序维护、数据维护、代码维护和设备维护这四类
第6章 系统实施、维护与评价 按维护活动的目的分类有: (1)改正性维护 (2)适应性维护 (3)完善性维护 (4)安全性维护 按维护活动的内容分类有 (1) 程序的维护 (2) 数据的维护 (3) 代码的维护 (4) 设备的维护 综上所述,系统维护应包括对系统的改正、改变和改进这三个方面,而不仅仅局限于改正错误。
第6章 系统实施、维护与评价 6.4.5 系统维护的步骤、组织和管理 系统维护的步骤
第6章 系统实施、维护与评价 维护的组织和管理 维护组织 维护报告 维护记录 评价维护活动 6.5 系统评价 6.5.1 系统平价的概念 6.5.2 技术评价 系统的技术评价指标是客观评价系统的依据。系统技术评价指标一般分为性能指标和经济效益指标两大类。
第6章 系统实施、维护与评价 系统性能指标有如下方面组成: 1. 系统平均无故障时间; 2. 系统联机相应时间、处理速度和吞吐量; 3. 系统操作灵活性和方便性; 4. 系统利用率; 5. 系统的安全性和保密性; 6. 系统加工数据的准确性; 7. 系统的可扩充性; 8. 系统的可维护性。
第6章 系统实施、维护与评价 6.5.3 经济效益评价 直接经济效益 (1)一次性投资,包括系统硬件、软件和系统开发费用。 (2)运行费用 (3)年生产费用节约额 (4)机时成本 间接效益评价 (1)提高管理效率 (2)提高管理水平 (3)提高企业对市场的适应能力 6.5.4 综合评价 1. 功能的完整性。 2. 商品化程度。 3. 程序规模。总语句行数,占用存储空间大小。 4. 开发周期。从系统总体规划到新系统转换所花费时间。 5. 存在的问题。系统还存在哪些问题以及改进的建议。
第6章 系统实施、维护与评价 6.5.5 系统评价报告 系统评价报告通常由以下主要内容组成。 1.引言 (1)摘要系统名称、功能。 (2)背景系统开发者、用户。 (3)参考资料设计任务书、合同、文件资料等。 2.系统评价的内容 (1)性能指标 (2)经济指标 (3)综合性
第6章 系统实施、维护与评价 6.6 系统运行环境的管理 6.6.1 系统运行环境的管理 系统的运行管理工作是一个琐碎而细致的原始资料积累过程,不能忽视。 6.6.2 系统信息资源的管理 1.软件配置的管理 2.维护文档的管理