当前位置:
文档之家› 中科院研究生院经典软件工程课件样板.pptx
中科院研究生院经典软件工程课件样板.pptx
15
定义 基本需求
增量模型
将需求赋予 增量构件
设计系统 体系结构
开发 增量构件
确认 增量构件
集成 增量构件
确认系统
把软件产品分解成一系列的增量构件,在增量开 发迭代中逐步加入。
每个构件由多个相互作用的模块构成,并且能够 完成特定的功能。
增量开发方法的新演进版本叫做 “极限程序设 计(eXtreme Programming)”。
软件工程学定义为 “建立并使用完善的 工程化原则, 以较经济的手段获得能在实 际机器上有效运行的可靠软件的一系列方 法。”
软件工程包括三个要素:方法、工具和过 程。
6
软件工程的目标
软件工程需要解决的问题主要有:软件成本、 软件可靠性、软件维护、软件生产率和软件 复用。
软件工程需要达到的基本目标: 付出较低的开发成本 达到要求的软件功能 取得较好的软件性能 开发的软件易于移植 需要较低的维护费用 能按时完成开发,及时交付使用
2
按规模分类 ➢ 微型 ➢ 小型 ➢ 中型 ➢ 大型 ➢ 甚大型 ➢ 极大型
按工作方式分类 ➢ 分时软件 ➢ 实时软件 ➢ 交互式软件 ➢ 批处理式软件
3
按服务对象分类 ➢ 项目软件 ➢ 产品软件
按使用频度分类 ➢ 一次性使用软件 ➢ 频繁使用软件
按失效影响分类 ➢ 高可靠性软件 ➢ 一般可靠性软件
19
用户要求
需求分析
支持需求 分析的 专家系统
概要设计
支持软件 设计的 专家系统
详细设计
程序编码
支持测试 的专家系统
测试
支持维护 的专家系统
维护
20
软件工程原则
在软件开发过程中必须遵循的软件工 程原则有: 抽象与自顶向下、逐层细化 信息隐蔽和数据封装 模块化 局部化 确定性 一致性和标准化 完备性和可验证性
第一章 软件工程概念
软件由计算机程序、数据及文档组成。 软件的特点
抽象性 软件生产无明显制造过程 无磨损性 对计算机硬件依赖性 软件的手工开发方式 软件本身复杂性 软件的高成本
1
软件的概念
软件与硬件、数据库、人、过程等共同构 成计算机系统。
软件种类可以从六个方面进行划分: 按功能分类 ➢应用软件 ➢系统软件 ➢支撑软件
21
软件工程的基本原理
软件工程的基本原理有: 按软件生存期分阶段制定计划并认真 实施; 坚持进行阶段评审; 坚持严格的产品控制; 使用现代程序设计技术; 明确责任,使得工作结果能够得到清 楚的审查; 用人少而精;不断改进开发过程。
22
•
9、有时候读书是一种巧妙地避开思考 的方法 。21.3. 221.3.2 Tuesday , March 02, 2021
•
10、阅读一切好书如同和过去最杰出 的人谈 话。12:00:3712 :00:371 2:003/2 /2021 12:00:37 PM
18
智能模型
智能模型是基于知识的软件开发模型, 它把瀑布模型和专家系统综合在一起。
该模型在各个开发阶段都利用了相应的 专家系统来帮助软件人员完成开发工作。
为此,建立了各个阶段的知识库,将模 型、相应领域知识和软件工程知识分别 存入数据库。以软件工程知识为基础的 生成规则构成的专家系统与包含应用领 域知识规则的其他专家系统相结合,构 成该应用领域的开发系统。
14
螺旋模型
螺旋模型将瀑布模型与演化模型结合起来, 并且加入两种模型均忽略了的风险分析。
螺旋模型沿着螺线旋转,自内向外每旋转 一圈便开发出更完善的一个新版本。 制定计划 确定软件目标,选定实施方 案,弄清项目开发的限制条件; 风险分析 分析所选方案,考虑如何识 别和消除风险; 实施工程 实施软件开发 客户评估 评价开发,提出修正建议。
7
软件工程过程
ISO 9000定义:软件过程是把输入转化为 输出的一组彼此相关的资源和活动。
从软件开发的观点看,它就是使用适当的 资源(包括人员、硬软件工具、时间等), 为开发软件进行的一组开发活动,在过程 结束时将输入(用户要求)转化为输出 (软件产品)。
8
软件工程过程定义了: 方法使用的顺序、 要求交付的文档资料、为保证质量和适应 变化所需要的管理、软件开发各个阶段完 成的里程碑
软件工程过程包含四种基本的过程活动: Plan 软件规格说明 Do 软件开发 Check 软孕育、诞生、成长、成熟、 衰亡的生存过程。这个过程即为软件的 生存期
软件生存期包含三个阶段:软件定义、 软件开发及软件运行维护。
软件生存期模型是软件工程思想的具体 化,是跨越软件生存期的系统开发、运 行、维护所实施的全部活动和任务的过 程框架。
12
演化模型
停止
开始
产生样品
需求的采集 与细化
快速设计
加工原型 客户评价原型
建造原型
先开发一个“原型”软件,完成部分主要功能, 展示给用户并征求意见,然后逐步完善,最终 获得满意的软件产品。
13
决定目标、 方案和限制
螺 旋 模 型
计划下一阶段
评价方案、 识别风险、 弱化风险
集成 测试
开发、验证、 下一级产品
16
喷泉模型
体现了迭代和无间隙的特性。 系统某个部分常常重复工作多次,相关
对象在每次迭代中随之加入演进的软件 成分。 无间隙是指在各项开发活动,即分析、 设计和编码之间不存在明显的边界。 喷泉模型是对象驱动的过程。
17
维护与演进阶段 集成与测试阶段 编程阶段 设计阶段 分析阶段 需求阶段
每一类软件在管理方面要求程度不同。
4
软件的发展
软件的发展经历了三个阶段 程序设计阶段 — 50至60年代 程序系统阶段 — 60至70年代 软件工程阶段 — 70年代以后
软件工程概念的出现源自软件危机。
5
软件工程定义
软件工程定义为“运用现代科学技术知识 来设计并构造计算机程序及为开发、运行 和维护这些程序所必须的相关文档资料。”
10
软件生存期模型
常用的软件生存期模型有 瀑布模型 演化模型 螺旋模型 增量模型 喷泉模型 智能模型
11
需求定义
瀑布模型
系统与软件设计
实现与单元测试
集成与系统测试
运行与维护
各项活动按自上而下,相互衔接的固定次序, 如同瀑布逐级下落。每项活动均处于一个质量 环(输入-处理-输出-评审)中。