教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

01软件危机与软件工程

来源:网络收集 时间:2026-07-11
导读: 软件工程 第一章 软件工程概述1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 软件工程 1.1 软件危机什么是软件? 什么是软件?软件是计算机系统中与硬件相互依存的另一部 是程序、数据及其相关文档的完整集合。 分,是程序、数据及其相关文档的

软件工程

第一章 软件工程概述1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程

软件工程

1.1 软件危机什么是软件? 什么是软件?软件是计算机系统中与硬件相互依存的另一部 是程序、数据及其相关文档的完整集合。 分,是程序、数据及其相关文档的完整集合。 程序是能够完成预定功能和性能的可执行的指 令序列。 令序列。 数据是使程序能够适当地处理信息的数据结构。 数据是使程序能够适当地处理信息的数据结构。 文档是开发、 文档是开发、使用和维护程序所需要的图文资 料。

什么是软件危机? 什么是软件危机?软件危机是指在计算机软件的开发和维护过程 中所遇到的一系列严重问题。 中所遇到的一系列严重问题。

软件工程

软件危机的主要特征(60年代末全面爆发) 软件危机的主要特征(60年代末全面爆发) 年代末全面爆发软件开发成本和进度估计很不准确; 软件开发成本和进度估计很不准确; 软件需求不充分,用户不满意; 软件需求不充分,用户不满意; 软件质量无保证; 软件质量无保证;60年代末,美国的多次火箭发射失败,主要是由软件错误造成。 60年代末,美国的多次火箭发射失败,主要是由软件错误造成。 年代末 阿脱拉斯火箭被迫炸毁(连字符错误),损失1850万美元。 阿脱拉斯火箭被迫炸毁(连字符错误),损失1850万美元。 ),损失1850万美元

软件系统维护难度大; 软件系统维护难度大; 软件开发过程无规范(无文档资料); 软件开发过程无规范(无文档资料); ……

软件工程

