軟件架構設計-五視圖法


  關於軟件架構設計這里不再贅述,不清楚的去問度娘。本篇文章主要講解軟件架構設計的五視圖法及每種視圖如何設計。

一、是什么

1、邏輯架構

  邏輯架構關注的是功能,包含用戶直接可見的功能,還有系統中隱含的功能。或者更加通俗來描述,邏輯架構更偏向我們日常所理解的“分層”,把一個項目分為“表示層、業務邏輯層、數據訪問層”這樣經典的“三層架構”。

2、開發架構

  開發架構則更關注程序包,不僅僅是我們自己寫的程序,還包括應用程序依賴的SDK、第三方類庫、中間件等。尤其是像目前主流的Java、.NET等依靠虛擬機的語言和平台,以及主流的基於數據庫的應用,都會比較關注。和邏輯架構有緊密的關聯。

3、運行架構

  顧名思義,更關注的是應用程序運行中可能出現的一些問題。例如並發帶來的問題,比較常見的“線程同步”問題、死鎖問題、對象創建和銷毀(生命周期管理)問題等等。開發架構,更關注的是程序運行前的一些准備工作,在靜止狀態下就能規划好做好的,而運行架構,更多考慮的是程序運行后可能發生的一些問題。

4、物理架構

  物理架構,更關注的系統、網絡、服務器等基礎設施。例如:如何通過服務器部署和配置網絡環境,來實現應用程序的“可伸縮性、高可用性”。或者舉一個實際的例子,如何通過設計基礎設施的架構,來保障網站能支持同時10W人在線、7*24小時提供服務,當超過10W人或者低於10W人在線時,可以很方便的調整部署架構來支撐。

5、數據架構

  數據架構,更關注的是數據持久化和存儲層面的問題,也可能會包括數據的分布、復制、同步等問題。更貼切來講,如何選擇需要的關系型數據庫、流行的NOSQL,如何保障數據存儲層面的性能、高可用性、災備等等。很多時候,和物理架構是有緊密聯系的,但它更關注數據存儲層面的,物理架構更關注整個基礎設施部署層面。

 

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

1、邏輯架構

  繪圖工具:visio、億圖

 

2、開發架構

 

   繪圖工具:visio、億圖

3、運行架構

  不常用,此處不做整理

4、物理架構

  繪圖工具:visio、億圖

5、數據架構

  繪圖工具:PowerDesigner

三、概要設計模板 

  概要設計》

參考資料: 《軟件架構設計》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM