目录
10
第1章 软件工程学概述/1
19
1.1 软件危机/1
19
1.1.1 软件危机的介绍/1
19
1.1.2 产生软件危机的原因/3
21
1.1.3 消除软件危机的途径/4
22
1.2 软件工程/5 23
1.2.1 软件工程的介绍/5
23
1.2.2 软件工程的基本原理/7 25
1.2.3 软件工程方法学/9
27
1.3 软件生命周期/11 29
1.4 软件过程/14 32
1.4.1 瀑布模型/15
33
1.4.2 快速原型模型/16
34
1.4.3 增量模型/17
35
1.4.4 螺旋模型/19
37
1.4.5 喷泉模型/21
39
1.4.6 Rational统一过程/22
40
1.4.7 敏捷过程与极限编程/25
43
1.4.8 微软过程/29
47
1.5 小结/31
49
习题1 /32
50
第2章 可行性研究/35
2.1 可行性研究的任务/35
2.2 可行性研究过程/36
2.3 系统流程图/38
2.3.1 符号/38
2.3.2 例子/38
2.3.3 分层/40
2.4.1 符号/40
2.4.2 例子/42
2.4.3 命名/44
2.4.4 用途/45
2.6 成本/效益分析/49
2.6.1 成本估计/50
2.6.2 成本/效益分析的方法/51
2.7 小结/53
习题2 /53 P54T4好像考了(PPT上有详细解答)
第3章 需求分析/55
3.1 需求分析的任务/56
3.1.1 确定对系统的综合要求/56
3.1.2 分析系统的数据要求/57
3.1.3 导出系统的逻辑模型/58
3.1.4 修正系统开发计划/58
3.2 与用户沟通获取需求的方法/58
3.2.1 访谈/58
3.2.2 面向数据流自顶向下求精/59
3.2.3 简易的应用规格说明技术/59
3.2.4 快速建立软件原型/61
3.3 分析建模与规格说明/62
3.3.1 分析建模/62
3.3.2 软件需求规格说明/62
3.6 状态转换图/65...会画简单状态转换图,布置作业了,见后
3.6.1 状态/65
3.6.2 事件/65
3.6.3 符号/66
3.6.4 例子/66
3.8 验证软件需求/70
3.8.1 从哪些方面验证软件需求的正确性/70(背标题)
3.8.2 验证软件需求的方法/70
(背标题)
3.8.3 用于需求分析的软件工具/71
3.9 小结/72
习题3 /73
第5章 总体设计/91
5.1 设计过程/91
5.2 设计原理/94 (理解概念)
5.2.1 模块化/94
5.2.2 抽象/95
5.2.3 逐步求精/95
5.2.4 信息隐藏和局部化/96
5.2.5 模块独立/97
5.4 描绘软件结构的图形工具/102
5.4.1 层次图和HIPO图/102
5.4.2 结构图/103
5.5 面向数据流的设计方法/104
5.5.1 概念/104
5.5.2 变换分析/105
5.5.3 事务分析/111
5.5.4 设计优化/112
5.6 小结/113
习题5 /114
作业P114T3(1)
课堂练习
第6章 详细设计/117
6.1 结构程序设计/117
6.2 人机界面设计/119
6.2.1 设计问题/119
6.2.2 设计过程/121
6.2.3 人机界面设计指南/122
6.3 过程设计的工具/124
6.3.1 程序流程图/124(要会画流程图
6.3.2 盒图/125
6.3.3 PAD图/126
6.3.4 判定表/127
6.3.5 判定树/128
6.3.6 过程设计语言/128
6.5 程序复杂程度的定量度量/136
6.5.1 McCabe方法/137
6.6 小结/140
习题6 /140
第7章 实现/145
7.1 编码/146
7.1.1 选择程序设计语言/146
7.1.2 编码风格/147
7.2 软件测试基础/149
7.2.1 软件测试的目标/150
7.2.2 软件测试准则/150
7.2.3 测试方法/151
7.2.4 测试步骤/151
7.2.5 测试阶段的信息流/152
7.3 单元测试/153
7.3.1 测试重点/153
7.3.2 代码审查/154
7.3.3 计算机测试/155
7.4 集成测试/156
7.4.1 自顶向下集成/157
7.4.2 自底向上集成/158
7.4.3 不同集成测试策略的比较/159
7.4.4 回归测试/160
7.5 确认测试/160
7.5.1 确认测试的范围/160
7.5.2 软件配置复查/161
7.5.3 Alpha和Beta测试/161
7.6 白盒测试技术/162
7.6.1 逻辑覆盖/162
7.6.2 控制结构测试/165
7.7 黑盒测试技术/171 (先划分等价类,然后每个等价类写一个测试用例)
7.7.1 等价划分/172
7.7.2 边界值分析/175
7.7.3 错误推测/175
7.8 调试/176
7.8.1 调试过程/176
7.8.2 调试途径/178
7.9 软件可靠性/179
7.9.1 基本概念/179
7.9.2 估算平均无故障时间的方法/180(计算MTTF等几个计算)
7.10 小结/182
习题7 /183
习题8 /201
第9章 面向对象方法学引论/203
9.1 面向对象方法学概述/203
9.1.1 面向对象方法学的要点/203
9.1.2 面向对象方法学的优点/205
9.2 面向对象的概念/209
9.2.1 对象/209
9.2.2 其他概念/211
9.3 面向对象建模/215
9.4 对象模型/216
9.4.1 类图的基本符号/217
9.4.2 表示关系的符号/218
9.5 动态模型/223
9.6 功能模型/224
9.6.1 用例图/224
9.6.2 用例建模/227
9.7.3 种模型之间的关系/228
9.8 小结/229
习题9 /229
第10章 面向对象分析/231
10.1 面向对象分析的基本过程/231
10.1.1 概述/231
10.1.23 个子模型与5个层次/232
10.2 需求陈述/233
10.2.1 书写要点/233
10.2.2 例子/234
10.3 建立对象模型/235
10.3.1 确定类与对象/236
10.3.2 确定关联/238
10.3.3 划分主题/241
10.3.4 确定属性/241
10.3.5 识别继承关系/244
10.3.6 反复修改/244
10.4 建立动态模型/247 (maybe:对象模型转换为状态模型)
10.4.1 编写脚本/247
10.4.2 设想用户界面/248
10.4.3 画事件跟踪图/249
10.4.4 画状态图/250
10.4.5 审查动态模型/251
10.5 建立功能模型/253
10.5.1 画出基本系统模型图/253
10.5.2 画出功能级数据流图/254
10.5.3 描述处理框功能/254
10.6 定义服务/255
10.7 小结/256
习题10 /256
作业-P256 第1题
第11章 面向对象设计/259
11.1 面向对象设计的准则/259
11.2 启发规则/261
11.3 软件重用/263
11.3.1 概述/263
11.3.2 类构件/265
11.3.3 软件重用的效益/266
11.4 系统分解/267
11.5 设计问题域子系统/270
11.6 设计人机交互子系统/273
11.7 设计任务管理子系统/275
11.8 设计数据管理子系统/277
11.8.1 选择数据存储管理模式/277
11.8.2 设计数据管理子系统/278
11.8.3 例子/280
11.9 设计类中的服务/280
11.9.1 确定类中应有的服务/280
11.9.2 设计实现服务的方法/281
11.10 设计关联/282
11.11 设计优化/283
11.11.1 确定优先级/283
11.11.2 提高效率的几项技术/284
11.11.3 调整继承关系/285
11.12 小结/287
习题11 /288
RJ-作业-计科
3.3
3.6(两个班都布置了...)