图书目录

第1章软件工程和软件设计概述

1.1软件

1.1.1软件的本质

1.1.2软件神话

1.2软件工程

1.2.1软件工程基础知识

1.2.2软件过程和软件工程实践

1.2.3网络环境带来的影响

1.3软件设计

1.3.1软件工程中的设计

1.3.2设计过程和设计质量

1.3.3软件设计原则

1.4软件体系结构

1.4.1什么是软件体系结构

1.4.2软件体系结构的内容

1.4.3设计阶段的软件体系结构

1.5小结

1.6思考题

第2章软件模型和描述

2.1什么是软件模型

2.2软件模型的发展历程

2.3软件模型解析

2.3.1功能模型

2.3.2对象模型

2.3.3组件模型

2.3.4配置型组件模型

2.3.5服务模型

2.3.6抽象模型

2.4深入认识软件模型

2.4.1软件体系结构的描述

2.4.2软件体系结构的设计

2.5体系结构描述语言

2.5.1ADL简介

2.5.2几种典型ADL的比较

2.5.3描述体系结构行为

2.6小结

2.7思考题

第3章软件体系结构建模和UML

3.1软件体系结构建模概述

3.2基于软件体系结构的开发

3.3UML概述

3.3.1UML的发展历程

3.3.2UML的特点和用途

3.3.3UML 2.0的建模机制

3.4面向对象方法

3.4.1面向对象方法中的基本概念

3.4.2面向对象方法的优势

3.5UML 2.0中的结构建模

3.5.1类图

3.5.2对象图

3.5.3构件图

3.5.4部署图

3.6UML 2.0中的行为建模

3.6.1用例图

3.6.2顺序图

3.6.3通信图

3.6.4交互概览图

3.6.5时序图

3.6.6状态图

3.6.7活动图

3.7小结

3.8思考题

第4章软件设计过程

4.1软件设计基础

4.2软件体系结构设计

4.3高可信软件设计

4.3.1可信软件的特点

4.3.2容错设计

4.3.3软件失效模式和影响分析

4.3.4软件故障树分析

4.3.5形式化方法

4.3.6净室方法

4.4软件设计规格说明

4.5软件设计评审

4.6小结

4.7思考题

第5章软件体系结构风格

5.1软件体系结构风格概述

5.2软件体系结构基本风格解析

5.2.1管道过滤器

5.2.2数据抽象和面向对象风格

5.2.3基于事件的隐式调用风格

5.2.4分层系统风格

5.2.5仓库风格和黑板风格

5.2.6模型视图控制器风格

5.2.7解释器风格

5.2.8C2风格

5.3案例分析

5.3.1案例1: 上下文关键字

5.3.2案例2: 仪器软件

5.4C/S风格

5.5三层C/S结构风格

5.5.1三层C/S结构的优点

5.5.2案例: 某石油管理局劳动管理信息系统

5.6B/S风格

5.7C/S与B/S混合结构风格

5.8正交软件体系结构风格

5.8.1正交软件体系结构的概念

5.8.2正交软件体系结构的优点

5.8.3正交软件体系结构的实例

5.9异构结构风格

5.9.1使用异构结构的原因

5.9.2异构体系结构的实例

5.9.3异构组合匹配问题

5.10小结

5.11思考题

第6章面向对象的软件设计方法

6.1面向对象方法概述

6.2面向对象的分析与设计

6.2.1面向对象的系统开发过程概述

6.2.2面向对象分析

6.2.3面向对象设计

6.3面向对象的分析与设计过程案例: 图书管理系统

6.3.1用例分析与设计

6.3.2静态建模

6.3.3系统设计

6.3.4对象设计

6.3.5部署模型设计

6.4小结

6.5思考题

第7章面向数据流的软件设计方法

7.1数据流图与数据字典

7.1.1数据流图

7.1.2数据字典

7.2实体关系图

7.3状态迁移图

7.4案例分析: 教材购销系统

7.4.1数据流图的建立

7.4.2数据字典的建立

7.5面向数据流的需求分析方法

7.5.1自顶向下逐层分解

7.5.2描述方式

7.5.3步骤

7.6面向数据流的设计方法

7.6.1信息流的类型

7.6.2变换分析

7.6.3事务分析

7.6.4启发式设计策略

7.6.5设计优化

