- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章 软件工程概述
n 计算机工程 Computer Engineering n 硬件工程 Hardware Engineering
研究硬件生产和硬件管理的工程学科.
《计算机硬件及网络分析、制定设计方案、 选型、配置、采购、验收、安装、调试、 运行、培训、维护》
第1章 软件工程概述
软件工程 Software Engineering
第1章 软件工程概述
➢ 1963~1966年IBM开发OS/360操作系 统,投资几千万美元,工作量5000多人 年,
拖延几年才交付使用,而且每年要发现
近100个错误。
➢ 美国肯尼迪发射的一枚“阿脱拉斯火箭, 当飞地面几十英里高空时,翻转.地面控制 中心被迫下令炸毁,结果损失1850万
美元
原因:飞行计划程序漏掉一个“连”接字 第1章 软件工程概述
由上可看出: 软件需求量不断增大,复杂度越来越高,
软件可靠性无保障 软件维护费用不断上升 软件进度无法预测 成本增长无法控制 程序人员无限度地增加各个方面.
上述原因导致了60年代末的“软件危机.
第1章 软件工程概述
n 一系列软件开发的失败引起人们的思考, n 1968年北大西洋公约组织(NATO)的计算机
• 软件开发风范
• 开发方法
• 支持工具的研究。
•
第1章 软件工程概述
•2) 20世纪80年代以来,随着软件系统规模的增大、 • 复杂性的提高以及在关键领域应用的开展,人 • 们更加关注: • 软件生产技术的研究和实践 • 注重软件工程管理。 • 主要成果包括: • (1)计算机辅助软件工程(CASE) • (2)软件复用:如构件模型、复用机制等 • (3)软件过程概念以及能力成熟度模型(CMM)
第1章 软件工程概述
2020/11/25
第1章 软件工程概述
授课对象
软件学院本科
•授课学时
• 40学时 课程设计2周(下学期)
• •先修课程
高级语言程序设计、数据结构、
• 数据库技术等等 •
第1章 软件工程概述
计算机科学与软件工程
Computer Science
•Customer
•Theories
第1章 软件工程概述
1.2 软件工程的概念
1.2.1 软件工程的提出
软件开发失败的例子
1962年6月,美国飞向金星的第1个空间探测器 (水手1号)飞行中偏移了航线,失败了. 原因:飞舱中的导航程序中的一个语句的语义错.
世界上精心设计的并花费巨额投资的美国阿波 罗8号太空飞船登月飞行计划的软件的错误,使 存储器一部分信息丢失;阿波罗14号的飞行10天 中,出现18个软件错误. 原因: 软件的可靠性问题
•Computer •Function
•Problem
•Software •Engineering
•Tools and
•Techniques to
• Solve Problem
•
第1章 软件工程概述
初步了解 工程? 硬件工程? 软件工程? 计算机工程?
•工程: 利用自然规律,创建一个使一部分
•
人受益的系统.
第1章 软件工程概述
➢ “安全临界”软件问题:安全临界是指其可 靠性至少达到10-9,也就说在工作109小时 内不能出现错误。为了观察可靠性程度, 就必须使系统至少运行109小时不会失败。
➢ 但验证109小时不出错,需要测试114,000 年,这实际上是不可能的。 这是一种无法实现的计划。
第1章 软件工程概述
•应用系统
• 综观 软件技术 的发展
•为屏蔽操作 系统和编程 语言的异构 性,发展了 支撑软件和 中间件
•为屏蔽计 算机硬件 的异构性, 发展了操 作系统
•J2EE/EJB
•支撑软件中间件
•Web Services
•Fortran •Java •语言 •语言
•操作系统
•C/C++ •语言
•.NET/COM
• 第8章 测试 质量保证- 得到可交付的结果 • 第9章 维护 -延长软件生命期
第1章 软件工程概述
•软件工程教材丛书
•软•软件件工工程程
•软件过程系列 •软件项目管理 •方法与技术
•
•
•
•
• •
• • • •
需设实测
求计现试
分系系与
析列列度
系
量
列
系
列
项质 目量 管管 理理 系系 列列
面 建 可前
第1章 软件工程概述
➢ IEEE(83) 指出: 软件工程是开发、运行、维护和修
复软件的系统方法。
➢ IEEE(93) 指出: 软件工程是将系统化的、规范的、
可度量的方法应用于软件的开发、运行 和维护的过程,即将工程化的方法应用 于软件开发中。
第1章 软件工程概述
•1.3 软件工程的作用
n 解决60年代出现的软件危机 n 解决软件当前面临的技术问题
第1章 软件工程概述
第1章 软件工程的概述
第1章 软件工程概述
基本内容:
1.1 软件 1.2 软件工程的概念 1.3 软件工程的作用 1.4 软件工程的发展 1.5 软件工程三要素 1.6 软件工程的目标
第1章 软件工程概述
1.1 软件
1.1.1 软件的定义:
20世纪五十年代 软件=程序 面向过程的程序 =算法+数据结构
•夭折 •磨
率
损
•故 •障
•修改
•率
•实际 •理想
•时间 •硬件故障曲线
•时 •软件故障Fra Baidu bibliotek线 间
•图 1-1 硬件软件故障图第1章 软件工程概述
1.1.3 软件的应用
* 系统软件 * 应用软件 * 商业软件 * 工程和科学计算软件 * 嵌入式软件 * 个人计算机软件 * 人工智能软件 * 基于web软件 * 工具包软件
开发和维护成本
第1章 软件工程概述
本章小结
•希望认真学习 •主动获取知识
•软件
•软件工程 •的概念
•软件工程的概述
•软件工程 •三要素
•方法 •工具
•软件工程 •的目标
•过程
第1章 软件工程概述
3rew
演讲完毕,谢谢听讲!
再见,see you again
2020/11/25
第1章 软件工程概述
➢许多软件工程师认为一个“反弹道导弹系统” 只少需要1千万行代码,有人估计代码在1 亿 行左右。 ➢ 通过比较,支持“美国航天飞机”的软件由3 百万行代码组成,包括地面控制发射和飞行 的计算机,航天飞机本身就需10万行代码。
这样一个反导弹软件系统需要测试大量 的代码.此外可靠性约束是不可能测试的。
• 初步了
解
研究软件开发、生产和管理的 工程学科
《 调研、可行性论证、正式立项、需求分析、 项目策划、设计、编程、测试、实施、 试运行、产品发布、用户培训、产品复制、 销售、系统维护、版本升级》.
采用科学的方法指导软件的开发与维护 !
第1章 软件工程概述
•现代软件工程研究的内容:
n 软件开发模型 n 软件开发过程,方法与技术 n 软件开发环境与工具 n 软件管理过程(度量、成本…) n 软件企业文化
20世纪六十年代 软件=程序+文档
20世纪七十年代 软件=程序+文档+数据
面向对象的程序=对象+消息 面向构件的程序=构件+构架
第1章 软件工程概述
1.1.2 软件的特征:
软件是一个信息变换器; 软件是产品交付使用的载体; 软件是是被开发或设计的,而不是被制造的; 软件不会磨损,但维护困难。
•故 障
科学家在联邦德国的幕尼黑召开的一次计 算机软件国际会议上,对软件开发的方法、 技术进行了广泛的讨论,
首次提出了“软件工程”的概念。
第1章 软件工程概述
1.2.2 软件工程的含义
➢ P.Wegner和B.Boehm认为:
科学知识在设计和构造计算机程
序,以及开发、运作和维护这些程序所需
求的有关文档编制中的实际应用。
提高软件产品的质量,降低软件开发的成本.
第1章 软件工程概述
1.4 软件工程的发展
n 传统的软件工程时代 n 过程软件工程时代 n 对象软件工程时代 n 构件软件工程时代 n 发展方向:流水线装配软件工程的方向
发展(流水线生产,网络化, 服务化,全球化)
第1章 软件工程概述
•为了祢补应 用软件与现 实计算环境 之间的距离
第1章 软件工程概述
1.5 软件工程三个要素:
•工•工具具
•方法
• 过程
•质量焦点
•Software engineering layers
•
•图 1-5 软件工程三个要素
第1章 软件工程概述
1.6 软件工程的目标
低成本 满足功能 满足性能 易于移植 维护费用低 及时交付使用 简而言之,提高软件质量,降低软件
•软•又 •件•是 •开•一 •发•门 •既•工 •是•程, •一•也 •门•是 •科•一 •学•门 , •艺
•术
第1章 软件工程概述
导读
• 第1章绪论- 提出问题
•第2章 模型- 全局观点 •第3章 项目计划- 管理观点
•第4、5章分析方法,需求分析 -开发第1步最重要
• 第6章 软件设计- 实现的前提 • 第7章 实现 -初始结果
科学出版社 2001年4月第一版
陈明,软件工程学教程,科学出版社
2002年3月第一版
郑人杰,软件工程, 清华大学出版社
第1章 软件工程概述
英文参考书
Software Engineering Theory and Practice(Second Edition) • Author: Shari Lawrence Pfleeger • (软件工程——理论与实践,高等教育出版社) • • Software Engineering A • Practitioner’s Approach • Author: Rogers.Pressman • (软件工程实践者的研究方法 机械工业出版社)
第1章 软件工程概述
基本要求
❖ 理解软件工程的思想和方法 ❖ 掌握软件开发方法和工具 ❖ 学会按照工程化的方法开发和维护软件 ❖ 具有阅读软件工程方面资料的能力 ❖ 为实践及未来的软件开发打基础
第1章 软件工程概述
•如何学习软件工程
听课 复习 阅读 讨论 练习,从知到会 实践,从会到通
•财富可以通过辛勤劳动获取,
• 也可能由于喜中彩票大奖获得。
•但知识却必须是通过一点一滴
•
努力学习逐渐积累
• 珍惜每一天,每一节课,每一分钟
第1章 软件工程概述
实践作业
分析和设计下列问题之一,并写出文档.
1. 教学管理软件 2. 教学网站 3. 网上售书,网上购物 4. 超市管理 5. 食堂管理 6. 工寓管理 7. 自选
向 模 用沿
对 象 技 术 系
语 言 系 列
性 与 复 用 系
论 题 系 列
列
列
第1章 软件工程概述
•中文参考书
史济民等,软件工程-原理、方法与应用
(第二板),高等教育出板社ISBN 7-04-011561-1 •
张海藩,软件工程, 人民邮电出版社
2002年3月第一版
周之英,现代软件工程(上、中、下),
知识—方法—能力
你们的收获不会仅仅局限 在本课程之内……
•渗 透 •实践 •参考• 资料 •作业 •复习 •课堂教学
• 讲课教书 • 学习读书 • 知识课程
第1章 软件工程概述
考试
•诚信
课堂小考核,占成绩的 10%
完成一个小型软件系统的分析、设计文 档,阶段性成果占成绩的20%
考试成绩占 70%
软件可靠性、可用性、重用性、维护性等等
n 告诉人们怎样去开发软件、管理软件
开发软件即需要干哪些“活”,对“开发”两字做 一解析.
如何干活,即有关开发模型和开发方法等技 术问题.
如何管理,即有关CMM等管理问题.
第1章 软件工程概述
n 现代软件开发对人才的要求 系统分析人员、设计人员、软件架构师、
软件集成人员、高层管理人员、 中层项目经理、软件蓝领工人、 实施和维护人员、 软件售前人员、软件营销人员
•为了屏蔽中间件之 间的异构性,出现了 Web技术。
•Windows
•UNIX •Linux
• 网络层
•图 1-2
第1章 软件工程概述
•发展阶段
•20世纪
•60年代末 80年代初
20世纪末
•主要特点
•强调技术
关注管理
“螺旋反复”
• 1)20世纪60年代末至80年代初,围绕软件项目,
• 开展了有关: