软件开发模式与工具历程 ~60年代:高级语言出现 1964年,IBM推出System/360,并同时推出了其 上的指令集;DEC公司则推出了PDP小型机,企 业级软件开发进入到大型机、小型机软件开发时 ·l958年,Alan Peris、John Backus、Peter 代 Naur等开发了Algol,启发了后来的Basic、. Simula、Pascal、C、Java与C# Lisp Algol 60 Simula Algol 68 Pascal Smalltalk 1967-1969年,阿帕 ·1960年,Dijkstra和同事一起完成 网(ARPANET)建 ALGOL60编译器,提出了“堆栈 Modula 立,奠定了后来互联 (stack)" 网的基础;NCP协议 60年代又相续构造了“THE操作 Haskell Java 成为TCPP协议的前 系统(世界第一个松耦合、显式同 步、协操作串行处理的操作系统: >同年的Lis即则启发了后续面向科学计算 USA 的编程语言; 提出信号量 >Lisp、Prolog等语言开启了函数式程序设 (semaphore) 、死锁 (deadlock)等; 计 指出GOTO语句的危害 开启了结构化程序设计
~60年代:高级语言出现 软件开发模式与工具历程 13 • 1958年,Alan Peris、John Backus、Peter Naur等开发了Algol,启发了后来的Basic、 Simula、Pascal、C、Java与C# ➢ 同年的Lisp则启发了后续面向科学计算 的编程语言; ➢ Lisp、Prolog等语言开启了函数式程序设 计 • 1964年,IBM推出System/360,并同时推出了其 上的指令集;DEC公司则推出了PDP小型机,企 业级软件开发进入到大型机、小型机软件开发时 代 •1967~1969 年 , 阿 帕 网 ( ARPANET ) 建 立,奠定了后来互联 网的基础;NCP协议 成为TCP/IP协议的前 辈。 •1960年,Dijkstra和同事一起完成 ALGOL 60编译器,提出了“堆栈 (stack)” •60年代又相续 构造了“THE”操作 系统(世界第一个松耦合、显式同 步、协操作串行处理的操作系统; •提出信号量 (semaphore)、死锁 (deadlock)等; •指出GOTO语句的危害, 开启了结构化程序设计
软件开发模式与工具历程 60年代:高级语言出现 1960年,COBOL语言诞生,与Fortran、 ·1968年,计算机编程界的圣经 NIWLTH CLANIC URON OF Pascali语言一起,成为C语言之前最为 《The Art of Comptuer 流行的编程语言之一 programming》出版第一卷 The Art of File Edit Computer E米aH,E0g项,L1B(HEL0)-1,m 。 程序不再混沌地等于“用语言写 Programming Code”,而进入“语言+数据结 VOLLME 1 Y 构+算法”时代 DONALD E.KNUTH 60年代末、70年代初,Pascali语言诞生, 在NATO1968上, 先后制定 并流行至2000年初。除软件开发外,程 并发布了 《Software 序设计竞赛在很长时间里,也使用Pascal Engineering》与《Software SOFTWARE ENGINE电N TECHNIQUES n:integer; Engineering Techniques》)两 本会议集,宣告了软件工程 erno)xt): 的诞生 8 。 软件开发正式进入标准化开发时代,软件也正式进入 “程序+数据+文档”的时代, 软件开发的标准也以软件开发过程与文档两方面展开
~60年代:高级语言出现 软件开发模式与工具历程 14 • 1960年,COBOL语言诞生,与Fortran、 Pascal语言一起,成为C语言之前最为 流行的编程语言之一 •60年代末、70年代初,Pascal语言诞生, 并流行至2000年初。除软件开发外,程 序设计竞赛在很长时间里,也使用Pascal • 1968年,计算机编程界的圣经 《The Art of Comptuer programming》出版第一卷 • 在NATO 1968上,先后制定 并发布了 《Software Engineering》 与 《Software Engineering Techniques》两 本会议集,宣告了软件工程 的诞生 • 软件开发正式进入标准化开发时代,软件也正式进入 “程序+数据+文档”的时代; • 软件开发的标准也以软件开发过程与文档两方面展开。 • 程序不再混沌地等于“用语言写 Code”,而进入“语言+数据结 构+算法”时代
软件开发模式与工具历程 大容量硬盘、文件 70~80年代:面向过程开发时代 系统与数据库的出 现,使数据不再单 > 特征:以小组开发为开发模式,中后期企业模式出现 纯混沌的等于“输 入计算机的Value" !>代表性事件: 而真正成为客观世 √C语言流行;结构化程序设计出现;Unix诞生; 界产生的Data √程序验证与形式化方法出现;关系型数据库诞生 IBM成为第一大软件开发制造商;微软成立,Visual Basic流行 1970的,E.F.Codd提出关 A Relational Model of Data Tor Large Shared Data Baniks 受E.F.Codd工作的 系代数与关系数据库模型 影响, Michael 从此,数据库进入 Stonebraker(真大 Relational Database的时代, 神)开始了一生在 数据库行业的征程 软件开发中,关系型数据 库也取代网关与层次数据 ·1974年左右,Ingres数 库,成为数据的最主要存 据库诞生,并成功影 储形式; 响了后续包括 PostgreSQL、MySQL 数据库工程师产生。 等一系列数据库 成果写成论文还是有用的! ·数据库从系统软件中分离,成为单独的基 础软件,包括今天的CCF,Database community都与SE community分离
➢ 特征:以小组开发为开发模式,中后期企业模式出现 ➢ 代表性事件: ✓ C语言流行;结构化程序设计出现;Unix诞生; ✓ 程序验证与形式化方法出现;关系型数据库诞生; ✓ IBM成为第一大软件开发制造商;微软成立,Visual Basic流行 70~80年代:面向过程开发时代 软件开发模式与工具历程 15 •1970的,E.F. Codd提出关 系代数与关系数据库模型, 从 此 , 数据库进入 Relational Database的时代; •软件开发中,关系型数据 库也取代网关与层次数据 库,成为数据的最主要存 储形式; •数据库工程师产生。 成果写成论文还是有用的! •受E.F.Codd工作的 影 响 , Michael Stonebraker(真大 神)开始了一生在 数据库行业的征程 •1974年左右,Ingres数 据库诞生,并成功影 响 了 后 续 包 括 PostgreSQL 、 MySQL 等一系列数据库 •数据库从系统软件中分离,成为单独的基 础 软 件 , 包 括 今 天 的 CCF , Database community都与SE community分离 大容量硬盘、文件 系统与数据库的出 现,使数据不再单 纯混沌的等于“输 入计算机的Value”, 而真正成为客观世 界产生的Data
软件开发模式与工具历程 1970 1980 1990 2000 Tim 面向过程→结构化程序设计到来 Free85D 62 BSD family NetBSD 31 41 Unix与C语言诞生。Unix及其衍生操作系统 BSD (Berkeley Software Distnibution) 成为软件开发依托的主流操作系统,C语言 joy SunoS (Stanford) 5 olaris5U 10 集结构化编程语言之大成,成为90年代之前 最具代表性的编程语言 NextStep 3.3 Mac05104.6 Xenix O5 Micresoft/SCO Unix GNU Project GNU Richard Stallman Linux Linus Torvalds Andrew s.tanenbaum ...312 Operating System Unix Time-Sharing System (Bell Labs) 10 Ken Thompson C语言: Dennis Ritchie(C language 2 Ritchie Kernighan Unix操作系统 AX (IBM) 5L53 UnixWare (Univel/SCO)7.1.4 MP2 iR(SG 6.5.30 ALGOL 60 1963 CPL System Ill V family Uniⅸ操作系统影响深远 BCPL 1967 B语言 1970 结构化程序设计:面向过程改进为面向结构, 写程序不再仅是写逻辑,而进化为写模块 C语言 1973 16
面向过程 ➔ 结构化程序设计到来 • 结构化程序设计:面向过程改进为面向结构, 写程序不再仅是写逻辑,而进化为写模块 软件开发模式与工具历程 16 C语言: Ritchie & Kernighan Unix操作系统 • Unix与C语言诞生。Unix及其衍生操作系统 成为软件开发依托的主流操作系统,C语言 集结构化编程语言之大成,成为90年代之前 最具代表性的编程语言 ALGOL 60 CPL BCPL B语言 C语言 1963 1967 1970 1973 Unix操作系统影响深远
软件开发模式与工具历程 70~80年代:面向过程开发的时代 微软诞生,Apple I成功,共同开启了个人电脑时代,也开启 了桌面软件开发时代 1975年,Bill Gates-与Paul Allan为Altair8800 1980~1981年,微软以五万美元购得收购了86-D0S,并将它 开发出了Basic解释器,随后成立Microsoft 改进之后更名为MS-DOS,成为最具代表性的DOS操作系统。 “在DOS上写程序”也成为软件开发标志性的事件,从此,微 软的编程语言与工具就一直延续至今。 Disk Operating System图片来自知乎 1985年起,随着Windows1.0的发布,Windows.上程序开 发成为软件开发的重要组成部分 ALTAIR GUCO 光2g 17
70~80年代:面向过程开发的时代 软件开发模式与工具历程 1980~1981年,微软以五万美元购得收购了 86-DOS,并将它 改进之后更名为 MS-DOS,成为最具代表性的DOS操作系统。 “在DOS上写程序”也成为软件开发标志性的事件,从此,微 软的编程语言与工具就一直延续至今。 17 微软诞生,Apple I成功,共同开启了个人电脑时代,也开启 了桌面软件开发时代 1975年,Bill Gates与Paul Allan为Altair 8800 开发出了Basic 解释器,随后成立Microsoft Disk Operating System图片来自知乎 1985 年起,随着Windows 1.0的发布,Windows上程序开 发成为软件开发的重要组成部分