当前位置:文档之家› mis开发概念

mis开发概念

一、系统开发方法概念的形成系统开发方法概念的形成和人们开始着手对系统开发方法的研究始于1960年左右。

早期研究信息系统的开发方法主要从两个方面开始的:一是从开发一个大型软件工程的角度;二是从开发出一个适用于管理实际需要的角度。

我们现在讨论的则是融两者为一体的信息系统开发方法。

产生于50-60年代的EDP,在开发过程中有一个很不如人意的地方,就是如何充分合理地组织开发一个大型的应用软件系统,其中有两个问题是:在设计系统时,如何合理地划分系统,并组织多个人力来共同工作,以及在系统实现时,如何合理地将众多开发者所做的工作合并在一起。

60年代约当(Edward Yourdon)、康斯坦丁(Larry L.Constantine)等提出了自顶向下、结构化系统开发方法,其贡献在于:1.开创了系统开发方法学研究的先河此方法的核心是将整个应用软件系统的开发分为三个阶段:问题分析、系统设计和编程实现。

前两个阶段采用自顶向下(top-down)的方法来结构化地划分、分析和设计一个系统,后一阶段则采用从底向上(bottom-up)的方法,按照前两个阶段分析设计的结果,从最基层模块做起,一个一个地编程,然后按结构逐步拼接成整体系统。

由于这一研究是从如何开发实现一个大型的应用软件系统这个角度提出的,具有一般性,故被认为是系统开发方法学研究的开始。

2.系统方法在软件开发中的应用50年代是系统论奠基和发展的年代,系统论的观点被广泛应用于各个领域。

当时系统论的发展除一些确定性的结构模型和定量描述模型外,强调整体性、系统划分和有机协调的观点被广泛地用来解释几乎所有事物。

系统论的创始人贝塔朗菲(L.V.Bertranffy)认为系统论从某种意义上说就是对事物“整体”和“整体性”的科学探索。

在这种前调整体性的系统观点的指导下,约当、康斯坦丁、迪莫柯等人巧妙地将它与大型软件系统的开发过程结合起来,并将其演变为一种自顶向下的软件分析设计方法,即对问题的分析和软件的设计都必须坚持先整体后局部的原则,只有在整体最优的情况下才有局部的优化。

在确保全局性的前提下对系统进行自顶向下的划分,即将系统划分成若干既有机联系又相互独立的子系统(或模块),然后以此类推,层层细分,直至最终完成整个系统的分析和设计。

3.工程化开发软件用工程化的手段和方法来开发大型软件工程是结构化系统开发方法求解问题的主要手段之一。

以工程化的方法开发软件系统并非结构开发方法的独创,而是人类在大型工程项目(包括软件工程)中一直用于组织协调群体劳动的一种有效方法。

结构化开发方法的主要贡献就是将工程化开发方法与自顶向下的系统思想、结构化的系统划分方法溶为一体,从而较好地解决了大型软件系统开发中,个体工作和群体工作的关系。

在结构化系统分析中强调的工程化方法具体来说就是:首先,把开发过程分成了很多工程化的开发阶段和步骤,如可行性分析、问题分析、系统设计、编程实现等等。

其次,在每一个开发步骤中,都规定出很多工程化的图表来规划、记录和表达开发者在这一步骤中的工作成果。

这些图表包括两部分:一部分是流程图和解构图,它类似于一般的工程图;另一部分是程序文档文件,主要用于说明程序设计中的一些细节,以便日后维护和修改之方便。

二、开发方法的发展一些开发方法从不同的角度展开研究,共同促进了系统开发方法学的形成与发展。

较有代表性的例子有:从JSP到JSD的杰克逊开发方法,结合结构化开发方法和需求定义(requirement definition)方法的信息系统工程方法,以及后来的各类信息系统开发工程规范、原型方法、OO方法、CASE方法等等。

1.杰克逊系统开发方法杰克逊(Michael Jackson)系统开发方法最早是从研究程序设计方法开始的。

1975年杰克逊在其《程序设计原理》中提出一种系统化的程序设计方法,被称之为结构化程序方法(简称JSP)。

1983年杰克逊又在《系统开发》中将JSP推广到整个系统开发领域,故称之为杰克逊系统开发方法(简称JSD)。

JSD是一种描述和实施计算机系统的方法,应用范围包括需求描述、功能描述、逻辑系统设计、应用系统设计、物理系统设计、程序描述和设计、程序实施以及系统与程序维护。

2.信息工程信息工程是马丁(James Martin)和芬克尔斯顿(Clive Finkeletein)在其合著的《信息工程》中提出的一种全面支持信息系统开发过程的工程方法。

它是一种基于数据和数据关系的、用户驱动的方法。

用信息工程方法开发所包括的内容有:战略需求规划、数据模型化和规范化分析、过程形成、数据使用分析、实施策略、分布分析、物理数据库设计、第四代语言、程序描述合成等。

我们按时间顺序简要地回顾信息系统开发方法的发展过程。

将各类方法按程序设计方法、软件工程方法、管理/需求分析方法、自动化系统开发方法四类进行归纳如表1-3-1所示。

