首页 百科知识 开发的策略及方法

开发的策略及方法

时间:2022-07-15 百科知识 版权反馈
【摘要】:管理信息系统的战略规划完成后,下一步便是分期分批地实现每个管理信息系统应用项目的开发。系统分析是MIS开发工作的第二个阶段,它以系统规划中提出的目标为出发点。

管理信息系统的战略规划完成后,下一步便是分期分批地实现每个管理信息系统应用项目的开发。

一、管理信息系统开发策略

开发管理信息系统有两类策略: 不可行开发策略、可行开发策略。

不可行开发策略是以往在开发信息系统时,最容易犯的错误,以后人们在开发信息系统时,应引以为戒。不可行开发策略包括以下几种。

1. 组织机构法

组织机构方法机械地按照现有组织机构划分系统,不考虑MIS的开发原则,主观认为现有组织机构很合理,没有考虑如何适应计算机处理的要求和特点,重新合理规划各个子系统。即对现行系统没有进行必要的改造和调整,因此不能发挥计算机高效处理及资源共享等优越性,影响了计算机在管理上的应用效果。

2. 数据库方法

数据库方法是从数据而不是功能角度去分析和设计一个新系统。开发人员从数据库设计开始对现有系统进行开发,它强调将一个组织中的所有重要数据都存储在集中的大型数据库中,然后以数据库为中心,开展各项业务的处理。

由于事先没有很好考虑和规划新系统中各项业务之间的关系,所以在围绕数据库开发了一些应用项目后,就会发现功能之间不协调,甚至产生矛盾。

3. 想象系统法

这种方法是基于对现有系统进行想象为基础进行开发的,将新系统分析与设计完全建立在想象和假设的基础之上。这种方法脱离实际,违背了新系统的“基于原系统而高于原系统”原则,即使新系统建立起来,也根本无法投入实际运行。

目前,常用的可行开发策略也有三种,具体如下。

1. “自下而上”的开发策略

“自下而上”的开发策略是从现行系统的业务状况出发,先实现一个个具体的功能 (如工资计算、订单处理、库存控制、生产管理、物资供应等),当下层子系统分析完成后,再进行上一层系统的分析与设计,逐步地由低级到高级建立管理信息系统。其优点是可以避免大规模系统出现运行不协调的危险; 缺点是忽视系统部件的有机联系,没有从整个系统出发考虑问题,随着系统的发展,往往要做许多重大修改,甚至重新规划、设计。

2. “自上而下”的开发策略

“自上而下”的开发策略是从企业管理的整体进行设计,逐渐从抽象到具体,从全面到局部,从长远到近期,从概要设计到详细设计,体现结构化的设计思想,探索合理的信息流出发来设计信息系统。由于这种开发策略要求很强的逻辑性,因而难度较大,但这是一种更重要的策略,是信息系统的发展走向集成和成熟的要求。

这种开发策略适用于小型系统或开发人员对开发工作缺乏经验的情况。

3. 集成开发策略

为了充分发挥以上两种开发策略的优点,人们往往将两者结合起来应用。其基本策略:首先,采用结构化方法的基本思想,“自上而下”做好总体规划; 然后,在总体规划的指导下,采用各种适宜的策略开发各子系统或分子系统,并自底向上集成。大型系统往往采用这种开发策略。

二、管理信息系统的几种开发方法

开发管理信息系统的方法有很多,以下介绍几种常用的方法,如结构化开发方法、原型法、面向对象开发方法和CASE开发方法等。

1. 结构化系统开发方法 (SSAM)

结构化系统开发方法 (structured system development methodologies) 是自顶而下结构化方法、工程化的系统开发方法和生命周期方法的结合,它是目前应用得最普遍的一种开发方法。

