计算机等级考试四级–软件工程

全国计算机等级考试四级教程

——软件工程(2013版)

(殷绍波)

2015年9月26日录入

目  录

1 软件工程概述 – 8 –

1.1 软件和软件工程的概念 – 8 –

1.1.1 软件的概念 – 8 –

1.1.2 软件危机 – 9 –

1.1.3 软件工程的概念 – 9 –

1.2 软件工程方法 – 9 –

1.2.1 面向过程方法 – 9 –

1.2.2 面向对象方法 – 10 –

1.2.3 形式化方法 – 10 –

1.3 软件过程与软件生存周期 – 10 –

1.3.1 软件生存周期 – 10 –

1.3.2 软件过程 – 11 –

1.4 软件过程模型 – 11 –

1.5 软件工具概述 – 13 –

2 面向对象的基本概念与UML – 14 –

2.1 面向对象系统的基本概念 – 14 –

2.1.1 面向对象系统的概念 – 14 –

2.1.2 面向对象系统的概念 – 14 –

2.1.3 类与封装 – 15 –

2.1.4 继承 – 15 –

2.1.5 多态与动态绑定 – 15 –

2.1.6 消息通信 – 15 –

2.2 统一建模语言UML概述 – 16 –

2.2.1 UML的产生和发展 – 16 –

2.2.2 UML的特点 – 16 –

2.3 UML的模型元素 – 16 –

2.3.1 UML的事物 – 16 –

2.3.2 UML中的关系 – 17 –

2.4 UML中的图 – 18 –

2.4.1 外部视图 – 18 –

2.4.2 内部视图 – 19 –

3 软件需求分析 – 19 –

3.1 系统工程的概念 – 20 –

3.1.1 基于计算机的系统 – 20 –

3.1.2 计算机系统工程 – 20 –

3.1.3 可行性研究 – 20 –

3.2 软件需求分析的任务和原则 – 21 –

3.2.1 软件需求的定义和层次 – 21 –

3.2.2 软件需求分析的任务 – 21 –

3.2.3 需求分析的原则 – 21 –

3.3 软件需求获取 – 22 –

3.3.1 需求获取的任务和原则 – 22 –

3.3.2 需求获取的过程 – 22 –

3.3.3 需求表达 – 23 –

3.4 结构化分析方法 – 23 –

3.4.1 数据建模 – 24 –

3.4.2 功能建模 – 24 –

3.4.3 行为建模 – 25 –

3.4.4 数据字典 – 26 –

3.4.5 基本加工逻辑说明 – 26 –

3.5 面向对象的分析方法 – 27 –

3.5.1 面向对象分析概述 – 27 –

3.5.2 识别类或对象 – 28 –

3.5.3 识别关系(结构) – 28 –

3.5.4 标识类的属性和服务 – 29 –

3.6 需求规格说明和需求评审 – 29 –

3.6.1 软件需求规格说明的目标 – 29 –

3.6.2 软件需求规格说明编制原则 – 29 –

3.6.3 软件规格说明模板 – 30 –

3.6.4 软件需求评审 – 30 –

4 软件设计 – 31 –

4.1 软件设计的任务和原则 – 32 –

4.1.1软件设计的概念 – 32 –

4.1.2 软件设计的任务 – 32 –

4.1.3 软件设计的过程 – 32 –

4.1.4 软件设计的原则 – 33 –

4.2 结构化设计方法 – 34 –

4.2.1 结构化设计与结构化分析的关系 – 34 –

4.2.2 软件结构及表示工具 – 35 –

4.2.3 结构化设计的过程 – 36 –

4.2.4 变换流映射 – 36 –

4.2.5 事物流映射 – 37 –

4.2.6 软件模块结构改进 – 37 –

4.2.7 接口设计 – 38 –

4.3 软件的过程设计 – 38 –

4.3.1 部署设计 – 38 –

4.3.2 算法设计 – 38 –

