前言
程序員不是專門寫代碼的嗎,只要把代碼寫得足夠優雅就行了呀,為什么還要畫圖?畫好圖呢?
沒錯!一圖勝千言,對復雜問題進行分析分解,再通過圖形化的表達方式,來描述業務或者技術上的邏輯,可以說事半功倍!今天作者就帶大家認識一些常見的圖、圖的畫法以及常用的畫圖工具。
思維導圖
英文名稱是The Mind Map,也叫做心智導圖,腦圖,心智地圖,腦力激蕩圖,靈感觸發圖,概念地圖,樹狀圖,樹枝圖或思維地圖。它是表達發散性思維的有效圖形思維工具,它簡單卻又很有效,是一種實用性的思維工具。可用于會議記錄、思路整理、測試用例、商業計劃等。
流程圖
以特定的圖形符號加上說明,表示算法的圖,稱為流程圖或框圖。流程圖是一個系統的信息流、觀點流或部件流的圖形代表,也是軟件設計開發過程中比較常用的圖形。流程圖的圖形符號如下圖所示:
時序圖
時序圖(Sequence Diagram),又名序列圖、循序圖,是一種UML交互圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作,也是軟件設計開發過程中比較常用的圖形。時序圖中包括的建模元素主要有:角色、對象、生命線、控制焦點、消息等等。
數據庫ER圖
E-R圖也稱實體-聯系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯系的方法,用來描述現實世界的概念模型,它是描述現實世界關系概念模型的有效方法。
數據庫模型
- 概念模型:找到你開發設計的系統,業務層面核心的實體和關系,如上述E-R圖。
- 邏輯模型:整理完善系統所有實體、實體間的關系,給實體添加字段屬性。
- 物理模型:通過case工具(例如:powerdesigner)由邏輯模型自動生成物理模型(可生成不同數據庫類型的DDL語句、數據字典)。
參考文檔 https://blog.51cto.com/u_15067238/2573674
架構圖
①業務架構:使用一套方法論/邏輯對產品(項目)所涉及到的業務進行邊界劃分,所以熟悉業務是關鍵,如下圖所示某業務中臺架構圖:
②應用架構:它是對整個系統實現的總體上的架構,需要指出系統的層次、系統開發的原則、系統各個層次的應用服務。如下圖所示,就將系統分為數據層、服務層、通訊層、展現層,并細分寫明每個層次的應用服務。
③技術架構:技術架構是應接應用架構的技術需求,并根據識別的技術需求,進行技術選型,把各個關鍵技術和技術之間的關系描述清楚。技術架構解決的問題包括:純技術層面的分層、開發框架的選擇、開發語言的選擇、涉及非功能性需求的技術選擇等。
④部署圖(deployment diagram,配置圖)是用來顯示系統中軟件和硬件的物理架構。部署圖中可以了解到軟件和硬件之間的物理關系以及處理節點的組件分布情況。使用部署圖可以顯示運行時系統的結構,同時還傳達構成應用程序的硬件和軟件元素的配置和部署方式。
⑤網絡拓撲圖:是指用傳輸媒體互連各種設備的物理布局,就是用什么方式把網絡中的計算機等設備連接起來。拓撲圖給出網絡服務器、工作站的網絡配置和相互間的連接,它的結構主要有星型結構、環型結構、總線結構、分布式結構、樹型結構、網狀結構、蜂窩狀結構等。
制圖的關鍵
不是在于熟悉和熟練使用幾種圖形元素,而更在于,真正理解“模型”的意思和意義,通過合理的過程定義和圖形使用,對復雜問題進行分析、解構后的結構化、邏輯化、專業化的表達和描述,反映出業務邏輯的處理過程和實現上的邏輯劃分,是對復雜問題合理簡化的結果。
畫圖軟件推薦
①Xmind:一款非常實用的商業思維導圖軟件,應用全球最先進的Eclipse RCP 軟件架構,全力打造易用、高效的可視化思維軟件,強調軟件的可擴展、跨平臺、穩定性和性能,致力于使用先進的軟件技術幫助用戶真正意義上提高生產率。https://www.xmind.cn/
②Process On:是一個在線協作繪圖平臺,為用戶提供強大、易用的作圖工具。優點是在線支持協作,模板比較豐富,缺點是必須登錄才可以使用。免費版僅支持 9 個文件。
https://www.processon.com/
③Draw.io:一款免費的跨平臺繪圖工具。可以創建流程圖、組織架構圖、UML、ER圖、泳道圖、網絡拓樸圖、思維導圖等等。內置豐富的模板和控件庫供挑選使用,還可以導入組件。支持google Dirve,One Drive, Dropbox和本地存儲,支持將流程圖導出為多種格式,比如 pdf/svg/html 等,提供 Chrome 插件。https://App.diagrams.net/
④Microsoft Visio:它提供各行業和角色的豐富用例、強大的合作伙伴工具和服務并與 Microsoft 365 和 Microsoft Teams 無縫集成,了解它如何幫助你拓展業務。為客戶提供輕松創建專業圖表并快速做出決策所需的工具。
⑤OmniGraffle:mac os系統上一款功能強大的繪圖軟件,可提供繪制圖表,如:樹狀結構表,流程表,頁面編排等等,您還可以用OmniGraffle來規劃電影或者戲劇劇本的情節走向,繪制公司的組織圖,并顯示一個專案所需要的步驟。
大家還有什么好的畫圖軟件,歡迎評論區里留言推薦!