0
点赞
收藏
分享

微信扫一扫

【引子】C++从介绍到HelloWorld

1、软件架构的概念

架构的本质
1、软件架构为软件系统提供了一个结构、行为和属性的高级抽象。
2、软件架构风格是特定应用领域的惯用模式,架构定义一个词汇表和一组约束


架构的作用
1、软件架构是项目干系人进行交流的手段
2、软件架构是可传递和可复用的模型,通过研究软件架构可能预测软件的质量。
3、软件架构使推理和控制的更改更加简单,有助于循序渐进的原型设计,可以作为培训的基础。

架构设计就是需求分配,满足需求的职责分配到组件上。

通过不同的视角和视图

架构的4+1视图

以场景为核心、

逻辑视图为最终用户描述功能需求。

UML4+1视图

以用例为核心、建立需求分析模型

逻辑视图为系统分析、设计人员提供类与对象。

2、软件架构风格

架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。

架构风格定义了用于描述系统的术语表和一组指导构建系统的规则

2.1、数据流风格

前一步的结果是后一步的输入内容【数据驱动】、分步处理

2.2、调用/返回风格

构件之间直接交互、紧耦合

2.3、独立构件风格

构件之间不直接交互、松耦合

丢失了对子函数的控制权、

事件触发,添加了事件管理机制、隐式调用

 2.4、虚拟机风格

解释器、规则引擎

2.5、仓库风格

数据为中心,建立仓库,实现数据共享

1、数据库系统

2、黑板系统:记录、交换、跟进信息、触发知识源。如语音识别、知识推理。

3、超文本系统

现代软件编译器:以仓库风格为主,以 源码编译后作为数据中心 ,集成各类开发、调试工具

传统编译器:数据流-批处理

断点调试->事件风格

操作系统注册表->仓库风格

2.6、闭环控制架构(过程控制

适合于嵌入式系统,用于解决简单闭环控制问题。
经典应用:空调温控,定速巡航。

2.7、C2风格

构件和连接件都有一个顶部和一个底部。

构件的顶部要连接到连接件的底部,构件的底部要连接到连接件的顶部,构件之间不允许直连。

一个连接件可以和任意数目的其他构件和连接件连接。

当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。

层次性架构风格、总线系统

2.8、层次架构风格

属于调用/返回风格

2.8.1、两层C/S架构

客户端:表示层、业务处理

服务端:数据层、数据读取/存储

2.8.2、三层C/S架构

表示层:客户端,只用于内容显示、提交请求

功能层:应用服务器,接受表示层数据,并读取数据层数据,业务处理。

数据层:数据服务器,数据存储

2.8.3、B/S架构

2.8.4、三层B/S架构

2.8.4.1、MVC架构风格

打破了层与层的独立交互

J2EE体系结构中:
视图(View): JSP
控制(Controller): Servlet
模型(Model): EntityBean、Session Bean 、EJB

2.8.4.2、MVP架构风格

主要的程序 逻辑在Presenter里实现

通过定义好的接口进行交互

用于处理view频繁的修改

如:点赞、收藏等。

定时异步发送请求

2.8.4.3、MVVM架构

视图View

View-Model:动态渲染、监听数据变动

模型Model

2.8.4.4、RIA架构

富互联网 rich internet

Flex 相当于小程序,伪客户端

2.8.5、混合架构风格

内外有别模型

查改有别模型

 2.9、基于服务的架构SOA

对象、构件、服务

Web Service、ESB

特点:

WSDL就是WebService接口对应的WSDL文件,该文件通过xml格式说明如何调用,可以看作WebService的接口文档(使用说明书) 

2.10、微服务

特点

优势

挑战

2.11、MDA模型驱动架构

 

3、架构描述语言ADL

形式化的语言

基本元素:

1、构件:计算或数据存储单元

2、连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则。

3、架构配置:描述体系结构的构件与连接件的连接图

4、特定领域软件架构DSSA

基本活动:

建立过程 

 

 

5、基于架构的软件开发ABSD

开发过程:

举报

相关推荐

0 条评论