第一节 物理系统的实施 第二节 程序设计 第三节 软件开发工具 第四节 程序和系统调试 第五节 系统切换、运行及维护 第六节 项目管理与系统评价 第七节 从结构化系统开发方法的系统实施 到面向对象方法的系统实施 第八章 管理信息系统的实施 第一节 物理系统的实施 MIS物理系统的实施是计算机系统和通信网络系 统设备的订购、机房的准备和设备的安装调试等一系 统列活动的总和。 本节内容 一、计算机系统的实施 二、网络系统的实施 一、计算机系统的实施 购置计算机系统的基本原则是能够满足MIS 的设计要求。 此外,还应当考虑以下问题: ·计算机系统是否具有合理的性能价格比 ·系统是不具有良好的可扩充性 ·能否得到来自供应商的售后服务和技术支持 等。 二、网络系统的实施 MIS 通常是一个由通线线路把各种设备连接起来组 成的网络系统。 MIS网络: 局域网 (LAN)通常指一定范围内的网络,可以实现宇 楼内部和邻近的几座大楼之间的内部联系。 广域网 (WAN) 设备之间的通信,通常利用公共电信 网络,实现远程设备之间的通信。 网络系统的实施的主要内容: 通信设备的安装; 电缆线的铺设; 网络性能的调试等工作。 常用的通信线路有双绞线、同轴电缆、光纤电缆以及 微波和卫星通信等。 第二节 程序设计 本节内容 一、对程序设计的要求 二、结构化程序设计方法 可维护性 指当系统需求变化时,容易对程序进行补 充或修改。 可靠性 不仅正常情况下能正确工作,而且在意外 情况下应便于处理。 可理解性 要求层次清楚,便于阅读,便于维护。 效率 程序的效率指程序能否有效地利用计算机 资源,如节省存储空间、提高运行效率等。 但片面地追求程序的运行效率反而不利于 程序设计质量的全面提高,因为效率与可 维护性、可理解性通常是矛盾的。 一、对程序设计的要求 二、结构化程序设计方法 -1 ? 编写程序应符合软件工程化思想 , 即应利用工 程化的方法进行软件开发。这不仅可提高软件开发效 率,而且便于将来的维护和修改。 ? 具体是: 从整体上,应采用 自顶向下的模块化设计方法; 在具体编程中,则应采用 结构化程序设计方法。 ?自顶向下的模块化设计 首先确定上层功能,然后,经过层层分解,把一个复杂的 系统分解为多个功能较单一的功能模块。 在模块化程序设计中应注意以下几点: - 模块的 独立性 应尽可能相互独立,以便于模块独立开发。 -模块 大小划分 要适当,模块中包含的子模块数要合适。 -模块 功能 要简单 底层模块一般应完成一项独立的处理任务。 - 共享的功能模块应 集中 在一个上层模块中,供各模块引 用。 二、结构化程序设计方法 -2 ?结构化程序设计方法 特点是采用以下三种基本逻辑结构来编写程序: 1. 顺序结构 由一系列依次执行的语句或模块构成。 2. 循环结构 循环结构是由一个或几个模块构成,程序运行时 重复执行,直到满足某一条件为止 如 Foxpro中的 Do While-Enddo语句,一般格式为: DO WHILE <条件> <命令组1> [Loop] <命令组2> [EXIT] <命令组3> ENDDO 二、结构化程序设计方法 -3 二、结构化程序设计方法 -4 3. 选择结构 根据条件成立与否选择程序执行路径: 结构一 : 结构二: IF<条件> IF<条件> <命令组1> <命令组> ELSE ENDIF <命令组2> ENDIF 结构三: DO CASE CASE< 条件 1> <命令组1> ··· CASE<条件 n> <命令组 n> ENDCASE 第三节 软件开发工具 ? 过去,应用程序由专业计算机人员逐行编写,不 仅周期长、效率低、质量差、而且重复劳动多,不易修 改。 软件开发工具 可以在一定程度上解决这些问题。 本节内容 一、电子表格软件 二、利用数据库管理系统的生成功能 三、套装软件 四、可视化编程工具 五、计算机辅助工具 一、电子表格软件 例如,Lotus 1- 2- 3 电子表格软件包 有一 个规模较大的 电子工作表 (256列*2048行)。 用户可以通过键盘在屏幕上填写表中数据,存 入数据库, 然后按图形方式显示或打印出来。 由于这种软件可以灵活地将其它类型的数据文 件转换成工作表文件,所以使用比较方便。 此外,Lotus 1-2-3还设定了许多 统计 和 财会 中常用的 函数 和 模型 ,因而便于MIS和DSS的开发。 二、利用数据库管理系统的生成功能 现在,数据库管理系统已不只是局限于数据管 理, 而且具有相当强的软件生成功能。例如: 在 ORACLE数据库管理系统中,利用 SQL*FORMS 可以通过选择一些菜单和相应的功 能键方便地进行对库操作; SQL*PLUS的触发器 为保证数据的完整性、一致性 和合法性提供必要的检验手段; SQL*REPORT为报表输出提供方便 SQL*GRAPH为图形生成提供方便。 以上这些 ORACLE 软件工具配合起来使用,可以 形成一个综合的应用软件开发环境。 三、套装软件 套装软件 是将流行的若干软件集成起来形成的软 件。例如: OFFICE将下列软件融合在一起: WORD(文字处理软件) EXCEL (电子表格软件 ) Power Point(绘图软件)。 这套软件可同时运用字处理、表格设计、数据库 和绘图功能,其中 EXCEL 还具备一定规模的 生成模 型的函数 。 四、可视化编程工具 例如:Visual BASIC 它结合了 面向对象技术 ,提供了一个运用 对象的编程环境。 它提供给用户一种可以跨越多个软件平台 (如电子表格软件、 Fox-pro类型的数据库、 字处理软件、绘图软件)的通用语言。 软件开发人员只要掌握一种核心的语言, 就可方便地与其他软件连结,而且看到的是相 同的用户界面。 五、计算机辅助软件工程(CASE) 计算机辅助软件工程 (COMPUTER AIDTD SOFTWARE ENGSNEERING,简称 CASE)。 它集成了多种工具。 能实现: ? 辅助编程 ?支持系统分析和系统设计 (如生成数据流程图 ;生成功能结构图 和各种文档资料等 )。 它为系统提供了 全过程的开发环境 。 第四节 程序和系统调试 ? 程序和系统调试的目的是发现程序 和系统中可能存在 的错误并及时予以纠正。 本节内容 一、程序调试 二、分调(功能调试) 三、总调(能行性联调) 四、特殊测试 五、实况测试 一、程序调试 -1 程序只有经过调试,才能认为基本 正确,而要证明程序完全正确,则要经过 一段时间试用才能确定。 程序调试 包括: 1. 代码测试 测试程序在逻辑上是否正确; 2. 程序功能测试 测试程序能否满足功能和 应用上的需求。 一、程序调试 -2 1. 代码测试 测试程序在逻辑上是否正确。 首先,编制要测试数据, 其中包括:正常数据、异常数据和错误数据。 然后, (1) 用正常数据调试 (2) 用异常数据调试 例如:用空数据文件去测试,能否正常运行。 (3) 用错误数据调试 例如:输入错误数据或不合理数据时,能否及 时发现并提示出错信息,并允许修改; 又如:操作错误时(包括操作步骤或方法错误) 能否及时发出警告信息,并允许改正。 2. 程序功能测试 测试时,需要面向程序的应用环境,把程序看 作是一个 “黑盒子 ”, 测试它能否满足功能和应用上 的需求。 一、程序调试 -3 二、分调(功能调试) 分调的目的: 保证模块内各程序间具有正确 的控制关系,并测试模块的运 行效率。 分调的时间: 单个程序调试完成以后。 分调的做法: 将一个功能内所有程序按次序 串联起来进行调试。 三、总调(能行性联调) 总调的内容: 1. 主控程序和调度程序调试 调试目的不是处理结果的正确性,而是验 证控制接口和参数传 递的正确性,以便发现并 解决逻辑控制问题。 2. 程序的总调 是将主控制和调度程序与各功能模块联结 起来进行总体调试。 这一阶段查出的往往是模 块间相互关系方面的错误和缺陷。 总调应由系统分析员和程序员合作进 行。 四、特殊测试 以上是 常规测试 。 特殊测试 是根据系统需要而选择进行的,如 - 峰值负载测试 -容量测试 -响应时间测试 -恢复能力测试 五、实况测试 实况测试 是以过去手工处理时得出正确结 果的数据作为输入,然后将新系统输出结果与 手工处理结果进行比较。除严格校对结果外, 还要考察系统运转的合理性、效率和可靠性。 第五节 系统切换、运行及维护 本节内容 一、系统切换 二、系统运行管理及维护 一、系统切换 -1 系统切换 指由旧的、手工 处理系统向新的 计算机信息系统过渡的过程。 信息系统的切换的方法 (一 )直接切换法 (二 )并行切换法 (三 )试点过渡法 一、系统切换 –2 ? 信息系统的切换的方法 (一 ) 直接切换法 是在某一确定的时刻,老系统停止运行时,新系 统随即投入运行。 (二 ) 并行切换法 新系统与老系统同时运行一段时间,对照两者的 输出,利用老系统的数据对新系统进行检验。 (三 )并行切换法 先用新系统的某一部分代替老系统,作为试点, 逐步地代替整个老系统。 一、系统切换 -3 ? 系统切换中注意的问题 1. 尽早准备好新系统投用需要的大量 基础数据 2. 不仅是程序的转换,更难的是人工 的转换,应提前培训人员。 3.系统切换中出现一些局部性的问题 是正常现象,可及时予以解决。 二、系统运行管理及维护 -1 ? 系统运行的日常管理 (由系统管理员完成) 内容包括: – 数据的收集、整理和录入 – 系统输出结果的整理与分发 – 系统运行情况的记录 除了记录正常情况(如处 理效率、文件存取率、更新率)外,还要记录意 外情况发生的时间、原因与处理结果。 – 硬件和设施的日常管理 二、系统运行管理及维护 -2 ? 系统的维护 内容包括: -程序的维护 指根据需求变化或硬件环境的变化 对程序进行部分或全部的修改。 -数据文件的维护 一般使用开发商提供文件维护程序, 也可自行编制专用的文件维护程序。 -代码的维护 如订正、添加、删除及重新设计。 第六节 项目管理与系统评价 ? 管理信息系统的开发与实施涉及面 广、时间长,是一个复杂的系统工程, 需要多方面人员的密切配合和科学的项 目管理。 本节内容 一、人员管理 二、拟定和实现项目工作计划 三、制定相应文件 四、系统评价 一、人员管理 ? 管理信息系统的开发和应用需要的人材 -系统工作人员 -程序员 -操作员 -硬件人员 -项目负责人 ? 项目开发还应由管理人员参与,应加强用户和 设计人员之间的理解和沟通。 ? 计算机和用户的关系是计算机为用户服务,而 不是用户为计算机服务,之间的理解和沟通。 二、拟定和实现项目工作计划 ? 为了完成系统开发工作,要制定好项目工 作计划,经常检查计划完成情况,分析滞 后原因,并及时调整计划。 ? 制定计划可采用卡特图或网络计划技术, 以达到用最短的时间、最小的资源消耗完 成预定的目标。 三、制定相应的文件 ? 在开发 MIS的每个阶段都应制定好相应的 文件, 明确工作目标和职责范围。 四、系统评价 系统评价的目的 通过对运行过程和绩效的审查,检查系统达到 了预期的目标,是否充分利用了系统内各种资 源,管理工作是否完善,并提出今后系统改进 和扩展的 方面。 ? 系统评价的内容 - 对信息系统的功能评价 - 对现在硬件和软件的评价 - 对信息系统的应用评价 - 对信息系统的经济效果评价 第七节 从结构化系统实施 到面向对象方法的系统实施 本节内容 一、理性统一化系统开发方法的提出 二、统一建模语言 一、理性统一化系统开发方法的提出 -1 问题的提出 管理信息系统开发成功率一直很低。据估计80年代中国企 业开发信息系统的成功率仅20%左右,这意味着大量资金的 浪费和损失。 问题的解决涉及管理思想、管理制度、管理方法、权力结 构、习惯势力的阻碍和开发方法等许多相关因素。 关键问题 ? 弄清需求, 正确描述需求 ? 加快程序设计,并允许快速修改 ? 系统开发各个阶段应能顺利衔接 一、理性统一化系统开发方法的提出 -2 关键问题的解决 ? 弄清需求, 正确描述需求方面 通过 “理性化 ”的 UML( 统一建模语言 ) 建立的模型 能够更真实、更全面地定义和描述客观系统。 ? 加快程序设计,并允许快速修改方面 从结构化程序设计方法转向面向对象的程序设计方 法大大加快了程序设计的速度,设计的软件重用性好、 易于维护、适应性强。 ? 系统开发各个阶段应的顺利衔接方面 利用UML可视化建模工具可方便地将系统开发各阶 段联系起来。 二、统一建模语言 -1 统一建模语言 (Unified Modeling Language, 简称UML) 是为面向对象开发方法设计的一种通用的可视化建模语言。 UML中使用一系列图来描述系统 描述系统的行为需求 ——采用 用例图 规定问题域的词库 ——采用 类图 类和对象如何相互作用 ——采用 时序图 、 协作图 、 状态 图 、 活动图 描述系统的软件结构 ——采用 类图 和 组件图 规定系统中软件的行为 ——采用 时序图 、 协作图 、 状态 图、活动图 描述运行软件的处理器和设备的拓朴 ——采用 配置图 。 二、统一建模语言 -2 ? 这些图可直接利用可视化建模工具(如Rational Rose,Prosa等)在计算机上生成,并将UML模型转换 为多种程序设计语言代码(C++, Visual C++, Visual Basic, CORBA, Java等)。 ? 可以运用前向工程从模型生成程序源代码和关系 数据库中的表。 ? 可以使用反向生成器工具实现逆向工程,即将程 序源代码转换为UML模型的图 。 ? 这样采用迭代式的系统开发方法为实现业务流程 优化创造了条件,从而明显地提高系统的适应性和可 维护性。 第八章 管理信息系统的实施 小结 软件 开发工具 系统运行的 管理及维护 管 理 信 息 系 统 的 系 统 实 施 程序和 系统调试 包括程序调试、分调、总调、特殊测试和实况 测试等。 系统运行管理指日常管理、实时记录和及时处 置等。维护包括程序的维护、数据文件的维护 和代码的维护等。 是计算机系统和通信网络系统设备的订购、机 房的准备和设备的安装调试等一系统列活动的 总和。 物理系统的 实施 程序设计 要求可维护性、可靠性、可理解性和效率。结 构化程序设计特点是采用顺序结构、循环结构 和选择结构等三种基本逻辑结构编程。 如电子表格软件、利用数据库管理系统的生成、 套装软件、可视化编程工具和计算机辅助工具等 。