第3讲软件工程基础(77 34)PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要知识点
软件工程基本概念,软件生命周期概念,软件 工具与软件开发环境。 结构化分析方法,数据流图,数据字典,软件 需求规格说明书。 结构化设计方法,总体设计与详细设计。 软件测试的方法,白盒测试与黑盒测试,测试 用例设计,软件测试的实施,单元测试、集成 测试和系统测试。 程序的调试
1
整体 概述
一 请在这里输入您的主要叙述内容
3.软件的分类
应用软件 系统软件
操作系统 数据库管理系统 设备驱动程序 ……
支撑软件
7
3.1.2 软件危机与软件工程
1.软件危机
软件工程源自于软件危机 主要表现:
软件需求的增长得不到满足 软件开发成本和进度无法控制 软件质量难以保证 软件不可维护或维护程度非常低 软件成本不断提高 软件开发生产效率的提高赶不上硬件的发展和应用需求的增长
2.软件工程学的范畴
软件工程
软件开发技术 软件工程管理
软件开发方法学 软件开发过程 软件开发工具 软件工程环境 软件管理学 软件工程经济学 软件心理学
例题
15
3.1.4 软件工程的目标与原则
3.软件工程的原则
抽象 信息隐蔽 模块化 局部化
确定性 一致性 完备性 可验证性
例题
16
3.1.5 软件开发工具与软件开发环境
1.软件开发工具
协助开发人员进行软件开发活动所使用的软件或 环境
需求分析工具、设计工具、编码工具、排错工具、 测试工具等。
2.软件开发环境
全面支持软件开发全过程的软件工具的集合 计算机辅助软件工程:CASE
例题
17
3.2 结构化分析方法
18
3.2.1 需求分析与需求分析方法
1.需求分析
定义:
任务:导出目标系统的逻辑模型,解决“做什么”的问题 全面理解用户的各项要求 准确地表达各项要求
3.1.4 软件工程的目标与原则
1.软件工程的目标
成功的项目:
成本 功能 移植 维护费用 按时 及时交付
目标:
在给定成本、进度的前提下,开发出具有有效性、可靠性、可理 解性、可维护性、可重用性、可适应性、可移植性、可追踪性和 可互操作性且满足用户需求的产品
14
3.1.4 软件工程的目标与原则
1.软件工程过程
P(Plan)——软件规格说明 D(Do)——软件开发 C(Check)——软件确认 A(Action)——软件演进
11
3.1.3 软件工程过程与软件生命周期
软件产品从提出、实现、 使用维护、停止使用到 退役的过程
3个阶段
6个阶段工作
可行性研究 初步项目计划
定义 阶段
需求分析
概要设计
详细设计
开发
实现
阶段
测试
例题
使用
维护
维护 阶段
退役
12
3.1.3 软件工程过程与软件生命周期
定义阶段
制定计划:“能做吗?” 需求分析:“做什么?”
开发阶段:
软件设计:“如何做?”,分为概要设计和详细设计两 个阶段。
软件实现:“实现”,编码。 软件测试:“做的怎么样?”
运行维护阶段
使用,不断维护
13

请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
本章应考点拨:本章在笔试中一般占8分左 右,约3道选择题,1道填空题,是公共基础 部分比较重要的一章。从出题的深度来看, 本章主要考察对基本概念的识记,有少量对 基本原理的理解,没有实际运用,因此考生 在复习本章时,重点应放在基本概念的记忆 和基本原理的理解上。
IEEE:将系统的、规范的、可度量的方法应用于软件开发、运 行和维护的过程,即将工程应用于软件中。
主要思想:在软件开发过程中需要应用工程化原则的重 要性
例题
9
3.1.2 软件危机与软件工程
2.软件工程的产生与定义
软件工程3个要素:
方法 工具 过程
例题
10
3.1.3 软件工程过程与软件生命周期
2.软件的特点
软件是一种逻辑实体,而不是具体的物理实体, 具有抽象性
软件没有明显的制造过程。对软件的质量控制, 必须在软件开发方面下功夫
软件不存在老化问题,但存在退化问题,必须要 修改和维护
对计算机系统有着依赖性——软件移植的问题 软件复杂性高,开发和维护成本高 软件开发涉及诸多社会因素
6
3.1.1 软件定义与软件特点(续)
静态分析方法 动态分析方法
例题 例题
20
3.2.2 结构化分析方法
1.关于结构化分析方法
结构化程序设计理论在需求分析阶段的运用 面向数据流进行需求分析的方法 自顶向下、逐层分解 主要工具:数据流图、数据字典
例题
21
3.2.2 结构化分析方法
2.结构化分析的常用工具
数据流图(DFD) 数据字典 判定树 判定表
例题
22
3.2.2 结构化分析方法
数据流图
23
ቤተ መጻሕፍቲ ባይዱ
3.2.2 结构化分析方法
数据流图:基本图形元素
加工
数据流
存储文件
源、潭
例题
24
3.2.2 结构化分析方法
数据流图:分层数据流图
25
3.2.2 结构化分析方法
2.结构化分析的常用工具(2)
数据字典
结构化分析方法的核心 对数据流图中出现的被命名的图形元素的确切解释判
归结为成本、质量和生产率等问题
8
3.1.2 软件危机与软件工程
2.软件工程的产生与定义
软件工程学——工程学的新兴领域 定义:
国标(GB):应用于计算机软件的定义、开发和维护的一整套 方法、工具、文档、实践标准和工序。
德国人Fritz Bauer:软件工程是建立并使用完善的工程化原则, 以较经济的手段获取能在实际机器上有效运行的可靠软件的一系 统方法。
主要工作:
需求获取 需求分析 编写需求规格说明书 需求审评
例题 例题
19
3.2.1 需求分析与需求分析方法
2.需求分析方法
结构化分析方法
面向数据流的结构化分析方法(SA) 面向数据结构的Jackson方法(JSD) 面向数据结构的结构化数据系统开发方法(DSSD)
面向对象分析方法(OOA)
定树
判定树 判定表
26
3.2.3 软件需求规格说明书
需求分析阶段的最后成果 作用:
便于用户、开发人员进行理解和交流; 反映出用户问题的结构,可以作为软件开发工作的基础
3
3.1 软件工程基本概念
4
3.1.1 软件定义与软件特点
1.软件的定义和组成
定义:
计算机软件(Software)是计算机系统中与硬件相互 依赖的另一部分。
组成:
程序 数据 文档
国标(GB)定义
与计算机系统的操作有关的计算机程序、规程、规则, 以及可能有的文件、文档及数据。
例题
5
3.1.1 软件定义与软件特点(续)
相关文档
最新文档