21世纪高等教育计算机规划教材

软件工程

国家十一五规划教材改版教材
分享 推荐 0 收藏 14 阅读 4.0K
钟珞、袁胜琼、袁景凌、李琳 (作者) 978-7-115-44649-7

关于本书的内容有任何问题,请联系 刘博

1. 以案例分析贯穿教材,适宜教师开展项目式教学。
2. 对软件工程以及软件开发热点问题展开讨论,有利于学生把握前沿,尽早确定研究方向。
3. 加入很多诸如敏捷开发、数字传媒技术等主题的新材料, 并以数字传媒为契机,探讨面向特定领域的软件工程。

¥39.80 ¥33.83 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书舍弃传统软件工程的一些烦琐理论,着重叙述面向对象软件工程的基本原理和基本概念,并对敏捷开发方法以及软件模式等重用技术以较多篇幅加以阐述。本书把工程理念贯彻到软件开发全过程,在阐述软件工程技术方法的同时,引入案例,增强读者对软件工程情景的理解和认知,并以数字传播工程为契机,探讨面向特定领域的软件工程。
本书可以作为计算机科学以及软件工程专业本科教学的教材,也可作为软件开发人员或对软件工程感兴趣的人员自学的参考资料。

目录

第 1章 软件工程概述 1
1.1 软件及其特性 1
1.2 软件工程的产生与发展 2
1.2.1 软件危机 2
1.2.2 软件工程的发展 3
1.3 软件工程的基本概念 4
1.3.1 什么是软件工程 4
1.3.2 软件工程的基本要素 5
1.3.3 软件工程的基本原理 7
1.4 软件工程的现状与发展趋势 8
1.4.1 敏捷开发 8
1.4.2 开放计算 9
1.4.3 云计算 10
习题一 11
第 2章 软件过程 12
2.1 软件过程概述 12
2.2 软件过程模型 14
2.2.1 瀑布模型 15
2.2.2 原型法模型 16
2.2.3 迭代式开发 16
2.2.4 可转换模型 18
2.3 敏捷开发过程 18
2.3.1 敏捷方法的由来 19
2.3.2 计划驱动开发和敏捷开发 20
2.3.3 敏捷方法 21
习题二 23
第3章 对象模型 24
3.1 面向对象基础 24
3.1.1 面向对象的基本概念 25
3.1.2 对象、属性与方法 26
3.2 面向对象方法的要素 27
3.2.1 对象元素的访问控制 30
3.2.2 对象职责 32
3.2.3 通过继承和组合实现重用和扩展 32
3.3 统一建模语言UML 33
3.3.1 UML的基本实体 33
3.3.2 UML图的使用实例 34
习题三 37
第4章 需求获取 38
4.1 需求分析与用户故事 38
4.2 需求及其分类 41
4.2.1 需求的定义 41
4.2.2 需求的内容 41
4.2.3 需求的分类 42
4.3 需求获取技术 44
4.4 需求分析方法 47
4.4.1 结构化分析 47
4.4.2 面向对象分析 50
4.4.3 面向问题域的分析 51
4.5 需求分析的工具 62
4.5.1 SADT 62
4.5.2 PSL/PSA 63
4.6 传统的软件建模 64
4.6.1 软件建模 64
4.6.2 数据模型的建立 65
4.6.3 功能模型、行为模型的建立及数据
字典 66
习题四 68
第5章 用例建模 69
5.1 用例模型的基本概念 69
5.1.1 系统 69
5.1.2 参与者 70
5.1.3 用例 71
5.1.4 关系 71
5.2 用例建模过程 73
5.2.1 寻找参与者 74
5.2.2 寻找用例 75
5.3 用例建模技巧 77
5.3.1 用例定义与功能分解 77
5.3.2 关联关系的确定 78
5.3.3 详细的用例规约 79
5.4 行为建模 80
5.4.1 顺序图建模 81
5.4.2 状态建模 83
习题五 85
第6章 软件体系结构 86
6.1 软件体系结构的概念 86
6.1.1 体系结构的由来 86
6.1.2 软件体系结构的内容 86
6.1.3 软件体系结构的目标 87
6.1.4 软件体系结构的发展 87
6.1.5 体系结构风格、设计模式与软件
框架 88
6.2 系统设计 89
6.2.1 问题架构 89
6.2.2 软件设计原则 91
6.3 软件体系结构风格 94
6.3.1 管道/过滤器风格 94
6.3.2 调用/返回风格 95
6.3.3 基于事件的隐式调用风格 98
6.3.4 仓库风格 99
6.3.5 体系结构风格的选择 100
6.4 软件设计过程 100
习题六 103
第7章 面向对象设计 104
7.1 “好的”软件设计 104
7.1.1 对象职责分配 104
7.1.2 GRASP职责分配原则 106
7.2 SOLID设计原则 109
7.3 类图建模 113
7.3.1 类的定义 113
7.3.2 类关系 115
7.3.3 类图建模 118
7.4 CRC卡片分拣法 119
7.5 设计模式 121
7.5.1 桥梁模式 122
7.5.2 其他常用GOF模式 125
习题七 127
第8章 编写高质量代码 129
8.1 程序设计语言 129
8.1.1 程序设计语言的发展及分类 129
8.1.2 程序设计语言的选择 130
8.2 良好的编程风格 131
8.2.1 源程序文档化 132
8.2.2 数据说明的方法 133
8.2.3 表达式和语句结构 133
8.2.4 输入/输出方面 133
8.3 程序的复杂性及度量 134
8.3.1 程序的复杂性 134
8.3.2 McCabe 度量法 134
8.3.3 Halstead方法 135
8.4 代码审查与代码优化 136
8.4.1 代码审查 136
8.4.2 代码优化 137
8.5 结对编程实践 138
习题八 140
第9章 测试驱动的实现 141
9.1 软件测试的目的与准则 141
9.1.1 软件测试的目标 141
9.1.2 软件测试的准则 142
9.2 软件测试的类型 143
9.3 软件测试的方法 145
9.3.1 测试用例 145
9.3.2 测试通过率和测试覆盖率 146
9.3.3 黑盒测试方法 146
9.3.4 白盒测试方法 149
9.3.5 测试方法的选择 152
9.4 软件测试过程 153
9.4.1 单元测试 153
9.4.2 集成测试 155
9.4.3 确认测试 157
9.4.4 系统测试 158
9.5 回归测试 159
9.6 本章小结 159
习题九 160
第 10章 团队开发管理 161
10.1 团队组织与管理 161
10.1.1 人力资源规划 162
10.1.2 开发团队 163
10.1.3 团队建设 164
10.1.4 团队管理 166
10.2 项目沟通管理 167
10.3 项目估算 169
10.3.1 项目计划 169
10.3.2 项目估算方法 170
习题十 173
第 11章 敏捷开发与配置管理 174
11.1 敏捷开发之Scrum 174
11.1.1 Scrum框架之角色 174
11.1.2 Scrum框架之制品 175
11.1.3 Scrum框架之活动 177
11.2 用户故事与估算 177
11.2.1 用户故事 178
11.2.2 构造好的用户故事 178
11.2.3 用户故事的划分 179
11.2.4 故事点估算 180
11.2.5 策划扑克估算 182
11.3 软件配置管理 183
11.4 配置管理工具Git 185
11.4.1 版本控制系统 186
11.4.2 版本库操作 187
11.4.3 分支管理 188
习题十一 189
第 12章 数字传播工程 190
12.1 数字出版概述 190
12.1.1 数字出版及特征 190
12.1.2 数字出版与数字传播 192
12.1.3 数字出版传播的现状 193
12.2 数字出版ERP选题系统设计与
实现 194
12.2.1 系统概述 194
12.2.2 选题系统的需求分析 195
12.2.3 选题系统的概要设计 201
12.2.4 选题详细功能设计 208
12.2.5 选题系统的测试 215
12.3 数字出版技术发展趋势 219
习题十二 221
第 13章 软件开发实践 222
13.1 敏捷开发实践之结对编程 222
13.1.1 待解决问题描述——生命游戏 222
13.1.2 若干结对编程实战 223
13.2 UML建模 228
13.2.1 待解决问题描述——网上选课
系统 228
13.2.2 用例建模 228
13.2.3 行为建模 231
13.2.4 对象建模 234
13.3 Git开发实践 237
13.3.1 安装配置Git 237
13.3.2 Git基本操作 238
13.3.3 Eclipse中使用Git进行版本
控制 240
参考文献 242