结构化系统开发方法是用系统工程的思想和工程化的方法,按用户至上原则,结构化、模块化、自顶向下地对系统进行分析与设计。具体来说,就是先将整个系统开发过程划分为若干个相对独立的阶段,如系统规划、系统分析、系统设计、系统实施等。前三个阶段对系统坚持自顶向下地进行结构化划分。也就是说,在系统调查或理顺管理业务时,应从最顶层的管理业务入手,逐步深入至最基层。系统分析、提出新系统方案和系统设计时,应从宏观整体考虑入手,即先考虑系统整体的优化,然后考虑局部的优化。在系统实施阶段,则应坚持自底向上地逐步实施。也就是说,从最基层的模块编程,按照系统设计的结构,将模块一个一个拼接在一起,进行调试,自底向上逐渐地构成整体系统。

结构化系统开发方法开发一个系统,将整个开发过程从可行性研究开始,经过系统分析、系统设计、系统实施三个主要阶段,最后进行系统运行,五个首尾相连的阶段,称之为系统开发的生命周期。

(1) 系统规划。

根据用户的系统开发请求,进行初步调查,明确问题,确定系统目标,确定分阶段实施进度,然后进行可行性研究。

(2) 系统分析。

系统分析是MIS开发工作的第二个阶段,它以系统规划中提出的目标为出发点。系统分析的阶段的工作包括: 分析业务流程; MIS开发的可行性分析; 详细的系统调查; 分析数据和数据流程; 提出分析处理方式; 最后建立信息系统的逻辑模型。该阶段的成果为“系统分析报告”,它是系统设计阶段的工作基础。

(3) 系统设计。

系统设计在系统分析阶段提出的逻辑模型的基础上设计MIS的物理模型。此阶段的主要工作任务: 总体结构设计; 代码设计; 信息系统流程图设计; 数据库设计; 模块结构与功能设计和编写程序设计说明书; 该阶段的成果为“系统设计说明书”。

(4) 系统实施。

系统实施阶段的工作任务是: 程序的编程及调试; 数据准备; 系统转换。该阶段的成果为最终实现的管理信息系统、程序说明书、使用说明书。

(5) 系统运行。

系统运行的工作是进行系统的运行管理与评估工作,然后进行分析运行结果,如果运行的结构良好,则送管理部门指导生产经营活动; 如果有问题,则要对系统进行修改、维护或局部调整; 如出现不可调和的大问题 (这种情况一般是系统运行若干年后,系统运行的环境已经发生了根本的变化时才可能出现),则用户将会进一步提出开发新系统的要求,这标志着旧系统生命的终止、新系统的诞生。

结构化系统开发方法是在传统自发系统开发方法批判的基础上,通过不断地探索和努力,建立起来的一种系统化方法。这种方法有突出的优点: 采用自顶向下的观点,强调整体和全局性,利于整体优化; 生命周期各阶段间存在着严格的顺序,每步工作都及时地总结,及时发现问题,及时反馈和纠正; 避免了开发过程的混乱状态; 适合于大型信息系统的开发。但随着时间的推移,这种开发方法也逐渐显现一些缺点和不足。最突出的缺点就是开发过程复杂烦琐、周期长、系统难以适应环境的变化。

2. 原型法

原型法是20世纪80年代随着计算机软件技术的发展,特别是在关系数据库系统 (RD-BS)、第四代程序语言和各种系统开发环境产生的基础上,提出的一种从设计思想、工具、手段都是全新的系统开发方法。与结构化开发方法相比,原型法一开始就凭借系统开发人员对用户要求的理解,在有力的软件环境支持下,设计出一个系统原型,然后与用户反复协商修改,最终形成实际系统。

运用原型法开发信息系统时,开发人员首先要对用户提出的问题进行总结,然后开发一个原型系统并运行之。开发人员和用户一起针对原型系统的运行情况反复对它进行修改(在这过程中也可以添加新功能),直到用户对系统完全满意为止。如图7-8所示。

图7-8 原型法的工作流程

原型法发展前景很好,有很大的推广价值。但必须指出,它的推广应用必须有一个强有力的软件支持环境作为背景。一般认为原型法所需要的软件环境主要有: 一个方便灵活的关系数据库系统,例如,SQL,ORACALE; 一个与关系数据库系统相对应的,方便灵活的数据字典,它具有存储所有实体的功能; 一套与关系数据库系统相对应的快速查询系统,能支持交互方式的组合条件查询。又如,SQL中的查询分析器; 一套高级的软件工具用以支持结构化程序,并且允许采用交互的方式迅速地进行书写和维护、产生任意程序语言的模块,如VB、VC。

