软件工程概述ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
存在问题 不适合需求模糊的系统
17
1.3 软件工程
2 快速原型模型
快速原型方法
原型:
是系统的早期版本,是系统的物理模型,
只实现了系统的一些最基本的功能,反映系统
的行为特性,但不一定满足全部需求。
快速原型法:
在软件生命周期的编码阶段之前
插入一个建立系统原型的阶段。
特点: 容易理解和沟通 及早发现需求中的问题 检查设计的可行性
有明显的制造过程,运行 期间存在退化问题。
规模庞大
硬件的故障率曲线
主观:不正确的开发方法
忽视需求分析
软件的故障率曲线
认为“软件开发 = 程序编写”,忽视设计和文 档
轻视软件测试和维护
10
1.2 软件危机
解决途径
组织管理
工程项目管理方法
技术措施
软件开发技术与方法 软件工具
程序与软件
程序:一系列指令序列的集合,能被计算机理解和执行 软件:是计算机系统中与硬件子系统相互依存的另一个
子系统,是一个包含程序及其文档资料的完整集 合,提供了用户与硬件子系统之间的接口
软件
文档:与程序开发、维护和使用有关的图文材料 程序:按事先设计的功能和性能需求执行的指令序列 数据:是程序能正常操纵信息的数据结构
1979年美国政府项目调查表
8
1.2 软件危机
软件危机的表现
对软件开发成本和进度的估算很不准确 用户很不满意 质量很不可靠 没有适当的文档,维护困难 软件成本比重上升 供不应求
9
1.2 软件危机
软件危机产生的原因
客观:软件本身特点
逻辑部件 成本昂贵、本质复杂、没
13
1.3 软件工程
软件的生命周期过程
14
1.3 软件工程
软件工程方法学
软件工程是技术与管理的紧密结合,技术是指方法学问题, 管理是指通过计划、组织和控制等活动,合理配置和使用各种资 源,得到满足质量要求的工作产物(运行系统和支持文档)。
方法学的三个要素:方法、工具和过程
方法:是完成软件开发各项任务
构化设计、结构程序设计和结构化测试
采用的过程模型 : 瀑布模型、原型模型
面向对象方法
螺旋模型、增量模型
OO = 对象 + 类+ 继承 + 消息通讯 采用的过程模型 : 喷泉模型
快速原型方法
16
1.3 软件工程
结构化的软件过程模型
1 瀑布模型
特点 阶段的顺序性和依赖性 推迟实现的观点 文档驱动的质量保证
4 第四阶段(80年代中期~至今) 关键词:桌面系统,面向对象,人工智能,网络,并行计算
4
1.1 软件技术概述
大型软件的特点:
规模大(数据量大、占用内存大) 复杂性高(模块间关系、调用方式、数据、文件) 开发周期长、涉及人员多 开发、维护和使用人员不同 多学科综合(软件知识、领域知识)
的技术方法,是回答“如何做” 的问题;
工具:为方法的运用提供自动的
或半自动的软件支撑环境;
过程:一系列工作步骤。 15
1.3 软件工程
方法学的分类
结构化方法 :以算法和数据结构为核心 起源于结构化程序设计思想,注重系统组成要素之间的
相互作用关系,强调软件系统结构的合理性;
提出一组提高软件结构合理性的准则:结构化分析、结
B.W.Boehm的七条软件工程原理
确保软件质量和提高开发效率 内容:
严格按照计划进行管理 坚持进行阶段评审 实行严格的产品控制 采用现代化的程序设计技术 结果应能清楚地审计 开发小组的人员应该少而精 承认不断进行软件工程实践的必要性
软件生命周期的定义
是一个软件从用户需求开始,经过分析、开发、测试、运行维护 的一系列相关活动的全周期。
5
1.1 软件技术概述
软件技术的定义:
是开发计算机软件所需的所有技术的总称
计算机软件技术的领域:
软件工程技术 程序设计技术 软件工具环境技术 系统软件技术 数据库技术 实时软件技术
6
1.1 软件技术概述
软件复用的定义
在构造新的软件系统的过程中,对已存在的软件产品 (设计结构、源代码、文档等)重复使用的技术
建立原型的步骤: 确定用户的基本需求 建立工作原型 试用原型 修改补充原型
18
1.3 软件工程
5 过程模型之间的比较
21
1.3 软件工程
面向对象方法学
1) 基本思想:
模拟人类习惯的思维方式,通过建立问题域的对象模型(不强 调算法和数据结构),使得问题空间与解空间在结构上尽可能一 致;开发过程渗透了演绎(一般到特殊:对象分类)和归纳(特 殊到一般:“派生类”对“基类”的继承)的渐进深化的思维过 程。
3
1.1 软件技术概述
软件的发展历史ຫໍສະໝຸດ Baidu
个性化的程序 1 早期阶段(60年代中期以前)
工程化的产品(软件)
关键词:面向批处理,有限的分布,自定义软件。
2 第二阶段(60年代中期~70年代中期) 关键词:多用户,实时,数据库,软件产品。
3 第三阶段(70年代中期~80年代末) 关键词:分布式系统,嵌入“智能”,低成本硬件,消费者影响。
三个层次:知识复用、方法复用、软件成分复用
软件成分复用的三个级别:
代码复用(剪贴、包含和继承) 设计结果复用(设计模型) 分析结果复用(分析模型)
组件技术
7
1.2 软件危机
软件危机的定义
计算机软件的开发和维护过程所遇到的一系列严重问题, 如:开发周期长、成本增加、可靠性降低等。
11
1.3 软件工程
软件工程的定义
是指用工程的概念、原理、技术和方法来开发和维护 软件,把经过时间考验证明正确的管理技术和当前能 够得到的最好的技术方法结合起来,指导计算机软件 的开发和维护的工程学科 指导计算机软件开发和维护的工程学科 工程方法 + 管理技术 + 技术方法
12
1.3 软件工程
第二篇 软件工程
主要内容:
软件工程的基本概念 软件开发各阶段的任务、技术、方法 主要的软件开发方法
结构化分析和设计 面向对象分析和设计 软件测试(步骤、方法) 软件维护(内容、策略)
1
第一章 软件工程概述
主要内容:
软件技术 软件危机 软件工程 软件工程环境
2
1.1 软件技术概述
相关文档
最新文档