為什么需要架構圖,怎么畫?

Technorati 標簽: 架構圖,架構,交流,布局

不知不覺中做架構師也已經4年了,最初的感覺只是一個名號,不再把代碼作為強制的任務,后來開始慢慢的轉變工作內容。畫圖,成為了我的主要工作。我可能不是每天都在寫代碼,但卻是每天都在畫圖,而且我越來越覺得畫圖讓我更容易說清楚。

畫架構圖有幾個好處:看清楚系統包含哪幾個部分,各個部分實現什么職責,相互之間的關系是什么。當和別人討論的時候,通過架構圖可以很容易的把討論的問題框定在一個確定的范圍里,可以很容易的察覺出彼此之間存在誤解的一些區域,比如對一個底層的組件。這樣就能避免兩個人討論了半天,結果發現你說的是A模塊,我說的是B模塊。

當我需要向別人說明某個問題時,通過畫圖,可以高效的說明問題的背景,哪些是相關的,哪些是無關。聽我說話的人就能很快進入我設定的角色,問出有針對性的問題,理解我的要求。

那么怎樣才能畫出高質量的架構圖呢?

首先需要明白你畫圖的目的,是說明業務還是技術;是整體還是局部;是已完成的還是待完成的。

確定了目的以后,就需要確定實現該目的的關鍵因素有哪些,比如為了說明業務,我需要說明用戶是誰,做這個業務的目的是什么,做業務時系統需要完成什么任務,做完之后,其它系統會受什么影響;

確定關鍵因素之后,需要選擇表達關鍵因素的方法,獨立的方塊,方塊內包含的方塊,流程,網狀;

最后是開始畫圖,一定要先劃出高層次的模塊,確定好各個模塊的位置,確定好各個模塊的核心內容,再分模塊填充里面的內容。不要一開始就話小模塊,過早陷入細節。

轉載于:https://www.cnblogs.com/alphablox/p/5361719.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255600.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255600.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255600.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jenkins構建時間Poll Scm的設置(常用設置)

每15分鐘構建一次:H/15 * * * * 或*/5 * * * * 每天8點構建一次:0 8 * * * 每天8點~17點,兩小時構建一次:0 8-17/2 * * * 周一到周五,8點~17點,兩小時構建一次:0 8-17/2 * * 1-5 每月1號、15號…

圖像格式基礎

所謂位映像,即是指一個二維的像素矩陣,而位圖就是采用位映像方法顯示和存儲圖像。一幅圖像的顯示就是將圖像的像素映射到屏幕的像素上并顯示一定的顏色。當一幅圖形的像素由彩色表示時就是我們通常所說的彩色圖像了。 由于數字圖像可以表示為矩陣…

aop理解

1.切面(Aspects)常常通過通知(advice)、切點(pointcuts)和織入點(join points)來描述 2.通知(advice)有5種 Before——前置通知,在調用目標方法之…

Php 與 Json

PHP與JSON 在PHP中存在兩個與JSON相關的函數: json_encode($array或$object)函數:把一個數組或對象轉化為JSON格式的字符串 json_decode($json,$flag)函數:把一個JSON格式的字符串轉化為數組或對象 $flag :true,代表轉…

docker supervisor + compose

一: Supervisor Docker 容器在啟動的時候開啟單個進程,比如,一個 ssh 或者 apache 的 daemon 服務。但我們經常需要在一個機器上開啟多個服務,這可以有很多方法,最簡單的就是把多個啟動命令放到一個啟動腳本里面…

AngularJS(1)——入門學習

AngularJs相關概念 在w3schools中針對AngularJs的介紹為: AngularJS extends HTML with new attributes. AngularJS is perfect for Single Page Applications (SPAs). ProAuditObject ProAuditObj1 new ProAuditObject(); ProAuditObj1.setLproid(proId); Pr…

C# 字符,字符串和文本處理。