软件的特点1、软件是一种逻辑实体,而不是具体的物理实体。因而 软件是一种逻辑实体,而不是具体的物理实体。 它具有抽象性。 它具有抽象性。 软件的生产与硬件不同, 2、软件的生产与硬件不同,在它的开发过程中没有明显 的制造过程。 的制造过程。 在软件的运行和使用期间,没有硬件那样的机械磨损, 3、在软件的运行和使用期间,没有硬件那样的机械磨损, 老化问题。(软件退化,软件维护) 。(软件退化 老化问题。(软件退化,软件维护) 失效率曲线 软件的开发和运行常受到计算机系统的限制, 4、软件的开发和运行常受到计算机系统的限制,对计算 机系统有着不同程度的依赖性。(软件移植) 。(软件移植 机系统有着不同程度的依赖性。(软件移植)

软件工程

5、软件的开发至今尚未完全摆脱手工艺的开发方式。 软件的开发至今尚未完全摆脱手工艺的开发方式。 高强度的脑力劳动) (高强度的脑力劳动) 6、软件本身是复杂的。 软件本身是复杂的。 实际问题的复杂性。 实际问题的复杂性。 程序逻辑结构的复杂性。 程序逻

辑结构的复杂性。 7、软件成本相当昂贵。 软件成本相当昂贵。 硬、软件成本比例变化图 8、软件工作涉及到社会因素。(涉及机构、体制、管 软件工作涉及到社会因素。(涉及机构、体制、 。(涉及机构 理方式、观念、心理等。) 理方式、观念、心理等。)

软件工程

失效率曲线

软件工程

1995硬、软件成本比例变化

软件工程

软件发展阶段 程序设计阶段 — 50至60年代 50至60年代 程序系统阶段 — 60至70年代 60至70年代 软件工程阶段 — 70年代以后 70年代以后

软件工程

时期 程序设计 特点 软件所指 程序设计语言 软件工作范围 需求者 开发组织 软件规模 决定质量因素 开发技术手段 维护责任者 硬件特征 软件特征 程序 汇编及机器语言 程序编写 程序设计者本人 个人 小型 个人程序设计技术 子程序、程序库 程序设计者 价格高,存储容量 小,工作可靠性差 完全不受重视 程序及说明书 高级语言 包括设计和测试 少数用户 开发小组 中、小型 小组技术水平 结构化程序设计 开发小组 程序、文档及数据 软件语言* 软件生存期 市场用户 开发小组及大、中型软件 开发机构 大、中、小型 管理水平 数据库,开发工具,开发 环境,工程化开发方法, 标准和规范 专职维护人员 程序系统 软件工程

降价,速度、存储容量 向超高速、大容量、微型 及可靠性有明显提高 化及网络化方向发展 开发技术有进步,但未获 软件技术的发展不能满 突破性进展,价格高,未 足需求,出现软件危机 完全摆脱软件危机

软件工程

两条著名的定律:墨菲定律与卡尔特汉定律 两条著名的定律:墨菲(Murphy)定律: 墨菲(Murphy)定律:工作比想象的更为复杂; 工作比想象的更为复杂; 花费的时间比预计的更长; 花费的时间比预计的更长; 所需的费用比设想的更多; 所需的费用比设想的更多; 毛病能够出到什么地方就一定会出到那个地方。 毛病能够出到什么地方就一定会出到那个地方。

卡尔特汉(Kaltuhan)定律: 卡尔特汉(Kaltuhan)定律:墨菲是个乐观主义者。 墨菲是个乐观主义者。

软件工程

软件危机的部分原因分析 软件规模大。 软件规模大。 70年代末穿梭号宇宙飞船的软件包含 70年代末穿梭号宇宙飞船的软件包含 4000万行目标代码 万行目标代码。 4000万行目标代码。 软件复杂性高。 软件复杂性高。 软件的改正随开发阶段的推进而越来越困难。 软件的改正随开发阶段的推进而越来越困难。图:改正一个问题需付出的代价

早期软件开发的个体化特点,使相当多的软件 早期软件开发的个体化特点, 开发人员忽视软件需求的重要性, 开发人员忽视软件需求的重要性,轻视软件维 护。

……

软件工程

改正一个问题需付出的代价改正 2000 一个 1000 问题 的估 计费 200 用

5.0 改正 2.5 一个问题 估计 的工 0.5 作量

20 (美元) 美元) 需 求 分 析 结 构 设 计 详 编集 系 现 细 码成 统 场 设 测 测 试 试 计

(人天) 0.05 人天)

软件工程

解决软件危机的途径 组织管理措施– 软件开发应该是一种组织良好、管理严密、各类人 软件开发应该是一种组织良好、管理严密、 员协同配合、共同完成的工程项目。 员协同配合、共同完成的工程项目。必须充分吸取 和借鉴人类长期以来从事各种工程项目所积累的行 之有效的管理经验。 之有效的管理经验。

技术措施– 方法 – 工具

软件工程

1.2

软件工程 (software engineering)

“软件工程”术语首次出现:1968年NATO会议。 软件工程”术语首次出现:1968年NATO会议 会议。 Organization) (North Atlantic Treaty Organization) 软件工程是指导计算机软件开发和维护的工 程学科。 程学科。 采用工程的概念、原理、 采用工程的概念、原理、技术和方法来开发 与维护软件,把经过时间考验而证明正确的管 与维护软件, 理技术和当前能够得到的最好的技术方法结合 起来。 起来。 核心内容是“ 核心内容是“以工程化的方式组织软件的开 发”。

软件工程

软件工程是一门交叉学科软 件 工 程 的 主 要 研 究 内 容

软件开发模型 软件开发方法 软件立项到终止的全过程 软件开发工具 软件开发环境 计算机辅助软件工程(CASE) 计算机辅助软件工程(CASE) 软件工程管理 软件工程经济学

软件工程

软件工程的三个要素 软件工程包括三个要素:方法、工具和过程。 软件工程包括三个要素:方法、工具和过程。 1)软件工程方法为软件开发提供了“如何做” 软件工程方法为软件开发提供了“如何做” 的技术。 的技术。 2) 软 …… 此处隐藏:1541字,全部文档内容请下载后查看。喜欢就下载吧 ……

01软件危机与软件工程.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1762813.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)