1 / 83
文档名称:

软件工程导论课件全.ppt

格式:ppt   大小:770KB   页数:83页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件工程导论课件全.ppt

上传人:1136365664 2018/4/17 文件大小:770 KB

下载得到文件列表

软件工程导论课件全.ppt

文档介绍

文档介绍:软件工程导论
武汉科技大学
第一章软件危机和软件工程(3)
软件危机的表现
开发成本难以控制,进度不可预计;
软件系统的质量和可靠性很差,难以满意;
软件文档相当缺乏,软件系统不可维护;
软件开发生产率很低,软件产品供不应求。
软件产品成本十分昂贵。
软件危机产生的原因
软件本身的特点:
-- 软件是一种逻辑实体,而不是具体的物理实体,具有高度的抽象性;
-- 软件是一个逻辑上复杂而规模上庞大的系统,涉及技术、管理等多方面的问题;
-- 软件的生产方式与硬件明显不同:产品的质量控制在设计和制造阶段的不同;产
品的生产方式不同;设计和制造阶段的资金和人力投入、技术复杂度不同;
-- 软件的运行和维护阶段,没有传统意义上的机械磨损、老化问题。
-- 软件与硬件有关,对软件有可移植性的要求。
-- 软件工作涉及许多社会因素。
对软件开发与维护存在许多错误认识和做法:忽视软件需求分析的重要性;对软件与程序的概念不清;轻视软件维护。
软件开发与维护的方法不正确:对系统需求没有清楚和准确的认识就进入开发阶段,
忽视对软件开发过程的管理;……
软件危机
磨合调整
磨损用坏
t
失效率
硬、软件产品失效率曲线
第一章软件危机和软件工程(4)
软件的定义(Boehm):软件是程序以及开发、使用和维护程序需要的所有文档。



引入同一变动付出的代价随时间变化的趋势
改正一个问题的估计费用(美元)
改正一个问题的估计工作量(人·天)
20
200
1000
2000




RA
SD
DD
CD
IT
ST
RT
Bell 实验室统计结果(US)
软件产品需要分阶段的定义、设计和开发,严格的产品质量控制,完整的文档记录。
50
60
70
80
90
硬件
软件
第一章软件危机和软件工程(5)
解决软件危机的途径
将软件开发看成是一种组织严密、管理严格、各类人员协同配合共同完成的
工程项目。
研究和推广成功的软件开发技术和方法。
开发和使用好的软件工具。
基本概念:
软件生命周期:软件所经历的定义、开发、使用和维护直到废弃所经历的
时期。
程序设计环境:源程序编辑,编译或解释,链接,调试和运行工具的集合。
软件工程环境:软件定义,设计和实现,测试和维护等各个阶段所使用的
软件工具的集合。
软件工程
软件工程的基本原理
用分阶段的生命周期计划严格管理
6类计划–项目概要计划,里程碑计划,项目控制计划,产品控制计划,
验证计划,运行维护计划。
坚持进行阶段评审
1)经验数据说明,大部分错误是在编码之前造成的,在整个软件设计错误中,
设计错误占63%,而编码错误占37%。
2)错误发现和改正得越晚,所需付出的代价就越高。
实行严格的产品控制
主要实行基准配置管理。
软件配置成分: 软件开发各个阶段产生的文档和代码。
基准配置: 经过评审后的软件配置成分。
采用现代程序设计技术
提高开发和维护的效率,如结构化分析SA和结构化设计SD技术。
结果应能清楚地审查
开发小组的人员应少而精
1)软件开发的进度并非与参与开发人员的数量成正比,有时恰恰相反。
2)软件产品的质量绝对与开发人员的素质相关。
承认不断改进软件工程实践的必要性
软件工程(续1)
2. 软件工程的传统途径—生命周期方法学
生命周期方法学的基本内容
从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周
期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶
段的任务。
生命周期方法学的应用方法
从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发;前一个阶段任
务的完成是后一个阶段工作的前提和基础,而后一个阶段任务通常是使前一阶
段提出的解法更进一步的具体化,加进了更多的实现细节。
阶段过渡方法
每一个阶段的开始和结束都有严格标准,前一阶段结束的标准是后一阶段工作
开始的标准。技术审查和管理复审。
基本概念
文档及其作用。
生命周期各阶段的基本任务
问题定义→可行性研究→需求分析→总体设计(概要设计) →详细设计→
编码和单元测试→综合测试→软件维护。
软件工程(续2)
4. 瀑布模型
问题定义
特点:1) 阶段间具有顺序性和依赖性
2) 推迟实现的观点
3) 质量保证的观点。
可行性研究
需求分析
总体设计
详细设计
编码与单元测试
综合测试
软件维护
软件定义时期
软件开发时期
软件维护时期
软件工程(续3—生命周期各阶段的基本任务)
问题定义
可行性