软件架构设计实践教程 / 软件工程系列教材
作者: 张家浩
出版时间:2014年8月
出版社:清华大学出版社
- 清华大学出版社
- 9787302366379
- 30017
- 0045158040-1
- 16开
- 2014年8月
- 工学
- 软件工程
- TP311.5
- 计算机类
- 本科
全书共9章,分别是第1章认识软件架构,第2章架构与架构师的作用,第3章软件架构的描述与可视化,第4章从需求到架构,第5章软件架构设计的参考模型,第6章软件架构的概要设计与实现,第7章基于接口、组件和SOA的架构设计与实现,第8章基于MVC设计模式的架构设计与实现,第9章基于关键需求的架构设计、验证与评审。
本书与其他同类教科书的不同之处在于,作者根据多年企业工作和学校相关课程教学的经验,结 合学生的实际情况和特点,有所选择地强化了相关课程中从关键需求分析到概要设计、接口和组件设计、MVC模式应用、架构测试和验证等针对性、实用性强,学生看得见、摸得着,能感受、有兴趣学的软件架构知识和动手实践内容,淡化了软件架构的形式化描述等学生难于理解和把握且过于理论化的内容。
本书形式与内容编排与同类教科书有较大变化,在简短的基本概念介绍之后,配备大量的配套案例分析,希望能够帮助学生理解概念,并获得真实的架构体验。同时,在案例介绍中尽可能地采用当前比较流行的平台和工具,使学生在了解和掌握相关知识之后,马上就可以使用,缩短了学校与企业实际运用之间的距离。
教程每章还配有实践题和思考题,方便老师和学生使用。本书主要用作软件工程相关专业的“软件体系结构”课程,也可作为其他相关专业的教学用书,或作为从事软件开发的科技人员的参考书、培训教材等。
第1章 认识软件架构
1.1 软件架构与软件工程
1.1.1 软件产业的工业化与现代化
1.1.2 软件系统的复杂性
1.1.3 克服“软件危机”的进程
1.1.4 现代软件产业发展的时代特征
1.1.5 国内软件产业发展的问题
1.1.6 软件架构与软件工程课程的关系
1.1.7 本课程的参考书
1.2 软件架构概述
1.2.1 软件架构的定义
1.2.2 软件架构的视角
1.2.3 软件架构的表示方法
1.2.4 架构的一般特性
1.2.5 统一过程(RUP)的架构
1.3 感受身边的架构存在
1.3.1 电灯开关控制系统的架构
1.3.2 鼠标接口的架构
1.4 两个小程序的架构分析
1.4.1 两个小程序
1.4.2 “欢迎”程序的实现过程
1.4.3 小程序的架构实现小结
1.5 实践与思考
1.5.1 实践题
1.5.2 思考题
第2章 架构与架构师的作用
2.1 架构是需求将如何被实现的描述
2.1.1 文件传输软件的架构描述与分析
2.1.2 文件传输软件的新需求及其改进方案
2.1.3 架构描述表达了系统必须实现的需求
2.1.4 架构描述表达了软件系统的实现结构
2.2 架构提供满足关键属性需求的方案
2.2.1 汽车控制系统架构演变的案例分析
2.2.2 软件系统的关键质量属性需求
2.2.3 关键质量属性需求与系统功能的正交性
2.3 架构是软件迭代开发的框架
2.3.1 架构是软件迭代开发的框架
2.3.2 软件产品开发对架构的依赖
2.4 架构是软件过程管理的基础
2.4.1 软件过程可视性与软件架构
2.4.2 软件过程管理的基本内容
2.4.3 微软VSTS的软件过程跟踪
2.4.4 将架构的关键构件设定为基线
2.5 软件过程对架构的反作用
2.5.1 需求影响架构
2.5.2 系统设计影响架构
2.5.3 软件过程影响架构
2.5.4 组织影响架构
2.5.5 架构的反作用
2.6 软件架构师的作用、任务与责任
2.6.1 架构师的作用
2.6.2 架构师的任务与责任
2.6.3 从编码工程师到架构师
2.7 实践与思考
2.7.1 实践题
2.7.2 思考题
第3章 软件架构的描述与可视化
3.1 架构描述与UML架构视图
3.1.1 架构描述的基本考虑
3.1.2 基于UML 4+1的软件架构视图
3.2 绘制软件架构视图
3.2.1 用Visio 2007绘制架构视图
3.2.2 用Rational Rose 2003绘制架构视图
3.2.3 用VS 2010绘制架构视图
3.2.4 架构师的思考
3.3 使用Rational Rose逆向分析工具分析架构
3.3.1 Rational Rose逆向分析工具概述
3.3.2 对C++项目进行架构逆向分析
3.3.3 “欢迎”程序架构的逆向分析
3.3.4 架构师的思考
3.4 用微软VS 2010逆向分析工具分析架构
3.4.1 微软VS 2010逆向分析工具概述
3.4.2 使用VS 2010对五子棋程序进行架构逆向分析
3.4.3 “五子棋”系统架构的逆向分析
3.4.4 架构师的思考
3.5 架构设计阶段的软件工程文档
3.5.1 系统设计规范的内容
3.5.2 规范系统设计活动过程
3.5.3 规范设计的制品
3.5.4 需要编写哪些架构视图和文档
3.5.5 透过架构视图表现架构设计的核心内容
3.6 实践与思考
3.6.1 实践题
3.6.2 思考题
第4章 从需求到架构
第5章 软件架构设计的参考模型
第6章 软件架构的概要设计与实现
第7章 基于接口、组件和SOA的架构设计与实现
第8章 基于MVC设计模式的架构设计与实现
第9章 基于关键需求的架构设计、验证与评审
参考文献