信息管理系统常用开发方法分类
在系统开发的早期,由于缺乏系统开发思想,没能形成工程的概念,以至于60年代出现了所谓“软件危机”,也促使了一门新科学——“软件工程”的诞生。管理信息系统工作者对信息系统的开发提出了许多开发方法,其中常用的有结构化法(Structured Development),原型法(Prototyping Development),面向对象法(Object_Oriented Development)三种。
1.结构化法
结构化法体现了自顶向下、结构化、生命周期思想的系统开发方法,主要包括:
1) 结构化分析设计技术(structured analysis design technique);
2) 约当(E. Yourdon)结构化系统开发方法;
3) 企业系统规划法(BSP);
4) 詹姆斯.马丁(James Martin) 提出的战略数据规划法;IEM
5) 我国专家提出的映射模型设计法(RMDM)和信息系统设计工程综合分析法(IDEA);
6) 杰克逊提出的JSP(Jackson structured program)和
JSD(Jackson system development);
7) 哈兰.米尔斯(Harlan D. Mills)提出的系统开发的黑箱(black box)理论及其相应的分析设计方法等。
结构化法是基于系统的思想,系统工程的方法,以用户至上为原则,采用结构化、模块化等手段对信息系统进行分析、设计和实施。在实际开发过程中,对应于系统开发的一般过程(见图1),主要应用的结构化设计方法有结构化分析(Structured Analysis),结构化设计(Structured Design),结构化编程(Structured Program)。
结构化分析(SA),是一种面向数据流的分析方法,采用结构化分析解决问题主要通过“分解”和“抽象”两种方式。在这一阶段采用了诸如数据流程图(DFD)、数据字典(DD)、处理逻辑表达(PL)、数据存储规范化(NF)及数据立即存取图(DIAD)等工具或理论。通过SA过程就能得到一个系统的抽象的逻辑模型。
结构化设计(SD)是对SA阶段提出的逻辑模型进行计划性的设计。通过SD工作过程,尽可能提高系统的运行效率、可变性、可控性和工作质量。SD的工作主要包括代码设计、文件/数据库设计、I/O设计、模块功能设计和处理过程设计。SD提供了一整套设计工具、设计原则和设计策略,采用影射思想由DFD图得到SC图。这样就得到了一个可实施的系统的逻辑模型。
结构化程序设计(SP)是采用一些基本的控制结构(IF…ELSE…ENDIF、DO WHILE…ENDDO、DO CASE…CASE…ENDDO等)工具,采用自顶向下地扩展、模块化、逐步求精原则从事程序代码设计,以得到一个现实的物理模型。
2.原型法
原型法基于新一代的系统开发工具和快速开发方法, 主要包括:
1) 原型方法及其分支(如瀑布型和快速型方法);
2) 计算机辅助软件工程(CASE方法);
3) 为建立专用的信息系统开发生成工具的环境,用于定义和生成实际系统的方法。
原型法与传统的生命周期法LC相比摈弃了一步步周密细致地调查、分析、整理文档、再进行逻辑设计、物理设计等繁琐过程而快速构造系统的物理原型。但是,并不能说开发人员用原型法就没有一个分析、设计、实施的过程。实际上开发人员在运用原型法时有意识或无意识地对系统进行了一个分析、设计、比较的过程,才能快速构造一个原型系统,这个原型系统蕴含着开发人员分析、设计、比较的思路,只不过开发人员直接用物理模型表达了对系统的理解,而省却了结构化法中的大量的文档资料。
3.面向对象法
面向对象法(OO)是近年来发展起来的一种系统开发方法, 它与原型方法的设计与实现有一定的共同之处。 不同的是,面向对象法是一种从系统调查分析之后就开始面向对象进行分析的开发方法。它强调系统设计之前的系统分析,强调以系统中的数据或信息为主线,全面、系统、详尽地描述系统的信息,建立系统的信息模型,指导系统的设计。面向对象法按系统开发的一般过程(见图3-1)分为面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)。
OOA试图利用对象(Object)概念,来描述系统做什么;OOD则试图描述怎么做。
在OOA和OOD中主要采用了类图/模板(Class_Chart/Template)、对象图(Object_Chart)、对象状态图(Object_Status_Chart)三种工具。OOP利用类(Class)、对象(Object)、数据封装( Data Encapsulation )等概念及面向对象语言的继承性、多态性等特性进行程序的编制和调试。
三、信息管理系统开发过程的统一性问题
从对结构化法、原型法和面向对象法的简单描述可以看出:如果将这三种方法分别对应于系统的开发(不同的开发方法对系统开发的适宜程度不同,由于篇幅有限,不加深探)的一般过程,我们可以看出它们都有一个分析、设计、实施的过程。如表1:
结构化法、原型法、面向对象法开发过程的比较 (表1)
方法过程 结构化法 原型法 面向对象法
分析 SA PA OOA
设计 SD PD OOD
实施 SP PP OOP
工具
结构化法:
DFD、DD、PL、NF、DIAD、SC、结构化语言等
原型法:
4GLs、快速生成器、CASE软件等
面向对象法:
Class_Chart/ Template、 Object_Chart、 Object_Status_Chart,面向对象语言等
注:利用原型法开发系统,开发人员实际上也有一个有意识或无意识的分析、设计、实施过程。
从表一可以看出,这三种常用开发方法在一定意义上具有开发过程的统一性。开发人员不论运用哪种方法于实践,只要明白它们具有的一般共性和各自的特性,就能把握系统的开发,工作起来就应心得手了。
因篇幅问题不能全部显示,请点此查看更多更全内容