软件工程基本原理(第一章第二章)课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程基本原理(第一章第二章)课件.ppt》由会员分享,可在线阅读,更多相关《软件工程基本原理(第一章第二章)课件.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、教材:软件工程教材:软件工程参考教材:参考教材:软件工程实践者的研究方法软件工程实践者的研究方法 (美)(美)Roger S.PressmanRoger S.Pressman著著 黄柏素黄柏素 梅宏梅宏 译译教学方式:授课教学方式:授课(24)(24)实验实验(24)(24)课课 名:软件工程名:软件工程2023/2/18第一章第一章 软件工程概述软件工程概述本章要解决的问题:本章要解决的问题:软件为什么要工程化?软件为什么要工程化?软件产品如何工程化?软件产品如何工程化?2023/2/18第一章第一章 软件工程概述软件工程概述软件危机软件危机软件工程软件工程2023/2/18软件及其特点软件
2、及其特点2023/2/18一、什么是软件一、什么是软件软件软件 是计算机系统中与硬件相互依存的是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关另一部分,它是包括程序,数据及其相关文档的完整集合。文档的完整集合。程序程序 是按事先设计的功能和性能要求执是按事先设计的功能和性能要求执行的指令序列。行的指令序列。数据数据 是使程序能正常操纵信息的数据结是使程序能正常操纵信息的数据结构构文档文档 是与程序开发、维护和使用有关的是与程序开发、维护和使用有关的图文材料。图文材料。2023/2/18二、软件的特点二、软件的特点软件具有抽象性。软件具有抽象性。因为它是一种因为它是一种逻辑实逻
3、辑实体体,而不是具体的物理实体。,而不是具体的物理实体。软件是开发或工程化而形成的。软件是开发或工程化而形成的。而不是而不是传统意义上的制造产生的。传统意义上的制造产生的。软件不会磨损。软件不会磨损。2023/2/18故障率曲线时间故障率软件的故障率曲线时间故障率软件的故障率曲线时间故障率硬件的故障率曲线理想曲线实际曲线2023/2/18软件是自定义的。软件是自定义的。他不能通过已有的构件他不能通过已有的构件组装而来。组装而来。软件对计算机系统有一定的依赖性。软件对计算机系统有一定的依赖性。其开其开发和运行常受到计算机系统的限制。发和运行常受到计算机系统的限制。软件成本昂贵软件成本昂贵2023
4、/2/18软件本身是复杂的软件本身是复杂的v实际问题的复杂性实际问题的复杂性v程序逻辑结构的复杂性程序逻辑结构的复杂性 例例1 1 Windows95 Windows95程序超过程序超过10001000万行万行例例2 2 军事和控制系统项目,军事和控制系统项目,35003500多人花费多人花费了几年时间,交付后相继发现了了几年时间,交付后相继发现了100100个错个错误,最后以失败告终。误,最后以失败告终。2023/2/18软件的投入费用越来越高软件的投入费用越来越高2023/2/18三、软件的发展过程三、软件的发展过程程序设计阶段程序设计阶段 50 50至至6060年代年代程序系统阶段程序系
5、统阶段 60 60至至7070年年软件工程阶段软件工程阶段 70 70年代以后年代以后2023/2/18计算机50年的发展 早期早期 第二代第二代 第三代第三代 第四代第四代面向批处理面向批处理 多用户多用户 分布式系统分布式系统 桌面系统桌面系统有限的分布有限的分布 实时实时 嵌入嵌入“智能智能”面向对象技面向对象技术术自定义软件自定义软件 数据库数据库 低成本硬件低成本硬件 专家系专家系统 软件产品软件产品 消费者的影响消费者的影响 人工神经网络人工神经网络 并行计算并行计算 网络计算机网络计算机195019601970198019902000小规模程序小规模程序 软件作坊软件作坊 微处理
6、器微处理器 网络网络 软件产品软件产品 2023/2/18发展带来的新问题:l 硬件的发展超过软件发展;集成度18个月翻一翻,计算速度、存储容量成倍增长,成本每10年递减两位数。l 制作软件的能力和速度与需求不适应;l 计算机的应用依赖于可靠的软件,软件失败将造成巨大经济损失;l 已有的软件难以维护。2023/2/18 共 43 页 第13页中国软件产业面临挑战与机遇l 外国软件渗透l 软件开发投资力度不足l 软件侵权行为l 软件人才结构不合理,缺乏高级系统程序员和项目负责人。l 软件人员缺乏软件工程化的概念。2023/2/18 共 43 页 第14页 软件已经从特定的问题解决和信息分析工具演
7、化为一门独立的产业!需要解决的新问题:软件危机!2023/2/18 共 43 页 第15页1-1 1-1 软件危机软件危机2023/2/18一、什么是软件危机一、什么是软件危机例例:IBM公司在公司在1963年至年至1966年开发的年开发的IBM360机的操作系统。这一项目花了机的操作系统。这一项目花了5000人一年的工作量,最多时有人一年的工作量,最多时有1000人投人投入开发工作,写出了近入开发工作,写出了近100万行源程序。万行源程序。.据统计,这个操作系统每次发行的据统计,这个操作系统每次发行的新版本都是从前一版本中找出新版本都是从前一版本中找出1000个程序个程序错误而修正的结果。错
8、误而修正的结果。.2023/2/18 项目负责人项目负责人F.D.BrooksF.D.Brooks事后总结了他事后总结了他在组织开发过程中的沉痛教训时说:在组织开发过程中的沉痛教训时说:“.正像一只逃亡的野兽落到泥潭中做正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。无法逃脱灭顶的灾难。.程序设计工作程序设计工作正像这样一个泥潭,正像这样一个泥潭,.一批批程序员被一批批程序员被迫在泥潭中拼命挣扎,迫在泥潭中拼命挣扎,.谁也没有料到谁也没有料到问题竟会陷入这样的困境问题竟会陷入这样的困境.”.”。IBM360IBM360操
9、作系统的历史教训成为软件开发项目的操作系统的历史教训成为软件开发项目的典型事例为人们所记取。典型事例为人们所记取。2023/2/18问题出在哪里问题出在哪里?u项目没有被很好地理解;计划不周,最终导致进度拖延;u文档资料不充分,使人与人的交流变得比写程序困难得多;u缺少度量软件可靠性(reliability)的标准,质量无法保证;u软件难以维护(maintainability),不易升级(evolvability);2023/2/18必须意识到:必须意识到:软软件件 编编程程 2023/2/18 软件系统的开发与建造高楼大厦、制造软件系统的开发与建造高楼大厦、制造飞机导弹同理,需要工程化方法和
10、工具。飞机导弹同理,需要工程化方法和工具。2023/2/18二、软件危机的主要特征二、软件危机的主要特征l对软件开发的成本和进度估计常常不准确;l用户对“已完成的”软件系统不满意;l软件质量不可靠;l软件系统常常不可维护;l软件没有适当的文档资料;l软件成本在计算机系统总成本不断上升;l软件生产率的提高速度既比不上硬件的发展,也跟不上计算机应用迅速普及深入的趋势。2023/2/18三、产生危机的原因三、产生危机的原因 1.软件需求巨增软件需求巨增!2.2.软件通用性不强软件通用性不强 3.软件难于度量软件难于度量 2023/2/18产生危机的原因产生危机的原因 4.用户与软件开发者之间难以沟通
11、 5.软件难以维护:没有适当的文档资料;软件的维护是修改原来的设计;6.软件开发受硬件的限制7.软件是定做而不是组装;8.没有工程化的管理和方法。2023/2/18改正一个问题需付出的代价改正一个问题需付出的代价改正一个问题的估计费用改正一个问题的估计工作量20200200010005.02.50.050.5(人/天)需求分析概要设计详细设计编码调试系统测试用户现场2023/2/18 共 43 页 第25页 解决问题的途径解决问题的途径软件开发工程化!软件开发工程化!如何维护已有的软件?如何使软件的如何维护已有的软件?如何使软件的开发速度适应越来越大的软件需求?开发速度适应越来越大的软件需求?
12、2023/2/181-2 1-2 软件工程软件工程2023/2/18一、软件工程一、软件工程什么是软件工程?l l软件工程是指导计算机软件开发和维护的工程学科。l l软件工程是以系统的、工程的概念、原理、技术和方法开发和维护软件,把先进的管理技术和开发技术相结合,经济地开发出高质量的软件并有效地维护它。w软件工程是1968年NATO在计算机科学家国际会议上首次提出来。2023/2/18l lFritz Bauer的定义:软件工程是为了经济地获得可靠的并能高效运行的软件,而建立和使用的完善的工程化原则。什么是软件工程?l l IEEE的定义:软件工程是开发、运行、维护和修复软件的系统方法。l 将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基本原理 第一章 第二 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内