1、第七章 管理信息系统的系统实施,管理信息系统,第八章 管理信息系统的系统实施,第一节 物理系统的实施 第二节 程序设计 第三节 软件开发工具 第四节 程序和系统调试 第五节 系统切换、运行及维护 第六节 项目管理与系统评价 第七节 从结构化系统开发方法的系统实施到面向对象方法的系统实施,系统分析,系统设计,系统实施,系统实施阶段的任务:实现系统设计阶段提出的物理模型,按照实施方案完成一个可以实际运行的信息系统,交付用户使用。,系统实施的主要任务,根据系统分析、系统设计的结果,完成: 系统环境的实施 程序设计 系统调试 系统切换,系统实施阶段需要投入大量的人力、财力、物力,任务繁杂,占用时间较长
2、。 系统高级开发人员,做好计划、组织、协调工作: 组织大量开发人员编写程序; 组织开发人员与业务人员准备好系统切换所需的大量数据; 组织人员进行系统调试; 与众多用户合作,做好人员培训、系统切换及交付用户使用; 组织人员整理文档,准备系统评价材料。,第一节 系统环境的实施,系统环境包括:硬件环境和软件环境。系统环境配置方案应在系统设计阶段规划完成,系统实施阶段付诸实现。 具体包括: 硬件设备的购置、安装与连接; 软件的购置、安装及调试。,第二节 程序设计,一、程序设计的目标,当系统需求变化时,容易对程序进行补充或修改。,不仅正常情况下能正确工作,而且在意外情况下能便于处理。,程序层次清楚,便于
3、阅读、维护。,程序能否有效地利用计算机资源,如节省存储空间、提高运行效率等。,程序效率、可维护性、可理解性三者之间的关系,二、程序设计的原则,编写程序应符合软件工程化思想, 即应利用工程化的方法进行软件开发。这不仅可提高软件开发效率,而且便于将来的维护和修改。,具体是:,三、结构化程序设计方法,首先确定上层功能; 然后,经过层层分解,把一个复杂的系统分解为多个功能较单一的功能模块。,(1)自顶向下的模块化设计,在模块化程序设计中应注意以下几点:,(2)结构化程序设计方法,特点:采用顺序结构、循环结构、选择结构这三种基本逻辑结构来编写程序:,顺序结构,顺序结构表示含有多个连续的处理步骤,按照书写
4、的先后顺序执行。,Int i=0 Int s=1 S=100+i,入口,A,B,出口,循环结构,循环结构是由一个或几个模块构成,程序运行时重复执行,直到满足某一条件为止。,Int i=1 Int s=0 Do While(i=100)s=s+ii=i+1 EndDo,选择结构,由某个逻辑表达式的取值决定选择两个处理加工中的一个。,软件开发,实际开发工作中经常遇到的情况: 做出来的系统不符合要求,需要大量修改; 开发进度难以控制,工期一拖再拖; 验收的项目在实际使用过程中被束之高阁。,避免问题的措施,1.制定开发规范 2.合理的人员构成与管理 3.严格监控开发进度 4.程序设计技术,1.制定开发
5、规范,目的:保证系统的协调性、统一性和连贯性。,系统设计规范,规定数据库文件、字段、编号、函数以及文档命名所采用的规则 软件界面的标准和风格 各类报表的输出格式尤其强调对公共部分的约定,如数据库文件名,库内字段数量、公用函数等,一旦确定,组内任何人员都不得随意增加、删除或修改。若确实需要修改,需书面报经项目组负责人审批同意,并建立文件存档,同时要把修改结果及时通知项目开发相关人员,不能遗漏。,程序编写规范,约定对程序、变量、函数的命名规则 对应用程序分类 (如代码维护类、业务处理类、业务查询类、统计报表类等) 给出各类应用程序的标准程序流程,项目管理规范,项目组中各类开发人员的职责和权力 开发
6、过程中各类问题的处理规范和修改规则 开发工作的总体进度安排 奖惩措施,开发规范的作用,有了开发规范,在后续的开发过程中: 设计人员就不必每次考虑如何为一个字段命名; 编程人员也不必去想某个程序的结构和布局应当怎样; 测试人员有了判断程序对错的标准。,2.合理的人员构成与管理,开发小组: 项目负责人 系统分析员 系统设计员 程序员 测试人员 必要的后勤保障服务人员,3.严控开发进度,制定一个可行的项目进度计划; 监控计划执行情况。,4.程序设计技术,程序设计:编写程序,使计算机得以实施正确动作的全部工作。信息系统的程序设计:基于一定的数据库平台,使用选定的程序语言将系统分析、设计所确定的处理对象
7、与处理规则的描述转换成计算机源代码。,(1)程序质量的评价,“一个逻辑上绝对正确但杂乱无章的程序实际上没有什么价值。”因为它无法供人阅读,难以测试、排错和维护。 过去:强调算法和程序的效率,不注重程序设计的方法和程序的可读性。 现在:强调程序的可读性和可维护性。,程序质量的评价标准,正确性 可靠性 简明性 有效性 可维护性 适应性,程序本身具备且仅具备 “系统设计说明书”中所列举 的全部功能。,程序无论在怎样的条件与环境下 运行都不易被破坏并能实现期望 的结果。,(2)程序设计中的注意问题,1)选择成熟的程序设计方法 2)选择配套的编程语言 3)选择好标识符 4)适当安排注释行 5)程序设计实
8、用化,第三节 软件开发工具,过去,应用程序由专业计算机人员逐行编写,不仅周期长、效率低、质量差、而且重复劳动多,不易修改。软件开发工具可以在一定程度上解决这些问题。 电子表格软件 利用数据库管理系统的生成功能 套装软件 可视化编程工具 计算机辅助工具,(1)电子表格软件,(2)数据库管理,(3)套装软件,套装软件是将流行的若干软件集成起来形成的软件。例如: OFFICE将下列软件融合在一起:WORD(文字处理软件)EXCEL (电子表格软件)Power Point(绘图软件)。,这套软件可同时运用字处理、表格设计、数据库和绘图功能,其中 EXCEL 还具备一定规模的生成模型的函数。,(4)可视
9、化编程工具,(5)计算机辅助软件工程,第四节 程序和系统调试,调试目的:发现程序和系统中可能存在的错误并及时予以纠正。 程序调试 分调 总调,一、程序调试,程序只有经过调试,才能认为基本正确;要证明程序完全正确,则要经过一段时间试用才能确定。,测试程序在逻辑上是否正确。,测试程序能否满足功能和应用上的需求。,(1)代码测试,首先要编制测试数据,包括:正常数据、异常数据、错误数据。,如:用空数据文件去测试,能否正常运行。,例如:输入错误数据或不合理数据时,能否及时发现并提示出错信息,并允许修改;又如:操作错误时(包括操作步骤或方法错误)能否及时发出警告信息,并允许改正。,(2)程序功能测试,程序
10、功能测试时: 需要面向程序的应用环境, 把程序看作是一个“黑盒子”, 测试它能否满足功能和应用上的需求。,二、分调(功能调试),系统的应用软件通常由多个功能模块组成,每个模块由一个或几个程序构成。在单个程序调试完成以后,需要进行分调。,(1)分调的目的,保证模块内各程序间具有正确的控制关系,并测试模块的运行效率。,(2)分调的时间,单个程序调试完成以后。,(3)分调的做法,将一个功能内所有程序按次序串联起来进行调试。,三、总调(能行性联调),由系统分析员和程序员合作进行 总调的内容: (1)主控程序和调度程序调试 调试目的不是处理结果的正确性,而是验证控制接口和参数传递的正确性,以便发现并解决
11、逻辑控制问题。 (2)程序的总调将主控程序和调度程序与各功能模块联结起来进行总体调试。这一阶段查出的往往是模块间相互关系方面的错误和缺陷。,四、特殊测试,特殊测试是根据系统需要而选择进行的,如: 峰值负载测试 容量测试 响应时间测试 恢复能力测试,五、实况测试,实况测试:以过去手工处理时得出正确结果的数据作为输入,然后将新系统输出结果与手工处理结果进行比较。除严格校对结果外,还要考察系统运转的合理性、效率和可靠性。,六、黑箱测试,不考虑系统内部结构而运行系统,以检查在一定的输入下,系统的输出是否与期望相同。,七、白箱测试,不仅要完成黑箱测试的内容 还要检查输入的数据是如何通过系统内部设定的结构
12、,达到输出的。,第五节 系统切换、运行及维护,一、系统切换,系统切换:由旧系统向新信息系统的过渡。,信息系统的切换的三种方法:,(1)直接切换法,在某一规定的时间直接用新系统替代旧系统,中间没有过渡阶段。 优点:简单、费用少。 缺点:风险大。不适应于重要系统,对一般系统的使用也应采取预防性措施,在系统业务量少或没有时转换,一旦新系统出现问题,旧系统能立即启用。,(2)并行切换法,新旧系统同时运行一段时间,对照两者的输出,利用旧系统的数据对新系统进行检验。 并行运行时间:视业务状况及系统运行状况而定,一般需半年到一年。 优点:安全、风险小;可进行新、旧系统的比较,发现和改正新系统的问题。 缺点:需要额外增加工作人员和系统支持资源,费用高。 适用于重要系统的切换。,(3)试点过渡法,先用新系统的某一部分代替旧系统,作为试点,逐步地代替整个老系统。 优点:既可以避免直接转换的风险,又可避免并行转换时费用大的问题。 常用于:大系统或较为复杂的系统 但必须事先考虑好新、旧系统的接口。 当新旧系统差别太大时,不适宜采用。,系统切换应该注意的问题,二、系统运行管理,MIS运行的日常管理: 决不仅仅是机房环境和设施的管理 更主要的是对系统每天运行状况、数据输入和输出情况以及系统的安全性与完备性及时如实的记录和处置。 负责人:系统管理员,