软件架构设计


  软件架构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。而架构问题包括总体组织和全局控制、通信协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。
  一、软件架构建模:
  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
  正交架构:正交软件架构由组织层和线索的构件构成。【层次化,上层调用下层的线索,如果线索是相互独立的,即不同的构件之间是不存在相互调用,那这个结构就是完全正交的,其基本思想是把应用系统的结构按功能的正交相关性,垂直分割为若干个线索(子系统),线索又分为几个层次,每个线索由多个具有不同层次功能和不同抽象级别的构件构成,系统有一个公共驱动层(最高层)和公共数据结构(最低层)】
  基于层次消息总线的架构:基于层次

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