软件工程课件

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

1.2 软件工程
1.2.1 软件工程的介绍
概括的说,软件工程是指导计算机软件开 发和维护的一门工程学科。 即:采用工程的概念、原理、技术和方法 来开发与维护软件,把经过时间考验而证 明正确的管理技术和当前能够得到的最好 的技术方法结合起来。
软件工程的特性
1.关注于大型程序(系统)的构造 2.中心课题是控制复杂性 3.软件经常变化 4.开发软件的效率非常重要 5.和谐的合作是开发软件的关键 6.软件必须有效的支持它的用户 7.由不同文化背景的人创造产品
软件工程的基本原理 软件生命周期
软件特征:1开.发1人软员的件素危质和机落后的开发
技软术件不:能及时发现和改正运行中的错误, 不能是适程应序用、户数新据的需及求相,关不文能档适的应完新的整环集 境合,导。致软件危机的产生。
软件发展的三个阶段: 1. 程序设计时代(50-60年代) 2. 程序系统时代(60-70年代)
问题定义
可行性研究
系统分析
需求分析
总体设计 详细设计
系统设计
编码和单元测试
wk.baidu.com
综合测试
软件维护时期
系统实现
各时期的主要任务
软件定义时期:确定总目标、可行性、导 出应采用的策略及要完成的功能,估计所 需资源和成本,制定进度表。
软件开发时期: 设计和实现前一时期定义的软 件。 软件维护时期: 持久满足用户的需要,包括及 时改正运行中发现的错误、适应新的应用环 境、满足用户新的需求。
是一种以数据为主线、把数据和处理紧密 结合的方法。
实现的技术方法主要有:
Booch、OMT、OOSE方法等等。
为统一各种方法的术语及符号,提出了统一 建模语言: UML。
面向对象方法的优点: (1)可理解性好 (2)稳定性好 (3)可重用性好 (4)可维护性好
1.3 软件生命周期
软件定义时期
软件开发时期
(3)每个阶段的开始和结束都有严格的标准。 (4)每个阶段结束之前必须进行严格的技术审
查和管理复审。
结构化方法认为:系统是由一些功能的相互 联系、相互作用而形成。
所以,结构化方法是围绕实现处理功能的“ 过程”来构造系统,因此特别适合能预先指定 系统开发需求的项目。 优点:简单实用、技术成熟、应用广泛。 缺点:对于规模庞大、需求模糊且随时间变化 的项目,难于解决软件重用问题,难于适应需 求变化的问题,软件维护依然比较复杂。 实现的技术方法主要有: 面向数据流图的方法、Jackson方法等。
1.1.2 产生软件危机的原因
1.软件是逻辑部件,开发管理困难 2.软件的规模庞大,结构复杂 3.软件开发技术、工具落后 4.采用错误的开发方法
软件生命周期:
指一个软件从定义、开发、使用和维护,直 到被最终废弃所经历的漫长时期。
代价
高 中 低
早中后 变化出现的时期
后期引入的变动所付出的代价比早期引入相同变 动所付出的代价高2-3个数量级。
1.1.3 解决软件危机的途径
• 要消除软件就是程序的错误观念;
• 要认识到软件开发是一种组织良好、管 理严密、各类人员协同配合、共同完成的 工程项目;
• 要使用经过时间检验确实为成功的开发 技术和方法,并采用更先进的开发工具。
解决软件危机的途径: 采用软件工程的方法, 从管理和技术两个方面考虑,既要有技术 措施(方法、工具)又要有必要的组织管 理措施。
软件工程
教材 (Text Book) 软件工程导论(第四版)
张海藩 编著 清华大学出版社
参考书目 (Reference) ➢软件工程 面向21世纪课程教材
齐治昌 编著 高等教育出版社
➢现代软件工程
陈松乔 编著 北方交通大学出版社
本课程的地位: 计算机学科的专业必修课
先修课程: 程序设计语言、数据结构、数据库
3. 软件工程时代(1968至现在)
1.1.1 软件危机的介绍
软件危机: 是指在计算机软件的开发和维 护过程中所遇到的一系列严重问题。 包括两方面:
一是如何开发软件,以满足对软件的 日益增长的需求;
二是如何维护数量不断膨胀的已有软 件。
软件危机的主要表现
1. 对软件开发成本和进度的估计不准确。 2. 软件质量、可靠性差,用户难以满意。 3. 缺乏文档,软件可维护性差。 4. 软件开发生产率低下,产品供不应求。 5. 软件产品成本昂贵。
2.面向对象方法学的4个要点:
(1) 把对象作为软件构件。 (2) 把所有对象都划分成类。 (3) 按照父类(基类)与子类(派生类)的关 系,把若干个类组成一个层次结构的系统。 (4) 对象彼此间仅能通过发送消息互相联 系。
面向对象方法=对象+类+继承+消息通信
面向对象方法由:OOA、 OOD、OOP组成 。 面向对象方法认为:系统是由一些对象的相 互联系、相互作用而形成。
1.2.2 软件工程的基本原理
1.用分阶段的生命周期计划严格管理 2.坚持阶段评审 3.实行严格的产品控制 4.采用现代化程序设计技术 5.结果应能清楚地审查 6.开发小组的人员应该少而精 7.承认不断改进软件工程实践的必要性
1.2.2 软件工程方法学
三个要素:方法、工具、过程 方法:完成各项任务的技术方法。 工具:为运用方法而提供的支撑环境。 过程:完成一系列任务的框架(工作步骤)。
教学目的
本门课程主要是软件工程的入门介绍 ,着重从实现的角度讲述建造软件系 统的方法、技术、流程、工具、规范 等。目的是掌握软件工程的基本概念 、基本原理及实用的开发方法和技术 ,并了解软件工程各领域的发展动向 。
第一章 软件危机与软件工程

软件危机

软件工程

软件生命周期

软件过程
需要重点掌握的:
总学时: 45学时
课程评分方法 (Grading Policies)
期末总成绩 (100) = 平时作业 (15%) + 课堂出勤 ( 5%) + 期末考试成绩(80%)
软件工程的研究范围
➢软件开发技术 研究开发方法、开发过程、开发工具和 开发环境
➢软件开发管理 研究软件管理学、软件经济学、软件心 理学
目前使用最广泛的软件工程方法学为: • 传统方法学(结构化范型、生命周期方法学) • 面向对象方法学(面向对象范型)
1.传统方法学的4个要点
(1)采用结构化技术完成软件开发的各项任务。 包括:SA、SD 、SP方法。 (结构化分析 、设计 、程序设计)
(2)把软件生命周期划分为若干阶段,按顺序 完成个阶段的任务。
相关文档
最新文档