4.3.3 处理过程的描述 – 39 –

4.4 面向对象的系统设计 – 40 –

4.4.1 系统设计的目标和准则 – 40 –

4.4.2 子系统分解 – 40 –

4.4.3 问题域部分的设计 – 41 –

4.4.4 人机交互部分的设计 – 41 –

4.4.5 任务管理部分的设计 – 42 –

4.4.6 数据管理部分的设计 – 42 –

4.5 体系结构设计 – 43 –

4.5.1 体系结构的概念 – 43 –

4.5.2 体系结构的4+1视图 – 44 –

4.5.3 常用的体系结构风格 – 45 –

4.5.4 分布式系统的体系结构 – 46 –

4.6 对象设计 – 46 –

4.6.1 使用模式设计对象 – 47 –

4.6.2 接口规格说明设计 – 47 –

4.6.3 重构对象设计模式 – 47 –

4.6.4 优化对象设计模型 – 47 –

4.7 软件设计规格说明与评审 – 47 –

4.7.2 软件概要设计评审 – 48 –

4.7.3 软件详细设计评审 – 49 –

5 程序实现 – 49 –

5.1 程序实现的任务 – 49 –

5.2 结构化程序设计方法 – 50 –

5.2.1 自顶向下和逐步求精 – 50 –

5.2.2 使用基本控制结构构造程序 – 50 –

5.3 面向对象的程序设计方法 – 50 –

5.4 程序设计风格与编码规范 – 51 –

5.5 编程语言的选择 – 53 –

5.5.1 编程言特性的比较 – 53 –

5.5.2 编程语言的分类 – 54 –

5.5.3 编程语言的选择 – 55 –

5.6 程序复杂性 – 55 –

5.6.1 代码行度量法 – 55 –

5.6.2 McCabe度量法 – 55 –

5.7 程序调试 – 56 –

5.7.1 程序调试的步骤 – 56 –

5.7.2 几种主要调试方法 – 57 –

5.7.3 程序调试的原则 – 58 –

6 软件测试 – 58 –

6.1 软件测试的任务 – 58 –

6.2 软件测试方法 – 59 –

6.2.1 白盒测试方法 – 59 –

6.2.2 黑盒测试法 – 61 –

6.2.3 其他测试方法 – 63 –

6.3 软件测试的策略 – 63 –

6.3.1 软件测试活动 – 63 –

6.3.2 单元测试 – 64 –

6.3.3 集成测试 – 64 –

6.3.4 系统测试 – 65 –

6.3.5 验收测试 – 66 –

6.4 人工测试 – 66 –

6.4.1 桌上检查 – 67 –

6.4.2 代码检查 – 67 –

7 软件维护 – 68 –

7.1 软件维护的任务 – 68 –

7.1.1 软件维护的定义 – 68 –

7.1.2 软件维护的类型 – 68 –

7.2 软件维护的活动 – 68 –

7.2.1 维护机制 – 68 –

7.2.2 软件维护申请 告 – 68 –

7.2.3 软件维护过程模型 – 69 –

7.2.4 GB/T 20157-2006软件维护过程 – 69 –

7.2.5 维护记录文档 – 69 –

7.3 程序修改的步骤及修改的副作用 – 70 –

7.3.1 分析和理解程序 – 70 –

7.3.2 评估修改范围 – 70 –

7.3.3 修改程序 – 70 –

7.3.4 修改程序的副作用及其控制 – 71 –

7.3.5 重新验证程序 – 71 –

7.4 软件可维护性 – 71 –

7.4.1 可维护性的定义 – 71 –

7.4.2 软件可维护性度量 – 72 –

7.5 软件演进与再生工程 – 72 –

7.5.1 遗留系统的演化活动 – 72 –

7.5.2 软件再工程 – 73 –

7.5.3 遗留系统的现代化改造过程 – 73 –

7.5.4 重构和逆向工程 – 73 –

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月12日
下一篇 2019年1月12日

相关推荐