表1-3-1其中SP(Structured Program)为结构化程序方法,JSP(Jackson Structured Program)为杰克逊结构程序方法,JSD(Jackson System Development)为杰克逊系统开发方法,SADT(Structured Analysis & Design Technology)为结构化系统分析与设计技术,prototyping为原型方法,OO(Object Oriented)为面向对象的开发方法,SRD(Structured Requirements Defination)为结构化需求定义方法,BSP(Business Systems Planning)为商业系统规划法,CSFs(Critical Success Fastors)为关键成功因子法,CASE(Computer Aided Software Engineering)为计算机辅助软件工程方法。

管理信息系统的开发是一项大的系统工程性质的工作,一般的系统工程均要有三个成功要素,这就是:合理确定系统目标组织系统性队伍遵循系统工程的开发步骤。

其中主要问题和开发步骤如下1.领导问题:由于信息系统耗资巨大,历时较长,并且是涉及到管理方式变革的一项任务,因而必须由主要领导亲自抓才能成功,可以说主要领导者参与是MIS开发的先决条件。

因为主要领导者最清楚自己企业的问题,最能合理地确定系统目标,他拥有实现目标的人权、财权、指挥权,他能够决定投资、调整机构、确定计算机化水平等,这是其他任何人都不能代替的。

领导首先应有一些管理信息系统的基础知识;其次应有提高自己企业管理水平的设想和运用现代管理科学的设想;再次,要懂得管理信息系统的开发步骤和每步的主要工作;最后要会用人、会组织队伍。

领导人员推动MIS的几个阶段是:(1)建立一个信息系统委员会。

(2)由该委员会领导一个系统规划组或系统分析组。

(简称系统组)(3)进行全系统规划。

(4)系统的分析、设计、实现和评价。

2.MIS开发步骤:(1)建立信息系统委员会:该会包括领导者的主要咨询机构,又是MIS开发的最高决策机构,其人员包括对信息系统要求较多的各级管理组织的主要负责人,如财务科、计划科、销售科等,还包括一些有经验的管理专家、系统分析员等。

其主要工作是确定系统目标,审核和批准系统方案、验收和鉴定系统和组织各种开发组织。

(2)形成系统组:系统组中有各行各业的专家,如管理专家、计划专家、系统分析员、运筹专家、计算机专家等,还可以请科研单位、大专院校、咨询公司派出专家和本单位专家结合组成。

这样既可以摆脱主观偏见,吸收新鲜思想,又可以避免系统建成后人浮于事而造成负担。

(3)进行全系统规划:这个规划是一个全面的长期的计划,是确定企业的目标、解决目标的方式、信息系统的目标、信息系统的主要结构、工程项目和可行性研究。

系统规划制订完成以后,就可根据规划的要求组织一个个项目的开发。

每个项目的开发均可由四个阶段来完成,即系统分析、系统设计、系统实现和系统评价。

这四个阶段组成一个生命周期。

这个周期是周而复始进行的,一个系统开发完成以后就不断地评价和积累问题,积累到一定程度就要重新进行系统分析,开始一个新的生命周期。

一般来说,不管系统运行的好坏,每隔3-5年也要进行新的一轮的开发。

当然对过几年以后的系统规划也要修订。

系统规划的主要内容包括企业目标的确定、解决目标的方式的确定、信息系统目标的确定、信息系统主要结构的确定、工程项目的确定及可行性研究等。

系统分析的内容包括数据的收集、数据的分析、系统数据流程图的确定以及系统方案的确定等。

系统设计包括计算机系统流程图和程序流程图的确定、编码、输入输出设计、文件设计、程序设计等。

系统实现包括机器的购买、安装、程序调试、系统的切换以及系统的运行和维护等。

系统的评价包括建成时的评价和运行后的评价,发现问题并提出系统更新的请求等。

各个阶段中各种人员的职责可用一个表说明,见表1-3-2所示。

表1-3-2在这些步骤中值得注意的有以下几点;(1)系统分析占了很大的工作量,有人对各阶段所耗人力及财力作了个描述,见图1-3-1所示。

从图可以看出在系统分析阶段技术人员的人力耗费是很多的。

只有分析得好,计划得好,以后的设计才能少走弯路。

那种不重视分析,只想马上动手设计的作法值得慎重考虑。

图1-3-1 系统开发各阶段人力财力需求情况(2)开发信息系统不应当把买机器放在第一位,因为只有在进行了系统分析以后,才知道要不要买计算机,买什么样的计算机。

尤其对于大的系统开发可能长达3年,现代计算机差不多4年换一代,微型机2-3年换一代,或者说3年以后的价格要比原来的少一半,如果一开始就买机器,没等用上就折旧了许多,实在不划算。

(3)程序的编写要在很晚才进行。

程序编写要在系统分析和设计阶段以后,弄清楚要干什么和怎么干的情况下,而且有了严格的说明时才好进行。

若一开始就编程序,可能会编的不合要求,以后改不胜改,反而会大大浪费人力和时间。

相关主题