软件工程 第3版/21世纪大学本科计算机专业系列教材

软件工程 第3版/21世纪大学本科计算机专业系列教材
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , ,
2016-08
版次: 1
ISBN: 9787302446088
定价: 44.90
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 374页
字数: 595千字
正文语种: 简体中文
264人买过
  •   本书系统地介绍了软件工程的概念、原理、过程及主要方法,内容上覆盖了ACM和IEEE制定的ComputingCurricula中有关软件工程的主要知识点。本书在介绍软件工程的基本概念和基本原理的基础上,重点介绍软件开发方法和技术,包括经典的和常用的方法,如结构化方法、面向数据结构方法和面向对象方法,以及一些软件工程的新技术和新方法,如UML2.0、基于构件的开发、敏捷软件开发、Web工程、CMM和CMMI等。此外,本书尽量采用国标、ISO标准及《计算机科学技术百科全书》对专业术语的名称及其语义解释,必要时,术语名称会同时给出其他习惯称谓。
      钱乐秋,复旦大学计算机科学技术学院教授、博士生导师、校教学名师。毕业于复旦大学数学系。曾任中国计算机学会教育委员会副主任,教育部高等学校理科计算机科学与技术教学指导委员会计算机软件教学指导组秘书,教育部高等学校文科计算机基础教学指导委员会副主任。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标准及《计算机科学技术百科全书》对专业术语的名称及其语义解释,必要时,术语名称会同时给出其他习惯称谓。
  • 作者简介:
      钱乐秋,复旦大学计算机科学技术学院教授、博士生导师、校教学名师。毕业于复旦大学数学系。曾任中国计算机学会教育委员会副主任,教育部高等学校理科计算机科学与技术教学指导委员会计算机软件教学指导组秘书,教育部高等学校文科计算机基础教学指导委员会副主任。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

查看详情
12
相关图书 / 更多
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件利润流 英文限量版
(美)杰森·坦纳(Jason Tanner)
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件工程(第7版微课版十三五职业教育国家规划教材)
高树芳 主编
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件测试技术任务驱动式教程(第2版)
吴伶琳、王明珠 编
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件工程实践教程:基于开源和群智的方法
毛新军;王涛;余跃
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件测试
崔义 主编;任淑艳
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件测试基础教程 软硬件技术 高尚兵,高丽主编 新华正版
高尚兵,高丽主编
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件工程--理论与实践
毛新军 董威
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件安全
邹德清
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件需求工程方法与实践
金芝、刘璘、陈小红、李童
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件工程原理与实践 沈备军 万成城 陈昊鹏 陈雨亭
沈备军 万成城 陈昊鹏 陈雨亭
软件工程 第3版/21世纪大学本科计算机专业系列教材
软件化雷达模型重构与数据流仿真技术
王磊