[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统

前言:

如何“从无到有”设计一个企业信息系统?本文将探索这个话题。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第1张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第2张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第3张图片

第1章 目标对象:什么是企业信息系统?

1.1 企业信息化战略

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第4张图片

备注:

在实际企业中,并不一定是企业信息化软件系统,也可以数字化系统、也可以是新产品。

企业信息化,并不一定是自己开发软件系统,也可以是外购来构建企业信息化系统。

信息系统规划属于项目开发的前端,在需求分析之前就开始了。通常是产品部门或规划部门的职责。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第5张图片

备注:

单系统开发,可以是自研一个软件系统,也可以是从无到有构建一个软件系统。

构建一个信息化系统时,可以是甲方,也可以是乙方,也可以是自研外销,因此信息化系统,不仅仅用于软件研发企业,也适合任何需要信息化系统辅助企业战略的企业、公司、政府机构等。

实施可以是自研,也可以外购、外包等形式,

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第6张图片

信息化,无论是甲方,还是乙方,都是为了完成目标企业的战略目标。

甲方实施信息化:是为了满足自身的战略需求和业务重组、优化。

乙方开发信息化系统:满足客户信息化的需求,同时也实现自身组织的价值。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第7张图片

备注:信息化是为企业业务服务的,不能为了信息化而信息化。

1.2 信息战略规划、实施步骤

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第8张图片

第一阶段:内部数字化

第二阶段:内部集成化

第三阶段:内外集成化

1.3 政府信息化

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第9张图片

1.4 企业信息化体系

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第10张图片

1.5 企业信息应用

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第11张图片

备注:

信息系统应用包括:

  • 用于企业运营管理的通用软件系统,如ERP, 供应链管理等等。

  • 用于企业运营生成的专有软件系统,如银行、化工、通信、生产等,都是行业特定应用软件。

第2章 系统规划:对信息系统项目启动前的系统规划

2.1 步骤

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第12张图片

2.2 可行性分析

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第13张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第14张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第15张图片

2.3 成本分析

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第16张图片

第3章 软件工程:利用软件工程的思想指导新开发的信息系统的软件项目研发

3.1 信息系统生命周期

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第17张图片

需求分析:企业业务的需求分析,而不是信息系统的需求分析,输出是立项书。

总体规划:又称为系统规划/计划,输出是可行性研究报告。

系统分析:系统需求分析,输出是需求规格说明书。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第18张图片

3.2 信息系统开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第19张图片

结构化:按照时间阶段进行结构化划分,适合需求非常明确,可以逐步分解的仓和。

原型:适合需求不明确的场合。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第20张图片

备注:

  • 首先,在现有的系统上恢复系统的抽象模型。

  • 然后,对现有模型进行优化,设计出新的符合自身业务需求的系统。

  • 最后,基于新的模型,开发出新的软件系统。

3.3 软件开发模型(单一软件)

3.3.1 概述

软件模型:是开发过程某种约定和套路。

模型是是开发方法的进一步细化和落地,是最佳实践的总结与抽象。

因此,开发模型是构建在开发方法之上的。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第21张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第22张图片

3.3.2 瀑布模型开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第23张图片

3.3.3 增量模型与螺旋模型开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第24张图片

3.3.4 V模型与喷泉模型开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第25张图片

3.3.5 组件组装模型开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第26张图片

3.3.6 统一过程模型UML开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第27张图片

3.3.7 敏捷开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第28张图片

3.3.8 逆向工程开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第29张图片

3.3.9 净室软件工程开发方法

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第30张图片

3.3.10 基于架构的软件开发方法ABSD:架构驱动开发

基于架构驱动软件开发的方法论。

这种开发方法,以架构为核心,从软件领域模型、到软件需求、到架构设计、以及软件测试、软件评估,

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第31张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第32张图片

备注:

架构中包含的设计的各种组件,需要进一步完成组件/构件的设计和实现。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第33张图片

3.4 软件产品线(系列化软件)

软件产品线(software product line)是指具有一组可管理的公共特性的软件密集性系统的合集。

软件产品线是指具有一组可管理的公共特性的软件密集性系统的合集。

软件产品线是指具有一组可管理的公共特性的软件密集性系统的合集,这些系统满足特定的市场需求或任务需求,并且按预定义的方式从一个公共的核心资产集开发得到。

软件产品线:适合行业软件的开发

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第34张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第35张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第36张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第37张图片

备注:

大平台的开发就是一种核心资源的开发。

产品开发注重满足客户的需求的产品。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第38张图片

第4章 项目管理:利用项目管理的技术对软件开发过程进行项目管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第39张图片

4.1 范围管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第40张图片

4.2 时间管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第41张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第42张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第43张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第44张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第45张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第46张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第47张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第48张图片

4.3 成本管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第49张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第50张图片

4.4 质量保证

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第51张图片

4.5 配置管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第52张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第53张图片

4.6 变更控制

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第54张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第55张图片

4.7 风险管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第56张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第57张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第58张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第59张图片

第5章 需求分析:利用需求工程的技术对信息系统进行需求分析

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第60张图片

5.1 需求工程

需求:功能、性能、行为、约束条件

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第61张图片

5.2 需求分类

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第62张图片

业务:目标,宏观业务角度提出的概述性的需求

用户:行为,细化后的用户行为需求,从用户操作的角度提出的需求。

功能:细化后的软件需求,从软件实现的角度提出的需求。

系统:功能、性能、约束

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第63张图片

5.3 需求获取

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第64张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第65张图片

5.4 需求分析:结构化需求分析

适合结构化软件开发方法,在结构化软件开发流程中,处于需求分析阶段。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第66张图片

5.4.1 数据流图

功能:外部实体、数据流、数据加工

行为:外部实体、状态图、消息交互图

实体:内部实体、关系、联系

备注:数据流图,与硬件原理图类似!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第67张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第68张图片

类似与绘制硬件原理图

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第69张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第70张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第71张图片

5.4.2 状态转换图

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第72张图片

5.4.3 E-R模型

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第73张图片

5.5 需求分析:面向对象需求分析

适合面向对象的软件开发方法,在面向对象的软件开发方法流程中,处于需求分析阶段。

5.5.1 基本概念

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第74张图片

多态:继承于相同的父类的不同的子类对象,通过父类指针传递相同的消息,不同的子类对象,执行不同的功能。

5.5.2 UML语言

5.5.2.1 概述
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第75张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第76张图片

备注:在面向对象中,实体/事物不仅仅是名词,还包括动词。

名词:结构性事物、分组事物、注释事物

动词:动作、行为性事物

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第77张图片
5.5.2.2 UML静态结构图 + 动态行为图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第78张图片

备注:

用例图被定为动态图还是静态图是有争议的。

软考中,把用例图定义为动态图。

5.5.2.3 UML 4+1视图

视图的目的是化繁为简、从不同的角度展示目标软件系统。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第79张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第80张图片
5.5.2.4 用例图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第81张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第82张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第83张图片

5.5.2.5 类与对象图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第84张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第85张图片
5.5.2.6 顺序图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第86张图片
5.5.2.7 通信图/协作图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第87张图片
5.5.2.8 活动图 + 泳道
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第88张图片

备注:类似流程图

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第89张图片

备注:多进程之间有相互协助关系的流程图。

5.5.2.9 状图图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第90张图片
5.5.2.10 构建图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第91张图片

备注:封装后的类与它的接口。

5.5.2.11 部署图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第92张图片

5.5.3 需求建模

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第93张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第94张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第95张图片

5.6 需求定义:把需求分析的结果文档化

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第96张图片

形态:SRS需求规格说明书

  • 文本

  • 图形

5.7 需求验证

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第97张图片

5.8 需求基线

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第98张图片

5.9 需求跟踪

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第99张图片

5.10 需求风险管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第100张图片
  • 人:客户、需求分析人员、管理人员

  • 内容:变、多、不准确

  • 形式:精简

第6章 系统设计:利用架构设计技术对信息系统进行系统架构设计

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第101张图片

6.1 业务处理流程

输入:业务流程分析

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第102张图片

6.1.1 IDEF处理流程设计

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第103张图片

6.2 软件架构定义

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第104张图片

6.3 软件架构风格

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第105张图片

6.4 结构化设计:概要设计、详细设计

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第106张图片

6.5 面向对象设计

6.5.1 基本过程

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第107张图片

6.5.2 基本原则

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第108张图片

6.5.3 设计模式

6.5.3.1 基本概念
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第109张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第110张图片
6.5.3.2 创建性模式
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第111张图片
6.5.3.3结构性模式
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第112张图片
6.5.3.3 行为性模式
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第113张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第114张图片

6.6 人机界面设计

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第115张图片

6.7 Web应用设计

6.7.1 概述
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第116张图片
6.7.2 单机Web Server
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第117张图片
6.7.3 Web应用服务器集群
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第118张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第119张图片
6.7.4 负载均衡
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第120张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第121张图片
6.7.5 web server状态
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第122张图片
6.7.6 读写分离
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第123张图片
6.7.7 内存缓存/内存数据库
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第124张图片
6.7.8 内容分发网络
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第125张图片
6.7.9 XML和Jason数据表示格式
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第126张图片
6.7.10 Web应用服务器与应用的分离
6.7.11 Web缓存技术
6.7.12 REST
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第127张图片
6.7.13 响应式Web设计
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第128张图片
6.7.14 定时图
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第129张图片

第7章 软件架构设计:利用软件架构设计的方法设计软件系统的架构

7.1 软件架构的概念

架构是业务需求的在软件功能上的分配

架构是软件系统越来越丰富、种类越来越多之后的产物。

架构和框架的区别

  • 架构Architecture:是目标软件系统的抽象,不涉及到软件代码。

  • 框架Framework:是目标软件系统的框架,是代码的实现,在此代码框架下,很容易扩展新的功能。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第130张图片

备注:

软件架构提供了软件系统在结构、行为、属性的高级抽象!!!

7.2 软件架构的发展史

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第131张图片

备注:

4+1是UML的升级和简化

7.3 软件架构中不同视图的架构

基本思想:分解、拆解、化繁为简、抽象

7.3.1 架构视图的种类

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第132张图片

框架模型:反映的是软件的整体结构

静态结构模型:反映各种功能组件的关系(横向)

静态功能模型:分层模型 (纵向)

动态行为模型:系统的对外行为

过程模型:构建目标系统的步骤和过程

7.3.2 4+1视图模型

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第133张图片

备注:不同的视图,反应了不同视角的架构展示。

7.4 架构风格:15种基础架构风格

架构风格:是一类经典业务问题的、通用的软件解决方案。

复杂软件系统中,是各种风格的有机组合、混合!!!复杂系统,很少见到单一风格。

软件架构类似公司的组织架构!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第134张图片

复用是软件系统永恒的追求,架构设计的核心问题:架构级的复用!!!

架构就是软件系统众多结构和语义的抽象!!!

因此,抽象的能力是架构的关键!!!

7.4.1 数据流风格(串行结构:环环相扣)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第135张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第136张图片

数据流风格没有一个统一的集中调度者,每个环节是环环相扣,它们之间只是先有处理的时序关系,没有主从关系。

数据流风格适合:对数据进行pipeline处理的场合,如数据通信、网络数据协议栈、5G通信中的数据面、控制面、管理面、同步面等各个面的数据处理+严格的处理流程!!!!

网络播放器一边下载,一边播放,就是流式处理!!!

7.4.2 调用返回风格(树形层次结构:统一调度)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第137张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第138张图片

调用返回风格,在现有的软件系统中,无处不在,main函数调用各种子函数、网络协议栈,都是调用返回风格。

分层的目的:降低耦合度!!!

分层的缺陷:数据在层与层之间传递,需要有额外的开销以及数据的拷贝,会牺牲系统的性能!!!

7.4.3 独立构件风格/隐式调用:没有直接依赖关系的、独立的、并行结构

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第139张图片

备注:

注册和通知机制,就是独立架构风格。

应用程序、组件Component之间相互解耦,每个组件与中间管理者关联。

QT UI的事件与slot函数调用之间的关系,就属于隐式调用。

7.4.4 虚拟机风格:规则和执行分离

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第140张图片

如IPTable机是基于规则的系统架构!!!

解释器或规则解析系统对动态创建的规则和代码进行解释!!!

能够根据指定或可编排的任务和顺序进行执行程序也属于解释器风格。

7.4.5 仓库风格:以待处理的数据为中心

分布式数据库就是采用这种风格的架构

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第141张图片

黑板:就相当于一个全局的数据库,所有的程序都监控全局数据库!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第142张图片

备注:

黑板系统与数据库系统总体结构是一致的。

不同的是:黑板的目的不是存储数据,而是为了广播信息、传递。

黑板内容的变化会引发观察者行为的变化!!!!

7.4.6 闭环控制风格: 自动化控制

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第143张图片

适合于工业控制领域,不如恒定温度控制,如PID控制等 。

7.4.7 C2构件风格:并行构建通过连接件连接

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第144张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第145张图片

7.4.8 层次架构风格:网络客户单服务器架构CS/BS架构

层次架构风格归属于调用返回风格。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第146张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第147张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第148张图片

备注:

把容易变化的后台业务处理部分,从客户端平移到服务器端执行,这样增加了系统的可修改性。

因为在服务器端改动逻辑的灵活性远远大于在分布式的客户端修改程序。

CS架构,需要在客户端安装客户端程序!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第149张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第150张图片

7.4.9 MVC架构风格:图形化界面

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第151张图片

View:前台显示

Controller:后代业务逻辑处理

Model:数据库访问

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第152张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第153张图片

7.4.10 MVP架构风格

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第154张图片

7.4.11: MVVM架构风格

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第155张图片

7.4.12 富互联网应用RIA架构风格

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第156张图片

远程从服务器下载程序到本地,然后在本地执行。

7.4.13 基于分布式服务的架构SOA

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第157张图片

备注:

  • 服务是架构在构件之上

  • 服务是规范化后的构件

  • 服务是可用独立部署的构件

  • 各种服务通过企业服务总线ESB(中介者)连接起来

  • 应用程序通过ESB访问各种服务

  • 服务与服务之间是松散耦合

  • 服务:服务的提供者,网络中有大量的服务的提供者

  • 应用程序性:服务的使用者,少量的服务的使用者

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第158张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第159张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第160张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第161张图片

备注:分层协议

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第162张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第163张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第164张图片

7.4.14 微服务架构风格

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第165张图片

备注:

容器、自动化部署为微服务的普及提供的底层的技术基础。

敏捷团队、敏捷思想:为微服务的开发提供了组织和文化基础!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第166张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第167张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第168张图片

备注:

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第169张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第170张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第171张图片

7.4.15面向对象:模型驱动架构的风格MDA

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第172张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第173张图片

7.5 架构描述语言

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第174张图片

备注:ADL是使用的是伪语言,图形描述语言。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第175张图片

7.6 行业软件:特定领域软件架构DSSA(Doamin Spefic Software Architecture)

DSSA关注的是行业软件的通用架构!!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第176张图片

备注:

就是以架构为导向,把行业领域的共性特征,抽离出来,形成通用的行业软件架构过程,就是特定领域软件架构设计,得到的架构就是特定领域软件架构

实际上,各行业都有专门的软件人员或公司在设计和软件行业软件的通用架构,以支撑行业的各种应用。

有些公司是专门做行业平台,为行业应用提供通用的解决方案,这种方案是通用的,有些公司都在行业应用。

而有些大公司,既做自己企业内部的行业平台,这种平台是企业专有的,也做自己的行业应用。

绝大部门软件,最终都是在行业内得到体现了!!!!

在通用个人电脑开发的软件,如PC机,办公软件,都是通用软件。

而解决特定行业应有的软件,如化工、生产、银行等,都属于特定的行业软件,产生的软件架构,就是行业软件架构!!!!

这个领域的架构需要的技能:

  • 领域知识 =》 系统需求

  • 公共架构知识 =》 可复用的软件架构

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第177张图片

备注:

上述各种人员,包括软件开发人员,都需要领域技能知识。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第178张图片

7.8 软件架构评估与软件系统质量

通过评软件架构的质量,来推测软件系统的质量。

软件架构的质量是通过软件功能性和非功能性质量来评估的!!!

7.8.1 影响软件质量的主要因素

  • 软件开发流程的流程本身的质量

  • 流程的完备程度

  • 流程的复杂度

  • 软件开发流程中每个环境输出的质量

  • 软件需求(功能与非功能需求)的质量

  • 架构的质量

  • 软件编程的质量

  • 测试的质量

  • 软件开发流程中每个环节人的质量

  • 技能水平

  • 工作态度

  • 项目管理的质量

7.8.2 软件架构评估的依据:“三点”

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第179张图片
  • 风险点:影响大

  • 敏感点:敏感

  • 权衡点:多方权衡

7.8.3 质量属性

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第180张图片

可靠与可用性是具有相同的因素,又是不完全相同的概念

相同点:

  • 可用和可靠都关注软件能够持续为用户提供服务的能力

不同点:

  • 可用性:关注正常场景下提供服务的能力

  • 可靠性:关注异常场景下提供服务的能力

7.8.4 软件架构评估的方式:“三式”

  • 调查表:定性、主观,获取专家的经验与意见

  • 量化度量:定量,难度大

  • 场景评估:先细化业务应用场景,客观性,获取专家的经验与意见,应用广

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第181张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第182张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第183张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第184张图片

备注:

第一阶段:用文字描述和语言交流的形式获取场景。

第二阶段:用图形和视图的形式展现场景。

第三阶段:确定场景中的软件质量属性

第四阶段:相互制约的质量因素进行折中,需求是无限的,必须进行优先级排序和折中,有所取舍!!!

  • 场景的优先级

  • 质量属性的优先级

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第185张图片

第8章 硬件设计:计算机组成与体系结构

8.1 编码

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第186张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第187张图片

8.2 体系结构分类(数据流与指令流的关系)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第188张图片

8.3 CISC与RISC

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第189张图片

8.4 流水线

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第190张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第191张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第192张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第193张图片

8.5 层次化存储结构

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第194张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第195张图片

8.6 局部性原理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第196张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第197张图片

8.7 编址

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第198张图片

8.8 磁盘结构

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第199张图片

8.9 总线

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第200张图片

8.10 校验

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第201张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第202张图片

8.11 可靠性指标(串联、并联)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第203张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第204张图片

8.12 性能指标

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第205张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第206张图片

8.13 嵌入式系统硬件架构

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第207张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第208张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第209张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第210张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第211张图片

第9章 操作系统设计:了解操作系统原理,选择操作系统

9.1 进程管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第212张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第213张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第214张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第215张图片

(1)同步:等

(2)互斥:抢

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第216张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第217张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第218张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第219张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第220张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第221张图片

9.2 存储管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第222张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第223张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第224张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第225张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第226张图片

9.3 文件管理

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第227张图片

9.4 微内核

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第228张图片

第10章 数据库设计:利用数据库设计原理,设计数据库系统

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第229张图片

10.1 三级模式-两层映射

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第230张图片

备注:

分层的目的是用来应对变化。

映射就是用来不同的层之间进行映射,通过映射,实现了不同层之间的隔离。

10.2 数据库设计四步骤:分析、概念设计(ER模型)、逻辑设计(关系)、物理设计(OS+硬件)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第231张图片

10.3 ER模型

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第232张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第233张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第234张图片

10.4 关系代数

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第235张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第236张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第237张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第238张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第239张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第240张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第241张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第242张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第243张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第244张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第245张图片

10.5 并发控制

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第246张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第247张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第248张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第249张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第250张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第251张图片

10.6 数据库完整性、安全性

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第252张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第253张图片

10.7 数据库备份与恢复

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第254张图片

10.8 分布式数据库

10.9 数据库性能优化

11.10 大数据

第11章 网络设计:网络通信原理,选择网络协议栈、设置网络架构

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第255张图片

11.1 TCP/IP协议栈

11.2 网络故障诊断命令

11.3 需求分析

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第256张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第257张图片

11.4 分层设计

11.5 网络接入技术

11.7 IPV6

11.6 物联网

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第258张图片

11.7 云计算

11.8 综合布线系统

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第259张图片

第12章 系统安全分析与设计:安全性相关功能的设计

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第260张图片

12. 1 对称加密

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第261张图片

12.2 非对称加密

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第262张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第263张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第264张图片

12.3 数字签名

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第265张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第266张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第267张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第268张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第269张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第270张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第271张图片

12.4 安全协议

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第272张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第273张图片

12.5 网络攻击

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第274张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第275张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第276张图片

12.6 病毒与木马

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第277张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第278张图片

第13章 中间件技术:利用中间件技术来构件中间件平台

13.1 中间件(屏蔽、分布式、简化App)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第279张图片

中间件的意义:

  • 分布式应用程序(对等模型、客服服务器模型)之间的共享资源与通信

  • 屏蔽硬件、操作系统、网络、数据库的差异

  • 简化了应用程序的开发和运行

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第280张图片

13.2 构件(标准、独立、可替代)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第281张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第282张图片

构件:是一组相关类的对象和结构体变量的集合体。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第283张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第284张图片

程序 = 算法 + 数据结构 =》面向对象

面向功能:功能行为函数算法/操作为核心

面向数据:以表达数据的数据结构为核心,如XML, Jackson

面向对象:对象是数据和功能行为的封装体

复用性:面向对象的封装性使得面向对象技术更适合复用性。

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第285张图片

13.3 中间件的优点

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第286张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第287张图片

13.4 远程过程调用中间件

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第288张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第289张图片

13.5 远程方法调用中间件

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第290张图片

13.6 对象请求代理中间件

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第291张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第292张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第293张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第294张图片

13.7 面向消息的中间件

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第295张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第296张图片

13.8 事务处理中间件

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第297张图片

13.9 中台

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第298张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第299张图片

备注:

中台的本质是它代表企业的核心能力!!!

小前台:直接面向用户、异变、赚钱 (如在激光器行业,就是各种激光器的应用项目)

中台:核心能力、核心价值、不可替代、借助小前台赚钱 (如在激光器昂也,就是核心的激光器产品)

要打造:大中台、小平台的运营模式!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第300张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第301张图片

备注:

淘宝和天猫:是前台 (是树叶)

交易中心、商品中心是:中台 (是树干)

阿里云平台:是后台(是基础、是根基、是树根)

一个好的模式是:大中台、小前台、稳后台

第14章 互联网应用架构:利用应用架构技术设计应用程序架构

14.1 分布式多层应用程序

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第302张图片

客户层:UI层、业务应用层

Web层:Web协议层

业务层:业务相关的后台处理

数据层:应用相关的数据,存放在数据库中

14.2 J2EE

14.3 Web应用架构设计

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第303张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第304张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第305张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第306张图片

14.4 负载均衡技术

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第307张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第308张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第309张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第310张图片

14.5 有无状态

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第311张图片

14.6 数据库的读写分离技术(读库、写库)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第312张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第313张图片

14.7 数据缓存技术

数据缓存:把数据暂时存放在内存中,而不需要存放在物理数据库中。

数据缓存:本质是一种数据库,又称为内存数据库,这是相对于硬盘数据而言的。内存数据库的问题时,掉电后,数据就丢失,不可恢复!!!

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第314张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第315张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第316张图片

14.8 内容分发网络

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第317张图片

14.9 数据表示XML与JSON

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第318张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第319张图片

14.10 应用服务器(后台)

14.11 表述性状态传递RESTFUL

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第320张图片

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第321张图片

第15章 编码实现:利用编程技术对信息系统进行编程实现

(1)编程语言: C++, C,Java, Python

(2)编程技巧

(3)业务逻辑

第16章 软件测试:利用测试技术对信息系统进行测试

16.1 测试类型

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第322张图片

黑盒:程序的外部接口

白盒:程序的内部流程

16.2 用例设计

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第323张图片

16.3 测试阶段(不同阶段,不同的测试类型)

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第324张图片
[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第325张图片

16.4 面对对象测试

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第326张图片

16.5 软件调试

[架构之路-141]-《软考-系统架构设计师》-如何“从无到有”设计一个信息系统_第327张图片

第17章 其他考虑:

你可能感兴趣的:(架构之路,软件工程,架构设计,需求分析,架构师,需求分析师)