软件件系统开发技术 软件工程.ppt
《软件件系统开发技术 软件工程.ppt》由会员分享,可在线阅读,更多相关《软件件系统开发技术 软件工程.ppt(512页珍藏版)》请在知学网上搜索。
1、课名:课名:软软 件件 工工 程程主主 讲:讲:谢谢 明明 志志EmailEmail:使用教材:软件系统开发技术(修订版)使用教材:软件系统开发技术(修订版)潘锦平潘锦平 施小英施小英 姚天昉姚天昉 西安电子科技大学出版社西安电子科技大学出版社7/25/20231第一章 软件工程概述7/25/202321.1 1.1 软件工程的背景和历史软件工程的背景和历史n19681968年年由由NATO(北大西洋公约组织北大西洋公约组织)在德国在德国Garmish召开的学术召开的学术会议会议上,上,Feitz BauerFeitz Bauer首先首先提出了提出了“软件工程软件工程”概念。概念。7/25/2
2、0233软件工程与编程软件工程与编程n前者是一门学科,一前者是一门学科,一种科学理论来指导软种科学理论来指导软件系统开发,标准化,件系统开发,标准化,自动化的过程自动化的过程n考虑如何分解一个系考虑如何分解一个系统,以便各人分工开统,以便各人分工开发;考虑如何说明每发;考虑如何说明每个部分的规格要求;个部分的规格要求;怎样才能易于维护怎样才能易于维护n单纯的代码编写单纯的代码编写n是软件工程发展的前是软件工程发展的前身身n是软件工程中占据很是软件工程中占据很少时间和空间的一部少时间和空间的一部分分7/25/20234计算机学科的发展计算机学科的发展计算机科学计算机科学(CS)计算机科学计算机科
3、学(CS)计算机工程计算机工程(CE)软件工程软件工程(SE)信息系统信息系统(IS)计算学科计算学科(computing discipline)7/25/2023560年代以来年代以来n工厂管理工厂管理n病人监护病人监护n工资统发工资统发n图书馆管理图书馆管理n机票预定机票预定n学籍管理学籍管理7/25/20236 早期早期 第二阶段第二阶段 第三阶段第三阶段 第四阶段第四阶段面向批处理面向批处理 多用户多用户 分布式系统分布式系统 强大的桌面系统强大的桌面系统有限的分布有限的分布 实时实时 嵌入嵌入“智能智能”面向对象技面向对象技术术自定义软件自定义软件 数据库数据库 低成本硬件低成本硬件
4、 专家系专家系统 软件产品软件产品 消费者的影响消费者的影响 人工神经网络人工神经网络 并行计算并行计算 网络计算机网络计算机195019601970198019902000Evolution of software#7/25/20237为什么发展如此之快为什么发展如此之快n不准确的时间和金钱的估算不准确的时间和金钱的估算n软件质量的低下软件质量的低下n相对硬件产品开发软件开发费用的增加相对硬件产品开发软件开发费用的增加n维护、增强软件系统的必要性维护、增强软件系统的必要性n硬件价格大幅度下降硬件价格大幅度下降7/25/20238软件技术面临的问题软件技术面临的问题 规模规模 复杂性复杂性 生
5、产率生产率 7/25/20239 Windows9595有有10001000万行万行代码代码 Windows20002000有有50005000万行万行代码代码例:例:Exchange2000和和 Windows20002000开发人员结构开发人员结构Exchange2000Windows20002000项目经理项目经理25人人约约250人人开发人员开发人员140人人约约1700人人测试人员测试人员350人人约约3200人人7/25/202310人月神话人月神话焦油坑焦油坑 n史前史中,没有别的场景比巨兽在焦油坑中垂史前史中,没有别的场景比巨兽在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙
6、、死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越猛犸象、剑齿虎在焦油中挣扎。它们挣扎得越是猛烈,焦油纠缠得越紧,没有任何猛兽足够是猛烈,焦油纠缠得越紧,没有任何猛兽足够强壮或具有足够的技巧,能够挣脱束缚,它们强壮或具有足够的技巧,能够挣脱束缚,它们最后都沉到了坑底。最后都沉到了坑底。7/25/202311软件危机的主要特征软件危机的主要特征n软件开发周期大大超过规定软件开发周期大大超过规定 日期日期;n 软件开发成本严重超标软件开发成本严重超标;n 软件质量软件质量难于难于保证。保证。7/25/202312软件工程的定义软件工程的定义 Fritz Bauer在
7、在NATO会议会议上给出的定义:上给出的定义:“软件工程软件工程是是为了经济地获得可靠的和能为了经济地获得可靠的和能在实际机器上高效运行的软件在实际机器上高效运行的软件而确立和使用而确立和使用的的健全健全的工程的工程原理(方法)原理(方法)。”7/25/202313软件工程的定义(软件工程的定义(2)IEEEIEEE【IEE83】给出的给出的软件工软件工程程定义:定义:“软件工程是软件工程是开发、运行、开发、运行、维护和修复软件的系统方法维护和修复软件的系统方法。”7/25/202314软件工程的定义(软件工程的定义(3)IEEEIEEE【IEE93】给出了一个更加给出了一个更加综合的定义:综
8、合的定义:“将系统化的、规范的、可将系统化的、规范的、可度量的方法应用于软件的开发、度量的方法应用于软件的开发、运行和维护的过程,即将工程化运行和维护的过程,即将工程化应用于软件中应用于软件中。”7/25/202315软件工程是一门交叉学科软件工程是一门交叉学科软件工程的主要研究内容u软件开发软件开发技术技术:软件开发方法软件开发方法学学 软件开发过程软件开发过程 软件工具软件工具和软件工程和软件工程环境环境 u软件工程管理软件工程管理:软件管理软件管理学学 软件经济学软件经济学 软件软件心理学心理学 软件工程所包含的内容不是一成不变的,软件工程所包含的内容不是一成不变的,随着人们对软件系统的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件件系统开发技术 软件工程 软件 系统 开发 技术