普通高等教育软件工程“十二五”规划教材

软件工程实用教程

以面向对象技术为主线,以案例驱动教学过程,面向软件工程的实际应用
分享 推荐 0 收藏 6 阅读 2.2K
朴勇 (编著) 978-7-115-39317-3

关于本书的内容有任何问题,请联系 许金霞

1.以案例驱动教学过程。
2.以面向对象技术为主线,融合结构化开发、开发方法连贯统一。
3.知识结构紧凑,面向软件工程的实际应用。
4.突出技术理论和原理的运用,兼顾工程管理。
¥38.00 ¥32.30 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书主要围绕软件的系统工程化开发过程,介绍相关的理论、方法、技术和工具。以面向对象的分析和设计为主线,遵循UML 2标准,从基本理论为出发点,介绍对软件开发的组织管理以及业务流程分析;重点针对软件开发的生命周期,讨论对业务需求进行分析、面向对象的概要设计、从概要设计到代码框架的生成、面向对象的详细设计、设计优化、面向对象实现、交互设计、测试与质量保证等重要环节;介绍软件开发环境,包括项目计划管理与跟踪以及主流配置管理工具的使用。
本书内容丰富、循序渐进,注重软件工程理论与实践的结合,适合高等院校计算机相关专业本科生和研究生的教材,可也为从事软件开发的理论研究及工程技术人员提供参考。

目录

第 1章 软件工程概述 1
1.1 软件危机与软件工程 1
1.1.1 软件危机 1
1.1.2 软件工程知识体系 2
1.2 系统工程与UML 3
1.2.1 系统工程 3
1.2.2 统一建模语言 5
1.3 软件工程开发方法 7
1.3.1 传统方法 7
1.3.2 面向对象方法 8
1.3.3 理解两种开发方法 8
1.4 习题 10
第 2章 软件开发过程 11
2.1 软件开发的过程与生命周期 11
2.2 传统生命周期模型 13
2.2.1 瀑布模型 13
2.2.2 快速原型模型 15
2.2.3 增量模型 16
2.2.4 螺旋模型 16
2.2.5 喷泉模型 17
2.3 敏捷软件模型 18
2.3.1 增量与迭代 19
2.3.2 敏捷开发的优势 21
2.3.3 极限编程 22
2.3.4 SCRUM 23
2.3.5 MSF 24
2.4 过程建模 25
2.4.1 组织级过程 26
2.4.2 使用活动图进行过程建模 27
2.5 风险管理过程 32
2.6 习题 34
第3章 需求分析 35
3.1 需求分析的挑战 35
3.2 涉众及目标 36
3.2.1 系统涉众 36
3.2.2 系统目标 38
3.3 通过用例明确系统功能 39
3.3.1 用例及其表示 39
3.3.2 寻找用例 40
3.3.3 用例规约 43
3.3.4 用例提炼 45
3.4 基本事件流和备选事件流 47
3.5 功能性需求 50
3.6 非功能性需求 55
3.7 习题 58
第4章 类的概要设计 60
4.1 系统架构 60
4.2 基本类的确定 61
4.2.1 类的识别 62
4.2.2 初始类图 64
4.2.3 类的关系 64
4.2.4 类与对象 66
4.3 类的细化 67
4.3.1 方法和管理类 67
4.3.2 设计优化 70
4.4 使用顺序图进行验证 71
4.4.1 顺序图 71
4.4.2 验证方法 73
4.5 界面类设计 77
4.6 需求跟踪 79
4.7 习题 81
第5章 代码生成之道 82
5.1 CASE工具 82
5.2 单个类的代码实现 83
5.3 关联关系的实现 87
5.4 对象间的归属关系 91
5.4.1 聚合关系 91
5.4.2 组合关系 94
5.4.3 依赖关系 95
5.5 软件架构的构建 96
5.5.1 包及其结构 96
5.5.2 包结构优化 97
5.6 影响程序运行的其它因素 100
5.7 习题 104
第6章 类的详细设计 107
6.1 详细设计主要活动 107
6.2 类方法的详细设计 108
6.2.1 图形设计工具 108
6.2.2 表格工具 110
6.2.3 语言工具 112
6.3 类的详细设计 113
6.3.1 状态图的基本结构 114
6.3.2 状态图的扩展 115
6.3.3 状态图的应用 117
6.4 对象约束语言 119
6.5 习题 124
第7章 设计优化 127
7.1 小规模设计 127
7.2 设计结构的优化 128
7.2.1 基本的设计原则 128
7.2.2 设计原则的应用 136
7.3 模型-视图-控制器(MVC) 140
7.4 设计模式 146
7.4.1 抽象工厂模式 147
7.4.2 单例模式 150
7.4.3 适配器模式 152
7.4.4 门面模式 153
7.4.5 代理模式 153
7.4.6 观察者模式 155
7.4.7 策略模式 156
7.4.8 状态模式 156
7.5 习题 159
第8章 实现 161
8.1 非功能性需求的实现 161
8.2 分布式系统 162
8.3 XML 166
8.4 程序库 168
8.5 组件 169
8.5.1 组件的设计与使用 169
8.5.2 Java Bean组件 170
8.6 框架 173
8.6.1 框架及其应用 173
8.6.2 Java中的框架 174
8.7 数据的持久化 178
8.7.1 文件持久化 178
8.7.2 数据库持久化 180
8.8 领域特定语言 181
8.9 模型驱动架构(MDA) 183
8.9.1 MDA原理及开发过程 183
8.9.2 MDA应用 185
8.10 重构 187
8.11 习题 189
第9章 交互设计 191
9.1 交互设计的背景 191
9.2 可用性的概念 192
9.2.1 任务适合性 193
9.2.2 自我描述性 194
9.2.3 可控性 195
9.2.4 与用户期望一致性 196
9.2.5 易学性 197
9.2.6 容错性 198
9.2.7 可定制性 198
9.3 人机工程与软件过程 198
9.4 可使用性的验证 199
9.5 习题 201
第 10章 质量保证 203
10.1 形式化的正确性 203
10.2 断言 205
10.3 单元测试 207
10.3.1 测试方法 208
10.3.2 测试框架Junit 208
10.4 系统的可测试性 216
10.5 等价类测试 219
10.5.1 等价类方法 219
10.5.2 等价类与边界 221
10.5.3 等价类组合 222
10.5.4 面向对象中的等价类 224
10.6 基于控制流的测试 226
10.6.1 控制流测试方法 227
10.6.2 覆盖指标 228
10.7 测试分类和测试环境 231
10.8 测试度量 235
10.9 建设性质量保证 240
10.10 人工测试 241
10.11 习题 244
第 11章 软件开发环境 246
11.1 版本管理 246
11.2 生成管理 250
11.3 项目计划及跟踪 254
11.3.1 项目计划与工作分解 254
11.3.2 任务安排与工程网络图 255
11.3.3 项目组织与甘特图 256
11.3.4 项目计划跟踪 257
11.4 工作量估算 258
11.4.1 评估软件规模 258
11.4.2 评估开发成本 262
11.5 质量管理 267
11.5.1 质量与过程改进 267
11.5.2 能力成熟度与过程模型 269
11.6 项目人员与沟通 272
11.6.1 项目中的人员 273
11.6.2 人员沟通 274
11.7 习题 276
第 12章 版本控制系统 278
12.1 简介 278
12.2 常用版本控制软件介绍 279
12.2.1 Visual Source Safe和Team Foundation Server 279
12.2.2 Concurrent Version System 279
12.2.3 Subversion 279
12.2.4 StarTeam 280
12.2.5 ClearCase 280
12.2.6 Git 280
12.3 SVN的使用方法 280
12.3.1 SVN特点 280
12.3.2 创建Checkout目录 282
12.3.3 Commit操作 282
12.3.4 Update操作 284
12.3.5 分支和合并 285
12.3.6 冲突处理 287
12.4 Git的使用方法 289
12.4.1 Git特点 289
12.4.2 准备工作 290
12.4.3 基本操作 290
12.4.4 分支管理 292
12.4.5 标签管理 293
12.5 习题 295
参考文献 297

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