7.7小结

7.8思考题

第8章用户界面分析与设计

8.1人性因素

8.2设计良好界面的主要途径

8.2.1分析用户类型

8.2.2运用黄金规则

8.3用户界面分析

8.3.1用户分析

8.3.2任务分析和建模

8.3.3内容展示分析

8.3.4工作环境分析

8.4用户界面设计

8.4.1设计过程

8.4.2界面对象、动作和布局的定义

8.4.3设计用户界面需考虑的问题

8.5用户界面原型

8.5.1设计用户界面原型需考虑的问题

8.5.2实施用户界面原型

8.5.3获得有关用户界面原型的反馈

8.5.4如何展示原型

8.6界面设计的评估

8.7小结

8.8思考题

第9章设计模式

9.1设计模式与体系结构描述

9.2设计模式的主要作用

9.3常用设计模式解析

9.3.1创建型设计模式

9.3.2结构型设计模式

9.3.3行为型设计模式

9.4深入认识设计模式

9.5小结

9.6思考题

第10章Web服务体系结构

10.1Web服务概述

10.2Web服务体系结构模型

10.3Web服务的核心技术

10.4面向服务软件体系结构

10.5Web服务的应用实例

10.5.1Web服务的创建

10.5.2Web服务的发布

10.5.3Web服务的调用

10.6小结

10.7思考题

第11章基于分布构件的体系结构

11.1EJB分布构件框架

11.1.1EJB技术

11.1.2EJB的规范介绍

11.1.3EJB的体系结构

11.2DCOM分布构件框架

11.2.1DCOM的使用

11.2.2DCOM的特点

11.2.3DCOM的灵活配置与扩展机制

11.2.4在应用间共享连接管理

11.2.5DCOM的安全性设置

11.3COBRA分布构件框架

11.3.1COBRA的基本原理

11.3.2CORBA的体系结构

11.3.3CORBA规范

11.3.4CORBA产品概述

11.3.5讨论

11.4小结

11.5思考题

第12章软件体系结构评估

12.1软件体系结构评估的定义

12.1.1质量属性

12.1.2评估的必要性

12.1.3基于场景的评估方法

12.2SAAM体系结构分析方法

12.2.1SAAM的一般步骤

12.2.2场景的形成

12.2.3描述软件体系结构

12.2.4场景的分类和优先级划分

12.2.5间接场景的单独评估

12.2.6评估场景交互

12.2.7形成总体评估

12.3ATAM体系结构权衡分析方法

12.3.1ATAM参与人员

12.3.2ATAM结果

12.3.3ATAM的一般过程

12.3.4ATAM评估阶段

12.4评估方法比较

12.4.1场景的生成方式不同

12.4.2风险承担者商业动机的表述方式不同

12.4.3软件体系结构的描述方式不同

12.5小结

12.6思考题

第13章软件设计的进化

13.1软件演化概述

13.2软件需求演化

13.3软件演化的分类

13.4软件的进化策略

13.4.1函数层次

13.4.2类层次

13.4.3构件层次

13.4.4体系结构层次

13.5软件再工程

13.5.1业务过程重构

13.5.2软件再工程的过程模型

13.5.3软件再工程中的经济因素

13.6软件体系结构的演化

13.6.1软件体系结构模型

13.6.2动态软件体系结构

13.6.3软件体系结构的重建

13.7重构

13.7.1重构的目标

13.7.2如何重构

13.8软件移植

13.8.1源代码移植

13.8.2二进制移植方法

13.9小结

13.10思考题

第14章云计算的体系结构

14.1云计算

14.1.1云计算的定义和技术特点

14.1.2云计算的分类

14.1.3云计算与网格计算

14.2云计算服务模型

14.2.1云设计目标

14.2.2基础设施层IaaS

14.2.3平台层PaaS和应用程序层SaaS

14.3云计算主要平台

14.3.1谷歌应用引擎

14.3.2亚马逊的弹性计算云

14.3.3IBM的蓝云系统

14.3.4微软的Azure

14.3.5我国云计算产业的发展

14.4新兴云软件环境

14.4.1开源云计算基础设施

14.4.2Eucalyptus

14.4.3Nimbus

14.4.4RESERVOIR

14.5云计算的机遇与挑战

14.6小结

14.7思考题

参考文献