电子斜技大学 软件技术基础 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<<endK<<"X(3)="; cout<<""<<s<<setw(17)<sj1<<setw(15)482<w(14)2j3k<endl cin>>j3; 110100010001g fj1==temp0j8&i2==temp1j&&j3=Hb[2j1000i000300110010001100001001000000 break0111000101001000000100111000 1011110111001001110100011010010110 0010010111C010011011110101月10011101000 t0100101i100101010,i<34+ 0001010tL00tt00 01100t00030 mmmm9mW9982a本装 vap(float all,float b[) 产function definition/ 001100gn0t110111011100100 1011i00cou1<<0nd0000i10110101100 emp[4]: 0000101110010001080000101100110101011}110110100301100100011100100 10011101001101100011011000010c000cout<<b(1)=01101101011001010010 0111003001101111011f01001110100010001010110cin>>310110111101101000110111 0000100100000010110cout<end10011100100100010 "-PROCESSING--<<endl; 00101011100 for(intj=0j3++)001i00111001001101 <2 Preparing Encode X-Y cos..<nd:oi110010110100311d1o101100.01011001J011001 <Procedure starting <<endl; 100000100000mcou<<"(2<j+1<于61000 nt=0<4++} 0000101101011mma1dn>b1: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年北大西洋公约组织成员国软件工作者研讨会 提出了“软件工程”这一术语,根本目的在于克服“软件危 机”中遇到的困难,从此软件生产进入软件工程时代。 – 特点: • 硬件已向“四化”(巨型、微型、网络、智能)发展,数据库 技术已成熟并广泛应用,第三、四代语言出现。 • 第一代软件技术——结构化程序设计在数值计算领域取得优异 成绩; • 第二代软件技术——软件测试技术、方法、原理用于软件生产 过程; • 第三代软件技术——处理需求定义技术,用于软件需求分析和 描述