软件工程导论(原书第4版)

软件工程导论(原书第4版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2018-09
版次: 1
ISBN: 9787111607236
定价: 69.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 236页
字数: 351千字
23人买过
  • 高校本科软件工程导论教材,适合一学期讲授,提供系统的工程方法来讲述软件工程的原籍和方法学。全书内容全面而且具体简洁。 弗兰克·徐(Frank Tsui)在软件和IT产业有30多年的从业经验,曾担任多家跨国软件企业的研发主管或VP。他目前是南方州立理工大学计算机和软件工程学院的全职教授,还是佐治亚理工学院和堪萨斯州立大学的兼职教授。 

    奥兰多·卡拉姆(Orlando Karam)目前是堪萨斯州立大学教员。他在敏捷开发和开源软件社区非常活跃,还积极参与软件复杂性的研究。 

    芭芭拉·博纳尔(Barbara Bernal)目前是堪萨斯州立大学软件工程教授,她的专长是用户界面和以用户为中心的设计领域。她还积极参与美国工程教育协会和软件工程师教育学会的工作。 出版者的话

    译者序

    前言

    第1章 创建一个程序1

    1.1 一个简单的问题1

    1.1.1 决策1

    1.1.2 功能需求2

    1.1.3 非功能需求3

    1.1.4 设计约束3

    1.1.5 设计决策4

    1.2 测试4

    1.3 估算工作量5

    1.4 实现6

    1.4.1 关于实现的几个要点6

    1.4.2 基本设计7

    1.4.3 使用JUnit进行单元测试8

    1.4.4 StringSorter的实现8

    1.4.5 用户界面12

    1.5 总结14

    1.6 复习题14

    1.7 练习题15

    1.8 参考文献和建议阅读15

    第2章 构建一个系统16

    2.1 构建一个系统的特征16

    2.1.1 规模和复杂度16

    2.1.2 开发和支持的技术考虑17

    2.1.3 开发和支持的非技术考虑19

    2.2 系统构建示例20

    2.2.1 薪资管理系统需求21

    2.2.2 设计薪资管理系统22

    2.2.3 薪资管理系统编码和单元测试23

    2.2.4 薪资管理系统的集成和功能测试24

    2.2.5 发布薪资管理系统24

    2.2.6 支持和维护25

    2.3 协调工作25

    2.3.1 过程25

    2.3.2 产品26

    2.3.3 人员26

    2.4 总结26

    2.5 复习题27

    2.6 练习题27

    2.7 参考文献和建议阅读27

    第3章 工程化软件28

    3.1 软件失败的示例和特点28

    3.1.1 项目失败28

    3.1.2 软件产品失效29

    3.1.3 协调和其他关注点30

    3.2 软件工程30

    3.2.1 什么是软件工程30

    3.2.2 软件工程的定义31

    3.2.3 软件工程与软件的相关性31

    3.3 软件工程职业与道德规范32

    3.3.1 软件工程道德准则32

    3.3.2 职业行为33

    3.4 软件工程的原则34

    3.4.1 早期由Davis提出的软件工程原则34

    3.4.2 更现代的Royce原则35

    3.4.3 Wasserman提出的软件工程基础概念36

    3.5 总结37

    3.6 复习题37

    3.7 练习题37

    3.8 参考文献和建议阅读38

    第4章 软件过程模型39

    4.1 软件过程39

    4.1.1 软件过程模型的目标39

    4.1.2 “最简单”的过程模型40

    4.2 传统过程模型40

    4.2.1 瀑布模型40

    4.2.2 主程序员制团队方法41

    4.2.3 增量模型41

    4.2.4 螺旋模型43

    4.3 一个更加现代的过程44

    4.3.1 Rational统一过程框架的一般基础44

    4.3.2 RUP的阶段44

    4.4 进入和退出标准46

    4.4.1 进入标准47

    4.4.2 退出标准47

    4.5 过程评估模型48

    4.5.1 SEI的能力成熟度模型48

    4.5.2 SEI的能力成熟度集成模型50

    4.6 过程定义和通信55

    4.7 总结55

    4.8 复习题56

    4.9 练习题56

    4.10 参考文献和建议阅读56

    第5章 新兴过程方法58

    5.1 什么是敏捷过程58

    5.2 为什么使用敏捷过程59

    5.3 一些过程方法59

    5.3.1 极限编程60

    5.3.2 水晶系列方法63

    5.3.3 敏捷统一过程65

    5.3.4 Scrum66

    5.3.5 看板方法:一个新增的敏捷方法67

    5.3.6 开源软件开发68

    5.3.7 过程总结69

    5.4 过程的选择70

    5.4.1 每一种过程更适用的项目和环境70

    5.4.2 敏捷过程的主要风险和缺点71

    5.4.3 敏捷过程的主要优点71

    5.5 总结71

    5.6 复习题71

    5.7 练习题72

    5.8 参考文献和建议阅读72

    第6章 需求工程73

    6.1 需求处理73

    6.1.1 需求处理的准备73

    6.1.2 需求工程过程74

    6.2 需求获取与收集75

    6.2.1 获取高层次的需求76

    6.2.2 获取详细的需求77

    6.3 需求分析79

    6.3.1 通过业务流进行需求分析和聚类79

    6.3.2 通过面向对象用例进行需求分析和聚类80

    6.3.3 通过面向视点的需求定义进行需求分析和聚类82

    6.3.4 需求分析与排序82

    6.3.5 需求可追踪性84

    6.4 需求定义、原型化和审查84

    6.5 需求规约与需求协商87

    6.6 总结88

    6.7 复习题88

    6.8 练习题89

    6.9 参考文献和建议阅读89

    第7章 设计:架构与方法论91

    7.1 设计简介91

    7.2 架构设计92

    7.2.1 什么是软件架构92

    7.2.2 视图与视角92

    7.2.3 元架构知识:风格、模式、策略和参考架构93

    7.2.4 基于网络的Web参考架构—REST97

    7.3 详细设计98

    7.3.1 功能分解98

    7.3.2 关系型数据库设计100

    7.3.3 大数据设计103

    7.3.4 面向对象设计和UML104

    7.3.5 用户界面设计108

    7.3.6 进一步的设计问题112

    7.4 HTML-Script-SQL设计示例112

    7.5 总结114

    7.6 复习题115

    7.7 练习题115

    7.8 参考文献和建议阅读115

    第8章 设计的特征与度量117

    8.1 设计描述117

    8.2 设计属性的传统特征117

    8.2.1 Halstead复杂度度量118

    8.2.2 McCabe圈复杂度118

    8.2.3 Henry-Kafura信息流119

    8.2.4 高层次复杂度度量120

    8.3 “好”的设计属性120

    8.3.1 内聚121

    8.3.2 耦合123

    8.4 面向对象设计度量125

    8.4.1 面向方面的编程127

    8.4.2 Demeter法则127

    8.5 用户界面设计127

    8.5.1 好的UI的特征127

    8.5.2 易用性的评估与测试128

    8.6 总结129

    8.7 复习题129

    8.8 练习题130

    8.9 参考文献和建议阅读130

    第9章 实现133

    9.1 实现简介133

    9.2 好的实现的特征133

    9.2.1 编程风格和代码规范134

    9.2.2 注释136

    9.3 实现的实践137

    9.3.1 调试137

    9.3.2 断言和防御性编程138

    9.3.3 性能优化138

    9.3.4 重构139

    9.3.5 代码重用140

    9.4 云开发140

    9.4.1 基础设施即服务141

    9.4.2 平台即服务142

    9.4.3 云应用服务142

    9.4.4 面向开
  • 内容简介:
    高校本科软件工程导论教材,适合一学期讲授,提供系统的工程方法来讲述软件工程的原籍和方法学。全书内容全面而且具体简洁。
  • 作者简介:
    弗兰克·徐(Frank Tsui)在软件和IT产业有30多年的从业经验,曾担任多家跨国软件企业的研发主管或VP。他目前是南方州立理工大学计算机和软件工程学院的全职教授,还是佐治亚理工学院和堪萨斯州立大学的兼职教授。 

    奥兰多·卡拉姆(Orlando Karam)目前是堪萨斯州立大学教员。他在敏捷开发和开源软件社区非常活跃,还积极参与软件复杂性的研究。 

    芭芭拉·博纳尔(Barbara Bernal)目前是堪萨斯州立大学软件工程教授,她的专长是用户界面和以用户为中心的设计领域。她还积极参与美国工程教育协会和软件工程师教育学会的工作。
  • 目录:
    出版者的话

    译者序

    前言

    第1章 创建一个程序1

    1.1 一个简单的问题1

    1.1.1 决策1

    1.1.2 功能需求2

    1.1.3 非功能需求3

    1.1.4 设计约束3

    1.1.5 设计决策4

    1.2 测试4

    1.3 估算工作量5

    1.4 实现6

    1.4.1 关于实现的几个要点6

    1.4.2 基本设计7

    1.4.3 使用JUnit进行单元测试8

    1.4.4 StringSorter的实现8

    1.4.5 用户界面12

    1.5 总结14

    1.6 复习题14

    1.7 练习题15

    1.8 参考文献和建议阅读15

    第2章 构建一个系统16

    2.1 构建一个系统的特征16

    2.1.1 规模和复杂度16

    2.1.2 开发和支持的技术考虑17

    2.1.3 开发和支持的非技术考虑19

    2.2 系统构建示例20

    2.2.1 薪资管理系统需求21

    2.2.2 设计薪资管理系统22

    2.2.3 薪资管理系统编码和单元测试23

    2.2.4 薪资管理系统的集成和功能测试24

    2.2.5 发布薪资管理系统24

    2.2.6 支持和维护25

    2.3 协调工作25

    2.3.1 过程25

    2.3.2 产品26

    2.3.3 人员26

    2.4 总结26

    2.5 复习题27

    2.6 练习题27

    2.7 参考文献和建议阅读27

    第3章 工程化软件28

    3.1 软件失败的示例和特点28

    3.1.1 项目失败28

    3.1.2 软件产品失效29

    3.1.3 协调和其他关注点30

    3.2 软件工程30

    3.2.1 什么是软件工程30

    3.2.2 软件工程的定义31

    3.2.3 软件工程与软件的相关性31

    3.3 软件工程职业与道德规范32

    3.3.1 软件工程道德准则32

    3.3.2 职业行为33

    3.4 软件工程的原则34

    3.4.1 早期由Davis提出的软件工程原则34

    3.4.2 更现代的Royce原则35

    3.4.3 Wasserman提出的软件工程基础概念36

    3.5 总结37

    3.6 复习题37

    3.7 练习题37

    3.8 参考文献和建议阅读38

    第4章 软件过程模型39

    4.1 软件过程39

    4.1.1 软件过程模型的目标39

    4.1.2 “最简单”的过程模型40

    4.2 传统过程模型40

    4.2.1 瀑布模型40

    4.2.2 主程序员制团队方法41

    4.2.3 增量模型41

    4.2.4 螺旋模型43

    4.3 一个更加现代的过程44

    4.3.1 Rational统一过程框架的一般基础44

    4.3.2 RUP的阶段44

    4.4 进入和退出标准46

    4.4.1 进入标准47

    4.4.2 退出标准47

    4.5 过程评估模型48

    4.5.1 SEI的能力成熟度模型48

    4.5.2 SEI的能力成熟度集成模型50

    4.6 过程定义和通信55

    4.7 总结55

    4.8 复习题56

    4.9 练习题56

    4.10 参考文献和建议阅读56

    第5章 新兴过程方法58

    5.1 什么是敏捷过程58

    5.2 为什么使用敏捷过程59

    5.3 一些过程方法59

    5.3.1 极限编程60

    5.3.2 水晶系列方法63

    5.3.3 敏捷统一过程65

    5.3.4 Scrum66

    5.3.5 看板方法:一个新增的敏捷方法67

    5.3.6 开源软件开发68

    5.3.7 过程总结69

    5.4 过程的选择70

    5.4.1 每一种过程更适用的项目和环境70

    5.4.2 敏捷过程的主要风险和缺点71

    5.4.3 敏捷过程的主要优点71

    5.5 总结71

    5.6 复习题71

    5.7 练习题72

    5.8 参考文献和建议阅读72

    第6章 需求工程73

    6.1 需求处理73

    6.1.1 需求处理的准备73

    6.1.2 需求工程过程74

    6.2 需求获取与收集75

    6.2.1 获取高层次的需求76

    6.2.2 获取详细的需求77

    6.3 需求分析79

    6.3.1 通过业务流进行需求分析和聚类79

    6.3.2 通过面向对象用例进行需求分析和聚类80

    6.3.3 通过面向视点的需求定义进行需求分析和聚类82

    6.3.4 需求分析与排序82

    6.3.5 需求可追踪性84

    6.4 需求定义、原型化和审查84

    6.5 需求规约与需求协商87

    6.6 总结88

    6.7 复习题88

    6.8 练习题89

    6.9 参考文献和建议阅读89

    第7章 设计:架构与方法论91

    7.1 设计简介91

    7.2 架构设计92

    7.2.1 什么是软件架构92

    7.2.2 视图与视角92

    7.2.3 元架构知识:风格、模式、策略和参考架构93

    7.2.4 基于网络的Web参考架构—REST97

    7.3 详细设计98

    7.3.1 功能分解98

    7.3.2 关系型数据库设计100

    7.3.3 大数据设计103

    7.3.4 面向对象设计和UML104

    7.3.5 用户界面设计108

    7.3.6 进一步的设计问题112

    7.4 HTML-Script-SQL设计示例112

    7.5 总结114

    7.6 复习题115

    7.7 练习题115

    7.8 参考文献和建议阅读115

    第8章 设计的特征与度量117

    8.1 设计描述117

    8.2 设计属性的传统特征117

    8.2.1 Halstead复杂度度量118

    8.2.2 McCabe圈复杂度118

    8.2.3 Henry-Kafura信息流119

    8.2.4 高层次复杂度度量120

    8.3 “好”的设计属性120

    8.3.1 内聚121

    8.3.2 耦合123

    8.4 面向对象设计度量125

    8.4.1 面向方面的编程127

    8.4.2 Demeter法则127

    8.5 用户界面设计127

    8.5.1 好的UI的特征127

    8.5.2 易用性的评估与测试128

    8.6 总结129

    8.7 复习题129

    8.8 练习题130

    8.9 参考文献和建议阅读130

    第9章 实现133

    9.1 实现简介133

    9.2 好的实现的特征133

    9.2.1 编程风格和代码规范134

    9.2.2 注释136

    9.3 实现的实践137

    9.3.1 调试137

    9.3.2 断言和防御性编程138

    9.3.3 性能优化138

    9.3.4 重构139

    9.3.5 代码重用140

    9.4 云开发140

    9.4.1 基础设施即服务141

    9.4.2 平台即服务142

    9.4.3 云应用服务142

    9.4.4 面向开
查看详情
12
相关图书 / 更多
软件工程导论(原书第4版)
软件工程:经典、现代和前沿
孙艳春 主编, 黄罡,邓水光 编著
软件工程导论(原书第4版)
软件利润流 英文限量版
(美)杰森·坦纳(Jason Tanner)
软件工程导论(原书第4版)
软件逆向分析技术及应用
鲁宏伟 陈凯 邓贤君 许雷永
软件工程导论(原书第4版)
软件性能测试实战教程(LoadRunner与JMeter)
周百顺 主编;张伟
软件工程导论(原书第4版)
软件工程专业英语(第2版)
宋晓涛 谢红薇 郭晓红
软件工程导论(原书第4版)
软件工程--理论与实践
毛新军 董威
软件工程导论(原书第4版)
软件需求分析(微课版)
李美蓉 何中海
软件工程导论(原书第4版)
软件自动化测试入门攻略
杨定佳
软件工程导论(原书第4版)
软件工程(第4版 英文版)
(美) 莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger)
软件工程导论(原书第4版)
软件性能测试、分析与调优实践之路(第2版)
张永清
软件工程导论(原书第4版)
软件灵活性设计:如何避免陷入编程困境 [美]克里斯·汉森
(美)克里斯·汉森 (美)杰拉尔德·杰伊·萨斯曼
软件工程导论(原书第4版)
软件开发珠玑:穿越50年软件往事的60条戒律
(美)Karl Wiegers(卡尔·魏格斯)
您可能感兴趣 / 更多
软件工程导论(原书第4版)
从一到无穷大(爱因斯坦亲笔推荐的科普入门书,清华大学校长送给新生的礼物;世界著名物理学家、宇宙大爆炸学说的先驱)
[美]乔治·伽莫夫 著;栗子文化 出品;有容书邦 发行
软件工程导论(原书第4版)
明信片(《断背山》作者又一力作,荣获福克纳文学奖,49张明信片背后是100种离奇人生)
[美]安妮·普鲁 著;黄宜思 译
软件工程导论(原书第4版)
欲望行星:人类时代的地球
[美]唐纳德·沃斯特(Donald Worster) 著;侯深 译;汉唐阳光 出品
软件工程导论(原书第4版)
超大规模集成电路物理设计:从图分割到时序收敛(原书第2版) [美国]安德·B.卡恩
[美]安德·B.卡恩
软件工程导论(原书第4版)
海外中国研究·文化、权力与国家:1900—1942年的华北农村(海外中国研究丛书精选版第四辑)
[美]杜赞奇 著;王福明 译
软件工程导论(原书第4版)
(守望者·传记)身体的疯狂朝圣:田纳西·威廉斯传
[美]约翰·拉尔 著;张敏 凌建娥 译
软件工程导论(原书第4版)
哥白尼
[美]欧文·金格里奇(Owen Gingerich)
软件工程导论(原书第4版)
玻璃底片上的宇宙
[美]达娃·索贝尔 后浪
软件工程导论(原书第4版)
数学侦探 珠宝行里的X劫匪
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
软件工程导论(原书第4版)
十大经济学家
[美]约瑟夫·熊彼特
软件工程导论(原书第4版)
闲散一些也无可厚非
[美]艾莉森·孙 著;李昂 译
软件工程导论(原书第4版)
糖与雪:冰淇淋与我们相遇的五百年
[美]耶丽·昆齐奥(Jeri Quinzio) 著, 邹赜韬、王燕萍 译