UML软件工程组织

MIS开发中软件工程方法的运用
作者:叶加圣

摘 要:本文论述了传统MIS理论的一些不足以及在传统MIS理论中引入软件工程方法的实际意义。

关键词:MIS 管理信息系统 软件工程方法
 
传统的MIS理论并没有过多地把自己与软件工程联系在一起进行讨论、研究,而是把重点放在了对自己的开发理论、开发方法的论述上,它对与软件工程的联系的描述只是在MIS系统理论中对系统实施阶段进行论述时比较粗略地提到了开发语言这一软件工程中的比较独立的要素,而在目前的高等教育中,软件工程并没有被列入到管理信息系统的课程内容,因此,这样的做法引发的一个比较不利的结果是MIS系统的开发者们通过需求分析运用MIS理论可能会推理出一个比较理论、呆板的MIS模型框架而不一定会得到一个高效、实用的MIS系统。这样的结果对于MIS的建设来说无疑是不成功的。因此,我们可以考虑在MIS的建设过程中适时地联系软件工程的一些方式、方法,这样,在两种理论的指导下,MIS建设的成功率应该是比单一的MIS理论高出不少。

1、 软件工程的诞生体现了MIS建设的需求

MIS,即管理信息系统,在第一台电子计算机诞生后不久便有了计算机信息管理的需求,在早期,我们的计算机系统在信息处理方面主要从事的是统计、计算、制表和文字处理的功能,它使用的核心技术就是高级语言和文件管理,当时具有代表性的系统便是EDP(电子数据处理)系统,这种状况从五十年代初期一直延续到七十年代初期。而从六十年代到七十年代末,随着数据库技、数据通讯和计算机网络技术的发展,便产生了以综合信息管理为目标的传统的MIS。到了八十年代才有了具有决策功效的现代意义上的管理信息系统,如DSS(决策支持系统)等。可以说,是管理的需求和计算机技术的发展导致了MIS的诞生并推动了它的发展。

软件工程则与MIS有着天然的不同,它是纯粹计算机技术的产物,它是用工程、科学和数学的方法研制、维护计算机软件的有关技术及管理方法。它的目标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。它诞生于六十年代末期,与传统的MIS基本上同时诞生。它所包含的面远远地广于MIS。

软件工程的诞生源于六十年代末的“软件危机”,可以说是大型软件项目的开发和计算机软件的可维护性导致了“软件危机”的发生。然而,传统意义上的MIS系统到这个时候才开始提到理论的高度上来,因此,软件工程的一套理论方法在MIS理论中根本上也就得不到体现,因为,MIS基本上还没有经历过“风浪”。

MIS也是一种软件,它是软件工程中的事务处理类软件,与其它软件一样,它有自己的一套开发理论,但由于侧重点的不同导致了MIS理论在其实施阶段(软件实施)的论述并不能完全体现软件开发的特点,许多的MIS建设都由于建设者过度注重MIS理论而忽视了用软件工程方法来指导MIS建设而导致了MIS建设的不完全成功:效率低下、功能不完善、开发延期或经费严重超过预计。而随着社会和计算机技术、数据库技术等的不断发展,MIS的建设规模也越来越庞大,开发协调工作和系统维护工作将越来越烦琐,MIS也将出现建设“危机”,我们完全可以利用成型的软件工程方法绕开危机的发生。

2、 从MIS建设和软件开发过程看在MIS建设中运用软件工程方法的好处

MIS建设一般要经历四个阶段,系统规划、系统开发、系统运行与维护、系统更新。我们所论述的通常意义的MIS建设主要是指系统规划和系统开发。系统规划主要是指战略规划、需求总体分析和资源分配的总体方案,而MIS建设的重点是系统开发。在MIS理论中,系统开发分为三个部分:系统分析、系统设计和系统实施。单从开发过程来看,软件开发经历的大致也就是这么几个阶段。但是,在各个阶段所运用的方法和工具就有着比较大的差别。

在系统分析阶段,MIS建设理论中阐述的方法一般都是结构化分析方法,通过运用数据词典和数据流图来对系统模型进行结构化阐述,这种方法一个显而易见的好处是需求分析结果简单明了,可以使整个系统分析工作规范化和逻辑模型描述的标准化,但是,由于系统分析涉及到复杂的组织管理与技术环境,分析过程中要处理的有些问题是结构化分析方法所不能覆盖的。这种分析方法可能就会直接导致系统建设的失败。这时候,我们可以参照软件工程中的一些需求分析方法:如面向数据流和面向对象的方法,引入对象的概念,用对象来描述实体,结合实体—关系图、对象及消息传递图、类结构图、对象状态转换图、主题词结构图等对一些非结构信息进行分析,建立非结构模型,在必要的时候,我们还可以引入形式化方法,利用形式化规格说明语言严格地定义用户需求,让系统设计人员通过形式化语言很快就能掌握系统分析人员的分析结果和意图,设计出满足用户需求的系统。

