zoukankan      html  css  js  c++  java
  • 软件架构设计-五视图法

      关于软件架构设计这里不再赘述,不清楚的去问度娘。本篇文章主要讲解软件架构设计的五视图法及每种视图如何设计。

    一、是什么

    1、逻辑架构

      逻辑架构关注的是功能,包含用户直接可见的功能,还有系统中隐含的功能。或者更加通俗来描述,逻辑架构更偏向我们日常所理解的“分层”,把一个项目分为“表示层、业务逻辑层、数据访问层”这样经典的“三层架构”。

    2、开发架构

      开发架构则更关注程序包,不仅仅是我们自己写的程序,还包括应用程序依赖的SDK、第三方类库、中间件等。尤其是像目前主流的Java、.NET等依靠虚拟机的语言和平台,以及主流的基于数据库的应用,都会比较关注。和逻辑架构有紧密的关联。

    3、运行架构

      顾名思义,更关注的是应用程序运行中可能出现的一些问题。例如并发带来的问题,比较常见的“线程同步”问题、死锁问题、对象创建和销毁(生命周期管理)问题等等。开发架构,更关注的是程序运行前的一些准备工作,在静止状态下就能规划好做好的,而运行架构,更多考虑的是程序运行后可能发生的一些问题。

    4、物理架构

      物理架构,更关注的系统、网络、服务器等基础设施。例如:如何通过服务器部署和配置网络环境,来实现应用程序的“可伸缩性、高可用性”。或者举一个实际的例子,如何通过设计基础设施的架构,来保障网站能支持同时10W人在线、7*24小时提供服务,当超过10W人或者低于10W人在线时,可以很方便的调整部署架构来支撑。

    5、数据架构

      数据架构,更关注的是数据持久化和存储层面的问题,也可能会包括数据的分布、复制、同步等问题。更贴切来讲,如何选择需要的关系型数据库、流行的NOSQL,如何保障数据存储层面的性能、高可用性、灾备等等。很多时候,和物理架构是有紧密联系的,但它更关注数据存储层面的,物理架构更关注整个基础设施部署层面。

    二、怎么做(示例&工具)

    1、逻辑架构

      绘图工具:visio、亿图

    2、开发架构

     

       绘图工具:visio、亿图

    3、运行架构

      不常用,此处不做整理

    4、物理架构

      绘图工具:visio、亿图

    5、数据架构

      绘图工具:PowerDesigner

    三、概要设计模板 

      概要设计》

    参考资料: 《软件架构设计》

  • 相关阅读:
    ulimit
    python3.7安装Scrapy
    用VS2013写第一个汇编语言程序
    螺旋矩阵问题
    Java Web Pro与apache tomcat初始化关联
    记一次m3u8多个视频文件合并为整体法四(未加密)
    记一次m3u8多个视频文件合并为整体法三(未加密)
    记一次m3u8多个视频文件合并为整体法二(未加密)
    记将m3u8多个视频文件合并为整体法一(未加密)
    c++给定字符分割
  • 原文地址:https://www.cnblogs.com/pinenut/p/11811896.html
Copyright © 2011-2022 走看看