面向对象语言与软件工程发展历程

需积分: 20 13 下载量 171 浏览量 更新于2024-08-23 收藏 3.53MB PPT 举报
"软件工程的发展历程,包括面向对象语言的起源和演进,以及软件工程的关键概念和方法学" 软件工程是一门科学,它的发展历程深远且多变。自20世纪60年代起,软件工程经历了从编程语言的创新到分析和设计方法学的成熟。1967年,Dahl和Nygaard在挪威开发的Simula-67是第一个面向对象的语言,为后来的Smalltalk、Objective C、C++和Eiffel等语言奠定了基础。这些语言极大地推动了软件开发的效率和复用性。 20世纪80年代,面向对象分析(OOA)和设计(OOD)方法学开始崭露头角。1986年,G. Booch提出了OOD方法,1990年,P. Coad和E. Yourdon提出了OOA,接着是1991年J. Rumbaugh的OMT,以及1994年Embly的OSA。这些方法学为软件工程师提供了更系统化的分析和设计框架,使软件开发更加规范和高效。 软件工程的基础在于理解软件开发的本质和手段。北京大学软件工程国家工程研究中心的王立福教授在2009年的讲座中强调了软件开发的四个关键方面: 1. 概论:探讨软件开发的本质,即问题域到不同抽象层的概念和计算逻辑映射,以及基本开发手段。 2. 软件过程:关注软件开发所涉及的活动及其组织方式,形成软件生存周期模型。 3. 软件需求及系统/产品需求规约:定义软件开发的起点,作为产品或系统确认(测试)的标准。 4. 软件开发方法学:探讨如何进行开发活动,包括结构化方法、面向对象方法、面向数据结构方法和特定的开发框架如维也纳开发方法(VDM)。 软件开发方法学的引入,如结构化方法和面向对象方法,为软件工程提供了实现过程的途径。结构化方法侧重于过程抽象,而面向对象方法则强调数据抽象,两者都在需求分析阶段扮演着重要角色,通过抽象过程将问题空间转换为解空间的模型。 此外,CMM(软件能力成熟度模型)被提出,旨在确保软件开发过程的能力和质量,为正确产品的产出提供过程保障。软件工程的基本知识结构涵盖了这些核心概念,它们共同构成了软件开发的理论与实践基础。 软件开发的本质在于将问题域中的概念和处理逻辑映射到计算平台上,这一过程包括数据抽象和过程抽象,分别对应需求分析和设计阶段。通过使用适当的开发方法,如面向对象方法和结构化方法,可以构建出符合需求的计算逻辑和客体,从而实现软件的功能和性能。 软件工程的发展不仅体现在编程语言的进步,还体现在对软件开发过程的理解深化和方法学的不断成熟。这些知识对于有效地开展软件开发和软件测评至关重要。