对应于系统分析方法,MIS理论在系统建设阶段采用的主要也是结构化的设计方法,与在系统分析阶段遇到的问题基本相同,在系统设计阶段我们同样可以引入软件工程方法中的优秀分子,为MIS建设提供理论依据。在传统的MIS理论中,直到系统实施阶段才把MIS作为一个软件来描述,而在此前,MIS都是用系统理论来描述的,这也就是说,似乎只有从MIS的系统实施阶段才可以开始引入软件工程的概念,但是,实际情况并不是这样,我们完全可以把软件工程的一套方法从MIS建设的一开始就引入进来,弥补传统MIS理论的不足在近期的MIS理论中,对面向对象的方法(OO)也有了一般性描述,但是,基本上还没有把它列为MIS建设的理论内容之一,而作为一种软件开发方法,面向对象已经在软件开发领域里得到了相当广泛的应用,并且有了相当成熟的理论,我们在MIS的建设过程中,完全可以大胆地从理论的高度来运用面向对象,使这项已经不算新鲜的技术在MIS建设中继续发挥它的威力。

3、 MIS也要“项目管理”

项目管理是软件工程中一个非常重要的概念,它在软件工程中的任务是:制定项目实施计划;对人员进行组织分工;按照计划的进度,以及成本管理、风险管理、质量管理的要求,进行软件开发,最终完成软件项目规定的各项任务。项目管理是否成功是软件开发是否成功的一个相当关键的因素。而在MIS的理论中,系统规划和系统开发是其论述的重点,甚至连系统实施也没有涉及到较为深层的理论内容,更不用谈“项目管理”这种似乎是系统建设之外的内容了。其实,在MIS中要引入项目管理的概念,除了在系统实施阶段对纯软件的质量进行度量以外,还要求对系统的开发进度进行详细的安排,对系统开发计划进行可行性评估,对系统开发各个阶段资金进行预算,对预算进行评估;同时,还要求对系统分析和系统设计的结果进行评估和度量,评估合格才可以进入全面实施阶段;实施的结果只有通过软件质量度量、系统整体质量评估才可以投入到运行阶段。

软件工程在项目管理方面已经积累了一整套量化理论,从软件度量、软件项目估算、软件质量度量、软件复杂性度量、软件可靠性度量和软件开发过程的管理都有其量化模型,我们在MIS建设的过程中,不仅可以利用这些现成的模型对我们的MIS系统建设工作进行管理和评估,还可以从中引申出适合MIS的一些理论模型,用于对MIS开发的评估,提高MIS开发的质量和成功率。

4、 在MIS建设中充分利用软件工程方法中的新技术

由于MIS理论对软件开发技术的阐述并不是很丰富,因此,一些比较新的、实用的软件技术并没有被MIS理论所阐述和吸收。其中OLE技术和代码重用技术虽然在具体的MIS实施过程有所运用,具体的编程人员也可能会从一些开发工具的说明对这些技术做一些了解并能够熟练地使用它们,但是,若能够把这些技术从理论的高度从系统分析设计阶段就考虑到MIS建设中去,再加上编程人员的应用技巧,MIS建设的质量不是会有更大的提高吗?

OLE其实是一种较大范围的代码重用,在软件工程方法中OLE已经有了六年以上的历史,微软的COM(构件对象模型)技术和DCOM(分布式构件对象模型)技术为OLE的应用做了大量的基础性工作。Microsoft已经在其开发工具如VB等和办公软件Office 97里为代码重用预置了接口,其他的开发工具如Delphi3等也提供了这中重用接口,因此,作为一种节约开发时间、提高开发质量的技术,理应称为MIS理论研究的一部分内容。

中国的计算机应用技术还远没有赶上世界的节拍,MIS的开发与应用在全国还是方兴未艾,在传统的MIS注重系统分析和系统设计的前提下,为了把我们的MIS建设工作做得更好,减少失败、提高建设质量,我们必须在MIS建设中加强软件工程方法的运用,使得MIS建设不仅是系统工程中的分析设计工作,也要让它成为一项名副其实的软件开发工作。


版权所有:UML软件工程组织