0
点赞
收藏
分享

微信扫一扫

软件工程——学堂在线学习笔记八(软件系统设计)


文章目录

  • ​​一. 软件体系结构概念​​
  • ​​1. 软件的复杂性​​
  • ​​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. 常用数据库介绍​​
  • ​​4. 数据库选择策略​​

一. 软件体系结构概念

1. 软件的复杂性

问题:当系统的规模和复杂度不断增大的时候,构造整个系统的关键是什么?

举例:Web信息检索是对发布在Web信息资源进行搜集、整理和组织,形成一个信息资源索引库,并通过检索界面将最符合用户要求的网站或网页提供给用户。

软件工程——学堂在线学习笔记八(软件系统设计)_数据库


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_02


总结:

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_03

2. 起源于建筑学的“体系结构”

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_04

3. 软件体系结构概念

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_05


软件体系结构 = 构件 + 连接件 + 约束

  • 如何将复杂的软件系统划分成模块
  • 如何规范模块的构成
  • 如何将这些模块组织成为完整的系统
  • 如何保证系统的质量要求

(1). 构件

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_06

(2). 连接

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_07

(3). 连接件

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_08

二. 软件体系结构的目标

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_09

三. 软件体系结构的发展

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_10

四. 体系结构风格、设计模式和框架的概念以及它们的区别

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_11


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_12


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_13

五. 软件设计原则

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_14

1. 抽象

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_15


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_16

2. 封装

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_17

3. 模块化

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_18

(1). 系统分解原则

系统分解的目标:高内聚、低耦合

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_19

4. 层次化

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_20


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_21

5. 复用

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_22

六. 软件体系结构风格

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_23


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_24

1. 常见的体系结构风格

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_25


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_26


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_27


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_28


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_29

(1). 主程序-子程序

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_30

(2). 面向对象风格

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_31

(3). 管道-过滤器风格

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_32


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_33

(4). 以数据为中心的风格

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_34

1. 仓库体系结构(Repository Architecture)

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_35


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_36


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_37

(5). 层次结构风格

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_38


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_39

2. 客户机/服务器结构

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_40

1. 两层C/S结构

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_41

2. 三层C/S结构

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_42


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_43

3. 浏览器/服务器结构

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_44

4. 集群结构

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_45

5. MVC结构

(1). 为什么需要MVC模式

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_46


缺点:用户界面一旦更改,就会影响到数据存取逻辑部分,这样不满足高内聚低耦合设计原则

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_47


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_48

(2). MVC模式概述

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_49


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_50

(3). 改进的MVC方案

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_51

6. 事件风格

(1). 程序调试器的体系结构

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_52

(2). 事件风格分类

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_53

(3). 事件隐式风格

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_54

(4). 事件风格的实现策略之一:选择广播式

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_55

(5). 事件风格的实现策略之二:观察者模式

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_56

七. 软件体系结构风格的选择

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_57


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_58

八. 软件设计过程

1. 软件设计元素

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_59

2. 系统总体设计

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_60

(1). 系统设计目标

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_61


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_62


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_63

(2). 确定子系统或模块

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_64


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_65

(3). 选择系统部署方案

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_66

(4). 定义设计策略

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_67


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_68


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_69


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_70

九. Web系统架构设计

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_71

1. HTTP服务器

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_72

2. MVC设计的HTTP后端服务器

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_73

(1). 解决耦合办法

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_74


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_75


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_76

3. 借助缓存提高Web访问的速度

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_77

十. 数据库选择策略

1. 什么是数据库?

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_78

2. 数据库的基本分类

软件工程——学堂在线学习笔记八(软件系统设计)_MVC_79


软件工程——学堂在线学习笔记八(软件系统设计)_数据库_80

3. 常用数据库介绍

软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_81


软件工程——学堂在线学习笔记八(软件系统设计)_软件体系结构_82


软件工程——学堂在线学习笔记八(软件系统设计)_MVC_83

4. 数据库选择策略

软件工程——学堂在线学习笔记八(软件系统设计)_数据库_84


举报

相关推荐

0 条评论