第三章:管理信息系统的开发策略
3.1 系统开发的任务和特点
3.1.1 系统开发的任务
系统开发的任务就是根据企业管理的目标、内容、规模、性质等具体情况,从系统论的观点出发,运用系统工程的方法,按照系统发展的规律,为企业建立起计算机化的信息系统。其中最核心的工作,就是开发出一套适合于现代企业管理要求的应用软件系统。
在计算机领域中,人们经常用“系统开发” 一词来概括管理应用软件系统从项目提出直到运行、评价为止的整个过程。这个过程有时又称为“系统分析与设计”或简称为“系统设计”。
3.1.2 系统开发的特点
管理信息系统开发的成果或产品是一套应用软件系统。与一般硬件设备的生产过程和单项事务处理的程序编写相比,具有以下特点:
1.复杂性高
2.集体的创造性活动
3.质量要求高
4.产品是无形的
5.历史短,经验不足
3.2 系统开发的指导原则
系统工程是为了合理地进行开发、设计和运用系统而采用的思想、步骤、组织和方法的总称,管理信息系统的开发属于系统工程的范畴。深入分析系统的特征,根据系统发展的规律来建立系统,是系统开发的指导原则,其要点如下:
3.2.1 系统的目的性
应明确系统开发的目的,确立面向用户的观点。
3.2.2 系统的整体性
强调系统的整体性,采用先确定逻辑模型,再设计物理模型的开发思路。
系统开发采取整体化开发形式。其具体做法如下:
一是详细了解原系统信息处理过程,包括各种处理的物理细节,得出原系统的物理模型。
二是对原系统的物理模型进行综合和抽象,去掉物理细节,分析原系统的逻辑功能,得出原系统的整体逻辑模型。
三是对原系统的逻辑模型进行改进和完善,补充管理需要的、人工系统难以实现的新的功能,形成新系统的逻辑模型,解决新的计算机系统应当“做什么”的问题。
四是建立新系统的物理模型,即确定新系统实现逻辑模型的技术方法和手段,解决新系统“如何做”的问题。
这个过程就是由原系统物理模型,到原系统逻辑模型和计算机化逻辑模型,再到计算机化物理模型的过程。
3.2.3 系统的相关性
分析系统的相关性,根据分解-协调的原则由顶向下发展系统。
管理信息系统是由多个子系统(功能) 组成的,整个系统是一个不可分割的整体,整个系统的功能并不是各子系统的简单加和,其功能应比所有子系统的功能总和还要大得多。
整个系统为层次结构,系统可分解为多个子系统,子系统同样又可分解为更细一级以子系统。系统、子系统均有自身的目标、界限、输入、输出和处理内容。
根据上述特性,发展了系统结构化分析和设计的方法,其要点是“自顶向下” 地开发系统,分期分批进行子系统的开发,“由底向上”实施,先实现某些子系统再逐步实现总的目标和功能。因此,在系统开发中“由顶向下”是主导原则,“由底向上”是辅助原则。
3.2.4 系统的环境适应性
应该适应环境变化的要求,开发易扩展、易维护的系统。
3.2.5工作成果文档化,图表规范化
软件是程序以及开发、使用和维护这些程序所需的所有文档。要及时按照一定规范产生各种文档,做到工作成果文档化、图表规范化。这些文档有以下重要作用:
其一,人的记忆力是有限的,各种调查分析的结果和设计的技术细节必须以书面形式记录下来,以供查阅和核对。
其二,开发人员之间、开发人员与用户之间,可利用书面的、超越各自专业的共同语言——文档的形式有效地进行交流。
其三,系统开发要经过一定的过程,后一阶段的工作要在前一阶段的基础上,也就是在前期工作文档的基础上继续进行。
文档的形式以图表为主,其表达效果在很多情况下比文字叙述简洁、形象、效果真实。但所用的图表应当规范化、标准化。
3.3 系统开发的方法
3.3.1 生命周用法
生命周期法将管理信息系统的开发过程划分为系统分析、系统设计、系统实施三个阶段,每个阶段又分成若干步骤。
1.系统开发生命周期各阶段的主要任务
生命周期各阶段的主要任务如下:
(1) 系统分析。在系统分析阶段,首先根据用户提出的建立新系统的要求,进行总体规划和可行性研究。系统分析是使系统开发达到合理、优化的重要阶段,这阶段工作深入与否直接影响到新系统的质量和经济性,它是开发成败的关键。
(2) 系统设计。根据系统分析确定的逻辑模型,确定新系统的物理模型,即计算机化信息系统应用软件的总体结构和数据库设计,并提出系统配置方案。继而对物理模型进行详细的设计。详细设计的主要内容有代码设计、用户界面设计、处理过程设计。最后,编写系统设计报告。
(3) 系统实施。系统实施包括:按照物理模型实现应用软件的编制和测试、系统试运行、系统切换、系统交付使用以及运行后的系统维护和评价等工作。
2.生命周期法的主要优缺点
生命周期法的主要优点是:
(1) 强调系统的整体性、全局性。它采用“自顶向下” 的原则分析和设计系统,首先解决全局问题,强调在系统整体优化的前提下,来考虑具体的解决方案。
(2) 严格区分工作阶段。整个开发过程阶段和步骤清楚,每一阶段和步骤均有明确的成果,作为下一步工作的依据。这样有利于整个项目的管理与控制,避免了开发过程的混乱状态。
但是,在实践过程中也暴露出这种方法的一些缺陷:
(1) 难以准确定义用户需求。
(2) 开发周期长,难以适应环境变化。