软件工程

软件工程

钱乐秋, 赵文耘, 牛军钰, 编著

出版社:清华大学出版社

年代:2016

定价:39.0

书籍简介:

本书从软件开发、维护和管理等方面介绍软件工程的概念、原理、过程及主要方法,内容上覆盖了ACM&IEEE最新制订的CC2013中有关软件工程的主要知识点。

作者介绍:

钱乐秋,复旦大学计算机科学技术学院教授、博士生导师、校教学名师。毕业于复旦大学数学系。曾任中国计算机学会教育委员会副主任,教育部高等学校理科计算机科学与技术教学指导委员会计算机软件教学指导组秘书,教育部高等学校文科计算机基础教学指导委员会副主任。1970年至1984年从事银行计算机系统、文字识别和应用软件的研究和开发工作,1985年以来一直从事软件工程的教学和研究工作。“七五”、“八五”、“九五”期间参加杨芙清院士主持的国家重点科技攻关课题“大型软件开发环境—青鸟系统”的研究,承担其中若干个子课题,以及多项国家自然科学基金项目、863项目、上海市科委项目。获国家科技进步二等奖、电子工业部科技进步特等奖、上海市科技进步二等奖等多项国家级、省部级奖励。 赵文耘,复旦大学计算机科学技术学院教授、博士生导师、校教学名师,复旦大学软件工程一级学科学术带头人,软件工程博士后流动站站长,中国计算机学会软件工程专业委员会副主任,中国软件行业协会软件工程分会副理事长。长期从事软件工程的教学和研究工作。“七五”、“八五”、“九五”期间参加杨芙清院士主持的国家重点科技攻关课题“大型软件开发环境—青鸟系统”的研究,为复旦大学所承担的各子专题的主要开发人员或负责人,同时还负责国家863项目6项、国家自然科学基金项目1项、上海市科委项目3项以及多项应用软件的研究和开发。获国家科技进步二等奖,电子工业部科技进步特等奖、上海市科技进步二等奖等多项**级、省部级奖励。  牛军钰,博士,复旦大学计算机科学技术学院教授、博士生导师。主要从事软件工程与电子政务方面的教学与科研工作。承担并参加了60余项国家重点基础研究发展计划(973计划)项目、国家自然科学基金、国家高技术研究发展计划、上海市科委项目。在核心刊物和重要国际国内学术会议上发表论文60余篇。曾获国防科技成果三等奖、辽宁省科技成果二等奖、上海市教学成果二等奖、人事部人事人才科技成果二等奖、上海市科技进步三等奖等多项**级、省部级奖励。

书籍目录:

第1章概论1

1.1计算机软件1

1.1.1软件的发展1

1.1.2软件的特点2

1.1.3软件的分类3

1.1.4软件语言3

1.2软件工程5

1.2.1软件工程定义5

1.2.2软件工程框架6

1.2.3软件生存周期7

1.3软件过程7

1.3.1软件生存周期过程8

1.3.2能力成熟度模型11

1.3.3能力成熟度模型集成13

1.4软件过程模型16

1.4.1瀑布模型16

1.4.2演化模型17

1.4.3增量模型18

1.4.4原型模型18

1.4.5螺旋模型20

1.4.6喷泉模型21

1.4.7基于构件的开发模型21

1.4.8形式化方法模型22

1.5CASE工具与环境23

1.5.1软件工具23

1.5.2软件开发环境25

1.6小结26

习题26目录软件工程(第3版)第2章系统工程27

2.1基于计算机的系统27

2.2系统工程的任务28

2.3可行性分析29

2.3.1经济可行性29

2.3.2技术可行性31

2.3.3法律可行性31

2.3.4方案的选择和折衷31

2.4小结32

习题32

第3章需求工程33

3.1需求工程概述33

3.2需求获取35

3.2.1软件需求35

3.2.2需求获取方法与策略36

3.3需求分析、协商与建模40

3.3.1需求分析原则40

3.3.2信息域40

3.3.3需求协商41

3.3.4需求建模41

3.4需求规约与验证42

3.4.1需求规约的原则42