原型法的优点很突出,原型法贯彻的是“从下到上”的开发策略,它更易被用户接受;将模拟手段引入系统分析的初期阶段,沟通了人们的思想,缩短了用户和系统分析人员之间的距离,解决了结构化方法中最难以解决的一环; 充分利用了最新的软件工具,摆脱了老一套工作方法,使系统开发的时间、费用大大地减少,效率、技术等方面都大大地提高。但由于该方法在实施过程中缺乏对管理系统全面、系统的认识,因此,它不适用于开发大型的管理信息系统; 对于原基础管理不善,信息处理过程混乱的问题,系统开发容易走上机械地模拟原来手工系统的轨道; 此外,每次反复都要花费人力、物力,如果用户合作不好,盲目纠错,就会拖延开发过程。

因此,在实际系统开发过程中,人们常常将原型法与系统分析的方法结合起来开发系统,即先用系统分析的方法划分系统,然后用原型法来开发具体模块。

3. 面向对象方法 (Object Oriented,OO)

面向对象开发方法以类、类的继承、聚集等概念描述客观事物及其联系,为管理信息系统开发提供了全新思路。

面向对象方法也被称为快速原型法,是适应当前计算机技术的进步及对软件需求的极大增长而出现的,是一种快速、灵活、交互式的软件开发方法学。其基本思想就是用交互的、快速建立起来的原型取代了形式的、不易修改的大块的规格说明,通过在计算机上实际运行、试用和评估这个原型,用户可以向开发者提供真实的反馈意见,系统开发人员可以借助这个原型挖掘用户的需求,然后进行修改。快速原型法的实现基础之一是可视化的第四代语言的出现。

“对象”被定义为某一事物,即可以看到、摸到或感觉到的一种实体。“对象”是系统的基本成分,“对象”由“属性”(Attribute) 和“方法”(Method) 组成。“属性”反应对象的信息特征,如特点、值状态等。“方法”则是用来定义改变属性状态的各种操作。对象之间的联系主要是通过传递消息 (Message) 来实现的,而传递的方式是通过消息模式和方法所定义的操作过程来完成的。对象可按其属性进行归“类”(Class)。对象被严格模块化了的实体,称之为“封装”(Encapsulation)。这种封装了的对象满足软件工程的一切要求,而且可以直接被面向对象的程序设计语言所接受。

在由OO方法开发的系统中,包含以下四个阶段。

(1) 准备和系统调查阶段。

首先要调查研究开发系统项目,面临的问题、目标和方向。

(2) 分析问题阶段。

提出业务需求描述,在复杂的问题中抽象地识别出对象以及其行为、结构、属性、方法等。这一阶段称之为面向对象分析 (OOA)。

(3) 设计构造阶段。

对分析的结果做进一步的抽象、归类、整理并最终以某种形式将它们确定下来,这一阶段称之为面向对象设计 (OOD)。

(4) 程序实现。

用面向对象的程序设计语言将上一步整理出来的范式映射为应用程序软件。这一阶段称之为面向对象的程序 (OOP)。

面向对象的开发方法的优点很明显: 对于用户需求不确定的项目来说是一个非常有效的开发方法; 鼓励用户参与系统开发的积极性,提高终端用户使用系统的热情; 由于许多用户参与到系统开发过程中,所以项目开发过程的透明度和支持度都非常高; 用户和管理层都可以更快地看到可以工作的信息系统原型,也就是可以更早地得到企业的解决方案; 与其他开发方法相比,它可以尽早地发现系统中存在的问题和疏漏,提高信息系统开发的质量; 这种开发方法大幅度降低了系统开发的风险,不断循环的技术解决方案取代了一次性提交技术解决方案的结果。

同时,面向对象的开发方法也存在一些缺点,例如,这种开发方法采用编码、实现、修复的开发方式,这样就提高了运行、支持和维护的成本,因为技术开发人员和用户都希望尽早地可以使用这个原型而失去了开发过程中选择更好技术方案的机遇; 过度地强调速度问题,而使得系统质量缺陷没有得到很好的解决。

