1 系统开发的生命周期系统开发是管理信息系统建设中最重要的一个阶段,整个管理信息系统建设分成若干项目分期分批进行,每个项目一般是整个系统的一个或几个子系统的建立,从项目开发开始到结束的整个过程,称为系统开发的生命周期,它一般分为以下阶段:1.1系统分析:这一阶段的主要任务是明确用户的信息需求,确定系统要解决的问题和要实现的目标,提出新系统的逻辑方案,即解决系统“做什么”的问题,需要进行的工作有系统的初步调查、可行性研究、现行系统的详细调查及新系统逻辑模型的提出等。
1.2系统设计:这一阶段的主要任务是根据新系统的逻辑方案进行软、硬件系统的设计,其中包括总体结构设计、输出设计、输入设计、处理过程设计、数据存储设计和计算机系统方案的选择等,它是根据系统的逻辑模型来建立物理模型,解决系统“怎么做”的问题。
1.3系统实施:这一阶段将设计的系统付诸实施,主要工作有软件的程序编制与软件包的购置,系统的安装、调试与测试,新旧系统的转换等。
2 系统开发方法2.1自顶向下的方法所谓自顶向下的设计,就是设计者首先从整体上规划整个系统的功能和性能,然后对系统进行划分,分解为规模较小、功能较为简单的局部模块,并确立它们之间的相互关系,这种划分过程可以不断地进行下去,直到划分得到的单元可以映射到物理实现。
2.2 结构化生命周期方法“结构化”一词在系统建设中的含义是用一组规范的步骤、准则和工具来进行某项工作,这种方法的基本思路是:把整个系统的开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的产品(成果)。
2.3原型法原型法是一种根据用户需求,利用系统开发工具,快速地建立一个系统模型并展示给用户,再此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。
应用原型法开发过程包括系统需求分析、系统初步设计、系统调试、系统检测等阶段。
原型法具有开发周期短、见效快、与业务人员交流方便的优点,特别适用于那些用户需求模糊,结构性比较差的信息系统的开发。
原型法是传统方法(生命周期)和用户开发相结合的方法,其基本思路是:用户与系统分析、设计人员合作,根据用户提出的最基本的要求,应用第四代工具,先很快建立一个应用软件的骨架,作为应用开发的实验模型,通常把这个实验模型叫做系统的原型(prototype),用户先运行这个原型系统,熟悉它,使用它,受到启发并取得经验,然后对系统的目标和功能提出精确、具体的需求,在对系统的需求最后决定后,再用生命周期法建设系统,通常,系统的原型并不是一次建成的,而是由一个初始原型开始,通过逐步细化达到满意为止,原型应当具备的特点如下:(1)实际可行;(2)具有最终系统的基本特征;(3)构造方便、快速,造价低;原型法的特点在于原型法对用户的需求是动态响应、逐步纳入的,系统分析、设计与实现都是随着对一个工作模型的不断修改而同时完成的,相互之间并无明显界限,也没有明确分工。
系统开发计划就是一个反复修改的过程。
适于用户需求开始时定义不清、管理决策方法结构化狂度不高的系统开发,开发方法更宜被用户接受;但如果用户配合不好,盲目修改,就会拖延开发过程。
可以将原型分类如下:(1)抛弃型原型(Throw-It-Away Prototype),此类原型在系统真正实现以后就放弃不用了。
(2)进化型原型(Evolutionary Prototype),此类原型的构造从目标系统的一个或几个基本需求出发,通过修改和追加功能的过程逐渐丰富,演化成最终系统。
2.4面向对象方法:随着应用系统日益复杂庞大和面向对象程序设计语言的日益成熟,面向对象的系统开发方法以其直观、方便的优点获得广泛应用。
面向对象方法的基本思想如下:(1)客观事物是由对象组成的,对象是在原事物基础上抽象的结果;(2)对象是由属性和操作组成的,其属性反映了对象的数据信息特征,而操作则用来定义改变对象属性状态的各种操作方式;(3)对象之间的联系通过消息传递机制来实现,而消息传递的方式是通过消息传递模式和方法所定义的操作过程来完成的;(4)对象可以按其属性来归类,借助类的层次结构,子类可以通过继承机制获得其父类的特性;(5)对象具有封装的特性,一个对象就构成一个严格模块化的实体,在系统开发中可被共享和重复引用,达到软件(程序和模块)复用的目的面向对象的信息系统开发,其关键点是能否建立一个全面、合理、统一的模型,它既能反映问题域,也能被计算机系统求解域所接受;面向对象开发方法主要有分析、设计和实现三个阶段。
面向对象方法在整个开发过程中使用的是同一套工具。
整个开发过程实际上都是对面向对象三种模型的建立、补充完善和表达验证。
因此,面向对象开发方法中分析、设计和实现三个阶段的界限并非十分明确,但对信息系统的开发划分阶段还是十分必要的。
2.5 CASE开发方法计算机辅助软件工程(Computer-Aided Software Engineering,简称case。
CASE的软件平台CASE工作站是一个完整的环境,包括硬件和软件两部分,其目的是为软件系统的开发、维护和项目管理提供一个计算机化的辅助手段,CASE软件平台是一组范围广泛的集成化软件工具,工作站的软件开发人员可以根据自己的需要对CASE软件平台进行任意增裁,以便于执行某些专门的项目管理、设计和维护这样一些任务,以代替传统的软件开发工具,管理信息系统中一个基本的统一概念就是传统的系统生命周期,它描述了管理信息系统开发、使用和维护各个阶段过程,从根本上说,这是结构化系统开发和维护的一种管理技术,软件系统是管理信息系统的核心,软件系统的生命周期是管理信息系统生命周期的主要内容,在传统的软件系统生命周期中,强调的是生命周期的后期阶段,由于系统开发人员急于开始编码,因此,通常只有不到35%的开发工作量用于分析和设计阶段,生命周期开发阶段的这种工作量分布状况导致了软件系统不良的规格说明和较高的开发成本,当人们发现最严重的错误和代价都出现在软件开发的前期阶段时,对软件生命周期前期的重视就超过了后期阶段,比如,把60%的开发工作量用在分析和设计阶段,结构化技术策略的基本部分就是花时间仔细定义需求,并且在开始考虑细节的实现之前,认真地研究设计的方法,引入CASE技术后,更加有条件强调生命周期的前期阶段,分析和设计任务的自动化以及自动的设计规格说明检查带来了更高的效率和更低的错误率,自动查错功能可以在系统开发的早期发现错误并加以纠正,而自动代码生成则使编码阶段在生命周期中更为简短。
与传统的软件生命周期相比,采用CASE技术进行软件系统开发,创建原型阶段代替了系统分析阶段支持建立系统的原型。
原型是软件系统的模型,它为用户提供了一种具体的框架,说明从用户角度看,系统将是什么样子,以及它在实际环境中是如何运行的,CASE所提供的建立原型的工具在实现软件生命周期前期工作的自动化上发挥了重要作用,这些工具用来决定系统需求并回答有关这个正在生成的系统的性能问题,在原型化工作中,还必须提供实际环境中的某些输入数据对原型进行模拟运行以证实系统设计模型的正确性和完整性,借助于CASE模拟工具,系统开发人员在系统开发的编码阶段开始之前就能发现设计中的错误并给予及时纠正,自动化的处理步骤CASE硬件平台CASE技术不仅仅是一种把一组相关的软件生命周期工具装配在一起的方法,它是要为用户提供一个完整的集成化环境,以便提供一条从问题的描述到支持程序的快速和有效的开发的途径,因此,需要对整个软件开发的支撑环境重新进行定义,这就是CASE系统的硬件平台,CASE软件支撑环境有三种可供选择的硬件平台:¹独立的工作站;包括一台主机和若干工作站组成的两层结构;包括一台中央主机、中型的部门级或项目级的主机和若干工作站的三层结构,独立的工作站将为系统开发人员提供一个高度交互、快速响应的专用工作平台,在该平台上可以执行各种软件生命周期的任务,尤其是强大的图形功能,使用户可以方便地建立和使用各种结构化图形,以便对软件系统进行说明和编制文档,另外,还能快速地建立系统的原型,这有助于尽快揭示和澄清用户的需求,独立的工作站是一个完整的分析和设计的工作平台,它为从事系统开发、维护的项目管理人员提供了最有效的支持,然而,在实际上,CASE工作站是不能单独存在的,必须有一种桥梁把开发人员的各工作站以及其他的硬件系统连在一起,使项目组的成员之间能够进行通讯和信息共享,工作站的这种可联接性是通过局域网(LAN)实现的,其目的是共享存在CASE中心信息库中的系统信息,通常可以指定某个工作站为主CASE中心信息库的文件服务器,开发人员选择其中的某些部分加到自己的本地CASE中心库中,以便在自己的工作站上对工作项目库进行维护。
虽然工作站的连接性能支持许多软件生命周期任务和项目组成员之间的通讯,但全功能CASE工作台的支撑硬件结构都有二至三层,在这种层次结构的硬件环境上执行分布式系统可以减少使用昂贵的主机资源而引起的冲突,而且允许在最有利的硬件系统上执行任务。
CASE硬件平台的主机部分,后端CASE工具自动实现编码、测试、数据库生成、数据规范化和系统的效果分析任务,这些任务需要具有大型数据处理和存储能力的主机支持。
中心信息库把CASE系统的前、后端部分连接起来,它是一个通讯机构,通过它,可以对软件生命周期各阶段收集到的所有系统信息进行管理和共享。
CASE中心库是基本的生命周期集成器,它使用在某个生命周期阶段的CASE工具能把数据传递到下一个阶段。
CASE中心库在逻辑上可分为项目和系统模型,在物理上则分成对应CASE系统每个硬件平台的若干层,在工作站级上用一个局部的中心库支持单个的开发人员,在主机层上用基于主机的中心库保存所有公司的系统信息,在部门或项目级上用一个中型的中心库保存所有的项目信息。
一个完整的CASE系统支持全部的信息系统开发工作,它可驻留在多种硬件平台上。
如何在这些硬件平台之间共享信息和工具是使得CASE技术成为实用和有效的一个主要问题,硬件系统之间的连接性和工具之间的接口则是选择和评价CASE系统时要考虑的一个重要指标。
CASE工具箱则可以支持生命周期的前期阶段,但也可支持某些后期阶段和项目管理。
CASE代码生成器主要支持程序的设计,建立原型和实施阶段的工作。
把CASE分析/设计工具包和CASE代码生成器这两种CASE工具集成在一起的CASE工作台,则可全面支持整个软件生命周期的工作。
4 方法比较结构化生命周期方法使管理信息系统的建设逐渐形成一套比较严格的标准、规范、方法与技术,使系统建设的组织管理与实施有章可循,各种新方法都是在这种方法的基础上发展而来的。
结构化方法适用于系统的目标明确,需要解决的问题结构化程度强的用户系统。