3.4.2需求规约42

3.4.3需求验证44

3.5需求管理44

3.6小结45

习题45

第4章设计工程46

4.1软件设计工程概述46

4.2软件设计原则48

4.2.1抽象与逐步求精49

4.2.2模块化49

4.2.3信息隐藏50

4.2.4功能独立51

4.3软件体系结构设计53

4.3.1体系结构发展过程53

4.3.2软件体系结构的风格54

4.3.3评估可选的体系结构56

4.4部件级设计技术57

4.4.1结构化程序设计方法58

4.4.2图形表示法58

4.4.3判定表61

4.4.4设计性语言PDL62

4.5设计规约与设计评审63

4.5.1设计规约63

4.5.2设计评审64

4.6小结65

习题65

第5章结构化分析与设计67

5.1结构化分析方法概述67

5.2数据流图69

5.2.1数据流图的图形表示69

5.2.2分层数据流图的画法72

5.3分层数据流图的审查76

5.3.1分层数据流图的一致性和完整性77

5.3.2构造分层DFD时需要注意的问题80

5.3.3分解的程度82

5.4数据字典82

5.4.1字典条目的种类及描述符号82

5.4.2字典条目83

5.4.3字典条目实例87

5.4.4数据字典的实现88

5.5描述基本加工的小说明88

5.5.1结构化语言89

5.5.2判定表90

5.5.3判定树91

5.6结构化设计概述91

5.6.1结构图92

5.6.2启发式设计策略94

5.6.3结构化设计的步骤96

5.7数据流图到软件体系结构的映射97

5.7.1信息流97

5.7.2数据流图映射到结构图的步骤98

5.7.3变换分析98

5.7.4事务分析101

5.7.5分层DFD的映射102

5.8初始结构图的改进104

5.8.1结构图改进实例104

5.8.2结构图改进技巧106

5.9小结108

习题108

第6章面向数据结构的分析与设计110

6.1JSP方法110

6.1.1数据结构与程序结构的表示110

6.1.2JSP方法的分析和设计步骤114

6.2JSD方法简介118

6.3小结119

习题119

第7章面向对象方法基础120

7.1面向对象的基本概念121

7.2面向对象分析和设计过程124

7.2.1面向对象分析过程124

7.2.2面向对象设计过程126

7.2.3设计模式128

7.3UML概述129

7.3.1UML发展历史129

7.3.2UML简介130

7.3.3视图131

7.3.4图133

7.4小结136

习题136

第8章面向对象建模137

8.1用况建模137

8.1.1用况建模步骤137

8.1.2确定执行者138

8.1.3确定用况139

8.1.4用况描述140

8.1.5用况图中的关系142

8.1.6案例说明143

8.1.7用况建模实例144

8.2静态建模147

8.2.1类图和对象图148

8.2.2CRC技术148

8.2.3类之间的关系153

8.2.4静态建模实例161

8.3动态建模163

8.3.1状态机图163

8.3.2活动图170

8.3.3顺序图172

8.3.4通信图176

8.3.5动态建模实例178

8.4物理体系结构建模179

8.4.1构件图180

8.4.2部署图181

8.5小结182

习题182

第9章基于构件的软件开发184

9.1基于构件的软件开发概述184

9.1.1构件184

9.1.2基于构件的软件开发过程187

9.1.3CBSD对质量、生产率和成本的影响189

9.2建造可复用构件190

9.2.1对可复用构件的要求190

9.2.2创建领域构件的设计框架191

9.2.3可变性分析191

9.2.4可变性机制192

9.3应用系统工程194

9.3.1基于CBSD的应用系统分析和设计194

9.3.2构件的鉴定、特化和组装195

9.4构件的管理196

9.4.1构件的分类描述196

9.4.2构件库管理系统197

9.5小结198

习题198

第10章敏捷软件开发199

10.1敏捷软件开发方法概述199

10.1.1敏捷宣言199

10.1.2精益思想201

10.1.3敏捷方法综述202

10.2Scrum方法203

10.2.1Scrum简介203

10.2.2Scrum团队205

10.2.3需求管理205

