软件开发理论之发展历程

SASD  ->  OOAD  ->  CBSD  -> SOA

 

实践论认为: 从实践提升到理论,再由理论指导实践, 由此向前发展。

 

20世纪60年代末期出现"软件危机", 软件产品开发周期长, 错误多,难以维护和适应修改。当时的荷兰物理学家E.W.Dijkstra提出"结构程序设计方法", 由此出现了软件开发的最早理论: 结构化分析和结构化设计 (SASD , Structured Analysis and Design).

 

人们的知识是从一个定理、一个原理逐步积累起来的,社会是依靠知识的不断积累发展的。然而编制软件每次却都是从零开始,这是造成“软件危机”的根本原因。由此提出了编程工作是否也可以重用以前成功的经验和程序呢?整整经过十多年的探索,到七十年代才获得成功。由此出现了软件开发的第二大技术理论体系: 面向对象分析和设计 (OOAD , Object-oriented Analysis & Design).

 

鉴于面向对象的缺陷,三位面向对象的奠基人联合起来,创建了UML统一建模语言: 统一面向对象的基本概念,并引进了许多新的概念,认为软件开发的过程实质上是从抽象的模型逐步细化,过渡到具体的实现,其中间的每个阶段都是实现了某一抽象模型,UML为此提供了建立模型的工具。但是由于此套理论要求开发人员的素质较高, 所以很少看到真正应用于实际软件开发中。在1998年日本京都召开的“基于构件的软件开发(CBSD)”国际专题学术会议上,一致认为软件开发技术离不开构件和体系结构。软件体系结构现简称“架构”. 由此出现了第三大技术理论体系: 基于构件的软件开发 (CBSD , Component-based software development).

 

后来随着分布式的出现,出现了第四大技术理论体系: 面向服务的架构 (SOA , Service-oriented Architecture).

你可能感兴趣的:(编程,工作,SOA,UML)