软件架构设计

      软件架构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。而架构问题包括总体组织和全局控制、通信协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。

 一、软件架构建模:

1、结构模型:以架构的构件、连接件和其他概念来刻画结构

2、框架模型:比结构模式更侧重整体

3、动态模型:对结构模式和框架模型的补充,研究系统“大颗粒”的行为性质

4、过程模型:研究构造系统的步骤和过程

5、功能模型:该模型认为架构是由一组功能构件按层次组成,下层向上层提供服务。

【5种模型中最常用的是结构模型和动态模型】

 

“4+1”视图模型:

逻辑视图【功能需求】

开发视图【软件管理】

进程视图【性能可扩充性和吞吐量】

物理视图【系统拓扑、安装和通信】

场景

 

二、软件架构风格

通用架构风格分类如下:

1、数据流风格:批处理序列、管道/过滤器

2、调用/返回风格:主程序/子程序、面向对象风格、层次结构

3、独立构件风格:进程通信、事件系统

4、虚拟机风格:解释器、基于规则的系统

5、仓库风格:数据库系统、超文本系统、黑板系统

 

客户端/服务器风格

两层C/S下的胖客户端和三层C/S【表示层、功能层、数据层】

B/S与C/S区别:B/S几乎算是0客户端了,容易在运行时自动升级,但是B/S缺乏对动态页面的支持能力,没有集成有效的数据库处理功能,且扩展能力差,安全性难以控制,采用B/s架构的应用系统在数据查询等响应速度上要远低于C/S,并且数据的交互性不强。【B/s其实是三层C/s中的一种,它的功能层放在Web服务中】

为了解决B/s下的富因特网应运而生,主要的RIA技术平台:Flash/Flex、Bindows、Java、Ajax、Laszlo、Xul、Avalon

 

正交架构:正交软件架构由组织层和线索的构件构成。【层次化,上层调用下层的线索,如果线索是相互独立的,即不同的构件之间是不存在相互调用,那这个结构就是完全正交的,其基本思想是把应用系统的结构按功能的正交相关性,垂直分割为若干个线索(子系统),线索又分为几个层次,每个线索由多个具有不同层次功能和不同抽象级别的构件构成,系统有一个公共驱动层(最高层)和公共数据结构(最低层)】

 

基于层次消息总线的架构:基于层次渻总线,支持构件的分布和并发,构件之间通过消息总线进行通信【类似于硬件中的总线结构只过它是连接各个构件的或者是复合构件(子系统【内部也是消息总路线的架构】),各个构件挂接在消息总线上,向总线登记感兴趣的消息类型,构件根据需要发出消息,由消息总路线负责把消息分派到系统中所有对此消息感兴趣的构件】

你可能感兴趣的:(架构设计)