一般来说,面向对象开发方法适用于开发小型的信息系统项目。

4. 计算机辅助软件工程CASE开发方法

CASE是一种自动化或半自动化的方法,能够全面支持系统调查外的每一个开发步骤。采用CASE工具进行系统开发,必须结合一种具体的开发方法,如结构化系统开发方法或原型化开发方法等。严格地讲,CASE只是一种开发环境而不是一种开发方法,是为具体的开发方法提供了支持每一过程的专门工具。实际上,CASE工具是把手工完成的开发过程转变为自动化工具和支持环境支持的自动化开发过程。

CASE方法解决了从客观对象到软件系统的映射问题,支持系统开发的全过程; 提高了软件质量和软件重用性,加快了软件的开发速度; 简化了软件开发的管理和维护; CASE方法自动生成开发过程中的各种软件文档。

目前,CASE中集成了多种工具。这些工具既可以单独使用,也可以组合使用。CASE的概念也由一种具体的工具,发展成为了开发信息系统的一种方法学。

对于同一个系统开发过程来说,使用不同的系统开发方法在其具体的操作过程上是有所不同的。

应用结构化系统开发方法来开发系统,首先要对问题进行调查,然后从功能和流程的角度来分析、了解和优化问题,最后规划和实现系统; 用原型法开发方法来开发系统,其思路是先让用户介绍问题,然后利用软件工具迅速地模拟出一个问题原型,再与用户一起运行和评价这个原型,如不满意就立刻修改,反反复复直到用户满意为止,最后优化整理系统; 如用面向对象开发方法来开发系统,首先对问题进行调查,然后从抽象对象和信息模拟的角度来分析问题,将问题按其性质和属性划分成各种不同的对象和类,理清它们之间的信息关系,最后用面向对象的软件工具实现系统。使用面向对象方法开发MIS时,工作重点在生命周期中的分析阶段。分析阶段得到的各种对象模型也适用于设计阶段和实现阶段。

案例

财政信用资金管理系统的案例

财政信用资金的管理是资金管理的一种特例,从资金使用、划拨方面来看,其具有行政性质的政府行为,但从资金的回收、结算方面,又和金融管理比较相似,所以其需求情况比较复杂。

某单位在系统开发前新购了3台奔腾机器,操作系统为随机配备的Windows,共有10名左右工作人员,但无一人有使用微机的经验。该单位每月需向上级部门提交报表。在报表中显示当月各借贷单位的借贷本金借还情况、使用费用 (利息) 欠还情况、罚金 (滞纳金)的欠还情况等。

该管理系统分成三个部分: 数据库、用户界面和功能处理。首先,对数据进行了规范化处理,根据借款合同对每一笔借款进行唯一编号,编号采用八位数字字串,前六位为借款日期,后两位为当天业务的流水编号。然后,确定数据库内容,分析各存储数据之间的相互关系,从而确定出数据库的结构。借款情况数据库文件名为jk.dbf,包括八项内容: 借款单位、借款费率、还款日期、借款金额、借款号、借款类型、借款日期、借款用途。还款情况数据库文件名为hk.dbf,包括借款号、还款日期、借款金额、借款类型。统计表文件名为tjb.dbf,它们之间通过共同索引jkh相互连接,jk.dbf与hk.dbf建立一对多的关系,jk.dbf与tjb.dbf建立一对一的关系。

用户界面部分初步设计了批准借款登记表单、归还借款登记表单、初建登记表等,通过这些表单,初步完成了其数据库数据内容的建立,但功能有限。

接下来就是根据用户的意见,不断修改和完善这个原型。其中包括对数据库的升迁和完善; 在用户界面上增加对输入数据有效性的验证,使其更为完善; 增加和修改各种处理功能,提高其效率等,直至整个系统完成。

