面向对象软件工程

面向对象软件工程 教材名称: 面向对象软件工程
ISBN号: 978-7-89436-154-7 作者: 石冬凌
字数: 456千字 规格: 16开
印制时间: 2013-03-13 出版日期: 2013-03-03
定价: 39.00 元 样章下载: 978-7-89436-154-7面向对象软件工程样章(加水印).pdf
购买地址:

        本教材阐述了软件工程的基本思想、软件开发过程、面向对象的分析与设计技术及项目管理的内容。它以软件生命周期为主线,在各章节中介绍了软件开发过程中的每个阶段需要完成的任务目标、基本原理及采用的技术。本教材采用一个真实案例贯穿始终,指导读者在实际项目中如何灵活应用所讲述的知识,并在整个知识点讲述完毕之后设置了综合实训环节,一步步引导读者完成一个实际项目,从而起到将所学过的知识融会贯通的作用。
 
 
第1章软件工程概述1
1.1项目导引1
1.2项目分析1
1.3软件工程的历史2
1.4软件工程的基本概念6
1.5软件工程的基本原理6
1.6软件生命周期8
1.7软件开发过程模型10
1.7.1瀑布模型11
1.7.2原型模型14
1.7.3螺旋模型17
1.7.4迭代开发与RUP18
1.8案例分析22
1.9技术拓展24
1.9.1敏捷开发技术1——Scrum25
1.9.2敏捷开发技术2——XP27
1.10本章小结31
1.11强化练习32
第2章软件工程管理34
2.1项目导引 34
2.2项目分析34
2.3软件项目管理概述35
2.4项目范围管理37
2.4.1项目范围变更控制37
2.4.2项目范围变更原因37
2.4.3范围变更控制过程38
2.4.4实施范围变更管理原则40
2.4.5项目范围变更控制40
2.5项目成本管理41
2.5.1成本管理过程41
2.5.2成本管理手段42
2.6项目进度管理45
2.6.1影响项目进度的因素45
2.6.2项目进度控制46
2.7项目配置管理49
2.7.1配置管理的意义49
2.7.2配置管理的实施过程50
2.7.3配置控制53
2.7.4配置管理报表56
2.8项目组织管理60
2.8.1民主制程序员组60
2.8.2主程序员组61
2.8.3现代程序员组63
2.8.4软件项目组64
2.8.5IT组织管理66
2.9项目质量管理69
2.9.1软件质量概述69
2.9.2软件质量因素71
2.10项目风险管理72
2.10.1风险的分类72
2.10.2风险的识别72
2.10.3风险评估73
2.10.4风险的驾驭和监控74
2.11项目沟通管理75
2.12项目集成管理75
2.13案例分析75
2.13.1角色的映射75
2.13.2开发案例中的制品76
2.13.3为初始阶段制定计划77
2.14知识拓展78
2.14.1质量管理资格认证1——ISO9000:200078
2.14.2质量管理资格认证2——CMM78
2.14.3质量管理资格认证3——ISO9000-380
2.15本章小结81
2.16强化练习81
第3章需求确定83
3.1项目导引83
3.2项目分析83
3.3需求阶段的任务和目标84
3.4基本概念84
3.4.1功能需求85
目录3.4.2非功能性需求85
3.5需求获取方法87
3.5.1建立联合分析小组87
3.5.2客户访谈87
3.5.3问卷调查87
3.5.4问题分析与确认87
3.5.5快速原型法88
3.6需求获取过程90
3.6.1事件清单和事件表90
3.6.2RUP中需求的特点95
3.6.3用例模型97
3.6.4用例产生的过程103
3.6.5补充性规格说明108
3.7案例分析109
3.7.1背景说明109
3.7.2项目说明110
3.8知识拓展112
3.8.1需求分类的补充112
3.8.2需求开发过程113
3.9本章小结115
3.10强化练习116
第4章系统分析118
4.1项目导引118
4.2项目分析119
4.3领域模型120
4.3.1什么是领域模型120
4.3.2如何构建领域模型121
4.3.3何时构建领域模型126
4.4健壮性分析126
4.4.1健壮图的表示法127
4.4.2健壮图的使用规则128
4.5顺序图的转换132
4.5.1将健壮性分析与顺序图对应132
4.5.2为静态类图增加方法133
4.6状态的标识135
4.7案例分析136
4.7.1构建领域模型和状态模型136
4.7.2健壮性分析140
4.7.3构建动态模型141
4.8知识拓展142
4.8.1抽取候选类的其他方法142
4.8.2领域驱动设计(DDD)143
4.9本章小结143
4.10强化练习144
第5章系统设计145
5.1项目导引145
5.2项目分析145
5.3软件设计的过程146
5.4软件体系结构147
5.4.1什么是软件体系结构147
5.4.2应用程序的分割147
5.4.3分离服务150
5.5体系结构设计过程151
5.5.1制定初步体系结构152
5.5.2逻辑结构的划分153
5.5.3执行体系结构155
5.6用户界面设计156
5.7持久化设计159
5.7.1设计目标160
5.7.2数据库设计步骤160
5.8案例分析163
5.8.1体系结构的建立163
5.8.2数据库的设计165
5.8.3界面设计166
5.9知识拓展167
5.9.1框架模式167
5.9.2应用框架169
5.10本章小结170
5.11强化练习170
第6章对象设计171
6.1项目导引171
6.2项目分析171
6.3面向对象的设计原则172
6.3.1开闭原则173
6.3.2里氏代换原则175
6.3.3依赖倒转原则176
6.3.4接口隔离原则178
6.3.5单一职责原则179
6.3.6合成复用原则180
6.3.7最小知识原则182
6.4设计模式的提出183
6.4.1设计模式的四个基本要素184
6.4.2设计模式的分类184
6.5经典设计模式185
6.5.1策略模式(Strategy)185
6.5.2单例模式(Singleton)187
6.5.3适配器模式(Adapter)189
6.5.4工厂方法模式(Factory Method)190
6.6设计模式应用的注意事项192
6.7案例分析192
6.8知识拓展194
6.9本章小结196
6.10强化练习196
第7章软件的实现197
7.1项目导引197
7.2程序设计语言的选择197
7.3编码规范198
7.3.1源程序文档化199
7.3.2数据说明201
7.3.3语句结构202
7.3.4输入/输出203
7.4编码风格203
7.4.1提高可重用性204
7.4.2提高可扩充性205
7.4.3提高健壮性205
7.5软件开发环境206
7.6知识拓展207
7.7本章小结208
7.8强化练习208
第8章软件测试209
8.1项目导引209
8.2项目分析209
8.2.1软件测试的目的和原则210
8.2.2软件测试与软件开发各阶段的关系211
8.3经典测试方法213
8.4白盒测试213
8.4.1逻辑覆盖214
8.4.2基本路径覆盖216
8.5黑盒测试222
8.5.1等价类划分223
8.5.2边界值分析法225
8.5.3错误推测法226
8.5.4因果图法227
8.6测试过程229
8.6.1单元测试230
8.6.2集成测试231
8.6.3功能测试233
8.6.4系统测试233
8.6.5验收测试233
8.7面向对象测试方法234
8.8案例分析234
8.9知识拓展237
8.10本章小结241
8.11强化练习242
第9章软件维护243
9.1项目导引243
9.2项目分析243
9.3软件维护的种类244
9.4软件维护的过程245
9.5软件维护的成本247
9.6案例分析248
9.7知识拓展249
9.7.1逆向工程249
9.7.2重构249
9.8本章小结250
9.9强化练习251
第10章综合实训——在线宠物商店252
10.1项目背景252
10.2需求获取252
10.3系统分析253
10.4系统设计263
10.5对象设计264
10.5.1域对象的设计265
10.5.2用例的健壮分析266
10.6代码实现270
10.7软件测试270
附录面向对象技术概述275
参考文献282
 
本教材使用了两个案例:
第一个案例是贯穿整个教材的招聘管理系统。
为了能够让读者更清晰地理解软件工程在软件开发过程中的实际应用,本教材中虚拟了一个项目实施的场景,展现了某公司的一个项目小组在完成招聘管理系统的过程中遇到的问题和解决的过程。该项目的项目经理老李对组员进行了新老搭配,主要是锻炼队伍,以老带新。其中小张作为一名刚毕业的学生,在学校具有一定的项目编程经验,但是缺乏在公司中的实际工作经验。他非常好学,在整个教材中以其为主要发问者,即发现问题,引发读者的思考,引出每一章要讲解的内容。项目分析环节和技术储备则以技术顾问老丁的观点进行阐述,带领大家完成相应知识的学习。在后续的案例分析中,则是以项目小组成员根据学习到的知识如何应用到招聘管理系统中完成具体的任务进行的。
第二个案例是在线宠物商店系统。
这个案例是以综合实训的形式给出的。它是应用前面讲述过的理论知识进行的全面的、独立的应用过程。此案例从项目的背景介绍开始,展示了项目各个环节主要技术的应用,为读者展示了一个完整的项目开发的过程。