文章目录
一. 软件体系结构概念
1. 软件的复杂性
问题:当系统的规模和复杂度不断增大的时候,构造整个系统的关键是什么?
举例:Web信息检索是对发布在Web信息资源进行搜集、整理和组织,形成一个信息资源索引库,并通过检索界面将最符合用户要求的网站或网页提供给用户。
总结:
2. 起源于建筑学的“体系结构”
3. 软件体系结构概念
软件体系结构 = 构件 + 连接件 + 约束
- 如何将复杂的软件系统划分成模块
- 如何规范模块的构成
- 如何将这些模块组织成为完整的系统
- 如何保证系统的质量要求
(1). 构件
(2). 连接
(3). 连接件
二. 软件体系结构的目标
三. 软件体系结构的发展
四. 体系结构风格、设计模式和框架的概念以及它们的区别
五. 软件设计原则
1. 抽象
2. 封装
3. 模块化
(1). 系统分解原则
系统分解的目标:高内聚、低耦合
4. 层次化
5. 复用
六. 软件体系结构风格
1. 常见的体系结构风格
(1). 主程序-子程序
(2). 面向对象风格
(3). 管道-过滤器风格
(4). 以数据为中心的风格
1. 仓库体系结构(Repository Architecture)
(5). 层次结构风格
2. 客户机/服务器结构
1. 两层C/S结构
2. 三层C/S结构
3. 浏览器/服务器结构
4. 集群结构
5. MVC结构
(1). 为什么需要MVC模式
缺点:用户界面一旦更改,就会影响到数据存取逻辑部分,这样不满足高内聚低耦合设计原则
(2). MVC模式概述
(3). 改进的MVC方案
6. 事件风格
(1). 程序调试器的体系结构
(2). 事件风格分类
(3). 事件隐式风格
(4). 事件风格的实现策略之一:选择广播式
(5). 事件风格的实现策略之二:观察者模式
七. 软件体系结构风格的选择
八. 软件设计过程
1. 软件设计元素
2. 系统总体设计
(1). 系统设计目标
(2). 确定子系统或模块
(3). 选择系统部署方案
(4). 定义设计策略
九. Web系统架构设计
1. HTTP服务器
2. MVC设计的HTTP后端服务器
(1). 解决耦合办法
3. 借助缓存提高Web访问的速度
十. 数据库选择策略
1. 什么是数据库?
2. 数据库的基本分类
3. 常用数据库介绍