软件开发过程总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程概念的形成与发展
.
软件工程概论
软件工程 基本思想与目标
发展史 知识体系 四大挑战 原则与方法
.
※ “软件工程知识体系”指南(SWEBOK)第3版
➢ 定义软件工程知识框架,包括15个知识域
软件需求 软件设计 软件构造 软件测试 软件维护
变更管理
工程管理
工程过程 软件工程 模型与方法 软件质量
如:分而治之和拥抱变更理念
➢ 法则:描述“怎么做”(即“How”)
如:关注点分离法则
定律 ➢
:描述“某现象是什么或怎么发生”(即“What”)
如:DeRemer定律、银弹定律、…
➢ 最佳实践:由法则衍生的应用或技术实例
如:需求分簇实践
理念 定律
常识 概念
法则
最佳 实践
.
软件工程概论
软件工程 基本思想与目标
.
软件工程 - 项目目标
互斥关系 互补关系
低开发成本
易于维护
按时交付
高可靠性
高性能
➢ 付出较低的开发成本; ➢ 达到要求的软件功能; ➢ 取得较好的软件性能; ➢ 开发的软件易于移植;
进度的估计常常不准确
.


一半是危 一半是机 危中 机中 有机 存危
软件也许根本不同于历史上已经出现的 任何产品。 故而,软件实践不能、也不应完全参照 传统实践进行。
Micheal Mahoney
(1939—2008) 美国普林斯顿 (Princeton)大学科学史教授, 对软件工程学科有独到研究。
➢ 力求辟除以往实践的“非工 程”特征
SE主题:
○ 控制软件及其开发过程的复杂 性
○ 从而消减软件危机及其负面影 响
.
软件工程概论
软件工程 基本思想与目标
发展史 知识体系 四大挑战 原则与方法
.
软件工程
Software Engineering
为应对软件危机而提出
软件工程(SE)指科学知 识和工程方法,在软件开 发、维护和演化过程中的 系统应用,即软件的工程 化。
.
软件
• 是客观世界中问题空间与解空间 的具体描述,
• 是追求表达能力强、更符合人类 思维模式,
• 具有易构造性和易演化性的计算 模型。
.
计算机软件 =
• 程序是以计算机语言表达的软件系统;
程序 + 数据 + 文档 • 文档是以人类语言表达的软件系统。
.
软件概论
软件是什么 软件的特征 软件危机
工程经济学
计算基础
数学基础
工程基础 软件工程 专业实践
参考SWEBOK官网:http://www.computer.org/portal/web/swebok
.
※ 核心知识(即在学科知识体系中处于核心地位的知识)
➢ 常识:专业实践所需的最基本知识
如:软件复杂性和频变性常识
理念 ➢
:经长期实践和反思而形成的思想观念的抽象概括
.
软件危机真是一个无药可治的顽疾。声称能 医治它的人都是庸医、骗子和吹牛皮的人。
Edsger W.Dijkstra
“危机” --- 不恰当 暗示一种短期的、急性的严重问题 上述问题则是长期的、慢性的 近年常用“软件困扰”或“软件苦恼”来替换
.
为了应对“软件危机”, 专家 们主张: 以工程化方法开发 软件产品,即 软件工程(SE)
发展史 知识体系 四大挑战 原则与方法
.
软件工程 - 基本思想
著名的软件工程专家B. W. Boehm于1983年提出
巴利·玻姆(Barry W. Boehm)—软件工程估 算模型COCOMO模型之
父、软件过程螺旋式模 型之父
1 用分阶段的生存周期计划严格管理 2 坚持进行阶段评审 3 实行严格的产品控制 4 采用现代程序设计技术 5 结果应能清楚地审查 6 开发小组的人员应少而精 7 承认不断改进软件工程实践的必要性
软件开发过程总结
Summary of Software Development Process
30 July 2019|Jack ro, engineer
.
如果我带着仅有的一本计算机书在沙漠荒 岛,应该是哪本书?

.
目录
软件概论
软件工程概论
软件开发模型概论 软件设计
.
软件概论
软件是什么 软件的特征 软件危机
➢ 1 缺乏“可见性” ➢ 2 规模庞大,逻辑结构复杂 ➢ 3 重设计,轻视用户需求分析 ➢ 4 质量管理不规范 ➢ 5 重开发,轻视维护
.
Software Crisis
1968年NATO-SE会议首次正式使用
软件生产率低,质量低
成本高,风险高,失败率高 维护难度大,可靠性差
文档资料通常不完整,不合格
.
软件是频变的!
软件是复杂的!
A
软件是迄今为止最复杂的人造产 品
——Frederick P.
Brooks
B 软件是频变的!
C 软件是商品! 软件无关乎比特、字节和协议,仅关 乎利润和损益 ——Louis Gerstner
.
软件概论
软件是什么 软件的特征 软件危机
.
Software Crisis
.
软件工程概论
软件工程 基本思想与目标
发展史 知识体系 四大挑战 原则与方法
.
编程难
软件危机
软件出现 软件工程
天才程序员 小程序
1970年代
1960年代
1950年代
.
领域
需求
Hale Waihona Puke Baidu设计
实现
程序 代码
运行软件
过程模型
编程难 软件危机
开发原则 过程工程化
软件出现 软件工程
1980年代
天才程序员
小程序
1970年代
1960年代
1950年代
.
领域
需求
设计
实现
程序 代码
运行软件
领域
编程难 软件危机
过程模型 开发原则 过程工程化
结构化方法 面向对象
1990年
软件出现 软件工程
1980年代 代
天才程序员 小程序
1970年代
需求
设计
实现
程序 代码
1960年代
运行软件
1950年代
.
需求管理 敏捷方法
架构设计 构件组装
小、中、大型 计算机系统 PDP11/70 VAX11/780
计算
间件的软件开发,计
算安全,敏捷开发 面向对象的软件开发,
人机界面,多媒体,项
目管理、CMM、
2000-
结构化的分析CM、MI
软件工程成为CC2004
设计、实现、测 试,项目管理
1985-2005 的一个学科
软件工程课程逐步成熟,
1968-1990 成为CC1991的一个领域
编程难 软件危机
过程模型 开发原则
结构化方法 质量控制
面向对象
2000年
过程工程化
1990年 代
软件出现 软件工程
1980年代 代
天才程序员
小程序
1970年代
1960年代
1950年代
.
硬件支撑能力
Internet广泛应用
基于网络服务的超大系
统、计算安全、系统管
个人计算机、窗
理、监控、评估
口、网络、分布 基于网络、构件、中
相关文档
最新文档