第1章 现代软件工程导论 1
1.1软件、软件过程与现代软件工程 2
软件工程:对软件的再认识 2
软件危机:留给软件人长久的困惑 3
生命周期:30年前的初衷与设想 5
四大过程:走出危机的希望与前景 7
1.2软件工程与软件工程知识体系 9
软件工程生命周期模型的特点 9
过程模型的典范:统.软件过程RUP 12
现代软件工程发展的主要技术特点 13
现代软件工程知识体系SWEBOK 17
1.3软件企业的现代软件工程实践 18
软件生产过程的流程与工艺特性 18
软件生产过程的支撑与支持特性 20
软件生产过程的综合与协同特性 21
现代软件工程的最佳实践 22
1.4市场需求与软件工程教学 22
IT职场素质需求 22
市场需求对软件人培养的要求 23
1.5课堂作业与项目实践点评 23
课堂作业 23
项目实践 24
项目实践点评 24
1.6本章参考文献 24
第2章 从市场和产品的角度理解软件开发 25
2.1企业战略与市场分析 25
企业战略决定市场战略 25
市场环境的生物链与5种竞争因素分析 26
案例分析:某标案的竞争对手分析与策略选择 29
2.2行业软件产品的市场营销特点 30
市场营销为产品研发和项目实施提供导向 30
方案销售是软件市场与产品营销的典型特点 31
案例分析:行业软件销售的过程、目标与责任 33
2.3现代软件工程下的产品开发与管理 35
软件产品管理与产品经理的作用 35
产品经理面向市场的软件产品管理 37
产品经理面向开发的软件产品管理 40
现代软件工程概念下的软件研发管理 42
案例分析:采用产品线模式开发的案例 47
2.4课堂作业与项目实践及点评 48
课堂作业 48
项目实践1:市场分析报告 48
市场分析报告点评 51
项目实践2:商业计划书 53
商业计划书点评 53
2.5本章参考文献 55
第3章 软件项目的规划管理 56
3.1项目与项目管理的基本概念 56
项目的概念与属性 56
项目的范畴要素 57
项目管理的概念 59
项目的生命周期与任务 60
项目的组织结构与项目经理 62
项目管理知识体系PMBOK 65
案例分析:项目管理成熟度水平的判断 67
3.2软件项目的时间管理 70
项目的工作分解结构WBS 70
PMBOK的时间管理概念 73
PMBOK的时间管理过程 74
软件生命周期模型与时间管理 80
软件项目的规模、工作量和进度估算 82
案例分析:软件项目规划管理的关键与难点 91
3.3软件项目的成本管理 91
PMEBOK的成本管理概念 92
PMEBOK的成本管理过程 93
案例分析:软件项目成本管理的实例操作 94
3.4课堂作业与项目实践及点评 101
课堂作业 101
项目实践 102
项目实践点评 102
3.5本章参考文献 103
第4章 现代软件工程的需求工程 104
4.1从传统需求分析到现代需求过程 104
需求与需求管理的概念 104
传统需求分析的局限 105
需求管理的问题与现代需求过程 107
CMM的需求管理要求 110
PMBOK的范围管理过程 110
4.2项目范围与软件需求管理 111
需求开发过程的四个阶段 111
需求获取与软件项目的范围定义 112
传统问题定义过程的方法 114
案例分析:确定系统的目标与假定约束 117
4.3需求获取过程与软件需求管理 120
需求获取阶段的目标与要求 120
需求获取与UML的业务模型 120
需求获取阶段的成果与需求管理重点 124
需求用户确认与需求评审的误区 125
案例分析:分析执行者与用例,确定系统范围 126
4.4需求分析过程与软件需求管理 130
需求分析阶段的目标与要求 130
需求分析与UML的静态模型 132
需求分析与UML的动态模型 136
需求分析与UML的体系结构模型 140
需求分析阶段的成果与需求管理重点 141
案例分析:平衡与细化需求定义 141
4.5需求处理和验证过程与软件需求管理 145
需求处理过程与需求管理重点 145
需求验证过程与需求管理重点 149
案例分析:需求规格说明书的实例参考 150
4.6需求实现过程与软件需求管理 152
需求的实现过程与管理 153
需求的变更控制与管理 157
案例分析:使用RequisitePro需求管理工具 161
4.7课堂作业与项目实践及点评 163
课堂作业 163
项目实践1:目标和范围定义 163
目标和范围定义点评 164
项目实践2:需求分析报告 166
需求分析报告点评 167
期末考试方法建议 168
4.8本章参考文献 169
第5章 软件体系结构与系统概要设计 170
5.1体系结构的基本问题 170
体系结构的基本概念 170
传统体系结构的思路方法 174
案例分析:RUP基于体系结构的迭代 175
5.2软件系统的框架与体系结构 176
现代体系结构模型的基本概念 176
两种典型的体系结构模型分析 179
应用系统体系结构的构成要素 183
案例分析:《电信综合营业管理系统》的设计思路 184
5.3面向对象的设计模式 189
从体系结构到设计模式 189
创建型设计模式 190
其他设计模式 195
案例分析:创建游戏迷宫的设计模式应用 196
5.4 MVC设计模式应用 201
界面设计的可变需求 201
MVC的结构 202
MVC的实现 204
MVC的更进一步发展 205
MVC的变化与评价 206
案例分析:Struts应用 207
5.5基于构件的现代软件工程 215
构件概念与构件的特性 215
三种主要构件模型与应用特点 216
基于构件的框架与体系结构设计 219
案例分析:软件无线电系统的体系结构 222
5.6从需求分析到系统概要设计过程 227
系统概要设计的任务与要求 227
面向结构的系统设计方法 228
案例分析:产生“菜单”结构的系统结构分析 230
面向对象的系统设计方法 233
案例分析:电梯控制系统的设计过程 236
5.7课堂作业与项目实践及点评 238
课堂作业 238
项目实践 239
项目实践点评 239
5.8本章参考文献 240
第6章 软件系统的构造与实现 241
6.1系统详细设计的目标与实现的任务 241
概要设计与详细设计目标的区别 241
面向对象的详细设计任务和原则 242
面向对象的详细设计与实现 244
案例分析:Java程序编写格式的内部参考规范 247
6.2课堂作业与项目实践及点评 251
课堂作业 251
项目实践 251
项目实践点评 251
6.3本章参考文献 251
第7章 软件质量管理 252
7.1软件质量的要素与度量 252
软件质量的概念 252
软件质量的度量要素 255
软件质量要素的度量 258
软件质量度量的实施 261
案例分析:软件测试活动的绩效度量 262
7.2软件测试活动的组织与管理 263
软件测试的概述 263
软件测试的计划、组织与管理 267
案例分析:测试错误分类及测试报告 271
7.3软件审查活动的组织与管理 273
审查准备与审查过程 274
审查内容与审查的关键点 276
案例分析:测试评审与分析报告 279
7.4软件配置管理的方法与实践 280
软件配置及其管理的概念 280
主要配置管理活动和流程 283
配置管理下的版本管理 286
配置管理下的变更管理 293
配置状态监测、报告与评审 297
基于配置管理的软件项目管理 298
案例分析:配置管理的实施 302
7.5课堂作业与项目实践及点评 307
课堂作业 307
项目实践 308
项目实践点评 308
7.6本章参考文献 308
第8章 软件实施过程与管理 309
8.1软件的实施过程与控制 309
软件实施过程的概念 309
软件系统的现场实施过程 310
案例分析:一个现场项目的实施过程介绍 311
8.2软件的维护过程与控制 315
软件维护的概念 315
软件维护的过程 318
软件的可维护性管理 319
8.3软件项目的实施阶段管理 324
项目团队管理与激励 324
项目沟通与协调 332
软件项目风险管理 337
8.4课堂作业与项目实践及点评 350
课堂作业 350
项目实践 350
项目实践点评 350
8.5本章参考文献 350
第9章 软件过程改进 351
9.1软件过程概念与过程改进的基本问题 351
过程与软件过程的概念 351
实施软件过程改进 353
9.2个人软件过程PSP 355
PSP的产生 356
PSP与CMM 356
PSP的成熟度过程 357
PSP的主要内容 358
PSP与TSP过程 359
PSP、TSP的应用及效果 359
9.3其他软件过程探讨 360
极限编程(XP)与敏捷软件过程 360
开源软件(OSS)的得与失 367
9.4课堂作业与项目实践及点评 370
课堂作业 370
项目实践 371
项目实践点评 371
期末考试 371
9.5本章参考文献 372