管理信息系统的开发.docx
《管理信息系统的开发.docx》由会员分享,可在线阅读,更多相关《管理信息系统的开发.docx(29页珍藏版)》请在冰点文库上搜索。
管理信息系统的开发
第四章管理信息系统的开发
学习目的和要求:
通过本章的学习,建立信息系统开发的系统思想,了解结构化方法、原形法和面向对象法的概念以及它们各自的特点。
掌握结构化开发方法的步骤和内容,了解原形法和面想对象的开发发法的一般过程。
理解信息系统开发中容易出现的问题,了解管理信息系统开发的指导思想和工作原则。
了解CASE工具的作用。
§4.1管理信息系统的开发方法概述
管理信息系统的开发是一项复杂的系统工程,它涉及的知识领域广泛,涉及的单位部门众多,需要在计算机技术、管理业务、组织及行为等方面全面把握。
可以采用的系统开发方法较多,如传统的结构化方法、原形法、面向对象法等,每种方法都有自己的适用范围,不能简单地说哪种方法最好或明显比其他方法优越;往往各种方法会在系统开发的不同侧面和不同阶段为信息系统的开发提供有益的帮助或明显提高开发质量及效率。
因此,不能对开发人员硬性规定必须采用何种方法从事系统的开发工作,而只能因地制宜,具体问题具体分析。
无论何种方法,都必须实现两个目标:
一是提高信息系统的开发效率,二是保证信息系统的质量。
系统方法或系统方法论是研究管理信息系统开发方法的重要思想。
所谓系统工程有两层含意,作为科学,它是以研究大规模复杂系统为对象、以系统概念为主线,引用其它学科的一些理论、概念和思想而形成的多元目的科学;作为工程,它又是一门工程技术,具有和一般工程技术相同的特征,但又具有本身的特点。
信息系统的开发是这样一种系统工程,它并不研究特定的工程物质对象,而是研究为协调物质对象而存在的信息系统,研究如何将现有的人工信息管理模式转换成利用计算机、通信等技术的现代化管理摸式。
这种转换过程就是信息系统开发。
从这个意义上说,可以将信息系统的开发过程称之为信息系统工程,一方面从系统的概念出发,首先考虑系统的全局结构,着眼于整体最优,再进一步考虑系统的各个组成部分的主要功能以及组成部分之间的协调一致,进而达到系统的最终目标。
在开发过程中要能够将管理学、人际关系学、组织行为学、计算机科学、通信技术等先进的科学技术有机地结合在一起。
另一方面系统的开发体现出了一些工程的特性,即所有开发人员的工作必须遵循一个正确的方法、按照一定的工作标准和程序、利用有效的工具来进行,整个开发过程要分阶段、分步骤地逐步实施。
每个阶段、每一步骤都应该有一系列的文档资料作为开发工作的阶段性成果,这些成果一定要经过正确性验证。
系统方法的要点可以归结为:
系统的思想、数学的方法和计算机的技术。
系统的思想即把研究对象作为一个系统,考虑系统的一般特性和被研究对象的个性;数学的方法就是用定量技术即数学方法来研究系统,通过建立系统的数学模型和运行模型,将得到的结果进行分析、再用到原来的系统中;计算机技术是求解数学模型的工具,在计算机上用数学模型对现实系统进行模拟,以实现系统的最优化。
美国学者霍尔(H.hall)最先提出了系统方法的“三维结构体系”,这是系统工程方法论的基础。
“三维结构”是由时间维、逻辑维、知识维组成的一个立体结构,如图4.1所示。
时间维将系统研制分为7个阶段来进行:
1规划阶段:
对系统进行定义,确定系统目标,制定开发规划和策略。
2制定方案:
提出具体实施方案。
3研制阶段:
实现系统的研制方案。
4试运行阶段:
将研制结果投入试。
5安装调试阶段:
整个系统安装好,拟定运行维护规范和运行计划。
6运行阶段:
按预期目标运行系统。
7更新阶段:
改进旧系统,使之成为新系统。
知识维
计算机技术
控制论
数学知识
工程知识
社会科学
规划阶段
指定方案
研制阶段
试运行阶段
安装阶段
运行阶段
更新阶段
计划实施
系统决策
最优化
系统分析
系统综合
目标确定
问题确定
逻辑维
时间维
图4.1“三维结构"体。
逻辑维是指系统开发过程中每个阶段所经历的步骤。
1问题确定:
通过收集数据,弄清问题的症结,确定这个阶段应该解解决的问题。
2确定目标及评价标准:
即确定解决问题应达到的目标以及对阶段成果进行验证合标准。
3系统综合:
研究达到目标的各种方案和策略
4系统分析通过建模,推断可选择的各种方案的可能结果。
5最优化:
对各种方案的可能结果进行比较、分析,求出最优的系统方案。
6系统决策:
在系统最优方案中进行选择,做出最后决策。
7计划实施:
将决策方案实施。
知识维是指完成各阶段、各步骤所需的知识。
这些知识句话:
工程知识、数学知识、社会科学、行为科学、控制论、计算机技术、通信技术、法律等。
§4.2结构化方法的开发步骤
结构化系统开发方法,亦称为SSA&D法(StructuredSystemAnalysisandDesign),或SADT(StructuredAnalysisandDesignTechnology),是自项向下结构化方法、是工程化的系统开发方法和生命周期方法结合的产物,是至今为止所有开发方法中应用最广泛、最成熟的系统开发技术。
§
结构化系统开发方法的基本思想是:
采用结构化思想、系统工程的观点和工程化的方法,按照用户至上的原则,先将整个管理信息系统作为一个大模块分而治之,自须向下,利用模块化结构设计技术进行模块分解,然后,再自底向上按照系统的结构将各模块进行组合,最终实现系统的开发。
具体说来,就是首先将整个系统的开发过程按照生命周期划分为系统规划、系统分析、系统设计、系统实施和系统运行管理与评价等几个相对独立的开发阶段;其次,在系统规划、系统分析、系统设计各阶段,坚持自项向下的原则,进行系统的结构化划分。
从最顶层的管理业务调查开始,直至最底层业务,从系统的整体方案分析和设计出发,先优化整体的逻辑或物理结构,后优化局部的逻辑或物理结构;最后,在系统实施阶段。
坚持自底向上的原则,从最底层的模块编程开始,逐步组合和调试,由此完成整个系统的开发。
结构化系统开发方法开发管理信息系统的工作过程如图4.2所示。
可行性分析
系统分析
系统设计
系统实施
系统调试
系统运行与维护分析
可行性分析报告
报行性分析
系统分析报告
或软件需求可行性分析
系统设计报告
用户操作手册
测试分析报告
项目开发总结报告
图4.2结构化系统开发方法工作过程
结构化系统开发方法强调严格按照系统开发的生命周期进行信息开发,适合于大型系统的开发。
该方法具有以下优点:
(l)严格区分系统开发的阶段性。
每个阶段都明确对应的目标和任务,每个阶段又进一步分为若干具体步骤,系统开发有序进行,每个阶段开始于前一阶段的成果,又以本阶段的成果标志该阶段工作的结束,前后衔接,正确性高。
(2)自顶层向下层逐层开发,结构化,模块化。
从全局的观点出发进行系统的分析与设计,保证系统总体结构的合理性、系统内数据信息的完整性与一致性、各子系统之间的有机联系。
又根据设计的要求,采用模块化设计技术进行具体的程序和功能模块的编程与调试,逐步组合实现整个系统,使复杂的系统开发工作简单化。
(3)建立面向用户的观点,深入调查研究。
面向用户,充分了解用户的需求,详细调查,努力掌握系统的实际业务处理过程各个具体环节,通过研究分析,制订科学合理的新系统开发方案。
(4)系统开发过程工程化,文档资料标准化。
阶段性成果采用标准化、规范化的格式和术语、图表等形式组织文档,便于系统开发人员和用户的交流。
但该方法也存在如下缺点:
(l)系统开发周期过长。
由于系统开发过程中附带每个阶段的中间结果总结,必然导致延长系统的开发时间,后果是可能因为开发周期内计算机理论和技术的发展与更新、系统环境的变化等,造成刚建立的新系统迅速变得落后和陈旧,缩短系统的使用寿命。
(2)要求在开发之初全面认识系统的信息需求,充分预料各种可能发生的变化,这是
并不十分现实的。
往往许多系统的建设,是在开发过程中逐步明确和完善的,特别对于侧重于辅助决策的管理信息系统的开发更是如此。
(3)用户参与系统开发的积极性没有充分调动,造成系统交接过程不平稳,系统运行维护管理难度加大。
§
1.可行性分析阶段:
可行性分析也称可行性研究,在现代化管理中,经济效益的评价和决策的重要依据,一个项目开始时,首先研究它可以获取的收益。
当前可行性分析已被广泛应用于新产品开发、基建、工业企业、交通运输设施等项目投资的各种领域。
新的信息系统的开发是一项耗资多、耗时认、风险作大的工程项目。
因此,必须进行可行性分析,写出分析报告。
报告中所阐述的可行性分析内容要经过充分论证正确之后方可进行下一阶段的工作。
2.信息系统规划阶段:
只有在被共享的前提下信息才能发挥其资源作用。
在企业或组织中,来源于企业或组织内外的信息源很多,如何从大量的信息源中收集、整理、加工、使用这些信息,发挥信息的整体效益,以满足各类管理不同层次的需要,显然不是分散、局部考虑所能解决的问题,必须经过来自高层的、统一的、全局的规划。
系统规划阶段的任务就是要站在全局的角度,对所开发的系统中的信息进行统一的、总体的考虑。
另外信息系统的开发需要经过开发人员长时间的努力,需要相应的开发资金,因而在开发之前要确定开发顺序,合理安排人力、物力和财力,这些问题也必须通过系统规划来解决。
具体地说,系统规划是在可行性分析论证之后,从总体的角度来规划系统应该由哪些部分组成,在这些组成部分中有哪些数据库(这里所规划出的数据库是被系统各个模块所公用的主题数据库),它们之间的信息交换关系是如何通过数据库来实现的,并根据信息与功能需求提出计算机系统硬件网络配置方案。
同时根据管理需求确定这些模块的开发优先顺序,制定出开发计划,根据开发计划合理调配人员、物资和资金。
这一阶段的总结性成果是系统规划报告,这个报告要在管理人员特别是高层管理人员、系统开发人员的共同参与下进行论证。
3.信息系统分析阶段:
系统分析阶段的任务是按照总体规划的要求,逐一对系统规划中所确定的各组成部分进行详细的分析。
其分析包含两个方面的内容,一是分析每部分内部的信息需求,除了要分析内部对主题数据库的需求外,还要分析为了完成用户(即管理人员)对该部分所要求的功能而必须建立的一些专用数据库。
分析之后要定义出数据库的结构,建立数据字典。
二是进行功能分析,即详细分析各部分如何对各类信息进行加工处理,以实现用户所提出的各类功能需求。
在对系统的各个组成部分进行详尽的分析之后要利用适当的工具将分析结果表达出来,与用户进行充分地交流和验证,检验正确后可进入下一阶段的工作。
4.信息系统设计阶段:
系统设计阶段的任务是根据系统分析的结果,结合计算机的具体实现,设计各个组成部分在计算机系统上的结构。
即采用一定的标准和准则,考虑模块应该由哪些程序块组成,它们之间的联系如何。
同时要进行系统的编码设计、输入/输出设计等。
5.信息系统开发实施阶段:
系统开发实施阶段的任务有两个方面,一方面是系统硬件设备的购置与安装,另一方面是应用软件的程序设计。
程序设计是根据系统设计阶段的成果,遵循一定的设计原则来进行的。
其最终的阶段性成果是大量的程序清单及系统使用说明书。
。
6.信息系统测试阶段:
程序设计工作的完成并不标志系统开发的结束。
一般在程序调试过程中往往使用的是一些试验数据.因此,在程序设计结束后必须选择一些实际管理信息加载到系统中进行测试。
系统测试是从总体出发、测试系统应用软件的总体效益及系统各个组成部分的功能完成情况,测试系统的运行效率、系统的可靠性等。
7.信息系统安装调试阶段:
系统测试工作的结束表明信息系统的开发已初具规模,这时必须投入大量的人力从事系统安装、数据加载等系统运行前的一些新旧系统的转换工作。
一旦转换结束便可对计算机硬件和软件系统进行系统的联合调试。
8.信息系统试运行阶段:
系统调试结束使可进入到系统运行阶段。
但是,一般来说在系统正式运行之前要进行一
段时间的试运行。
因为信息系统是整个企业或组织的协调系统,如果不经过一段时间的实际
检验就将系统投入运行状态,一旦出现问题可能会导致整个系统的瘫痪,进而造成严重的经
济损失。
所以最好的方法是将新开发出的系统与原来旧系统并行运转一段时间来进一步对
系统进行各个方面的测试。
这种做法尽管可以降低系统的风险性,但是由于两套系统的同时
运作使得投资加大。
因此可以根据实际运行情况适当缩短试运行的时间。
9.信息系统运行维护阶段
当系统开发工作完成准备进入试运行阶段之前,除了要作好管理人员的培训工作外,还
要制定一系列管理规则和制度。
在这些规则和制度的约束下进行新系统的各项运行操作,如
系统的备份、数据库的恢复、运行日志的建立、系统功能的修改与增加、数据库操作权限的更改等。
在这一阶段着重要做好人员的各项管理和系统的维护工作,以保证系统处于合用状
态。
同时要定期对系统进行评审,经过评审后一旦认为这个信息系统已经不能满足现代管理
的需求,则应该考虑进入下一个阶段。
10.信息系统更新阶段
该阶段的主要任务就是要在上一阶段提出更新需求后,对信息系统进行充分地论证,提
出信息系统的建设目标和功能需求,准备进入信息系统的一个崭新的开发周期。
在整个系统开发过程中,为了使得开发出的信息系统是一个成功的系统,避免出现前面
所述的各类问题,除了每个阶段的工作要在正确的方法指导下进行之外,还要利用一系列的
计算机辅助系统工程工具(ComputerAidedSystemEngineering—CASE工具)来从事系统开发工作。
整个开发过程以及CASE工具在与各个开发阶段的关系如图1.10所示。
信息系统的开发是一项长期而艰巨的系统工程,整个开发过程必须严格区分工作阶段,每个阶段都要有阶段性的成果。
阶段性成果分别为:
可行性报告、总体规划方案报告、系统分析报告、系统设计报告、系统使用说明书、系统测试报告、系统安装验收报告,系统试运行总结报告、系统运行审计报告。
伴随着这些阶段性的总结报告要有一系列与之配套的文档资料。
每个报告的完成标志着系统开发阶段工作的基本完成,对个阶段工作的质量和阶段性成果的检验可以通过评审来进行,检验合格后方能进入下一阶段的工作,否则要考虑对该阶段工作的修正。
这就相当于产品生产的每道工序的质量检查一样,只有保证即将进入下一道工序的半成品是合格的,最终才能生产出合格的产品。
值得注意的是,信息系统开发的阶段性成果与产品生产过程中的半成品有着很大的不同。
半成品一经检验合格允许进入下一道工序后,无需再返工、修正,并且有的半成品也不可能返工。
而信息系统开发的阶段性成果经过评审合格后,进入下一阶段,为完成新阶段的任务、实现新阶段的目标,不可避免地要对前一阶段的部分文档资料进行修订。
由此产生的另外一个问题是,系统开发人员一定要注意维护各个阶段文档的一致性和可追踪性。
维护文档的一致性,就是指如果对文档的某一处进行了修改,与之相关的其它所有文档都要作相应的修改。
例如,一个数据元素的定义发生了变化,与这个数据元素相关的所有数据库、表都要作相应的修改。
每相应的修改。
维护文档的可追踪性,就是指各个阶段的文档资料可以分不同时期、不同版本来保留。
从而保留系统开发的轨迹、只有这样,才能为成功地开发一个信息系统奠定良好的基础。
信息系统开发过程中文档的建立和修订工作是一件非常繁琐且劳动强度大的工作,又由于其效益往往都是在事后体现出来的,因而不被开发人员在开发过程中所重视。
为了减轻开发人员的劳动强度,可以使用与开发方法相配套的CASE工具。
例如,在总体规划中可以使用支持总体规划的工具,在系统分析、设计阶段可以使用与之相适应的图形工具和其它一些工具等。
在配套工具的支持下。
可以大大缩短开发周期,提高开发质量
§4.3原型法
为了解决结构化方法存在的周期长、成本高的缺点,研究人员在关系数据库系统、第四代程序生成工具和各种系统开发生成环境诞生的基础上,提出了开发管理信息系统的快速应用程序开发方法(RapidApplicationDevelopment,RAD),这种方法的本质是尽快地开发出可以使用的原型系统,因此也把此方法称为快速原型法简称原型法。
它并不注重对管理信息系统进行全面、系统地调查和分析,而是根据对用户的信息需求的大致了解,借助强有力的软件环境支持,迅速构造一个新系统的原型,然后通过反复修改和完善,最终完成新系统的开发。
快速原型法的特点是快速地创建出管理信息系统的测试版本,该版本可以用来演示和评估,用户可以借助这种测试版本更加详细地提出自己的需求,系统开发人员可以借助这种测试版本挖掘用户的需求,然后在此基础上对系统的测试版本进行修改。
§4.3.1原型法的概念
管理信息系统的原型,既不是对系统的仿真,也不是系统工程中的缩小尺寸的原型,它指区别于最终系统的初始模型,这种原型经过多次反复修改完善后,可以成为欲开发的最终系统。
因此。
它要处理的是系统中的实际数据,应该包括最终系统的大部分具体功能。
原型法中的原型,应当具备以下基本特点:
1.实际可行。
原型不是抽象的系统结构模型或理论设计模型,而是可以实际运行的软件系统。
2.具有最终系统的基本特征。
原型是形成最终系统的基础,通过不断丰富其功能,最终成为实际的管理信息系统产品。
3.构造方便、快速,造价低。
§
在系统开发过程中,根据原型的作用和变化。
一般可分为以下几种形式:
1.抛弃式:
此类原型在系统真正实现以后就放弃不用了。
如研究型原型,其初始的设计仅作为参考,用于探索目标系统的需求特征;又如试验型原型,作为目标系统大规模开发前的某种实施方案而设计的原型,用于验证方案的可行性。
2.进化式:
此类原型的构造从目标系统的一个或几个基本需求出发,通过修改和追加功能的过程逐渐丰富,演变成最终系统。
如展开型原型和递增型原型,分别在原型基础上纵向或横向发展,原型成为最终系统的一部分存在。
§
运用原型法开发管理信息系统,首先要对用户提出的初步需求进行总结,然后构造一个合适的原型并运行,此后,通过系统开发人员与用户对原型的运行情况的不断分析、修改和研讨,不断扩充和完善系统的结构和功能,直至得到符合用户要求的系统为止。
原型法的上述基本思想,体现出以下特征:
1.原型法并不要求系统开发之初,即完全掌握系统的所有需求。
事实上,由于各种因素的影响,系统的所有需求不可能在开发之初就可以预先确定,用户只有在看到一个具体的系统时,才能对自己的需求有完整准确的把握,同时也才能发现系统当前存在的问题和缺陷。
2.构造原型必须依赖快速的原型构造工具。
只有在工具的支持下才能迅速建立系统原型,并方便地进行修改、扩充、变换和完善。
3.原型构造工具必须能够提供目标系统的动态模型,才能通过运行它暴露出问题和缺陷,有利于迅速进行修改和完善。
4.原型的反复修改是必然的和不可避免的。
必须根据用户的要求,随时反映到系统中去,从而完善系统的结构和功能,使系统提供的信息真正满足管理和决策的需要。
§
原型法的基本工作流程可描述为以下几步:
1.用户提出开发实求和系统的初步需求。
2.系统开发人员识别用户需求。
利用工具构造一个系统原型。
3.双方一起进行测试和评价,确定下一步处理方式:
如果根本不可用,抛弃该原型,返
回到上一步,重新构造;如果满意,则对该原型进行分析和整理,并根据新的要求修改。
4.反复对修改后的原型进行测试和评价,直至符合用户的要求,即构成最终系统。
上述工作流程归纳如图4.3所示。
系统初步设计
开发一个工作原形
测试和评价
废除原形
准备扩展这一原形吗?
Y
N
测试和评估
修改原形
构造最终系统
继续修改原形
原形需进一步改进吗?
Y
N
图4.3原型法的基本工作流程
原型法的运用,必须依赖强有力的软件支撑环境作后台。
这个环境至少应具备:
一套操作方便灵活的关系型数据库管理系统软件;一个与数据库系统相适应的数据字典生成工具;一套与数据库系统相适应的快速查询系统并支持复合条件查询;一套支持结构化编程、代码自动生成和维护的高级软件工具或环境。
§
快速原型法的特点是快速地创建出管理信息系统的测试版本,该版本可以用来演示和评估,用户可以借助这种测试版本让用户在开发之初就看到系统雏形,了解管理信息系统,更加详细地提出自己的需求,有利于用户及早参与开发过程,激发参与开发的热情和积极性;也可以使用户培训工作同时启动,有利于系统今后顺利交接和运行维护。
系统开发人员可以借助这种测试版本挖掘用户的需求,然后在此基础上对系统的测试版本进行修改。
使用快速原型开发方法有下面一些明显的优点:
1.对于那些用户需求无法确定的项目来说,是一个非常有效的开发方法:
2.这种方法鼓励用户参与系统开发的积极性,提高了终端用户使用系统的热情;
3.由于许多用户参与到了信息系统的开发过程中,所以项目开发过程的透明度和支持度都非常高;
4.用户和管理阶层可以更快地看到可以工作的信息系统原型,也就是可以更早地得到企业的解决方案;
5.与其他开发方法相比,可以尽快地发现系统中存在的错误和疏漏,提高信息系统的开发质量;
6.测试和培训是一件简单的事情,因为许多终端用户在开发过程中已经参与了测试和培训;
7.应该说,这种循环开发方法是一种更加自然的系统开发方法,因为符合改变管理的要求:
8.这种开发方法大大降低了信息系统的开发风险,这是因为使用不断循环的技术解决方案取代了一次性提交的技术解决方案。
快速原型开发方法存在的主要缺点如下:
1.首先,对于大型系统或复杂性高的系统,没有充分的系统需求分析,很难构造出原型
2.这种方法鼓励采用了“编码、实现、修复”的开发方式,这样有可能提高整个系统生命周期的运行支持和维护成本;
3.这种方法失去了开发过程中选择更好的技术方案的机会,因为技术人员和用户都希望尽快地看到可以使用的原型,认为更加优化的技术方案可以在下一次循环中采纳;
4.这种方法过于强调速度,使得许多潜在的系统质量缺陷没有得到很好的解决。
快速原型开发方法开发进程管理复杂,要求用户和开发人员的素质高,配合默契;必须依赖强有力的支撑环境,否则无法进行。
应用原型法进行系统开发,构造原型快速,成本较低;开发进程加快,周期缩短,反馈及时。
一般地,快速原型方法适于开发小型的信息系统项目。
§4.4面向对象的开发方法
前面介绍了结构化开发方法和原形法,这是当前普遍使用的信息系统分析和设计技术。
但是这些传统的信息系统分析和设计技术存在许多问题,例如生产效率比较低、软件重用度很低、软件维护非常困难、开发出的软件往往不能真正地满足用户的需要。
为了解决这些问题,提出面向对象的开发方法(ObjectOrientedMethod,OOM),它是从各种面向对象的程序设计方法基础上逐步发展起来的,以类和对象以及继承、消息传递等概念描述客观事物及其联系,与传统的面向数据的思想完全不同,为管理信息系统开发提供了全新的思维。
实践表明,面向对象分析和设计技术是解决当前信息系统分析和设计问题的一个有效的方案。
使用面向对象技术,特别是使用统一建模语言(UnitedModelingLanguage,UML),可以大大提高信息系统分析和设计的质量和效率。
§4.4.1结构化系统开发方法存在的问题
结构化系统开发方法的本质,是在具体的软件开发工作之前通过需求分析预定义软件
需求,然后一个阶段一个阶段地有条不紊的开发用户所需要的软件,实现预先定义的软件
需求。
但是实践证明,结构化系统开发方法存在的许多问题:
.开发的软件往往不能真正满足用户需要;
.软件维护非常困难;
.生产效率比较低;
.软件重用困难。
实践表明,使用结构化开发方法开发的大型信息系统,这种系统往往由于需求的动态变化,结果造成所开发出来的信息系统往往不能真正地满足用户的需要。
据一些媒体报道,在美国开发出的