目录 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 数据流图/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(两个班都布置了...)
复印机的工作过程大致如下:
n未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;
n如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;
n如果复印时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。