二级公共基础知识教学PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 软件实现:“实现”,编码。 – 软件测试:”做的怎么样?“
• 运行维护阶段
– 使用,不断维护
2021/3/7
12
3.1.4 软件工程的目标与原则
• 1.软件工程的目标
– 成功的项目:
• 成本 • 功能 • 移植 • 维护费用 • 按时 • 及时交付
– 目标:
• 在给定成本、进度的前提下,开发出具有有效性、可靠性、可 理解性、可维护性、可重用性、可适应性、可移植性、可追踪 性和可互操作性且满足用户需求的产品
2021/3/7
21
3.2.2 结构化分析方法
• 数据流图
2021/3/7
22
2021/3/7
13
3.1.4 软件工程的目标与原则
• 2.软件工程学的范畴
软件工程
软件开发技术 软件工程管理
软件开发方法学 软件开发过程 软件开发工具 软件工程环境 软件管理学 软件工程经济学 软件心理学
2021/3/7
14
3.1.4 软件工程的目标与原则
• 3.软件工程的原则
– 抽象 – 信息隐蔽 – 模块化 – 局部化
• IEEE:将系统的、规范的、可度量的方法应用于软件开发、 运行和维护的过程,即将工程应用于软件中。
– 主要思想:在软件开发过程中需要应用工程化原则的 重要性
2021/3/7
8
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程3个要素:
• 方法 • 工具 • 过程
2021/3/7
– 3个阶段
– 6个阶段工作
可行性研究 初步项目计划
定义 阶段
需求分析
概要设计
详细设计
开发
实现
阶段
测试
使用
维护
维护 阶段
退役
2021/3/7
11
3.1.3 软件工程过程与软件生命 周期
• 定义阶段
– 制定计划:”能做吗?“ – 需求分析:“做什么?”
• 开发阶段:
– 软件设计:“如何做?”,分为概要设计和详细设计 两个阶段。
19
3.2.2 结构化分析方法
• 1.关于结构化分析方法
– 结构化程序设计理论在需求分析阶段的运用 – 面向数据流进行需求分析的方法 – 自顶向下、逐层分解 – 主要工具:数据流图、数据字典
2021/3/7
20
3.2.2 结构化分析方法
• 2.结构化分析的常用工具
– 数据流图(DFD) – 数据字典 – 判定树 – 判定表
2021/3/7
18
3.2.1 需求分析与需求分析方法
• 2.需求分析方法
– 结构化分析方法
• 面向数据流的结构化分析方法(SA) • 面向数据结构的Jackson方法(JSD) • 面向数据结构的结构化数据系统开发方法(DSSD)
– 面向对象分析方法(OOA)
• 静态分析方法 • 动态分析方法
2021/3/7
2021/3/7
4
3.1.1 软件定义与软件特点(续)
• 2.软件的特点
– 软件是一种逻辑实体,而不是具体的物理实体, 具有抽象性
– 软件没有明显的制造过程。对软件的质量控制, 必须在软件开发方面下功夫
– 软件不存在老化问题,但存在退化问题,必须 要修改和维护
– 对计算机系统有着依赖性——软件移植的问题 – 软件复杂性高,开发和维护成本高 – 软件开发涉及诸多社会因素
2021/3/7
5
3.1.1 软件定义与软件特点(续)
• 3.软件的分类
– 应用软件 – 系统软件
• 操作系统 • 数据库管理系统 • 设备驱动程序 • ……
– 支Biblioteka Baidu软件
2021/3/7
6
3.1.2 软件危机与软件工程
• 1.软件危机
– 软件工程源自于软件危机 – 主要表现:
• 软件需求的增长得不到满足 • 软件开发成本和进度无法控制 • 软件质量难以保证 • 软件不可维护或维护程度非常低 • 软件成本不断提高 • 软件开发生产效率的提高赶不上硬件的发展和应用需求的增长
– 确定性 – 一致性 – 完备性 – 可验证性
2021/3/7
15
3.1.5 软件开发工具与软件开发 环境
• 1.软件开发工具
– 协助开发人员进行软件开发活动所使用的软件 或环境
– 需求分析工具、设计工具、编码工具、排错工 具、测试工具等。
• 2.软件开发环境
– 全面支持软件开发全过程的软件工具的集合 – 计算机辅助软件工程:CASE
2021/3/7
16
3.2 结构化分析方法
2021/3/7
17
3.2.1 需求分析与需求分析方法
• 1.需求分析
– 定义:
• 任务:导出目标系统的逻辑模型,解决“做什么”的问题 • 全面理解用户的各项要求 • 准确地表达各项要求
– 主要工作:
• 需求获取 • 需求分析 • 编写需求规格说明书 • 需求审评
• 程序的调试
2021/3/7
2
3.1 软件工程基本概念
2021/3/7
3
3.1.1 软件定义与软件特点
• 1.软件的定义和组成
– 定义:
• 计算机软件(Software)是计算机系统中与硬件相 互依赖的另一部分。
– 组成:
• 程序 • 数据 • 文档
– 国标(GB)定义
• 与计算机系统的操作有关的计算机程序、规程、规 则,以及可能有的文件、文档及数据。
二级公共基础知识
第3章 软件工程基础
2021/3/7
1
内容提要
• 软件工程基本概念,软件生命周期概念, 软件工具与软件开发环境。
• 结构化分析方法,数据流图,数据字典, 软件需求规格说明书。
• 结构化设计方法,总体设计与详细设计。
• 软件测试的方法,白盒测试与黑盒测试, 测试用例设计,软件测试的实施,单元测 试、集成测试和系统测试。
– 归结为成本、质量和生产率等问题
2021/3/7
7
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程学——工程学的新兴领域
– 定义:
• 国标(GB):应用于计算机软件的定义、开发和维护的一整 套方法、工具、文档、实践标准和工序。
• 德国人Fritz Bauer:软件工程是建立并使用完善的工程化原则, 以较经济的手段获取能在实际机器上有效运行的可靠软件的一 系统方法。
9
3.1.3 软件工程过程与软件生命 周期
• 1.软件工程过程
– P(Plan)——软件规格说明 – D(Do)——软件开发 – C(Check)——软件确认 – A(Action)——软件演进
2021/3/7
10
3.1.3 软件工程过程与软件生命 周期
• 软件产品从提出、实 现、使用维护、停止 使用到退役的过程
• 运行维护阶段
– 使用,不断维护
2021/3/7
12
3.1.4 软件工程的目标与原则
• 1.软件工程的目标
– 成功的项目:
• 成本 • 功能 • 移植 • 维护费用 • 按时 • 及时交付
– 目标:
• 在给定成本、进度的前提下,开发出具有有效性、可靠性、可 理解性、可维护性、可重用性、可适应性、可移植性、可追踪 性和可互操作性且满足用户需求的产品
2021/3/7
21
3.2.2 结构化分析方法
• 数据流图
2021/3/7
22
2021/3/7
13
3.1.4 软件工程的目标与原则
• 2.软件工程学的范畴
软件工程
软件开发技术 软件工程管理
软件开发方法学 软件开发过程 软件开发工具 软件工程环境 软件管理学 软件工程经济学 软件心理学
2021/3/7
14
3.1.4 软件工程的目标与原则
• 3.软件工程的原则
– 抽象 – 信息隐蔽 – 模块化 – 局部化
• IEEE:将系统的、规范的、可度量的方法应用于软件开发、 运行和维护的过程,即将工程应用于软件中。
– 主要思想:在软件开发过程中需要应用工程化原则的 重要性
2021/3/7
8
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程3个要素:
• 方法 • 工具 • 过程
2021/3/7
– 3个阶段
– 6个阶段工作
可行性研究 初步项目计划
定义 阶段
需求分析
概要设计
详细设计
开发
实现
阶段
测试
使用
维护
维护 阶段
退役
2021/3/7
11
3.1.3 软件工程过程与软件生命 周期
• 定义阶段
– 制定计划:”能做吗?“ – 需求分析:“做什么?”
• 开发阶段:
– 软件设计:“如何做?”,分为概要设计和详细设计 两个阶段。
19
3.2.2 结构化分析方法
• 1.关于结构化分析方法
– 结构化程序设计理论在需求分析阶段的运用 – 面向数据流进行需求分析的方法 – 自顶向下、逐层分解 – 主要工具:数据流图、数据字典
2021/3/7
20
3.2.2 结构化分析方法
• 2.结构化分析的常用工具
– 数据流图(DFD) – 数据字典 – 判定树 – 判定表
2021/3/7
18
3.2.1 需求分析与需求分析方法
• 2.需求分析方法
– 结构化分析方法
• 面向数据流的结构化分析方法(SA) • 面向数据结构的Jackson方法(JSD) • 面向数据结构的结构化数据系统开发方法(DSSD)
– 面向对象分析方法(OOA)
• 静态分析方法 • 动态分析方法
2021/3/7
2021/3/7
4
3.1.1 软件定义与软件特点(续)
• 2.软件的特点
– 软件是一种逻辑实体,而不是具体的物理实体, 具有抽象性
– 软件没有明显的制造过程。对软件的质量控制, 必须在软件开发方面下功夫
– 软件不存在老化问题,但存在退化问题,必须 要修改和维护
– 对计算机系统有着依赖性——软件移植的问题 – 软件复杂性高,开发和维护成本高 – 软件开发涉及诸多社会因素
2021/3/7
5
3.1.1 软件定义与软件特点(续)
• 3.软件的分类
– 应用软件 – 系统软件
• 操作系统 • 数据库管理系统 • 设备驱动程序 • ……
– 支Biblioteka Baidu软件
2021/3/7
6
3.1.2 软件危机与软件工程
• 1.软件危机
– 软件工程源自于软件危机 – 主要表现:
• 软件需求的增长得不到满足 • 软件开发成本和进度无法控制 • 软件质量难以保证 • 软件不可维护或维护程度非常低 • 软件成本不断提高 • 软件开发生产效率的提高赶不上硬件的发展和应用需求的增长
– 确定性 – 一致性 – 完备性 – 可验证性
2021/3/7
15
3.1.5 软件开发工具与软件开发 环境
• 1.软件开发工具
– 协助开发人员进行软件开发活动所使用的软件 或环境
– 需求分析工具、设计工具、编码工具、排错工 具、测试工具等。
• 2.软件开发环境
– 全面支持软件开发全过程的软件工具的集合 – 计算机辅助软件工程:CASE
2021/3/7
16
3.2 结构化分析方法
2021/3/7
17
3.2.1 需求分析与需求分析方法
• 1.需求分析
– 定义:
• 任务:导出目标系统的逻辑模型,解决“做什么”的问题 • 全面理解用户的各项要求 • 准确地表达各项要求
– 主要工作:
• 需求获取 • 需求分析 • 编写需求规格说明书 • 需求审评
• 程序的调试
2021/3/7
2
3.1 软件工程基本概念
2021/3/7
3
3.1.1 软件定义与软件特点
• 1.软件的定义和组成
– 定义:
• 计算机软件(Software)是计算机系统中与硬件相 互依赖的另一部分。
– 组成:
• 程序 • 数据 • 文档
– 国标(GB)定义
• 与计算机系统的操作有关的计算机程序、规程、规 则,以及可能有的文件、文档及数据。
二级公共基础知识
第3章 软件工程基础
2021/3/7
1
内容提要
• 软件工程基本概念,软件生命周期概念, 软件工具与软件开发环境。
• 结构化分析方法,数据流图,数据字典, 软件需求规格说明书。
• 结构化设计方法,总体设计与详细设计。
• 软件测试的方法,白盒测试与黑盒测试, 测试用例设计,软件测试的实施,单元测 试、集成测试和系统测试。
– 归结为成本、质量和生产率等问题
2021/3/7
7
3.1.2 软件危机与软件工程
• 2.软件工程的产生与定义
– 软件工程学——工程学的新兴领域
– 定义:
• 国标(GB):应用于计算机软件的定义、开发和维护的一整 套方法、工具、文档、实践标准和工序。
• 德国人Fritz Bauer:软件工程是建立并使用完善的工程化原则, 以较经济的手段获取能在实际机器上有效运行的可靠软件的一 系统方法。
9
3.1.3 软件工程过程与软件生命 周期
• 1.软件工程过程
– P(Plan)——软件规格说明 – D(Do)——软件开发 – C(Check)——软件确认 – A(Action)——软件演进
2021/3/7
10
3.1.3 软件工程过程与软件生命 周期
• 软件产品从提出、实 现、使用维护、停止 使用到退役的过程