读者评论

  • 请问有书后面习题的答案吗?

    夏末∩_∩发表于 2017/6/1 11:09:20
    • 您好,暂时没有呢

      吴婷发表于 2017/6/1 14:27:47

我要评论

作者介绍

作者均为武汉理工大学计算机学院一线教师,教学经验丰富,本书软件工程为第三版教材,之前版本被评为国家十一五规划教材 。

同系列书

  • Java Web程序设计教程

    陈沛强 谷灵康 金京犬

    本书作为Java Web程序设计的大学教程,对Java EE编程技术进行了系统全面的介绍。全书共分14章。首先...

    ¥48.00
  • C++程序设计——思想与方法 慕课版(第3版)

    翁惠玉 俞勇

    本书以C++语言为环境,重点讲授程序设计的思想和方法,包括过程化的程序设计和面向对象的程序设计,且本书非常强调...

    ¥49.80
  • 网页设计与制作(附微课视频 第2版)

    雷伟军

    本书依据教育部高等学校计算机基础课程教学指导委员会提出的《关于进一步加强高校计算机基础教学的意见》中有关“网页...

    ¥45.00
  • 数据结构与算法分析(C++语言版)

    张琨 张宏 朱保平

    本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二...

    ¥45.00
  • 多媒体技术及应用

    李小英 谷长龙 段伟 蔡益红

    本书全面系统地介绍了多媒体技术的基础知识与应用软件的使用。全书共5章。第1章多媒体技术概论讲述了多媒体技术的基...

    ¥39.00

购买本书用户

相关图书

  • 数据库系统原理(微课版)

    本书对数据库系统的概念、原理、技术和方法进行系统、全面的阐述。本书共14章,内容包括数据库概述、关系数据库、关...

    ¥69.80
  • 软件需求分析(微课版)

    李美蓉 何中海

    本书面向高素质复合型新工科人才培养,以强化学生软件需求分析能力为核心目标,从软件需求定义讲到分析方法,再讲到结...

    ¥59.80
  • 软件工程——理论与实践(附微课视频 第3版)

    吕云翔

    本书按照典型的软件开发过程来组织内容,旨在培养读者具备软件工程思想及实际软件开发的能力。本书共分为14章,内容...

    ¥69.80
  • 软件工程专业英语(第2版)

    宋晓涛

    本书以计算机技术发展的新热点为主要内容,介绍了移动计算机、软件工程及其再工程、主存数据库、网络与安全、人工智能...

    ¥59.80
  • 实用软件工程(附微课视频 第3版)

    吕云翔

    本书按照典型的软件开发过程组织和编写内容,旨在培养读者具备软件工程思想及实际软件开发的能力。全书共11章, 内...

    ¥69.80
人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部