(01)软件工程介绍

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016年7月5日星期二 24 12
本讲主要内容
软件危机 软件工程 软件生命周期 软件过程
2016年7月5日星期二
24
13
什么软件危机?
“软件危机”是指计算机软件的“开发”和“维护”过 程中所遇到的一系列“严重问题”。这些问题决不仅仅是不 能正常运行的软件才具有的,实际上,几乎“所有软件”都 不同程度地存在这些问题。 “软件危机”包含两方面的问题: 如何开发软件,以满足对软件日益增长的需求; 如何维护数量不断膨胀的已有软件。
能学习新模型、新技术和即将出现的技术。
2016年7月5日星期二 24 9
SWEBOK2004-IEEE工程教育基本要素
系统观点:熟悉系统设计和构造分析过程。 知识的深度和广度:知识面要宽,具体领域方向能够深入。 设计经验:参与设计活动,具有项目(工程)经验。 工具使用:能够使用计算机软、硬件工具,分析和解决实际 问题。 职业训练:了解职业(行业)需要,具有“产品”(软件、 系统、行业和应用服务等)意识。 交流技巧:能够以合适的形式(书面、口头、可视化等) 进行交流和沟通。
————————————————————————————————————————————————————

计算机理论 计算机软件 计算机体系结构 计算机硬件 计算机应用
24
计算机软件与理论 081202 计算机系统结构 081201
计算机应用技术 081203
6
2016年7月5日星期二
1993,IEEE:“软件工程是:① 把系统的、规范的、可 度量的途径应用于软件开发、运行和维护过程,也就是把工 程应用于软件;② 研究①中提到的途径。”
——软件生命周期
——软件工程方法学
2016年7月5日星期二 24 18
软件生命周期
软件定义 问题定义:要解决的问题是什么? —总体需求 可行性研究:能否、值得否解决? —关键分析 需求分析:目标系统必需做什么?(规格说明书)
软件工程管理
—软件配置管理、软件过程技术、软件项目管理、软件度量方法 与技术等
软件服务工程
—软件服务的理论、方法、技术与应用,软件工程过程服务、面 向服务的计算与服务工程
2016年7月5日星期二 24 8
SE2004-软件工程学生毕业标准
掌握在进行开发实践中所必须的软件工程知识和技能; 能够独立或在小组中开发高质量的软件; 在受到“成本、时间、知识、现有系统和现有组织”的限制 环境中,能够进行适当的权衡; 能够运用软件工程的方法,结合“伦理、社会、法律和经济” 等规范进行一个或多个领域的设计; 有理解和应用软件工程必需的当前理论、模型和技术的能力; 具有与人沟通的技能,有效的工作习惯和领导及通信能力;
软件开发 总体设计:大概怎样实现? 详细设计:具体怎样实现? 编码:按详细设计编写程序代码 单元测试:模块测试 综合测试:集成测试-按设计;验收测试-按需求 软件维护
2016年7月5日星期二 24 19
软件过程(如何进行)
为了获得高质量软件所需要完成的一系列任务的框架。 who、when、what、how
第四篇、软件工程的新思想(2讲) 第十五讲、迭代化开发 第十六讲、面向服务的软件体系结构
2016年7月5日星期二 24 5
计算机科学与技术(一级学科)
学科门类:哲经法教-文史理工(08) -农医军管+艺 学科大类(一级学科):计算机科学与技术(0812) 专业(二级学科):计算机软件与理论(081202)
2016年7月5日星期二
24
14
软件危机的表象
对软件开发成本和进度的估计常常很不准确;
用户对“已完成的”软件系统不满意的现象经常发生; 软件产品的质量往往靠不住; 软件常常是不可维护的; 软件通常没有适当的文档资料; 软件成本在计算机系统总成本中所占的比例逐年上升; 软件开发生产率提高的速度,远远跟不上计算机应用普 及深入的趋势。
计算机软件与理论(二级学科)
程序设计语言(工具) —程序员(标准编码)参与编码设计核心程序员 数据结构(操作对象的存在形式)数据库 —程序员(数据操作)参与数据设计DBA 人机交互(界面构成元素;如何布局) —程序员(交互操作)参与界面设计 程序设计方法论(经验规范) —高级程序员 软件工程(从管理角度控制、优化软件开发过程) —系统分析员
Leabharlann Baidu
公路路面施工质量动态实施监控
问题的提出:
中国公路设计寿命15年,国外有30、50年的“永久性” 公路。
据调查,中国公路5-8年出现结构性破损。原因有分歧: 使用者认为公路质量不行;建设者认为是超载造成的。 一方面,交通部出台了《公路沥青路面施工技术规范》 (2005);另一方面,治理超载。
如何分清责任?
2016年7月5日星期二 24 7
软件工程(一级学科0835)
软件工程理论
—软件工程形式化方法、软件自动生成与演化、软件建模分析与 验证、软件行为学
软件工程技术
—需求工程、软件方法学、软件规范语言、软件体系结构、软件测 试与质量保证、软件再工程、基于模型和逻辑推理的软件验证方法、 软件工程环境与开发工具、面向领域的软件工程方法与技术
2016年7月5日星期二 24 3
关于授课的讨论
第二篇、面向对象的软件工程理论(4讲) 第九讲、C&C++——面向过程与面向对象 第十讲、面向对象理论与建模 第十一讲、UML与OOA/OOD/OOP 第十二讲、实际问题
2016年7月5日星期二
24
4
关于授课的讨论
第三篇、软件工程理论的扩展应用(2讲) 第十三讲、控制工程 第十四讲、Web工程

瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型
Rational统一过程 敏捷过程与极限编程 微软过程
2016年7月5日星期二 24 20
瀑布模型
软件工程中应用得最广泛的 过程模型。传统软件工程方法学 的软件过程,基本上可以用瀑布 模型来描述。
阶段间具有顺序性和依赖性 推迟实现的观点
质量保证的观点
图1.2
2016年7月5日星期二 24 21
实际的瀑布模型
优点: 阶段性文档 阶段性验证
缺点?(特点):
开发过程中用户 不可见,可能不 满足要求。 ***编写软件的目的
2016年7月5日星期二
图1.3
24 22
快速原型模型
原型的用途是获知用户的真 正需求,一旦需求确定了,原型 将被抛弃。 特点: 软件产品的开发基本 上是线性顺序进行的, 不带待反馈环? 加速软件开发过程, 节约软件开发成本。
软件工程介绍
第壹讲 软件工程概述
2016年7月5日星期二
24
1
学生情况-自我介绍
本科毕业学校、专业、时间 现从事工作 软件开发、系统实施履历
2016年7月5日星期二
24
2
关于授课的讨论
第一篇、软件工程基础理论的回顾(8讲) 第一讲、软件工程介绍 第二讲、软件定义 第三讲、软件定义实例 第四讲、软件开发 第五讲、软件设计实例 第六讲、软件编程技巧 第七讲、软件维护与项目管理 第八讲、实际问题
2016年7月5日星期二 24 16
IT自身 的发展 人们对 IT认知 的提高
软件危机的应对—软件工程
软件定义、开发和维护的工程化 ——软件工程—— 贯穿软件生命周期的标准化 消除?缓解、预防
2016年7月5日星期二 24 17
软件工程
1968,NATO:“软件工程就是为了经济地获得可靠的且 能在实际机器上有效地运行的软件,而建立和使用完善的工 程原理。” ——软件工程是一门工程学科
图1.4
2016年7月5日星期二 24 23
喷泉模型
以用户需求为动力,以对 象为驱动的模型。 优点: 软件开发过程自下而上周 期的各阶段具有相互迭代 和无间隙的特性 特点: 生命周期不明显(对象迭 代、不是过程迭代)
2016年7月5日星期二 24
图1.9
24
2016年7月5日星期二 24 10
要旨:
听而易忘、见而易记、做而易懂。
——美国计算机思想家 Weinberg
软件工程专业培养人才的三个层次: 计算机科学的研究者 开发关键软件系统的软件工程师 开发非关键系统的软件开发实践人员
——美国软件工程教育家 Mead
2016年7月5日星期二 24 11
2016年7月5日星期二
24
15
软件危机的根源矛盾发展
开发人员与客户认识之间的矛盾 (问题定义、可行性研究、需求分析) 开发人员能力与开发目标之间的矛盾 (需求分析、总体设计、详细设计) 预估与实际工作量之间的矛盾 (总体设计、详细设计、编码、测试) 客户认识的提高与软件维护之间的矛盾 (需求变化、功能追加) 遗产系统与实施软件之间的矛盾 (抛弃、融合)
相关文档
最新文档