第1部分 软件开发流程 1
任务1 开发项目的前期准备 2
1.1 软件的概念、分类和发展 2
1.1.1 软件的概念 3
1.1.2 软件的分类 3
实训活动1 不同规模软件特点的分析 5
1.1.3 软件的发展 6
1.2 软件生存期 7
1.2.1 软件生存期及各阶段的工作 8
实训活动2 与软件开发人员进行座谈 10
1.2.2 软件生存期各阶段的文档编制 10
1.3 软件项目开发常用模型 11
实训活动3 软件项目开发模型调查研究 13
1.4 软件开发方法和软件开发工具 13
1.4.1 软件开发方法 13
1.4.2 软件开发工具 15
1.5 软件开发的基本策略 15
1.5.1 复用策略 15
1.5.3 优化—折衷策略 16
1.5.2 分而治之策略 16
习题1 17
实训活动4 策划生日聚会 17
任务2 可行性分析 18
2.1 可行性分析的目的 18
2.2 可行性分析的依据 18
2.3 可行性分析的方法 19
2.3.1 经济可行性分析 19
2.3.2 技术可行性分析 20
2.3.4 可行性分析报告 21
2.3.3 社会可行性分析 21
实训活动5 进行可行性分析 24
习题2 25
任务3 项目计划与质量管理 26
3.1 项目计划的内容 26
3.2 项目报告 27
3.2.1 个人开发进度月报 27
3.2.2 项目开发进度月报 29
3.3 软件的质量因素 31
习题3 32
3.4 软件质量检查措施 32
任务4 需求分析 33
4.1 了解需求分析的任务和过程 33
4.1.1 需求分析的目的 33
4.1.2 需求分析的任务 34
4.1.3 需求分析的过程 34
4.2 详细调研与分析 35
4.2.1 调研的必要性 35
4.2.2 调研的方法 36
4.2.3 组织的结构调研 37
4.2.4 业务流程的调研 38
实训活动6 进行详细调研与分析 38
4.3 从工作流程到数据流程图 39
4.3.1 数据流程分析 40
4.3.2 数据流程图基本图例 40
4.3.3 数据流程图的画法 41
4.3.4 数据流程图的用途 41
4.4 绘制分层数据流程图 42
实训活动7 绘制分层数据流程图训练 43
4.5.1 数据字典的内容 44
4.5 编写数据字典 44
4.5.2 数据字典的用途 45
4.6 编写处理逻辑说明 46
实训活动8 编写数据字典和处理逻辑说明 49
4.7 确定新系统逻辑模型 49
4.8 撰写需求规格说明书 51
习题4 52
5.1.1 总体设计的目的 53
5.1.2 总体设计的过程和任务 53
5.1 了解总体设计的过程和任务 53
任务5 总体设计 53
5.2 确定开发平台 55
5.2.1 开发环境 55
5.2.2 确定开发平台的依据 55
5.2.3 确定开发平台的原则 56
5.2.4 开发平台选型分析 56
5.2.5 系统开发平台举例 56
实训活动9 确定系统开发平台 57
5.3 确定系统方案 57
5.4 设计软件结构 58
5.4.1 结构化系统设计 58
实训活动10 确定系统方案训练 58
5.4.2 层次图 59
5.4.3 结构图 60
5.4.4 典型的系统结构形式 60
5.4.5 变换型系统结构 62
5.4.6 事务型系统结构 62
实训活动11 设计软件结构训练 65
5.5 代码设计 65
5.5.1 代码的功能 65
5.5.3 代码的分类 66
5.5.2 代码设计的原则 66
5.5.4 编码的方法 68
实训活动12 代码设计训练 71
5.6 输入、输出设计 71
5.6.1 输入设计 71
5.6.2 输出设计 74
实训活动13 各种输入设备比较 74
5.7 用户界面设计 74
实训活动14 用户界面设计训练 76
5.8 数据库设计 77
实训活动15 数据库设计训练 80
习题5 81
任务6 详细设计 82
6.1 详细设计的目的、任务和原则 82
6.1.1 详细设计的目的 82
6.1.2 详细设计的任务 82
6.1.3 详细设计的原则 83
6.2 模块处理过程设计 83
6.3.1 结构化程序设计方法 87
6.3 确定每个模块的算法 87
实训活动16 模块处理过程设计训练 87
6.3.2 盒图(N-S图) 89
6.3.3 问题分析图(PAD图) 89
实训活动17 确定每个模块的算法训练 90
习题6 92
任务7 软件编程规范 93
实训活动18 熟悉软件编程的规范 98
任务8 软件测试 99
8.1 软件测试的定义和过程 99
8.1.2 软件测试的策略和过程 100
8.1.1 软件测试的定义 100
实训活动19 β测试的实施途径及相关案例 102
8.2 设计测试用例的方法 102
8.2.1 黑盒测试用例设计方法 103
8.2.2 白盒测试用例设计方法 103
实训活动20 测试用例设计 106
8.3 软件开发测试基本流程 106
8.4 测试工具 110
习题8 110
9.1 系统实施的任务 111
任务9 系统实施 111
9.2 系统实施的流程 112
9.3 系统实施的计划 113
9.4 建立实施领导小组,明确各成员的工作职责 114
9.5 系统实施的其他环节 117
习题9 118
任务10 软件维护 119
10.1 软件维护常识 119
10.1.1 软件维护的种类 119
10.1.2 软件的可维护性 120
实训活动21 划分软件维护活动的类别 120
10.1.3 提高软件可维护性的方法 121
实训活动22 软件设计中应注意的问题 123
10.2 软件维护工作流程 124
10.2.1 维护工作流程 124
10.2.2 维护工作记录 125
10.3 软件维护工作评价 126
10.4 软件维护的副作用 126
10.5 再生工程 127
10.5.1 重构 127
习题10 128
10.5.2 逆向工程 128
10.5.3 前向工程 128
第2部分 文档规范 129
文档规范1 可行性研究报告 129
文档规范2 软件项目计划 131
文档规范3 需求规格说明书 132
文档规范4 数据要求说明书 134
文档规范5 概要设计说明书 134
文档规范6 详细设计说明书 137
第3部分 综合实训 139