新書推薦:
《
FANUC工业机器人装调与维修
》
售價:NT$
454.0
《
吕著中国通史
》
售價:NT$
286.0
《
爱琴海的光芒 : 千年古希腊文明
》
售價:NT$
908.0
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:NT$
301.0
《
SDGSAT-1卫星热红外影像图集
》
售價:NT$
2030.0
《
股市趋势技术分析(原书第11版)
》
售價:NT$
1010.0
《
汉匈战争全史
》
售價:NT$
454.0
《
恶的哲学研究(社会思想丛书)
》
售價:NT$
500.0
|
編輯推薦: |
全面深入的知识体系:本书系统地介绍了软件工程的方方面面,涵盖了从概念到实践的所有重要内容,使读者能够建立起扎实的软件工程知识体系。
丰富多样的基础实践:每章都配有实用案例和基础实践,通过具体的案例分析和实践任务,帮助读者将理论知识转化为实际动手能力。
经典与前沿兼具的引申阅读:每章都提供了经典与前沿引申阅读,通过经典文献的引申阅读,读者能够不囿于篇幅详细了解方法、技术的起源与发展;通过新进文献的引申阅读,能够帮助读者了解学界、业界的最新进展。
国内外主流的工具对比分析:每章详细介绍了软件工程中各开发阶段常用的工具并进行了对比分析,读者能够在实际项目中结合工具来更高效地运用所学到的知识。
面向未来的新方法技术:探讨了软件工程领域的前沿技术,包括低代码编程、智能化测试技术等,希望读者通过学习本书能够更好地适应未来软件工程发展的趋势。
本书中还提供了大量引申阅读,以便读者在有余力的条件下深入地挖掘各个主题。
|
內容簡介: |
本书是一部全面介绍软件工程相关理论、方法、技术及应用案例的教材,旨在帮助读者深刻理解软件工程的基本概念和原理。本书系统地介绍了软件工程的各个方面,从软件的定义、构成和特点开始,深入浅出地阐述了软件生存周期全过程涉及的软件开发方法、软件开发各阶段以及软件项目管理等软件工程关键主题。
通过对这些关键主题的深入和系统讲解,学生将建立起对软件工程全景的认识,同时对软件工程领域的前沿技术有清晰的了解。本书将为学生提供坚实的软件工程基础,使他们在未来的职业生涯中能够应对各种挑战。
本书不仅适用于计算机和软件工程相关专业的本科生和研究生,还可作为从事软件开发和软件项目管理工作的从业人员的参考书。
|
目錄:
|
第1篇基础篇
第1章软件31.1软件的概念4
1.1.1软件的概念、构成和特点4
1.1.2软件的分类5
1.2软件生存周期8
1.2.1软件生存周期的概念8
1.2.2软件生存周期的各个阶段9
1.3软件质量12
1.3.1软件质量的概念12
1.3.2软件质量模型13
1.3.3案例分析15
1.4软件质量保证技术16
1.4.1软件质量保证的思想16
1.4.2软件质量保证方法17
1.5本章小结22
1.6综合习题23
1.7引申阅读23
1.8参考文献24
第2章软件工程概述25
2.1软件工程的概念25
2.1.1软件工程的概念和思想25
2.1.2软件工程发展历史27
2.1.3软件工程的目标和原则31
2.2软件危机33
2.2.1软件开发的特殊性33
2.2.2软件危机的表现和根源36
2.3计算机辅助软件工程及工具37
2.3.1计算机辅助软件工程的概念37
2.3.2计算机辅助软件工程的工具38
2.4软件从业人员职业道德规范41
2.4.1软件从业人员需遵守的法律和法规41
2.4.2软件从业人员需遵守的职业道德42
2.5本章小结44
2.6综合习题44
2.7引申阅读44
2.8参考文献44
第3章软件过程47
3.1软件过程的概念47
3.1.1软件过程的概念和模型47
3.1.2软件过程框架及活动49
3.2经典的软件过程模型52
3.2.1瀑布模型53
3.2.2V模型55
3.2.3原型模型55
3.2.4增量模型57
3.2.5迭代模型58
3.2.6螺旋模型60
3.2.7演化模型61
3.2.8统一过程模型62
3.3软件过程模型的选用64
3.3.1软件过程模型选择示例65
3.3.2评估软件过程模型的适用性67
3.3.3特定类型的软件开发适用的过程模型68
3.3.4软件过程模型的选择建议70
3.4本章小结71
3.5综合习题71
3.6基础实践71
3.7引申阅读72
3.8参考文献72
第4章软件开发方法73
4.1结构化开发方法73
4.1.1结构化开发方法的概念和思想74
4.1.2结构化开发方法的建模语言75
4.1.3结构化软件开发的过程及策略86
4.2面向对象开发方法88
4.2.1面向对象开发方法的发展及演化88
4.2.2面向对象开发方法的概念和思想89
4.2.3面向对象开发方法的建模语言UML92
4.2.4面向对象分析和设计的过程及策略99
4.3敏捷开发方法100
4.3.1敏捷开发方法的理念、思想和原则100
4.3.2典型的敏捷开发方法103
4.4本章小结109
4.5综合习题109
4.6基础实践110
4.7引申阅读112
4.8参考文献113
第2篇软件开发阶段篇
第5章需求工程1175.1需求工程概述117
5.1.1相关定义118
5.1.2需求分类120
5.1.3需求工程过程122
5.1.4代表性的需求工程方法125
5.2需求获取126
5.2.1需求获取的任务和原则126
5.2.2需求获取的典型方法129
5.2.3需求获取的辅助方法134
5.2.4需求获取中的智能化辅助技术136
5.2.5需求获取工具136
5.3需求建模与分析137
5.3.1需求建模与分析概述137
5.3.2需求建模与分析的典型方法138
5.3.3需求分析辅助方法153
5.3.4需求建模与分析中的智能化辅助技术158
5.3.5需求建模与分析工具159
5.4需求规约159
5.4.1需求规约的结构和内容160
5.4.2需求规约的描述方法165
5.4.3需求、需求规约与需求规格说明书167
5.5需求确认和验证168
5.5.1需求确认和验证概述168
5.5.2需求确认168
5.5.3需求验证172
5.6软件需求管理173
5.6.1需求管理概述173
5.6.2需求跟踪174
5.6.3需求基线与变更管理177
5.6.4需求管理工具179
5.7本章小结183
5.8综合习题183
5.9基础实践183
5.10引申阅读187
5.11参考文献188
第6章软件设计189
6.1软件设计概念189
6.1.1软件设计的概念和思想189
6.1.2软件设计的目标、过程和原则191
6.1.3软件设计的质量要求192
6.1.4软件设计的质量要求说明193
6.2软件体系结构及模式195
6.2.1软件体系结构的概念195
6.2.2软件体系结构模式的概念197
6.2.3软件体系结构模式的描述方法197
6.2.4典型软件体系结构模式及其特点198
6.3软件体系结构设计212
6.3.1软件体系结构设计的目的212
6.3.2软件体系结构设计过程213
6.3.3软件体系结构设计归档215
6.4用户界面设计216
6.4.1用户界面的组成216
6.4.2用户界面设计的任务和原则218
6.4.3用户界面设计方法222
6.4.4用户界面设计评估226
6.5软件详细设计228
6.5.1详细设计概述228
6.5.2用例设计229
6.5.3构建初始设计类图232
6.5.4类设计233
6.5.5类的精化244
6.5.6数据设计246
6.5.7软件设计规约248
6.5.8不同类型软件的软件详细设计250
6.6本章小结254
6.7综合习题254
6.8基础实践255
6.9引申阅读256
6.10参考文献257
第7章编码实现259
7.1编码规范及代码风格259
7.1.1程序代码的质量要求259
7.1.2程序代码的编码规范262
7.1.3程序代码风格265
7.1.4代码审查及工具267
7.2代码重用270
7.2.1代码重用的概念270
7.2.2代码重用的方式和方法272
7.3程序调试278
7.3.1程序调试的概念278
7.3.2程序调试的技术和工具282
7.4低代码编程285
7.4.1低代码的发展285
7.4.2低代码的概念285
7.4.3低代码的种类286
7.4.4低代码的工作原理287
7.4.5低代码平台举例288
7.5本章小结289
7.6综合习题290
7.7基础实践291
7.8引申阅读291
7.9参考文献292
第8章软件测试293
8.1软件错误、缺陷和故障294
8.1.1软件错误、缺陷和故障的概念294
8.1.2软件错误、缺陷和故障的差异性294
8.2软件测试概念和思想295
8.2.1软件测试的概念296
8.2.2软件测试的思想和原理296
8.2.3软件测试的目标和准则298
8.3软件测试用例300
8.3.1软件测试用例的概念301
8.3.2软件测试用例的构成及表示301
8.4软件测试过程和策略303
8.4.1软件测试过程303
8.4.2软件测试的实施策略306
8.5白盒测试技术309
8.5.1白盒测试的概念和思想309
8.5.2典型的白盒测试技术310
8.6黑盒测试技术313
8.6.1黑盒测试的概念和思想313
8.6.2典型的黑盒测试技术314
8.7灰盒测试技术319
8.7.1灰盒测试的概念和思想319
8.7.2典型的灰盒测试技术321
8.8软件测试前沿技术322
8.8.1测试用例自动生成方法322
8.8.2测试预言330
8.8.3智能化测试技术331
8.9软件测试工具333
8.10本章小结334
8.11综合习题335
8.12基础实践336
8.13引申阅读338
8.14参考文献338
第9章软件部署与维护339
9.1软件部署方法340
9.1.1软件部署的概念和任务340
9.1.2软件部署的方式343
9.1.3软件部署的方法346
9.2软件维护概念和形式353
9.2.1软件维护与可维护性的概念354
9.2.2软件维护的形式和类别359
9.2.3软件维护的副作用及影响软件可维护性的因素363
9.3软件维护过程和技术364
9.3.1软件维护的任务、过程和原则365
9.3.2软件维护的实施策略369
9.3.3软件维护技术373
9.4面向几类关键软件在部署与维护方面的特点378
9.4.1关键基础软件378
9.4.2大型工业软件379
9.4.3嵌入式软件381
9.4.4新型平台软件383
9.4.5行业应用软件384
9.5本章小结385
9.6综合习题386
9.7基础实践387
9.8引申阅读387
9.9参考文献389
第3篇管理篇
第10章软件项目管理39310.1项目管理的基本概念393
10.1.1项目管理的基本思想393
10.1.2项目管理现状396
10.1.3软件项目管理规范398
10.2软件项目估算和计划399
10.2.1软件规模估算400
10.2.2软件项目工作量估算方法405
10.2.3软件项目计划409
10.3软件项目监控420
10.3.1软件项目监控的概念420
10.3.2软件项目跟踪的方法与工具420
10.3.3软件项目评审423
10.3.4软件项目计划调整424
10.4软件项目风险管理425
10.4.1软件项目风险的概念和类别425
10.4.2软件项目风险管理的方法426
10.5软件项目质量保证429
10.5.1软件项目中涉及的质量管理内容429
10.5.2软件项目中质量保证的方法431
10.6软件配置管理433
10.6.1软件配置管理、配置项和基线概念433
10.6.2软件配置管理的方法434
10.7项目管理的工具437
10.7.1通用项目管理工具437
10.7.2软件项目管理工具438
10.7.3其他支持软件项目管理的工具438
10.8本章小结439
10.9综合习题440
10.10基础实践440
10.11引申阅读440
10.12参考文献441
|
內容試閱:
|
随着信息技术的飞速发展,软件工程作为一门交叉学科,日益成为推动科技创新和社会发展的关键驱动力之一。《软件工程》的编写旨在为读者提供一部系统而全面的软件工程教材,帮助读者深入理解软件工程的核心概念和方法。本书紧随软件工程领域的最新进展,以生动清晰的语言,详细阐述了软件工程的各个方面。我们特别注重将理论知识与实际应用相结合,通过丰富的案例和实践任务,引导读者将所学知识应用于实际项目中。每一章的综合习题旨在巩固读者对知识点的理解,引导读者深入思考和探讨。
全书共分为3篇: 第1篇(第1~4章)为基础篇,着重介绍软件的概念,包括软件工程和软件过程的概念及软件开发方法;第2篇(第5~9章)为软件开发阶段篇,着重介绍软件生存周期的各个阶段具体的方法和技术,包括需求工程、软件设计、编码实现、软件测试和软件部署与维护;第3篇(第10章)为管理篇,着重介绍软件项目的管理方法。全书提供了大量案例,每章后均附有综合习题和引申阅读。
本书的独特之处在于其深度和广度相结合的内容组织。本书关注软件工程的核心基础知识,通过深入而全面的介绍,读者能够在软件工程领域建立坚实的基础。与此同时,本书通过引入丰富的教学案例,将软件开发中的抽象概念具象化,从而使理论知识更易于理解和应用。本书的特色亮点如下。
全面深入的知识体系: 本书系统地介绍了软件工程的方方面面,涵盖了从概念到实践的所有重要内容,使读者能够建立起扎实的软件工程知识体系。
丰富多样的基础实践: 每章都配有实用案例和基础实践,通过具体的案例分析和实践任务,帮助读者将理论知识转化为实际动手能力。
经典与前沿兼具的引申阅读: 每章都提供了经典与前沿引申阅读,通过经典文献的引申阅读,读者能够不囿于篇幅详细了解方法、技术的起源与发展;通过新近文献的引申阅读,能够帮助读者了解学界、业界的最新进展。
国内外主流的工具对比分析: 每章详细介绍了软件工程中各开发阶段常用的工具并进行了对比分析,读者能够在实际项目中结合工具来更高效地运用所学到的知识。
面向未来的新方法、新技术: 探讨了软件工程领域的前沿技术,包括低代码编程、智能化测试技术等,希望读者通过学习本书能够更好地适应未来软件工程发展的趋势。本书中还提供了大量引申阅读,以便读者在有余力的条件下深入地挖掘各个主题。
希望《软件工程》能够成为读者学习软件工程领域知识的得力助手,为日后在软件工程领域的学术研究和实际应用打下坚实基础。
编者2024年5月
|
|