随着网络技术的发展和计算机应用的普及,软件系统的规模越来越大,复杂性越来越高。软件的体系结构和运行环境也发生了根本变化,软件工程方法和技术正面临着前所未有的新问题和新挑战。本书是在传统软件工程问题的基础上,集中阐述网络化软件的基本原理和技术,主要包括:软件系统建模、软件体系结构、分布计算原理、分布事务处理、分布式算法、分布式系统、网络软件基础架构平台、组件化软件工程开发及面向服务的计算等。
本书将网络分布计算与软件工程这两个主题相结合进行阐述,既有原理、技术和方法,又有典型系统介绍和分析。本书适用于计算机学科的大学高年级本科生和研究生,可作为现代软件工程课的高级教程,而对于从事软件研究和开发的广大工程技术人员,也是一本基础性的专业参考书。
样章试读
目录
- 序
前言
第1章 软件工程发展概论
1.1 软件工程的目标
1.1.1 软件工程要素
1.1.2 软件工程面临的问题
1.1.3 软件生命期模型
1.2 软件开发方法
1.2.1 软件开发过程
1.2.2 结构化软件开发方法
1.2.3 面向对象软件开发方法
1.2.4 敏捷软件开发方法
1.2.5 软件复用
1.3 软件质量评价
1.3.1 软件质量标准
1.3.2 软件质量度量
1.3.3 软件质量保证
第2章 软件系统建模
2.1 面向对象系统建模
2.1.1 面向对象建模方法
2.1.2 统一面向对象建模
2.2 UML:统一建模的基础
2.2.1 UML的组成
2.2.2 标记方法
2.3 RUP:统一建模的过程
2.3.1 RUP基本概念
2.3.2 核心工作流程
2.3.3 UML对开发过程的支持
第3章 软件体系结构
3.1 软件体系结构模型
3.1.1 软件体系结构定义
3.1.2 软件体系结构模型
3.2 软件体系结构描述语言
3.2.1 体系结构描述语言设计考虑
3.2.2 体系结构描述语言实例研究
3.2.3 实用软件体系结构描述方法
3.3 软件体系结构风格
3.3.1 定义和作用
3.3.2 分层系统及其应用
3.3.3 容器系统及其应用
第4章 分布计算原理
4.1 概述
4.1.1 网络分布计算
4.1.2 分布式系统
4.1.3 中间件
4.2 基础模型
4.2.1 进程模型
4.2.2 时间模型
4.2.3 状态模型
4.2.4 失败模型
4.3 通信
4.3.1 网络通信协议
4.3.2 远程过程调用
4.3.3 远程方法调用
4.3.4 面向消息的通信
4.3.5 组播通信
4.4 进程
4.4.1 进程和线程
4.4.2 进程组织
4.4.3 进程迁移
4.5 并发控制
4.5.1 概述
4.5.2 互斥
4.5.3 选举
4.5.4 分布式死锁
4.6 寻址定位
4.6.1 名字解析
4.6.2 移动寻址
4.6.3 分布式散列表
4.6.4 分布式垃圾回收
4.7 容错
4.7.1 进程复制
4.7.2 数据复制
4.7.3 一致性协议
第5章 分布事务处理
5.1 分布事务
5.1.1 概述
5.1.2 事务模型
5.1.3 原子提交协议
5.2 事务并发控制
5.2.1 锁方法
5.2.2 时间戳排序方法
5.2.3 乐观并发控制方法
5.2.4 事务恢复
5.3 工作流事务
5.3.1 松弛事务模型
5.3.2 事务工作流调度
第6章 分布式算法
6.1 分布式路径路由算法
6.1.1 宽度优先搜索算法
6.1.2 最短路径路由算法
6.1.3 互联网动态路由策略
6.2 可靠性算法
6.2.1 可靠通信算法
6.2.2 节点故障处理算法
6.2.3 拜占庭故障处理算法
6.3 负载分配算法
6.3.1 静态负载分配算法
6.3.2 动态负载分配算法
第7章 分布式系统
7.1 基于文件的分布式系统
7.1.1 NFS
7.1.2 xFS
7.1.3 分布式文件系统比较
7.2 基于对象的分布式系统
7.2.1 CORBA
7.2.2 JavaEE
7.2.3 DCOM
7.2.4 .NET
7.2.5 分布式对象系统比较
7.3 基于Web的分布式系统
7.4 基于消息和协同的分布式系统
7.4.1 TIB
7.4.2 JINI
7.4.3 OnceDI
7.4.4 基于消息和协同的分布式系统比较
7.5 对等系统
第8章 网络软件基础架构平台
8.1 概述
8.2 消息通信中间件
8.3 事务处理中间件
8.4 应用服务器
8.4.1 微内核
8.4.2 组件容器
8.4.3 自适应资源重配
8.5 数据集成中间件
8.6 流程集成中间件
8.7 服务集成中间件
8.7.1 SOAP引擎
8.7.2 BPEL运行支撑
8.8 信息门户中间件
第9章 组件化软件工程开发
9.1 软件复用技术
9.1.1 软件复用过程
9.1.2 软件复用技术分类
9.1.3 软件复用带来的问题
9.2 基于组件的软件开发
9.2.1 概述
9.2.2 组件
9.2.3 基于组件的软件开发方法
9.2.4 COTS
9.3 软件模式
9.3.1 概述
9.3.2 结构型模式
9.3.3 分布型模式
9.3.4 交互型模式
9.3.5 适应型模式
9.3.6 基于模式的复用
9.4 软件框架和产品线工程
9.4.1 软件框架
9.4.2 软件产品线工程方法
9.4.3 组件容器领域分析
9.4.4 组件容器产品线框架
第10章 面向服务的计算
10.1 概念模型
10.2 Web服务技术
10.2.1 Web服务技术标准
10.2.2 Web服务通信
10.2.3 Web服务描述
10.2.4 Web服务发布和发现
10.2.5 Web服务组合
10.2.6 Web服务的元数据和语义
10.3 事务复合服务
10.3.1 松弛原子性验证
10.3.2 分布式并发控制
10.3.3 失败恢复
10.4 “软件即服务”和云计算
10.4.1 软件即服务
10.4.2 虚拟化
10.4.3 云计算
参考文献
附录A 专业词汇汉英对照表
附录B 专业词汇英汉对照表
附录C 常用英文缩略语表