1. 字符: 在.net中 字符是表示成16為Unicode代碼值。每個字符都是System.Char結構(一個值類型)的實例。 public class StringTempte{public static void GetChar(){double d;d char.GetNumericValue(\u0033);Console.WriteLine(d.ToString()…

opencv2.2.0源代碼(include文件)分析

由于openCV2.2.0源文件很龐大,這里我只分析openCV2.2.0文件組織結構的各個模塊的include文件(重點分析各個模塊下引用的算法和實現的功能),而不是src文件。這里分析各個模塊有助于更好的從整體把握和理解openCV2.2.0。這里只是自己…

【pyqt5學習】——tableWidget學習

設置單元格列寬 self.tableWidget.setColumnWidth(0,200) 設置第一行和表頭之間的表格線 self.tableWidget.horizontalHeader().setStyleSheet("QHeaderView::section{background:skyblue;color: black;}")

SUSE團隊已將重心偏向GCC 7

2019獨角獸企業重金招聘Python工程師標準>>> SUSE的Andreas Jaeger在博客中發表了一篇關于SUSE Linux Enterprise Server 12操作系統更新工具鏈以及它所帶來的新開發工具的博文。文章指出,隨著GNU Compiler Collection 7的發布,GCC團隊為開發…

eclipse-連接TFS錯誤 the server to respond with a valid http response解決方法

解決辦法 如果普通憑證有多個,則將普通憑證給刪除。 轉載于:https://www.cnblogs.com/nidongde/p/6277243.html

Mysql源碼安裝

首先去http://dev.mysql.com/downloads/mysql/5.6.html 下載mysql的源代碼,記住是source code,別下別的版本 1.安裝依賴的包 yum -y install cmake gcc-c bison ncurses ncurses-devel 2.創建mysql的安裝目錄及數據庫存放目錄 mkdir -p /usr/local/mysql…

PDB文件:每個開發人員都必須知道的

一 什么是PDB文件 大部分的開發人員應該都知道PDB文件是用來幫助軟件的調試的。但是他究竟是如何工作的呢,我們可能并不熟悉。本文描述了PDB文件的存儲和內容。同時還描 述了debugger如何找到binay相應的PDB文件,以及debugger如何找到與binay對應的源代碼…

【pyqt5學習】——graphicView顯示opencv圖像

imgpath "result.jpg"img cv2.imread(imgpath) # 讀取圖像img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # 轉換圖像通道x img.shape[1] # 獲取圖像大小y img.shape[0]self.zoomscale 1 # 圖片放縮尺度frame QImage(img, x, y, x * 3, QImage.Format_RGB888)…

項目總結——機房收費系統合作版

機房合作就結束了,這次合作開發是第一次與別人一塊兒開發一個系統,收獲還是蠻大的。以下我總結幾點算是經驗吧,供以后參考: 管理上1.計劃在準備合作開發之前我們三個去找米老師,老師給我們規定了時間。半個月。盡管計劃…

CenterOs 防火墻設置

為什么80%的碼農都做不了架構師?>>> 1. 重啟后生效的 開啟: chkconfig iptables on 關閉: chkconfig iptables off 2. 及時生效 開啟: service iptables start 關閉: service iptables stop 查看防火墻規則…

設計模式六大原則(3)——依賴倒置原則

定義:高層模塊不應該依賴低層模塊,二者都應該依賴其抽象;抽象不應該依賴細節;細節應該依賴抽象。 問題由來:類A直接依賴類B,假如要將類A改為依賴類C,則必須通過修改類A的代碼來達成。這種場景下…

【機器學習——決策樹】——兩種方法實現,含模型的保存和調用

目錄 1、ID3算法 2、使用sklearn API——模型保存和調用成功 1、ID3算法 以下實現了決策樹的創建、可視化繪制、決策樹的保存和調用 但是在利用決策樹進行預測的時候出現錯誤 分類代碼 #實用決策樹進行分類 def classify(inputTree, featLabels, testVec): firstStr = in…

重溫 const 指針

在進行聲明指針時,可以在類型前或后使用關鍵字const,也可在兩個位置都使用。 下面都是合法的聲明,但是含義大不同: const int * pOne; //指向整形常量 的指針,它指向的值不能修改 int * const pTwo; //指向整…

提交MTBF eservice以及log注意事項

[DESCRIPTION]提交MTBFeservice需要注意的描述,log事項[SOLUTION]提交MTBF eservice時,請注意1.描述清楚問題現象2. 描述清楚問題發生的時間點3.描述清楚問題發生時在run的case提交log時請注意1.MTBF的log通常會很大,若log太大,只…