将原型系统提交给用户后,其经过数据库的建立过程和一些初步的打印与查询操作,对微机的使用有了一定的了解,从而对系统的操作及查询功能提出了更高的要求。针对这些要求,首先,对系统数据库进行进一步提升和完善。如为了使录入内容更准确,具有统一性,又增加了单位名称数据库、费率数据库、借款类型数据库等,有了这些数据库,可以在录入界面中设置下拉列表控件。下拉列表中的选项内容来自这些数据库,这样既减轻了操作人员的录入工作量,又减少了录入过程误操作的可能性。如对单位名称,若不采用下拉列表式录入,而让操作人员直接录入的话,可能产生同一单位而又不同名字的情况; 又如,数据库的索引建立,根据查询和报表的需要,分别设立了不同的索引; 根据使用单位的要求,需要保留至少一年的数据,采用滚动记录的方法,将tjb.dbf作为当前库,同时建立了12个月的对应统计数据库,每当计算下月统计情况时,系统自动将tjb.dbf中的内容转存到相应月份数据库中进行保存; 由于财政信用资金具有政府行为,所以管理不是十分规范。它们在使用过程当中,往往遇到需要减免使用费或罚息的情况,于是在这里增加了减免利息 (jmlx.dbf)和减免罚息 (jmfx.dbf) 的数据库,对这些情况加以记录。

根据用户的使用情况和意见对用户界面进行了全面调整,重新设计了批准借款登记表单,归还借款登记表单界面,使其在操作的简便性、交互友好度方面进一步提高。另外又增加了数据查询表单,在该表单中用户可根据单位名和借款合同号进行查询,利用页控件实现了对同一单位的不同笔借款同时显示在同一窗口,用户可用鼠标点击页标签来查看每笔借款情况。利用表格控件和数据库的一对多的关系,用户可在查看每笔借款情况的同时,看到其历史的还款情况、减免息情况及减免金额情况。最后,显示出每笔借款的结算情况和该单位总的结算情况。

对数据的正确处理,是整个系统设计的重点和难点,对每一月份的统计情况,不是一个简单的计息过程,其中有很多例外的情况,如计算罚息及对破产企业停止计息或对困难企业减免利息等情况,均要在数据处理过程中进行考虑。将数据的计算处理基本上放在了打印报表表单中,在该表单中设计了三个命令按钮,分别为开始打印、取消打印、退出按钮。数据的处理程序包含在开始打印按钮的click属性中,根据报表的用途不同,设置了一个选择按钮组,其包含三个不同的选项,分别是临时报表、正式月报和以往报表。根据不同的选项,在数据的计算处理过程当中将采用不同的计算方法,当选项为正式月报时,进行统计计算后,系统自动将tjb.dbf中的数据转存到相对应月份的数据库中,新计算生成的数据存放在tjb.dbf中。

报表的设计是一项十分细致的工作,由于中国人传统的报表习惯,需要大量的表格线,而表格线非常难以控制和调整。加上表格栏目繁多,所以调整起来十分不易。这一工作经过和用户的反复协商和修改,最后效果比较理想。表格打印机的选择为宽行打印机,纸张为A3幅面的打印纸,打印结果和用户原有手工表格十分接近。在表格的设计中还对输出进行了排序,并按照原来的习惯,进行了分组输出。

最后,需要说明的是该系统在设计时,考虑到了网络应用。在查询表单中使用了SQL结构化查询语言,使其能够在网络上运行。如上所述,该单位有3台P166微机为Windows操作系统,非常适合于Windows的对等网络连接。这样,3台微机可实现数据共享,其中一台作为主服务器,其他两台微机可进行查询操作。

案例讨论问题

1. 分析此案例,原型法的开发方式还有哪些亟待解决的问题?

2. 通过本案例,你认为系统设计的重点有哪些?

3. 哪些因素影响着开发人员对系统的开发?

本章习题

1. 阐述MIS的作用及其内容。

2. 系统规划的几种常用方法是什么? 它们各有什么特点?

3. 如何检查U/C矩阵的正确性,试用身边熟悉的情况建立、验证并求解,最后解释其意义。

4. 目前有哪几种常用的系统开发方法,试比较分析各自的优缺点?

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