10.2.4基于时间盒的迭代206

10.2.5回顾会议209

10.3极限编程方法210

10.3.1极限编程简介210

10.3.2价值观和原则211

10.3.3实践212

10.4看板方法217

10.4.1看板方法简介217

10.4.2看板方法的规则218

10.4.3看板方法和Scrum的比较219

10.5小结220

习题220

第11章人机界面设计221

11.1人的因素221

11.1.1人对感知过程的认识221

11.1.2用户的技能和行为方式222

11.1.3人体测量学对设计的影响222

11.2人机界面风格224

11.3人机界面分析与建模227

11.3.1人机界面设计过程227

11.3.2人机界面设计中涉及的模型228

11.3.3任务分析的途径与方法228

11.4界面设计活动229

11.4.1定义界面对象和动作229

11.4.2设计问题230

11.4.3黄金原则231

11.5实现工具233

11.6设计评估233

11.7小结235

习题235

第12章程序设计语言和编码236

12.1程序设计语言236

12.1.1程序设计语言的基本成分236

12.1.2程序设计语言的特性238

12.1.3程序设计语言的分类239

12.1.4程序设计语言的选择240

12.2程序设计风格241

12.2.1源程序文档化241

12.2.2数据说明244

12.2.3语句结构244

12.2.4输入和输出246

12.3小结246

习题246

第13章软件测试247

13.1软件测试基础247

13.1.1软件测试的目的247

13.1.2软件测试的基本原则248

13.1.3白盒测试和黑盒测试249

13.2白盒测试249

13.2.1逻辑覆盖测试249

13.2.2逻辑表达式错误敏感的测试254

13.2.3基本路径测试255

13.2.4数据流测试257

13.2.5循环测试258

13.3黑盒测试259

13.3.1等价类划分259

13.3.2边界值分析262

13.3.3比较测试263

13.3.4错误猜测263

13.3.5因果图263

13.4测试策略267

13.4.1V模型267

13.4.2单元测试268

13.4.3集成测试269

13.4.4确认测试272

13.4.5系统测试273

13.5面向对象测试274

13.5.1面向对象语境对测试的影响274

13.5.2面向对象测试策略275

13.5.3面向对象测试用例设计276

13.6测试完成标准276

内容摘要:

本书系统地介绍了软件工程的概念、原理、过程及主要方法,内容上覆盖了ACM和IEEE制定的ComputingCurricula中有关软件工程的主要知识点。本书在介绍软件工程的基本概念和基本原理的基础上,重点介绍软件开发方法和技术,包括经典的和常用的方法,如结构化方法、面向数据结构方法和面向对象方法,以及一些软件工程的新技术和新方法,如UML2.0、基于构件的开发、敏捷软件开发、Web工程、CMM和CMMI等。此外,本书尽量采用国标、ISO标准及《计算机科学技术百科全书》对专业术语的名称及其语义解释,必要时,术语名称会同时给出其他习惯称谓。

编辑推荐:

本书内容覆盖了IEEE和CAM的ComputingCurricula中有关软件工程的主要知识点,内容上能反映当今软件工程的*新技术;
结合作者三十余年来在软件工程方面的研究实践和成果,本书在讲述软件工程的基本概念、原理、过程的同时,对传统的、流行的、*新的方法做了详细的介绍,旨在让学生通过本书的学习,能使用这些方法进行软件的开发;
本书对专业术语的名称及其语义的解释尽量采用国家标准、ISO标准或《计算机科学技术百科全书》中的名称和解释,必要时术语名称会同时给出其他习惯称谓;
本书配备丰富的实例和习题,有助于学生对概念、原理、方法的理解。
本书配有中英文词汇索引,便于读者迅速查阅和学习。

书籍规格:

书籍详细信息
书名软件工程站内查询相似图书
9787302446088
如需购买下载《软件工程》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次3版印次1
定价(元)39.0语种简体中文
尺寸26 × 19装帧平装
页数印数 3000

书籍信息归属:

软件工程是清华大学出版社于2016.出版的中图分类号为 TP311.5 的主题关于 软件工程-高等学校-教材 的书籍。