电子斜技大学 软件技术基础 5.1软件工程概述 主讲教师:刘民岷 航空航天学院 a口2 软件技术基础课程组
软件技术基础 主讲教师:刘民岷 航空航天学院 软件技术基础课程组
软件工程学的形成及发展 软件工程的提出源于60年代末期出现的“软件危机”,并 在较短的时间内发展成为一个完整的学科方向,30多年来, 就理论研究和工程实践两个方面作了大量的工作。 软件的工程化生产已形成一个独立的产业部门,成为软件 产业。软件已成为计算机工业最重要的产品之一。 电子科技大学刘民岷 软件工程概述 2
电子科技大学 刘民岷 软件工程概述 2 软件工程的提出源于60年代末期出现的“软件危机” ,并 在较短的时间内发展成为一个完整的学科方向,30多年来, 就理论研究和工程实践两个方面作了大量的工作。 软件的工程化生产已形成一个独立的产业部门,成为软件 产业。软件已成为计算机工业最重要的产品之一
软件工程学的形成及发展(续) 自从1945年第一台电子数字计算机诞生以来,软件开发方 法从机器码编程到软件工程方法,经历了三个阶段: 1)程序设计时期(1946年到60年代中) 生产方式为手工生产、个体劳动,凭个人经验; 使用工具:机器语言、汇编、服务性程序; 还没有“软件”的概念。 2 cin>>12. 2-(b31-b0 temp0-b[2emp2)/b1001101011010116000101m j3=(c[3]-c[o]temp[o]-c[1]-fempti/c[21:11011010110000101010101 cout>j3; 110100010001g fj1==temp0j8&i2==temp1j&&j3=Hb[2j1000i000300110010001100001001000000 break0111000101001000000100111000 1011110111001001110100011010010110 0010010111C010011011110101月10011101000 t0100101i100101010,i>310110111101101000110111 0000100100000010110coutb1:000a0011100001000 101001011011100110011101000001100103011 cout<<endl;1100001001000000 P0网100110000101011100110我图月100001011 0011d01101001011 电子科技大学刘民岷 软件工程概述 3
电子科技大学 刘民岷 软件工程概述 3 自从1945年第一台电子数字计算机诞生以来,软件开发方 法从机器码编程到软件工程方法,经历了三个阶段: 1)程序设计时期(1946年到60年代中) – 生产方式为手工生产、个体劳动,凭个人经验; – 使用工具:机器语言、汇编、服务性程序; – 还没有“软件”的概念
软件工程学的形成及发展(续) 2)软件时期 (20世纪60年代中 期至70年代中期) “作坊式”生产方式。多人 分工、共同协作。 100万条指令 5000个人年 提出“软件”概念,强调软件 4000个模块 ⊕ 0 工程师的作用,强调开发者的 几亿美元的开发费用 通信和协作。 随着计算机应用领域的扩大, 0S/360 软件规模及结构的复杂化,作 失败! 坊式生产仍然不能满足要求, 出现“软件危机”。 2000个错误! 典型失败: 60年代IBM的0S/360开发 电子科技大学刘民岷 软件工程概述 4
电子科技大学 刘民岷 软件工程概述 4 2)软件时期(20世纪60年代中 期至70年代中期) – “作坊式”生产方式。多人 分工、共同协作。 – 提出“软件”概念,强调软件 工程师的作用,强调开发者的 通信和协作。 – 随着计算机应用领域的扩大, 软件规模及结构的复杂化,作 坊式生产仍然不能满足要求, 出现“软件危机” 。 典型失败: 60年代IBM的OS/360开发 OS/360 100万条指令 5000个人年 4000个模块 $ $ 几亿美元的开发费用 2000个错误! 失败!
软件工程学的形成及发展(续) 3)软件工程时期(70年代-) 1968年、1969年北大西洋公约组织成员国软件工作者研讨会 提出了“软件工程”这一术语,根本目的在于克服“软件危 机”中遇到的困难,从此软件生产进入软件工程时代。 特点: 硬件已向“四化”(巨型、微型、网络、智能)发展,数据库 技术已成熟并广泛应用,第三、四代语言出现。 。 第一代软件技术 结构化程序设计在数值计算领域取得优异 成绩; ·第二代软件技术 软件测试技术、方法、原理用于软件生产 过程; 。8 第三代软件技术 处理需求定义技术,用于软件需求分析和 描述。 电子科技大学刘民岷 软件工程概述 5
电子科技大学 刘民岷 软件工程概述 5 3)软件工程时期(70年代-) – 1968年、1969年北大西洋公约组织成员国软件工作者研讨会 提出了“软件工程”这一术语,根本目的在于克服“软件危 机”中遇到的困难,从此软件生产进入软件工程时代。 – 特点: • 硬件已向“四化”(巨型、微型、网络、智能)发展,数据库 技术已成熟并广泛应用,第三、四代语言出现。 • 第一代软件技术——结构化程序设计在数值计算领域取得优异 成绩; • 第二代软件技术——软件测试技术、方法、原理用于软件生产 过程; • 第三代软件技术——处理需求定义技术,用于软件需求分析和 描述
2、软件工程及软件工程学 软件工程的定义: √Barry Boehm:运用现代科学技术知识来设计并构造计算机 程序及为开发运行、维护这些程序所必需的相关文件资料。 √EEE:软件工程是开发、运行、维护和修复软件的系统方法。 ·软件工程学的内涵: 软件开发方法学 软件开发技术 软件工具 软件工程环境 软件工程学 软件管理学 软件工程管理 软件工程经济学 电子科技大学刘民岷 软件工程概述 6
电子科技大学 刘民岷 软件工程概述 6 • 软件工程的定义: ✓ Barry Boehm: 运用现代科学技术知识来设计并构造计算机 程序及为开发运行、维护这些程序所必需的相关文件资料。 ✓ IEEE: 软件工程是开发、运行、维护和修复软件的系统方法。 • 软件工程学的内涵: 软件工程学 软件开发技术 软件工程管理 软件开发方法学 软件工具 软件工程环境 软件管理学 软件工程经济学