第01章软件工程基本原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
专职维护人员
硬件的特征 高价、存储 降价,速度、 向超高速,大容量,网 量小、可靠 容量、可靠 络化,微型化方向发展 性差 性明显提高
软件的特征 完全不受重 软件的技术 开发技术有进步,但

发展不能满 尚未完全摆脱软件危
足需求

精品课件
二、软件危机
指在计算机软件开发和维护的过程中所遇到的一 系列严重问题。
精品课件
3、软件不同于一般程序:规模庞大,必须有严格 而科学的管理。
4、软件专业人员对软件开发和维护有不少的糊涂 观念,在实践过程中或多或少地采用了错误的方法和技术, 忽视软件需求分析的重要性,认为开发软件就是写程序并 使之运行,轻视软件维护,这可能是软件危机的主要原因。
失效率
磨合 调整
磨损 用坏
中、小型
精品课件
开发小组及大 中型开发机构
大、中、小型
特点,阶段 程序设计 程序系统
软件工程
决定质量的 个人技术 因素
开发技术和 子程序、程
手段
序库
维护责任者 程序设计者
小组技术水 平
结构化程序 设计
开发小组
技术与管理水平
数据库,开发工具,集成开发 环境,工程化开发方法,标准
和规范,网络及分布式开 发,OO技术,CASE
1、软件不同于硬件:它是计算机系统中的逻辑部件, 在写出程序代码并在计算机上运行之前,软件开发过程的进 展情况较难衡量,软件开发的质量也较难评价,因此管理和 控制软件开发过程相当困难。
2、软件在运行过程中不会因使用时间过长而被用坏, 如果运行中发现错误,很可能是遇到了一个在开发时期引入 杂在测试阶段没能检测出来的故障,因此软件维护通常意味 着改正或修改原来的设计。
精品课件
计算机系统应用的日益普及和深化。硬件和软 件的迅速发展。在计算机系统发展的早期时代所形 成的一些错误概念和做法,已经严重地阻碍了计算 机软件的开发,为更有效地开发和维护软件,软件 工作者在20世纪60年代后期开始认真研究消除软件 危机的方法,从而形成了计算机科学技术领域中的 一们新兴学科:计算机软件工程学。
失效率 修改点
实际曲线
硬件产品
时间 软件产品
硬件/软件产品失效率曲线
精品课件
理想曲线 时间
改正一个问题的 估算费用/美元
2000 1000
改正一个问题的 估算工作量/人日
5 2.5
改正一个问题
需付出的代价 200
0.5
代价 高 中
精品课件
第一节 软件概述 一、软件的发展与特点
计算机系统已经经历了4个不同的发展阶段,计算 机软件也经历了4个阶段。
60年代中期以前:为具体应用专门编写,认为无需 预先计划,规模较小,编写者和使用者是同一人,无系统化 方法,无管理,人们头脑中的一个隐含过程,除程序清单无 文档资料。
60年代中期到70年代中期:第二代,多道程序、 多用户系统的引入,数据库系统的出现,重要特征:软件作 坊,广泛使用产品软件,但仍使用个体化软件开发方法。程 序运行时发现的错误必须设法改正,用户有了新的需求时必 须相应的修改程序,硬件或操作系统更新时通常需要修改程 序以适应新的环境。
精品课件
1968年北大西洋公约组织的计算机科学家在联邦德 国召开国际会议,讨论软件危机问题,正式提出“软件工 程”。
从20世纪70年代中期开始的10年:分布式系统, 局域网、广域网、宽带数字通信等对软件开发者提出了更 高的要求,主要特点:出现了微处理器,及智能产品(个 人计算机)。
计算机系统发展的第四代:以硬件和软件的综合 效果为主,复杂的操作系统控制的强大的桌面机及局域网、 广域网,与先进的应用软件相配合,已经成为当前的主流。
1963年美国飞往火星的火箭爆炸,造成1000万美元的 损失。原因是FORTRAN程序:
DO 5 I=1,3 误写为:DO 5 I=1 . 3
1967年苏联“联盟一号”载人宇宙飞船在返航时,由于软 件忽略一个小数点,在进入大气层时因打不开降落伞而烧毁。
精品课件
产生软件危机的原因
在软件开发和维护的过程中存在这么多严重问题, 一方面与软件本身的特点有关,另一方面也和软件开发与维 护的方法不正确有关。
精品课件
教学重点:讲述软件危机产生的原因;软件工程的概念;软 件过程的概念,瀑布模型以及软件生命周期方法学的阶段划 分;
教学难点:螺旋模型、喷泉模型的基本思想;
讲授内容:计算机系统发展历程;软件危机;软件工程。软 件过程的概念,瀑布模型以及软件生命周期方法学的阶段划 分快速原型模型、增量模型、螺旋模型、喷泉模型。
精品课件
计算机软件发展的三个阶段及其特点
特点,阶段 程序设计
程序系统
软件工程
软件所指
主要程序设计 语言
软件工作范围
需求者
程序
汇编及机器语 言
程序编写
程序设计者
程序及说明书 高级语言 设计和测试 少数用户
程序、文档、 数据
软件语言*
整个软件生命 周期
市场用户
开发软件的组 织
软件规模
个人 小型
开发小组
第1章 软件工程的基本原理
精品课件
ቤተ መጻሕፍቲ ባይዱ
教学目的、要求,重点、难点
目的要求:认识《软件工程》这门课的内容和教 学安排,了解计算机系统的发展历程,软件危机 产生的原因及消除途径;
掌握软件工程的概念、基本原理。了解 软件过程的概念,掌握瀑布模型以及软件生命周 期方法学的阶段划分,了解快速原型模型、增量 模型、螺旋模型、喷泉模型的基本思想。
精品课件
IBM公司的 OS/360,共约100万条指令,花费了5000个人年 ;经费达数亿美圆,而结果却令人沮丧,错误多达2000个以上, 系统根本无法正常运行。 OS/360系统的负责人Brooks这样描述 开发过程的困难和混乱:“…像巨兽在泥潭中作垂死挣扎,挣 扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没 在泥潭中的命运。…”
概括的说:如何开发软件,怎样满足对软件的日 益增长的需求;如何维护数量不断膨胀的已有软件。
具体的说:主要有以下一些表现: 1、对软件开发成本和进度的估计常常很不准确; 2、用户对已完成的软件系统不满意的现象经常发生; 3、软件产品的质量经常靠不住; 4、软件常常是不可维护的; 5、软件通常没有适当文档资料; 6、软件成本在计算机系统总成本中中所占的比例逐年上 升; 7、软件开发的生产率提高的速度,既跟不上硬件发展的 速度,也远远跟不上计算机应用普及深入的趋势。
相关文档
最新文档