新書推薦:
《
宋初三先生集(中国思想史资料丛刊)
》
售價:NT$
990.0
《
棕榈油的全球史 : 从奴隶船到购物篮
》
售價:NT$
440.0
《
简帛时代与早期中国思想世界(上下册)(王中江著作系列)
》
售價:NT$
1400.0
《
进化主义在中国的兴起(王中江著作系列)
》
售價:NT$
950.0
《
不废风雅 生活的意趣(汪曾祺风雅意趣妙文)
》
售價:NT$
280.0
《
东亚世界形成史论(新版)
》
售價:NT$
490.0
《
奶奶的半个心愿 “课本里的作家” 中考热点作家孙道荣2024年全新散文集
》
售價:NT$
190.0
《
天生坏种:罪犯与犯罪心理分析
》
售價:NT$
445.0
|
編輯推薦: |
国家级线上线下混合式一流本科课程“软件工程”指定教材。可以作为高等院校计算机类和信息类相关专业“软件工程”的教材,也可供相关专业师生、科技工作者及软件研发人员学习与参考。
|
內容簡介: |
本书是国家级线上线下混合式一流本科课程“软件工程”的指定教材,主要介绍软件过程、面向对象软件分析与设计、软件质量与项目管理三大部分内容。全书共14章,内容包括软件工程概述、软件过程、敏捷软件过程、软件过程改进、面向对象软件开发方法、UML建模技术、面向对象分析、面向对象设计、软件复用、软件模式、软件质量、软件测试策略、面向对象的软件测试、软件项目管理。
本书可作为高等院校计算机类和信息类相关专业“软件工程”课程的教材,也可供相关专业师生、科技工作者及软件研发人员学习与参考。
|
目錄:
|
第1章软件工程概述/1
1.1软件的概念、特点与分类1
1.1.1软件的概念1
1.1.2软件的特点2
1.1.3软件的分类3
1.2软件危机4
1.2.1软件危机的出现4
1.2.2产生软件危机的原因5
1.2.3消除软件危机的途径5
1.3软件工程6
1.3.1软件工程的定义6
1.3.2软件工程的基本原理7
1.3.3软件工程的框架7
1.3.4软件工程方法学7
1.4软件的生命周期10
1.4.1软件生命周期及其各个阶段10
1.4.2软件生命周期模型11
1.5软件工程的目标和原则12
1.5.1软件工程的基本目标12
1.5.2软件工程的原则12
1.6本章小结13
习题113
第2章软件过程/14
2.1软件过程概述14
2.2通用过程模型15
2.2.1过程框架15
2.2.2普适性活动15
2.2.3过程的适应性调整16
2.2.4过程流16
2.3惯用过程模型17〖1〗软 件 工 程目录〖3〗〖3〗2.3.1瀑布模型17
2.3.2增量过程模型20
2.3.3演化过程模型21
2.3.4并发模型23
2.4专用过程模型23
2.4.1基于构件的开发24
2.4.2形式化方法模型25
2.4.3面向方面的软件开发26
2.5统一过程模型26
2.5.1统一过程简介26
2.5.2统一过程开发阶段27
2.5.3统一过程成分28
2.6本章小结29
习题229
第3章敏捷软件过程/30
3.1敏捷联盟30
3.2敏捷原则32
3.3极限编程实践34
3.3.1客户作为团队成员34
3.3.2用户故事35
3.3.3短交付周期35
3.3.4结对编程36
3.3.5持续集成与可持续开发36
3.3.6开放的工作空间37
3.3.7简单的设计37
3.3.8重构38
3.3.9隐喻38
3.4敏捷过程模型39
3.4.1XP过程39
3.4.2Scrum40
3.5敏捷统一过程42
3.5.1宏观上连续42
3.5.2微观上迭代43
3.5.3持续增量发布43
3.5.4AUP的原则43
3.5.5何时采用AUP44
3.6本章小结44
习题345
第4章软件过程改进/46
4.1能力成熟度模型46
4.1.1CMM的5层体系结构48
4.1.2成熟度级别的行为特征49
4.1.3CMM的评估和评价方法51
4.2能力成熟度模型集成52
4.2.1从CMM到CMMI52
4.2.2CMMI体系52
4.2.3CMMI过程域57
4.2.4CMMI评估方式SCAMPI58
4.3个人软件过程59
4.3.1个人软件过程简介59
4.3.2PSP的结构59
4.3.3PSP过程59
4.4团队软件过程60
4.4.1团队软件过程简介60
4.4.2TSP的团队管理组合61
4.4.3TSP的6条原则61
4.5能力成熟度模型与软件过程之间的关系61
4.5.1能力成熟度模型与软件过程的有机结合61
4.5.2CMM/TSP/PSP的一些建议62
4.6本章小结62
习题463
第5章面向对象软件开发方法/64
5.1面向对象基本特征64
5.2面向对象基本概念67
5.3面向对象方法68
5.3.1面向对象分析68
5.3.2OOA主要原则68
5.3.3面向对象设计模型69
5.3.4面向对象建模过程70
5.4本章小结73
习题573
第6章UML建模技术/74
6.1面向对象建模及UML简介74
6.1.1面向对象建模74
6.1.2UML简介74
6.2用例视图75
6.2.1活动者75
6.2.2用例76
6.2.3用例图内元素的关系76
6.3静态模型图78
6.3.1类图78
6.3.2构件图81
6.3.3部署图82
6.4动态模型图83
6.4.1序列图83
6.4.2协作图84
6.4.3状态图86
6.4.4活动图87
6.5本章小结91
习题691
第7章面向对象分析/92
7.1需求工程92
7.1.1需求工程92
7.1.2起始95
7.1.3需求获取97
7.2需求分析: 用例模型98
7.2.1开发用例99
7.2.2创建初始用例100
7.2.3细化初始用例102
7.2.4编写正式用例102
7.3需求分析: 类模型103
7.3.1识别分析类104
7.3.2描述属性105
7.3.3定义操作105
7.3.4类职责协作者建模107
7.4需求分析: 行为模型108
7.4.1识别用例事件108
7.4.2状态表达110
7.5本章小结110
习题7111
第8章面向对象设计/112
8.1设计过程112
8.1.1软件质量指导原则和属性112
8.1.2软件设计的演化113
8.2设计概念114
8.2.1抽象114
8.2.2体系结构115
8.2.3模式116
8.2.4关注点分离116
8.2.5模块化116
8.2.6信息隐蔽117
8.2.7功能独立118
8.3设计模型118
8.3.1数据设计元素118
8.3.2体系结构设计元素119
8.3.3接口设计元素119
8.3.4构件级设计元素120
8.4体系结构设计120
8.4.1体系结构类型121
8.4.2体系结构风格121
8.4.3体系结构的简单分类122
8.4.4体系结构考虑要素123
8.4.5体系结构设计124
8.5构件设计126
8.5.1构件概念126
8.5.2基于类的构件设计129
8.5.3实施构件级设计131
8.5.4构件的分类与检索133
8.6用户界面设计134
8.6.1用户界面设计黄金原则134
8.6.2用户界面分析与设计135
8.6.3界面分析136
8.6.4界面设计步骤137
8.6.5设计评估137
8.7本章小结138
习题8138
第9章软件复用/139
9.1结构化软件复用139
9.2面向对象软件复用144
9.3基于软件复用的软件工程148
9.4本章小结151
习题9151
第10章软件模式/152
10.1分析模式152
10.2设计模式153
10.2.1创建型设计模式153
10.2.2结构型设计模式158
10.2.3行为型设计模式162
10.3本章小结166
习题10166
第11章软件质量/167
11.1软件质量概念167
11.1.1符合性质量的概念167
11.1.2适用性质量的概念167
11.1.3广义质量的概念168
11.1.4质量因客户而存在170
11.1.5不同的质量观点172
11.1.6质量属性174
11.1.7软件过程和软件质量175
11.2软件质量实现178
11.2.1软件质量控制179
11.2.2软件质量保证179
11.2.3缺陷预防181
11.2.4质量成本181
11.2.5软件评审182
11.2.6软件可靠性与安全187
11.3软件质量标准188
11.3.1国际标准188
11.3.2国家标准189
11.3.3行业标准189
11.3.4企业标准190
11.3.5项目规范190
11.4本章小结190
习题11190
第12章软件测试策略/191
12.1软件测试的策略性方法191
12.1.1验证与确认191
12.1.2软件测试组织191
12.1.3软件测试策略——宏观192
12.1.4测试完成的标准193
12.2策略问题194
12.3传统软件的测试策略194
12.3.1单元测试194
12.3.2集成测试196
12.4面向对象软件的测试策略198
12.4.1面向对象环境中的单元测试198
12.4.2面向对象环境中的集成测试199
12.5确认测试199
12.5.1确认测试准则199
12.5.2配置评审200
12.5.3α测试和β测试200
12.6系统测试200
12.6.1恢复测试200
12.6.2安全测试201
12.6.3性能测试201
12.6.4部署测试201
12.7调试技巧201
12.7.1调试过程202
12.7.2调试策略202
12.8本章小结203
习题12204
第13章面向对象的软件测试/205
13.1扩展测试的视野206
13.2测试OOA和OOD模型207
13.2.1OOA和OOD模型的正确性208
13.2.2面向对象模型的一致性208
13.3面向对象测试策略209
13.3.1面向对象测试的层次209
13.3.2面向对象环境中的单元测试210
13.3.3面向对象环境中的集成测试210
13.3.4面向对象环境中的确认测试210
13.4面向对象测试方法211
13.4.1面向对象概念的测试用例设计含义211
13.4.2传统测试用例设计方法的可应用性211
13.4.3基于故障的测试211
13.4.4基于场景的测试设计212
13.5类级可应用的测试方法212
13.5.1面向对象类的随机测试212
13.5.2类级的划分测试 213
13.6类间测试用例设计213
13.6.1多类测试214
13.6.2从行为模型导出的测试215
13.7本章小结216
习题13216
第14章软件项目管理/217
14.1软件项目管理定义及特点217
14.2软件项目计划218
14.2.1软件规模估算219
14.2.2软件成本估算222
14.2.3软件进度计划225
14.3软件项目风险管理230
14.3.1风险的属性和分类230
14.3.2软件项目风险管理过程231
14.4软件质量管理236
14.4.1软件质量管理的重要性及其目标236
14.4.2软件质量管理活动237
14.4.3软件质量缺陷管理238
14.5软件配置管理239
14.5.1软件配置管理的意义239
14.5.2软件配置管理活动240
14.5.3软件配置管理工具243
14.6人员的组织与管理243
14.6.1人员组织过程244
14.6.2项目组织形式244
14.7本章小结246
习题14247
参考文献/248
|
內容試閱:
|
成功的计算机软件系统必定是一方面满足用户需求且使用起来得心应手,另一方面能在相当长的时间内无故障运行且容易维护。这样的计算机软件系统必须依照规范、采用工程化方法进行开发与运维。软件工程(Software Engineering)是一门指导计算机软件系统开发和维护的工程学科,主要研究如何应用软件开发的科学理论和工程技术来指导大型软件系统的开发,是涉及计算机科学、工程科学、管理科学、数学等领域的一门综合性的交叉学科。
软件系统开发覆盖软件的问题定义、需求分析、总体设计、详细设计、编码实现、测试等软件开发的各方面。通过软件工程课程学习,可以提高软件开发、测试、维护的效率,降低软件开发成本,保证软件可靠性和安全性。为了国家级一流课程建设与教学的需要,完善软件工程国家级线上线下混合式一流课程教材内容,出版本书。
本书期望达到如下目的。
(1) 为学生提供系统化的软件工程知识框架,帮助其理解软件工程的基本概念、原理,为学生提供实用软件开发技能,培养其高效率开发高质量软件的能力,提高其在就业市场上的竞争力。
(2) 以软件系统开发过程这一复杂工程问题为例,明确该过程中采用的技术方法,包括软件工程在内的专业知识,体现计算机专业课程系统化的同时,培养学生运用专业技术方法分析与解决复杂软件工程问题的能力。
(3) 提升软件开发人员的系统分析设计能力和工程实践能力,培养学生的技术创新能力,使其能够在软件开发过程中提出新的思路和解决方案,创新计算机类人才培养体系改革,培育关键基础软件的后备人才。
(4) 在软件系统开发过程中,促进软件开发团队成员间的交流和合作,使其能够更好地协作和沟通,培养团队精神和团体创新能力。
纵览软件工程已出版教材,编写本书还为了体现如下3方面的特色。
(1) 本书以软件开发过程中的各个活动为主线,不仅强调软件工程内容的整体性,并且通过先行课和后续课凸显软件工程专业知识的系统性。
(2) 本书以面向对象软件工程为主线,介绍面向对象过程模型、面向对象需求分析、面向对象软件设计、面向对象测试等;同时,在技术与工具方面,则以面向对象的UML建模为主。
(3) 在研讨软件工程理论、技术方法与工具的基础上,以实际开发的软件系统“智能居家养老平台”为案例,串联并阐述本书的各部分内容。本书第1、2和14章由张晓龙编著,第3、4和11章由高峰编著,第5~8章由刘茂福编著,第9和10章由王磊与刘茂福共同编著,第12和13章由王磊与高峰共同编著,全书由刘茂福和张晓龙统稿。
在本书的成稿过程中得到了清华大学出版社和龙启铭编辑的鼎力协助。此外,本书引用了一些专家学者的研究成果,在此一并表示感谢。
编者
2024年1月
|
|