课名:软件工程 主讲:谢明志 Emailtommyshella163.com 使用教材:软件系统开发技术(修订版) 潘锦平施小英姚天昉 西安电子科技大学出版社 2021/2/19
2021/2/19 1 课名: 软 件 工 程 主 讲: 谢 明 志 Email:tommyshell@163.com 使用教材:软件系统开发技术(修订版) 潘锦平 施小英 姚天昉 西安电子科技大学出版社
第一章软件工程概述 2021/2/19 2
2021/2/19 2 第一章 软件工程概述
§1.1软件工程的背景和历史 1968年由NATO(北大西洋公约组织)在德国 Garnish召开的学术会议上, Feitz bauer首先 提出了“软件工程”概念 2021/2/19 3
2021/2/19 3 §1.1 软件工程的背景和历史 ◼ 1968年由NATO (北大西洋公约组织)在德国 Garmish召开的学术会议上,Feitz Bauer首先 提出了“软件工程”概念
软件工程与编程 前者是一门学科,一■单纯的代码编写 种科学理论来指导软。是软件工程发展的前 件系统开发,标准化,身 自动化的过程 是软件工程中占据很 考虑如何分解一个系少时间和空间的一部 统,以便各人分工开分 发;考虑如何说明每 个部分的规格要求; 怎样才能易于维护 2021/2/19
2021/2/19 4 软件工程与编程 ◼ 前者是一门学科,一 种科学理论来指导软 件系统开发,标准化, 自动化的过程 ◼ 考虑如何分解一个系 统,以便各人分工开 发;考虑如何说明每 个部分的规格要求; 怎样才能易于维护 ◼ 单纯的代码编写 ◼ 是软件工程发展的前 身 ◼ 是软件工程中占据很 少时间和空间的一部 分
计算机学科的发展 计算机科学 (CS) 计算机工程 (CE) 计算机科学冖→计算学科 (CS)( computing discipline)软件工程 (SE) 信息系统 (IS) 2021/2/19
2021/2/19 5 计算机学科的发展 计算机科学 (CS) 计算机科学 (CS) 计算机工程 (CE) 软件工程 (SE) 信息系统 (IS) 计算学科 (computing discipline)
60年代以来 ■工厂管理 病人监护 工资统发 图书馆管理 机票预定 学籍管理 2021/2/19
2021/2/19 6 60年代以来 ◼ 工厂管理 ◼ 病人监护 ◼ 工资统发 ◼ 图书馆管理 ◼ 机票预定 ◼ 学籍管理
Evolution of softwares 早期 第二阶段第三阶段第四阶段 面向批处理·多用户·分布式系统·强大的桌面系统 有限的分布·实时·嵌入“智能”·面向对象技 术 自定义软件·数据库·低成本硬件专家系统 ●软件产品●消费者的影响●工神经网络 ●并行计算 络算妞 1950 1960 1970 1980 1990 2000
早期 第二阶段 第三阶段 第四阶段 •面向批处理 •多用户 •分布式系统 •强大的桌面系统 •有限的分布 •实时 •嵌入“智能” •面向对象技 术 •自定义软件 •数据库 •低成本硬件 •专家系统 •软件产品 •消费者的影响 •人工神经网络 •并行计算 •网络计算机 1950 1960 1970 1980 1990 2000 Evolution of software#
为什么发展如此之快 不准确的时间和金钱的估算 软件质量的低下 相对硬件产品开发软件开发费用的增加 ■维护、增强软件系统的必要性 ■硬件价格大幅度下降 2021/2/19
2021/2/19 8 为什么发展如此之快 ◼ 不准确的时间和金钱的估算 ◼ 软件质量的低下 ◼ 相对硬件产品开发软件开发费用的增加 ◼ 维护、增强软件系统的必要性 ◼ 硬件价格大幅度下降
软件技术面临的问题 规模 复杂性 生产率 2021/2/19
2021/2/19 9 软件技术面临的问题 • 规模 • 复杂性 • 生产率
例: Window95有1000万行代码 Windows2000有5000万行代码 Exchange2000和 Windows2000开发人员结构 Exchange 2000 Windows2000 项目经理 25人 约250人 开发人员 140人 约1700人 测试人员 350人 约3200人
Windows95有1000万行代码 Windows2000有5000万行代码 例: Exchange2000和Windows2000开发人员结构 Exchange2000 Windows2000 项目经理 25人 约250人 开发人员 140人 约1700人 测试人员 350人 约3200人