zoukankan      html  css  js  c++  java
  • 系统架构过程-细化架构

      之前我写过几篇博客,关于《架构漫谈》读后感,书中详细阐述了什么是架构,为什么要架构,如何架构三大核心问题。

      那么什么是架构呢?

         首先,要根据需要解决的问题,对目标系统的边界进行界定。然后对目标系统按某个原则进行切分,并且使这些部分可以进行有机的联系,完成目标系统的所有工作。

      架构设计一般分为三个阶段,PA阶段,CA阶段,RA阶段。今天,我们主要聊一聊关于系统架构过程的细化部分。我们经常误以为架构和方案描述的同一种方法,但其实方案和架构是不同的概念,方案包含一定的架构内容,方案涉及架构基本在概念一级,架构设计的工作在方案中还远未完成。

      下面主要介绍RA阶段的架构细化方法:1.接口,在细化架构中占核心地位,概念架构不关心接口的使用和实现2.子系统,细化架构重视通过子系统和模块来分割整个系统,并且子系统有明确的接口;而概念架构中只有抽象的组件,这些组件是没有接口的。3.交互机制,细化架构基于接口编程,消息机制或远程方法调用进行实在的交互,而概念架构的交互是概念化的。

      那么如何进行软件架构呢,一千个人眼中有一千个哈姆雷特,不同涉众看待软件架构的视角也是不同的:

      

      在细化架构的过程中,概念架构,细化架构以及实际开发实现是有逻辑关系的:

      

      我们了解了基本概念之后,就要掌握如何进行细化架构。

      细化架构的实践要领就是-多视图:

      5视图方法,每一个视图代表每一个思维角度,包括逻辑视图,物理视图,开发视图,数据视图,运行视图

      

      以下将会围绕这五个视图进行分别介绍:  

      逻辑架构包括分层的细化,分区的引入以及机制的提取。

      1.分区引入:分区引入是指架构中引入分区,支持深度优先的迭代开发

      2.机制的提取:基于接口(或抽象类)的协作是机制,基于具体类的协作算不上机制

      3.子系统的划分:必须三管齐下,综合运用三种手段:分层细化,分区引入,机制提取

      

        

  • 相关阅读:
    ubuntu 安装mysql和redis 开放远程连接
    linux时间不对,执行ntpdate时间同步始终不对。
    Web漏洞
    生产者消费者模型
    多进程抢票问题
    socket通讯-----UDP
    python3读写csv文件
    # 把csv转xls
    python os模块 用资源管理器显示文件,pyinstall打包命令
    创建一个最简单的pyqt5窗口
  • 原文地址:https://www.cnblogs.com/Aduorisk/p/12672482.html
Copyright © 2011-2022 走看看