朴勇,大连理工大学软件学院教师
1994.9-1998.7 大连理工大学计算机及应用专业学士
1998.9-2001.4 大连理工大学计算机软件与理论专业硕士
2001.7-2003.12 德国锡根大学电子工程与计算机系进修
2004.3至今 大连理工大学软件学院教师

同系列书

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

    吕云翔

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

    ¥59.80
  • IT项目管理(第2版)

    郭宁

    本书针对IT项目管理的特点,以IT项目为研究对象,对IT项目管理的主要内容进行了较为系统的研究,对项目的9个知...

    ¥49.80
  • C++程序设计(第2版)

    宋春花

    本书是为已有C程序设计基础、想学习C++面向对象程序设计的读者编写。全书共分9章:第1、2章介绍了面向对象程序...

    ¥45.00
  • C++程序设计习题解析与实践教程

    宋春花

    本书是宋春花、吕进来等老师编写的《C++程序设计(第2版)》(人民邮电出版社出版)的配套教材。内容共分三部分:...

    ¥39.80
  • 软件测试(慕课版)

    郑炜

    基础篇,第1-6章,第1章 软件测试基础,第2章 软件测试策略,第3章 黑盒测试与测试用例设计,第4章 白盒测...

    ¥49.80

相关图书

  • 数据库原理(微课版)

    郭玉彬 宋歌 边山

    本书依据教育部《普通高等学校本科专业类教学质量国家标准》,以新工科背景下加快培养计算机类工程人才为目标,构建了...

    ¥69.80
  • 数据结构(C语言版)(第3版)

    李冬梅 严蔚敏

    本书在选材与编排上,贴近当前普通高等院校“数据结构”课程的现状和发展趋势,符合最新研究生考试大纲,内容难度适度...

    ¥59.80
  • 大学计算机导论

    甘勇

    “计算机科学导论”作为计算机科学与技术专业的必修课,旨在引导刚刚进入大学的新生对计算机基础知识及研究方向有一个...

    ¥59.80
  • 数据库原理及应用教程(第5版) (微课版)

    陈志泊

    全书共7章,主要内容包括:数据库系统概述、关系模型及其操作、关系数据库标准语言 ——SQL、关系数据库理论、数...

    ¥69.80
  • 操作系统原理与实现

    吴帆

    操作系统是计算机系统的核心,是其他一切软件运行的基础。本书主要介绍操作系统的基本原理和实现方法。全书共12章,...

    ¥79.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部