当前位置:文档之家› 软件工程导论第一章.ppt

软件工程导论第一章.ppt


1.2 软件工程及其基本原理(1)
1968年北大西洋公约组织的计算机科学家在联邦德国召开
国际会议,讨论软件危机问题,在这次会议上正式提出并
使用了“软件工程”这个名词,一门新兴的工程学科
就此诞生了!
软件工程 指导计算机软件开发和维护的工程学科 工程管理+开发技术 1993年IEEE进一步给出了一个更全面更具体的定义: “软件工程是: ①把系统的、规范的、可度量的途径 应用于软件开发、运行和维护过程,也就是把工程应 用于软件; ②研究①中提到的途径。
•专家系统 •人工神经网络 •并行计算 •网络计算机
1980
1990
2000 21世纪
1.1 软件与软件危机(4)
➢存在并持续发展的问题: 1.对软件开发成本和进度的估算很不准确 2.用户很不满意 3.质量很不可靠 4.没有适当的文档 5.软件常常是不可维护的 6.供不应求:软件开发生产率跟不上计算机应用迅速深入的
软件就是程序?
× 一定要纠正软件就是程序,
开发软件就是编写程序的
错误观念!
规模庞大
软件=程序+数据+文档
1.1 软件与软件危机(2)
软件的概念 软件定义:软件是能够完成预定功能和性能的可执述软件开发过程及其管理、程序的操作和使
用的有关文档。
程序、软件与软件产品:
1.2 软件工程及其基本原理(2)
软件工程的目标
- 软件工程的目标是运用先进的软件开发技术和管理方法来提 高软件的质量和生产率,也就是要以较短的周期、较低的成本
生产出高质量 的软件产品,并最终实现软件的工业化生产。
- 软件的质量特性:功能性、可靠性、可使用性、效率、可维 护性和可移植性。
1.2 软件工程及其基本原理(3)
独唱—>>小合唱—>>合唱—>>万人大合唱
|
|
|
简单程序 较复杂程序
软件
1.1 软件与软件危机(3)
早期
•面向批处理 •有限的分布 •自定义软件
第二阶段
•多用户 •实时 •数据库 •软件产品
1950
1960
1970
第三阶段
•分布式系统 •嵌入“智能” •低成本硬件 •消费者的影响
第四阶段
•强大的桌面系统 •面向对象技术
参考书目
- 软件工程导论(第5版)张海藩 清华大学出版社 - 软件工程(第二版)齐治昌、谭庆平、宁洪 编著,高等教育出版社 - Shari Lawrence P fleeger 软件工程——理论与实践(第2版)(高教出版社 影印版),2003
考核方式:闭卷考试 70% 平时成绩(考勤+作业) 30%
1.3 软件生命周期(2)
软件定义时期
主要任务是解决“做什么(what)”的问题
- 确定工程的总目标和可行性; - 导出实现工程目标应使用的策略及系统必须完成的功能; - 估计完成工程需要的资源和成本; - 制订工程进度表。
通常又分为3个阶段:问题定义、可行性研究和需求分 析。
1.3 软件生命周期(3)
1963年美国飞往火星的火箭爆炸,造成1000万美元的损失 。原因是FORTRAN程序:
DO 5 I=1,3 误写为:DO 5 I=1.3
1967年苏联“联盟一号”载人宇宙飞船在返航时, 由于软件忽略一个小数点,在进入大气层时因打不开降 落伞而烧毁。
1.1 软件与软件危机(5)
产生软件危机的原因
- 在软件开发和维护的过程中存在这么多严重问题,一方面与 软件本身的特点有关,另一方面也和软件开发与维护的方法 不正确有关。 ➢客观:软件本身特点 - 逻辑部件 - 规模庞大 ➢主观:不正确的开发方法 - 忽视需求分析 - 错误认为:软件开发=程序编写 - 轻视软件维护 - …….
趋势
软件危机
在计算机软件的开发和维护过程中 所遇到的一系列严重问题。
软件危机例证
IBM公司的 OS/360,共约100万条指令,花费了5000个人 年;经费达数亿美元,而结果却令人沮丧,错误多达2000个以 上,系统根本无法正常运行。 OS/360系统的负责人Brooks这样 描述开发过程的困难和混乱:“…像巨兽在泥潭中作垂死挣扎, 挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹 没在泥潭中的命运。…”
软件工程的基本原理 (1)按软件生命周期分阶段制订计划并认真实施 (2) (3) (4) (5)明确责任 (6) (7)不断改进开发过程
概念
1.3 软件生命周期(1)
软件也有一个孕育、诞生、成长、成熟和衰亡的生 存过程,我们称这个过程为软件生命周期或软件生 存期。
软件生存期由软件定义、软件开发和运行维护3个时 期组成,每个时期又可划分为若干个阶段。
(2) 需求分析
本阶段要回答的关键问题是“目标系统应当做什么?”
(3) 软件设计
设计是软件工程的技术核心。本阶段要回答的关键问题是“如何实现目 标系统?”
1.3 软件生命周期(6)
各个阶段所要完成的基本任务 (4) 程序编码和单元测试
课代表 ?
第一讲 如何认识软件与软件工程
教学目标
本课程的目的与任务是使同学们通过本课程的学 习,了解软件项目开发和维护的一般过程,掌握 软件开发的传统方法和最新方法,提高大家的软 件开发能力与软件项目管理能力。 学习管理的思想,工程的方法。
1.1 软件与软件危机(1)
软件的概念
什么是软件?
看不见,摸不着
统计数据表明,实际上用于软件维护的费用占软件 总费用的55%~70%。软件工程学的一个重要目标 就是提高软件的可维护性,减少软件维护的代价。
1.3 软件生命周期(5)
各个阶段所要完成的基本任务 (1) 问题定义与可行性研究
本阶段要回答的关键问题是“到底要解决什么问题?在成本和时间的限 制条件下能否解决问题?是否值得做?”
软件开发时期
主要任务是解决“如何做(how)”的问题,即具体 设计和实现在前一个时期定义的软件。
由概要设计、详细设计、编码和测试4个阶段组成。
1.3 软件生命周期(4)
软件运行维护时期
主要任务是使软件持久地满足用户的需要,通常有4类维护活动: (1) 改正性维护,也就是诊断和改正在使用过程中发现的软件错误; (2) 适应性维护,即修改软件以适应环境的变化; (3) 完善性维护,即根据用户的要求改进或扩充软件,使它更完善; (4) 预防性维护,即修改软件为将来的维护活动预先做准备。
相关主题