一祈纯、引言
作為一名IT從業(yè)者,不僅要有扎實(shí)的知識(shí)儲(chǔ)備叼耙,出色的業(yè)務(wù)能力腕窥,還需要具備一定的軟實(shí)力。軟實(shí)力體現(xiàn)在具體事務(wù)的處理能力筛婉,包括溝通簇爆,協(xié)作,團(tuán)隊(duì)領(lǐng)導(dǎo)爽撒,問(wèn)題的解決方案等入蛆,這些能力在關(guān)鍵時(shí)刻比硬性的技術(shù)水平更能體現(xiàn)一名工程師的價(jià)值,它決定了IT職業(yè)生涯的高度和視野硕勿。
而本文所分享的繪圖能力哨毁,與其說(shuō)是軟實(shí)力,不妨說(shuō)是基本功源武。無(wú)論從事的是開發(fā)扼褪、運(yùn)維想幻、通信,甚至產(chǎn)品經(jīng)理话浇,交互設(shè)計(jì)举畸、運(yùn)營(yíng)這些有交集的崗位,都會(huì)在工作中用到凳枝。因?yàn)樵谟?jì)算機(jī)的世界里,大多數(shù)場(chǎng)景都是抽象的跋核,當(dāng)我們?cè)诿枋鏊麄兊臅r(shí)候岖瑰,一定是通過(guò)其實(shí)現(xiàn)原理和機(jī)制,抽象出一個(gè)行為邏輯砂代,最后再具象到一張圖蹋订。想象一下,當(dāng)我們?cè)跒g覽器中輸入了一個(gè)地址刻伊,在敲擊回車之后露戒,所發(fā)生的一切是多么地復(fù)雜,如果能拍成電影捶箱,那么可以取名叫《一個(gè)數(shù)據(jù)包的奇幻漂流》智什。如果你能夠以具象的畫面來(lái)表述一個(gè)計(jì)算機(jī)世界中發(fā)生的一個(gè)場(chǎng)景,那很好丁屎,說(shuō)明你的思路清晰荠锭,對(duì)原理的理解非常透徹,然后你要做的工作就像導(dǎo)演創(chuàng)作分鏡一樣晨川,將它們體現(xiàn)在畫紙上证九。
這是一種所謂抽象思維的能力,最好的鍛煉方式之一便是畫圖共虑。很多時(shí)候愧怜,我們會(huì)覺得說(shuō)不清楚,一旦你發(fā)現(xiàn)說(shuō)不清楚妈拌,那么我們就可以用畫圖來(lái)說(shuō)明拥坛,這些圖包含了你想要表達(dá)的思想或者邏輯,而不是一個(gè)畫得非常逼真的主機(jī)箱尘分。因此渴逻,在工作學(xué)習(xí)中,養(yǎng)成畫圖的習(xí)慣音诫,把復(fù)雜模糊的文字描述轉(zhuǎn)換成一張清晰直白的圖惨奕,不僅可以降低許多溝通的成本,還可以鍛煉個(gè)人的抽象思維能力。
下圖(重新繪制)取自Jesse James Garrett?的《用戶體驗(yàn)的要素:以用戶為中心的Web設(shè)計(jì)》一書中的用戶體驗(yàn)?zāi)P吐嵴牛梢哉f(shuō)整本書就是圍繞這張圖展開論述的,是很多產(chǎn)品經(jīng)理的入門經(jīng)典書籍阿逃。從2000年3月初次發(fā)布到網(wǎng)上以來(lái)卧波,Jesse所繪制的這個(gè)模型已經(jīng)被下載了2萬(wàn)多次时肿。事實(shí)上,用戶體驗(yàn)是一種非常抽象的東西港粱,所謂大師就是具備這樣的能力螃成,將極為抽象的思想,投射到一個(gè)簡(jiǎn)單的二維空間上查坪,表現(xiàn)為具象的圖表寸宏,從而形成具有邏輯的信息,這就是真正意義上的深入淺出偿曙。
那么很多人會(huì)問(wèn)氮凝,說(shuō)了這么多,用什么工具畫圖比較好等等望忆,這里要說(shuō)明的是罩阵,本文所要分享的內(nèi)容,并不局限于某一種畫圖的工具和技巧启摄,工具本身沒有什么高低之差稿壁,差別在于是否具備抽象思維的能力,在于繪圖的操作是否規(guī)范高效歉备,在于是否理解事務(wù)的機(jī)理常摧,關(guān)注這些才能夠提升繪圖能力,而不是陷入工具之爭(zhēng)威创,這沒有任何意義落午,即便是最普通的windows畫圖板,一樣可以畫圖肚豺,無(wú)非圖標(biāo)不夠漂亮溃斋,但我們并不在乎這些,對(duì)于IT從業(yè)者來(lái)說(shuō)吸申,并不需要視覺上藝術(shù)上的美感梗劫,而是這張圖背后承載的信息。
下面要介紹的基本是各個(gè)繪圖軟件都相通的功能特性截碴,使用這些功能可以提升我們繪圖的效率梳侨,另外還提出了一些繪圖的規(guī)范建議,供大家參考日丹,畢竟這不是一份繪圖軟件的說(shuō)明書走哺。希望大家能夠了解繪圖的思想,而不是工具本身的使用哲虾。
二丙躏、ProcessOn簡(jiǎn)介
本文所使用的是在線繪圖工具——ProcessOn择示,這是一個(gè)方便易用、免費(fèi)高效的在線作圖工具晒旅,運(yùn)用它可以免費(fèi)制作多種圖栅盲。
之所以會(huì)使用這個(gè)工具,主要有幾個(gè)原因:
一是因?yàn)樗且粋€(gè)在線的工具废恋,自然也就有了跨平臺(tái)的特性谈秫。作為一個(gè)IT從業(yè)者,很多情況下會(huì)穿梭在Windows鱼鼓,Linux拟烫,Mac OS這些操作系統(tǒng)之間工作,而常用的繪圖軟件蚓哩,通常只能運(yùn)行在Windows,當(dāng)然Linux和Mac OS也有非常不錯(cuò)的繪圖軟件上渴,但終究無(wú)法實(shí)現(xiàn)移動(dòng)辦公岸梨。而作為在線工具,也就屏蔽了因?yàn)椴煌僮飨到y(tǒng)帶來(lái)的麻煩稠氮,你可以方便地在家中MacBook中使用它打開公司下班前畫的一張半成品圖曹阔,繼續(xù)完成,然后明天上班就可以直接給領(lǐng)導(dǎo)作匯報(bào)了隔披。
二是因?yàn)槠湓诰€存儲(chǔ)赃份,這也很重要,可以避免一些悲劇的發(fā)生奢米,例如趕了一晚上的圖抓韩,突然斷電,藍(lán)屏什么的鬓长,然而并沒有保存谒拴,不得不滿腹怨氣地重畫。
三是因?yàn)樗僮骱?jiǎn)單涉波,它基本吸取了visio之類常用繪圖軟件的操作特點(diǎn)英上,因此對(duì)于有繪圖經(jīng)驗(yàn)的用戶,學(xué)習(xí)成本幾乎為零啤覆。
四是因?yàn)榻Y(jié)合網(wǎng)絡(luò)社交的特性苍日,不同圖表的作者可以輕松地在平臺(tái)分享各自作品,用戶也可以方便地對(duì)公開的作品進(jìn)行搜索窗声,同時(shí)還支持多人協(xié)作的功能相恃,適合團(tuán)隊(duì)內(nèi)部協(xié)同工作
當(dāng)然,這個(gè)工具也不是十全十美的笨觅,畢竟是2015年才上線提供服務(wù)豆茫,產(chǎn)品還存在或大或小的不穩(wěn)定因素侨歉,如丟失數(shù)據(jù)(據(jù)其他網(wǎng)友反饋存在這樣的情況,不過(guò)筆者在實(shí)際使用中未遇到過(guò))揩魂,菜單功能卡住幽邓,圖標(biāo)相對(duì)比較少等,不過(guò)這些問(wèn)題也還在可忍受的范圍之內(nèi)火脉。作為國(guó)內(nèi)免費(fèi)的在線繪圖工具牵舵,可以做到這般實(shí)為不易。
三倦挂、操作技巧
對(duì)于ProcessOn登錄注冊(cè)等其他操作畸颅,這里不過(guò)多介紹(說(shuō)多了就像軟文),下面介紹一些常用的操作技巧方援,這些技巧通常也適用于visio等其他繪圖軟件没炒,大家可以自行對(duì)應(yīng)》赶罚可以說(shuō)送火,這些技巧相當(dāng)于繪圖效率的催化劑,可以讓我們實(shí)際的繪圖工作提升效率先匪,并且完成的圖又不失美觀和專業(yè)种吸。
對(duì)于已經(jīng)掌握這些技巧的讀者可以跳過(guò)本節(jié)
3.1?平均分布
在很多場(chǎng)景下,我們會(huì)畫一排呀非,或者一串矩形之類的元素坚俗,但是由于手動(dòng)拖拽的隨意性,導(dǎo)致這些元素的間距不盡相同岸裙,這時(shí)我們可以使用圖形分布的功能猖败,將這些元素調(diào)整為相等間距,這樣在元素比較多的情況下降允,可以保持整幅圖的整潔辙浑。
操作時(shí),選中對(duì)應(yīng)的元素拟糕,然后選擇屏幕頂部的工具欄中的“排列“判呕,并選擇“圖形分布“->”垂直平均分布”
對(duì)應(yīng)有兩種分布:
水平平均分布,即水平方向上送滞,使多個(gè)元素以相等的間距進(jìn)行排列
垂直平均分布侠草,即垂直方向上,使多個(gè)元素以相等的間距進(jìn)行排列
3.2?元素對(duì)齊
大多數(shù)繪圖軟件中犁嗅,在拖動(dòng)一個(gè)元素的時(shí)候边涕,會(huì)自動(dòng)地出現(xiàn)一些對(duì)齊線,方便用戶將元素對(duì)齊到特定的位置,但是一旦元素比較多功蜓,拖動(dòng)的操作就有點(diǎn)杯水車薪了园爷,事實(shí)上,我們可以使用對(duì)齊的功能快速地進(jìn)行元素對(duì)齊式撼,如下圖:
我們可以將需要對(duì)齊元素選中童社,然后右鍵(或者點(diǎn)擊屏幕頂部的工具欄中的“排列“),并選擇“圖形對(duì)齊“->”居中對(duì)齊”
這些對(duì)齊方式著隆,可以從字面意思理解:
左對(duì)齊扰楼,即選中的所有元素,向處于屏幕最左側(cè)的元素對(duì)齊
居中對(duì)齊:即選中的所有元素美浦,根據(jù)屏幕最左側(cè)和最右側(cè)的位置計(jì)算得到中線弦赖,并向該中線對(duì)齊
右對(duì)齊,即選中的所有元素浦辨,向處于屏幕最右側(cè)的元素對(duì)齊
頂端對(duì)齊:即選中的所有元素蹬竖,向處于屏幕最上方的元素對(duì)齊
垂直居中對(duì)齊:即選中的所有元素,根據(jù)處于屏幕最上方和最下方的位置計(jì)算得到中線流酬,并向該中線對(duì)齊
底端對(duì)齊:即選中的所有元素币厕,向處于屏幕最下方的元素對(duì)齊
3.3?大小控制
有時(shí)候,我們?cè)诳騼?nèi)會(huì)標(biāo)注上一些文字康吵,由于標(biāo)注的文字長(zhǎng)短一步劈榨,就出現(xiàn)框本身的寬度不一致访递,為了保持整齊晦嵌,通常就會(huì)將這些元素寬度(或高度)保持統(tǒng)一,一般操作就是手動(dòng)地逐個(gè)調(diào)整方框大小拷姿,或者選中之后統(tǒng)一調(diào)整高寬的數(shù)值惭载,當(dāng)然也可以使用批量操作的方式
選中對(duì)應(yīng)的元素,然后選擇屏幕頂部的工具欄中的“排列“响巢,并選擇“匹配大小“->”寬度”
說(shuō)明:不論是調(diào)整高度還是寬度描滔,都是調(diào)整為所選元素中高度最大或?qū)挾茸畲蟮臄?shù)值
3.4 Z軸排列
這里所謂“Z軸“的概念,是從CSS中的“z-index”屬性借鑒過(guò)來(lái)的踪古,亦即垂直屏幕向外的方向含长。
在多個(gè)元素進(jìn)行組合的時(shí)候,通常會(huì)涉及到前后遮擋的問(wèn)題伏穆,這時(shí)候需要用到z軸排列拘泞,如下圖中的圓環(huán),其中就是由三個(gè)圓層疊而成枕扫,其中橙色的圓在最底層陪腌,紅色的圓在中間,白色的圓在最頂層。
默認(rèn)情況下诗鸭,元素的z軸值是根據(jù)創(chuàng)建的先后順序決定大小的染簇,越是后創(chuàng)建的元素,其Z軸的數(shù)值越大强岸,也就是能遮擋在它之前創(chuàng)建的元素锻弓。
繪制該圖形時(shí),首先需要選中這3個(gè)圓请唱,然后使用“居中對(duì)齊“和“垂直居中對(duì)齊“弥咪,使其成為同心圓,如果此時(shí)十绑,橙圓遮擋住了其他兩個(gè)圓聚至,則點(diǎn)擊橙圓,并選擇屏幕頂部的工具欄中的“排列“本橙,然后點(diǎn)擊“置于底層“扳躬,于是橙圓就會(huì)被推到最底層,接著可以選中紅圓甚亭,先同樣的操作將它置于底層贷币,然后點(diǎn)擊“上移一層“,這樣紅圓就會(huì)疊在橙圓之上亏狰,如果此時(shí)白圓仍然沒有出現(xiàn)在最頂層役纹,可以選中它,點(diǎn)擊“置于頂層“暇唾,這樣就完成了
3.5?分組
分組這個(gè)功能在復(fù)雜元素組成的圖形中促脉,非常實(shí)用,它相當(dāng)于將某幾個(gè)元素封裝成為一個(gè)組件策州,以整體的方式進(jìn)行拖拽瘸味,旋轉(zhuǎn),連線等操作够挂,并且可以有效地防止意外拖動(dòng)而打亂布局之類的誤操作旁仿。
下圖是表示負(fù)載均衡結(jié)構(gòu)的一個(gè)簡(jiǎn)單拓?fù)鋱D,圖中l(wèi)oad balancer?節(jié)點(diǎn)和web server的節(jié)點(diǎn)孽糖,是由3個(gè)元素組成:“主機(jī)“枯冈,“圖標(biāo)“和“圓角矩形“。通常我們會(huì)把這個(gè)三個(gè)元素進(jìn)行組合办悟,然后再連接線等其他操作尘奏,這樣一旦這個(gè)拓?fù)鋱D趨于復(fù)雜,而又需要做調(diào)整的時(shí)候誉尖,就可以方便地選中相關(guān)的節(jié)點(diǎn)罪既,不至于元素漏選或錯(cuò)選而導(dǎo)致整個(gè)布局失敗。
操作也非常簡(jiǎn)單,這樣選中想要組合的元素琢感,然后右鍵(或選擇屏幕頂部的工具欄中的“排列“)丢间,并選擇“組合“,即可完成驹针。
3.6?框內(nèi)文字對(duì)齊
在很多框圖中烘挫,為了表示一個(gè)集合的概念,通常會(huì)在表示父元素的框內(nèi)標(biāo)注上集合的名字柬甥,下圖所示的是spring框架內(nèi)核容器的組成饮六。一般情況下,父元素內(nèi)的標(biāo)注文字會(huì)使用“頂端對(duì)齊“的方式苛蒲,而子元素則是居中卤橄,這也是框內(nèi)文字默認(rèn)的對(duì)齊方式。
操作時(shí)臂外,先選中元素窟扑,然后打開屏幕上方工具欄中的“對(duì)齊“菜單,就可以選擇相應(yīng)的對(duì)齊方式漏健。
其中第一排表示水平方向的對(duì)齊方式嚎货,從左往右依次是:左對(duì)齊,水平居中對(duì)齊蔫浆,右對(duì)齊殖属;第二排表示垂直方向的對(duì)齊方式,從左往右依次是:頂端對(duì)齊瓦盛,垂直居中對(duì)齊洗显,底端對(duì)齊。
3.7?快捷鍵
點(diǎn)擊屏幕頂部的工具欄中的“幫助“谭溉,我們可以查看Processon目前支持的快捷鍵墙懂,整理如下:
通用
Alt按住Alt橡卤,通過(guò)數(shù)據(jù)可以對(duì)頁(yè)面進(jìn)行拖動(dòng)Alt+(+/)視圖放大或縮小T插入文本
Ctrl按住Ctrl扮念,點(diǎn)擊一個(gè)圖形,將其添加到選擇圖形中碧库,或者從中移除Ctrl+A全部選中?I插入圖片
L插入連線????
圖形被選中時(shí)
箭頭?(←↑↓→)將選中圖形向左柜与、向上、向下嵌灰、向右移動(dòng)Ctrl +?箭頭?(←↑↓→)每次微移一個(gè)像素調(diào)整圖形大小時(shí)按住Ctrl調(diào)整圖形大小弄匕,并且約束比例
Ctrl+Z撤銷Ctrl+Y恢復(fù)Ctrl+X剪切
Ctrl+C復(fù)制Ctrl+V粘貼Ctrl+D復(fù)用
Ctrl+Shift+B格式刷Delete,Backspace刪除Ctrl+]將選中的圖形置于頂層
Ctrl+[將選中的圖形置于底層Ctrl+shift+]將選中的圖形上移一層Ctrl+shift+[將選中的圖形下移一層
Ctrl+L鎖定選中的圖形Ctrl+shift+L將選中的圖形解鎖Ctrl+G組合選中的圖形
Ctrl+shift+G將選中的圖形取消組合????
編輯文本
空格編輯文本Ctrl+B粗體Ctrl+I斜體
Ctrl+U下劃線Ctrl+Enter保存文本編輯??
其中,除了Ctrl+C沽瞭,Ctrl+V迁匠,Ctrl+A等常用的快捷鍵,我們會(huì)經(jīng)常使用Ctrl+D,該快捷鍵相當(dāng)于按了一次Ctrl+C城丧,再按一次Ctrl+V延曙,也就是復(fù)制和粘貼一鍵完成,在復(fù)制多個(gè)元素的時(shí)候非常實(shí)用亡哄,效率提升一倍枝缔。
另外組合功能Ctrl+G,插入文本T蚊惯,插入連線L愿卸,置于頂層Ctrl+],置于底層Ctrl+[截型,按住Ctrl約束比例調(diào)整大小也是使用率極高的快捷鍵趴荸。
我們?cè)趯?shí)踐過(guò)程,一定要多使用快捷鍵來(lái)提升操作效率宦焦,不要在對(duì)齊排列赊舶,調(diào)整大小,拖拽布局等操作上浪費(fèi)過(guò)多的時(shí)間赶诊。
3.8?綜合案例
下面介紹一個(gè)綜合案例笼平,我們將運(yùn)用上述技巧,繪制Linux中的awk數(shù)據(jù)處理模型示意圖舔痪,如下圖所示寓调。了解awk命令的人都知道,awk是以行為單位處理數(shù)據(jù)的锄码,并且可以按照指定的分隔符夺英,將數(shù)據(jù)切割成多列,其中RS為行分隔符滋捶,F(xiàn)S為列痛悯,$+數(shù)字表示取列。
下面列舉幾個(gè)重要的操作步驟:
繪制表示行的橫向矩形
首先創(chuàng)建5個(gè)矩形重窟,使用復(fù)用快捷鍵Ctrl+D载萌,然后全選完成對(duì)齊操作,接著將最下方的矩形巡扇,拖動(dòng)到合適的位置扭仁,最后使用“垂直平均分布“功能,完成厅翔。
繪制表示列的垂直矩形
將行置于列之上乖坠,使用“置于底層“的功能,這里最好將列的各個(gè)矩形進(jìn)行分組刀闷。這樣熊泵,如果覺得布局不是特別合適仰迁,就可以比較方便地重新進(jìn)行水平分布。
最后完成:
標(biāo)注文字說(shuō)明顽分,盡量使用Ctrl+D進(jìn)行元素的復(fù)用
調(diào)整行矩形的透明度
列矩形中的文字使用“頂端對(duì)齊“即可
四轩勘、規(guī)范建議
4.1?大小
在默認(rèn)情況下,processon的畫紙比A4略大怯邪,即1250px*1550px绊寻,不過(guò)也可以按照需要進(jìn)行調(diào)整。在繪圖時(shí)悬秉,所有的元素應(yīng)當(dāng)盡量布局在一張畫紙上澄步,這樣置于A4大小的文檔或者寬度為1000px左右的網(wǎng)頁(yè),不會(huì)顯得特別突兀和泌,尺寸過(guò)大村缸,會(huì)導(dǎo)致整體比例縮小之后,局部元素顯得過(guò)小武氓,看不清楚梯皿。
另外,我們?cè)谏上嗤氐臅r(shí)候县恕,盡量先手動(dòng)地配置大小东羹,并且這個(gè)大小是你記得住的,然后使用Ctrl+D進(jìn)行復(fù)用忠烛,那么當(dāng)某一個(gè)元素被誤拖拽而導(dǎo)致大小發(fā)生了變化之后属提,就可以迅速地調(diào)整回來(lái),另外美尸,如果在后期還想添加一個(gè)相同元素冤议,那么也可以直接配置對(duì)應(yīng)的大小。簡(jiǎn)言之师坎,配置元素的大小恕酸,使用一個(gè)你可以記住的數(shù)值,從而提高工作效率胯陋。
4.2?字體
先來(lái)介紹一些關(guān)于字體的背景知識(shí):
通常蕊温,字體可以分為襯線體和無(wú)襯線體,熟悉CSS的同學(xué)一定知道設(shè)置字體時(shí)有san-serif屬性惶岭,san-serif即無(wú)襯線體寿弱,詞根serif即襯線的意思犯眠。所謂的襯線按灶,就是在每個(gè)字符的邊緣部分有一定的描邊修飾。舉例來(lái)說(shuō)筐咧,中文字體中的“宋體“鸯旁,英文字體中的“Times New Roma”就是典型的襯線體噪矛,而中文字體中的“黑體“,英文字體中的“Arial”就是典型的無(wú)襯線體铺罢。
按照字符的寬度艇挨,還可以將字體分為等寬字體和非等寬字體,顧名思義韭赘,等寬字體也就是每個(gè)字符的寬度都相同缩滨。在IT領(lǐng)域,一般都傾向于使用等寬字體泉瞻,例如微軟開發(fā)的Consolas字體就是典型的等寬字體脉漏,它被使用在windows的控制臺(tái)中,新版本eclipse默認(rèn)也使用該字體(舊版本默認(rèn)的是Courier New字體)袖牙。從下面的對(duì)比中侧巨,可以很清楚地看到等寬字體和非等寬字體的差別。
一般來(lái)說(shuō)鞭达,由于襯線體具有筆畫上的修飾司忱,使得感官上字符之間有一定的連續(xù)性,這樣對(duì)于大段的文字就比較方便橫向閱讀畴蹭,這也就是我們的課本坦仍,報(bào)紙等讀物使用宋體進(jìn)行印刷的原因之一,而無(wú)襯線體更符合現(xiàn)代美學(xué)從簡(jiǎn)的觀念叨襟,也比較適合作為標(biāo)語(yǔ)來(lái)印刷桨踪,例如掛著的大紅橫幅通常就是用黑體來(lái)印刷的。
我們?cè)诶L圖的過(guò)程中芹啥,并不需要大段的文字锻离,因此建議盡量使用同一種無(wú)襯線體,并且除了標(biāo)題部分等進(jìn)行特殊大小處理的字體墓怀,其他元素的文字都統(tǒng)一字號(hào)汽纠。在processon提供的字體中,筆者建議統(tǒng)一使用“微軟雅黑“字體傀履,字號(hào)大小為14px虱朵,并且加粗。這樣可以使得導(dǎo)出的圖片钓账,粘貼在word等文檔中時(shí)顯得比較和諧碴犬。
如果我們要在圖中引入代碼或配置文件等專業(yè)性的內(nèi)容,則盡量使用等寬字體梆暮,以保證內(nèi)容排版的整齊性服协,這里建議使用Lucida Console,因?yàn)樗仁堑葘捵煮w啦粹,又是無(wú)襯線字體偿荷。
4.3?配色
還是先介紹一些關(guān)于顏色的背景知識(shí)(引用自《超越平凡的平面設(shè)計(jì):版式設(shè)計(jì)原理與應(yīng)用》):
色輪:由12基本顏色組成窘游,首先由紅、黃跳纳、藍(lán)三原色忍饰,然后兩兩混合得到間色,間色再兩兩混合得到三級(jí)色
明度:色彩有明暗寺庄,有明度值來(lái)衡量艾蓝,深色就是在純色里加入黑色,淺色就是在純色里加入白色斗塘。
色彩關(guān)系:由色輪和明度就可以產(chǎn)生顏色之間的關(guān)系饶深,一個(gè)有6種基本關(guān)系:?jiǎn)紊⒔粕涔啊⒀a(bǔ)色敌厘、分裂補(bǔ)色、原色朽合、間色
畢竟筆者不是學(xué)設(shè)計(jì)或美術(shù)出身俱两,談不上專業(yè)角度的美學(xué)配色方案,這里就引用網(wǎng)絡(luò)上一篇關(guān)于中國(guó)街頭廣告牌設(shè)計(jì)的文章曹步,以此借鑒對(duì)顏色的運(yùn)用方法
素材來(lái)源微博《中國(guó)的招牌為什么這么丑|大象公會(huì)》
上圖就是充斥各個(gè)城市街頭的廣告牌宪彩,高純度的大紅色背景,高純度顏色的字體讲婚,且沒有充分留白尿孔,不同的色彩占據(jù)相似的面積,相比之下筹麸,下圖的排版采用的是低純度的暗色活合,以及充分的留白,檔次明顯高了很多物赶,這就是通常講的“素色審美“白指,有時(shí)候我們會(huì)稱之為“小清新“,類似于宜家給人們的印象酵紫。
繪圖中使用顏色的時(shí)候告嘲,建議不要過(guò)于追求高飽和度和鮮艷的色彩,而是采用低純度和充分的留白奖地。這一點(diǎn)橄唬,processon的調(diào)色板也給出非常好的示范,
processon的調(diào)色板提供的顏色基本屬于web安全色参歹,所謂web安全色仰楚,就是在不同瀏覽器都可以顯示相同的顏色,它們用十六進(jìn)制的00泽示,33缸血,66蜜氨,99械筛,cc捎泻,ff表示三原色,其中我們可以方便地找到飽和度低的配色埋哟,如上圖的顏色方案笆豁,他們位于調(diào)色板的第二行,將其應(yīng)用于框內(nèi)背景色赤赊,可以讓整幅圖顯得比較柔和闯狱,不會(huì)刺眼。
4.4?最小化原則
在運(yùn)維的工作中抛计,有一個(gè)重要的指導(dǎo)思想哄孤,即“最小化原則“,例如最小化安裝操作系統(tǒng)吹截,最小化啟動(dòng)服務(wù)瘦陈,最小化安全權(quán)限等等。同樣波俄,我們也可以把這個(gè)思想引入到繪圖的實(shí)踐中來(lái)晨逝,主要體現(xiàn)在一下幾點(diǎn):
一個(gè)方塊,除了包含文字和足夠留白懦铺,就可以應(yīng)該保持在最小的尺寸捉貌,而不應(yīng)該毫無(wú)邏輯地?cái)U(kuò)大,建議四個(gè)方向上的留白大約保持在5px左右冬念;
元素之間連線趁窃,除了在連續(xù)上標(biāo)注足夠的文字,就應(yīng)該保持的在最短的長(zhǎng)度急前;
相鄰的元素之間棚菊,也應(yīng)該保持在最小的間隔之內(nèi),不應(yīng)該過(guò)大叔汁,大約在5px-20px之間统求;
整體比例保持在最小,不應(yīng)該留有大面積的空白据块,但也不應(yīng)過(guò)于擁擠码邻,留有適當(dāng)空間,可以讓整體具有呼吸屬性另假,不會(huì)讓人覺得“密不透風(fēng)“像屋;
五、實(shí)戰(zhàn)
因?yàn)镮T細(xì)分領(lǐng)域內(nèi)有著非常多的專業(yè)圖表边篮,但筆者知識(shí)邊界有限己莺,所以下面著重介紹兩種通用性比較高的圖:基本流程圖和系統(tǒng)拓?fù)鋱D
5.1?基本流程圖
有關(guān)流程圖的概念奏甫,最早是在軟件工程中接觸到的程序流程圖,早期凌受,流程圖目的就是描述程序的執(zhí)行過(guò)程阵子,一直以來(lái)就是軟件設(shè)計(jì)的重要工具,隨著使用者增多胜蛉,流程圖的概念也不再限制于軟件設(shè)計(jì)挠进,只要涉及有關(guān)流程的任何場(chǎng)景,我們都可以用流程圖來(lái)表示誊册。
這里所謂的基本流程圖领突,是相對(duì)于其他流程圖來(lái)說(shuō)的。這里簡(jiǎn)單介紹一下泳道圖案怯,下圖所示君旦,泳道圖包含了流程中每一個(gè)步驟對(duì)應(yīng)的相關(guān)單位咙轩,其中單位可以是部門薪棒,也可以是職位等,泳道圖可以很好地表現(xiàn)了一個(gè)流程中不同的職能分工吁峻,以及協(xié)作的邏輯關(guān)系悍汛,是項(xiàng)目管理者制定項(xiàng)目計(jì)劃的常用工具捞魁。
5.1.1?常用符號(hào)
下面整理了基本流程圖常用的符號(hào)圖示,掌握以下10個(gè)足夠應(yīng)付99%的流程圖离咐,其中最常用也就是第一行的符號(hào):
開始和結(jié)束用圓弧矩形表示
處理過(guò)程用矩形表示
分支判斷用菱形表示
元素之間用帶箭頭的線連接
5.1.2?基本結(jié)構(gòu)
了解了常用符號(hào)之后谱俭,就可以畫出流程圖中的三個(gè)基本結(jié)構(gòu),即順序結(jié)構(gòu)宵蛀,分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu):
順序結(jié)構(gòu):也是最簡(jiǎn)單的結(jié)構(gòu)昆著,即按照事務(wù)的順序依次執(zhí)行
分支結(jié)構(gòu):流程中會(huì)進(jìn)行條件的判斷,根據(jù)不同的判斷結(jié)果采取不同的處理术陶,例如啟動(dòng)服務(wù)時(shí)凑懂,先檢查pid文件是否存在,如果不存在梧宫,則啟動(dòng)服務(wù)接谨,否則報(bào)錯(cuò)
循環(huán)結(jié)構(gòu):當(dāng)條件不被滿足時(shí),重復(fù)執(zhí)行同一個(gè)(或幾個(gè))處理塘匣,例如常會(huì)被用于遍歷數(shù)組等操作
事實(shí)上脓豪,流程圖就是由這三種基本的結(jié)構(gòu),根據(jù)實(shí)際業(yè)務(wù)情況忌卤,相互組合而成扫夜。我們?cè)诶L制流程圖,首先就是要確定所要描述的業(yè)務(wù)實(shí)際的流程邏輯,然后推敲每個(gè)步驟的執(zhí)行笤闯,是否存在分支和循環(huán)堕阔,目的就是要閱讀流程圖的人一目了然,迅速地理解流程的每個(gè)環(huán)節(jié)颗味。
5.1.3?流程圖案例
下面我們以“超市購(gòu)物“為案例超陆,綜合運(yùn)用一下上述3個(gè)基本結(jié)構(gòu)。
如圖脱衙,其中購(gòu)物是一個(gè)循環(huán)結(jié)構(gòu)侥猬,如果購(gòu)物清單上的物品還沒有買全例驹,則繼續(xù)購(gòu)買物品捐韩,否則就可以去收銀臺(tái)結(jié)算了,而支付環(huán)節(jié)就是一個(gè)分支結(jié)構(gòu)鹃锈,如果現(xiàn)金足夠的話荤胁,就選擇用現(xiàn)金支付,否則就使用手機(jī)的APP支付屎债。
像這樣的流程仅政,我們?cè)诠ぷ骱蛯W(xué)習(xí)中還是有非常多的實(shí)戰(zhàn)案例的,例如部署服務(wù)盆驹,安裝軟件等等圆丹,在整個(gè)流程中,一定是會(huì)出現(xiàn)各種問(wèn)題躯喇,那么對(duì)于各種異常的處理辫封,就可以用一個(gè)分支結(jié)構(gòu)來(lái)表示,我們可以試著把工作遇到的問(wèn)題和排查過(guò)程廉丽,通過(guò)流程圖的方式落實(shí)到文檔中倦微,那么長(zhǎng)久下來(lái),對(duì)于經(jīng)驗(yàn)的積累會(huì)起到非常大的幫助作用正压。
5.2?系統(tǒng)拓?fù)鋱D
這里分享的系統(tǒng)拓?fù)鋱D欣福,主要是指集群架構(gòu)圖,對(duì)于其他拓?fù)鋱D焦履,從繪圖的角度來(lái)說(shuō)拓劝,本質(zhì)上是一樣的,可以融會(huì)貫通嘉裤。
下面還是以一個(gè)案例來(lái)分享一些筆者淺薄的經(jīng)驗(yàn)郑临,如圖,這是一個(gè)經(jīng)典的中小規(guī)模web集群架構(gòu)(參考自《跟老男孩學(xué)Linux運(yùn)維:web集群實(shí)戰(zhàn)》)价脾,包括負(fù)載均衡牧抵,web服務(wù),數(shù)據(jù)庫(kù)主從復(fù)制,讀寫分離犀变,網(wǎng)絡(luò)文件系統(tǒng)妹孙,文件備份,批量管理获枝,yum倉(cāng)庫(kù)等諸多單元蠢正。
5.2.1?方案規(guī)劃
首先在新建一張空白畫紙之前,我們應(yīng)該對(duì)當(dāng)前這個(gè)系統(tǒng)架構(gòu)有充分了解省店,不論你是否已經(jīng)實(shí)現(xiàn)了這個(gè)架構(gòu)嚣崭,都至少有一個(gè)方案規(guī)劃,方案描述了這個(gè)系統(tǒng)應(yīng)該要完成的哪些功能懦傍,以及為了完成這些功能雹舀,需要提供哪些基礎(chǔ)的服務(wù)等,另外還應(yīng)當(dāng)包含服務(wù)器規(guī)劃表粗俱,用來(lái)說(shuō)明為了完成這個(gè)系統(tǒng)说榆,至少需要哪些服務(wù)器,這些服務(wù)器提供哪些服務(wù)等信息寸认。
5.2.2?模塊分割
在確定方案之后签财,就可以對(duì)系統(tǒng)中的各個(gè)模塊進(jìn)行分割,這個(gè)過(guò)程與軟件設(shè)計(jì)的模塊設(shè)計(jì)比較相似偏塞,先確定功能模塊唱蒸,先不管這個(gè)功能模塊如何實(shí)現(xiàn),只要確定他在系統(tǒng)架構(gòu)中的位置和作用灸叼,以及提供服務(wù)的方式神汹,數(shù)據(jù)的流向等。這些確定之后怜姿,整個(gè)系統(tǒng)的框架就設(shè)計(jì)完成了慎冤。如圖,我們抽象出了幾個(gè)模塊:負(fù)載均衡沧卢,web服務(wù)蚁堤,數(shù)據(jù)庫(kù),文件存儲(chǔ)但狭,以及管理五個(gè)模塊披诗。這些模塊就可以實(shí)現(xiàn)一個(gè)基本的web服務(wù)解決方案了。
一般來(lái)說(shuō)立磁,每個(gè)模塊內(nèi)部呈队,可以根據(jù)不同需求和資源,實(shí)現(xiàn)不同的方案:
負(fù)載均衡可以由nginx唱歧,lvs或者硬件等實(shí)現(xiàn)宪摧;
web服務(wù)根據(jù)開發(fā)語(yǔ)言的特性實(shí)現(xiàn)不同web容器粒竖,如apache+tomcat,nginx+php等几于;
數(shù)據(jù)庫(kù)的實(shí)現(xiàn)就更多了蕊苗,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)和NoSQL數(shù)據(jù)庫(kù)產(chǎn)品,甚至還可以實(shí)現(xiàn)利用redis沿彭,memcached等實(shí)現(xiàn)緩存朽砰;
文件存儲(chǔ),可以通過(guò)GlusterFS等各種分布式文件系統(tǒng)實(shí)現(xiàn)喉刘;
管理模塊的功能比較多瞧柔,例如安裝,部署睦裳,監(jiān)控等造锅,對(duì)應(yīng)有多種實(shí)現(xiàn)方式,這里就一一列舉了推沸;
但不管如何實(shí)現(xiàn)备绽,以后即便模塊內(nèi)部進(jìn)行調(diào)整券坞,大的框架仍然不變鬓催。因此在繪圖時(shí),框架的確定尤為重要恨锚,也是我們著手繪制架構(gòu)圖的關(guān)鍵一步宇驾。
5.2.3?節(jié)點(diǎn)設(shè)計(jì)
接下來(lái),就可以設(shè)計(jì)模塊內(nèi)部的實(shí)現(xiàn)了猴伶,我們可以通過(guò)各類的圖標(biāo)繪制不同服務(wù)的節(jié)點(diǎn)课舍。processon提供的圖標(biāo)并沒有MS visio中的豐富,但也足夠使用了他挎。
筆者的做法是筝尾,使用“服務(wù)器“圖標(biāo)+”功能“圖標(biāo)+圓角矩形組合成一個(gè)節(jié)點(diǎn)(如上面3.5小節(jié)中看到的那個(gè)圖)。之所以要用圓角矩形進(jìn)行包裹办桨,一方面為了方便輸入文字標(biāo)注筹淫,更重要的一點(diǎn)是在架構(gòu)比較復(fù)雜,連接線比較多的情況下呢撞,矩形的邊可以連接更多的線损姜,而如果直接連接服務(wù)器的圖標(biāo),會(huì)顯得非常雜亂殊霞,有時(shí)候也會(huì)遮擋文字標(biāo)注摧阅。
“服務(wù)器“和“功能“圖標(biāo),在processon繪圖界面右下角“更多圖形“中的網(wǎng)絡(luò)拓?fù)鋱D下可以找到绷蹲,分別在network和Azure子目錄(這個(gè)Azure就是微軟的云棒卷,另外也有aws的圖標(biāo)顾孽,但是不太看得懂-_-||)
繪制各個(gè)節(jié)點(diǎn)時(shí),盡量使用Ctrl+D進(jìn)行復(fù)用比规。對(duì)于“功能“圖標(biāo)岩齿,由于默認(rèn)的圖標(biāo)比較大,在調(diào)整大小時(shí)可以按住Ctrl鍵進(jìn)行拖拽的操作苞俘,這樣可以保持圖標(biāo)的大小比例盹沈,就不會(huì)失真了。
5.2.4?連線調(diào)整
當(dāng)我們需要將每個(gè)節(jié)點(diǎn)連接起來(lái)的時(shí)候吃谣,務(wù)必記得對(duì)節(jié)點(diǎn)進(jìn)行分組操作乞封,不然一旦置于大框架之內(nèi),再想選擇這個(gè)節(jié)點(diǎn)岗憋,或者再次添加連線操作就非常麻煩肃晚。比較遺憾的是processon的分組功能比較單薄,當(dāng)我們將一個(gè)分組作為一個(gè)元素與其他的元素再次分組時(shí)仔戈,原來(lái)的分組就會(huì)撤銷掉关串,也就是說(shuō)分組不具有嵌套的特性,這和MS visio不太一樣监徘,所以在分組操作時(shí)晋修,最好的方式就是單個(gè)節(jié)點(diǎn)分組。
分組之后凰盔,節(jié)點(diǎn)中的三個(gè)元素就作為一個(gè)整體墓卦,此時(shí)再與其他節(jié)點(diǎn)進(jìn)行相連,連接時(shí)也務(wù)必連接到對(duì)方的邊上户敬,這樣在拖動(dòng)時(shí)就可以跟著一起動(dòng)落剪。針對(duì)重要節(jié)點(diǎn)連線,需要進(jìn)行一定的文字標(biāo)注尿庐,說(shuō)明其意義忠怖。
5.2.5?整體調(diào)整
這里就需要應(yīng)用最小化原則進(jìn)行調(diào)整。在設(shè)計(jì)節(jié)點(diǎn)的時(shí)候抄瑟,為了能夠包含各個(gè)節(jié)點(diǎn)凡泣,通常會(huì)把大框調(diào)整到比較大的尺寸,不至于影響節(jié)點(diǎn)的拖拽锐借,而當(dāng)模塊內(nèi)部完成之后问麸,就要將整幅圖的比例調(diào)整到合適的大小,去掉無(wú)意義的空白钞翔,使得布局趨于緊湊合理严卖。
然后去掉框架之間的連線,將提供服務(wù)的節(jié)點(diǎn)和使用服務(wù)的節(jié)點(diǎn)直接相連布轿,由于管理中的節(jié)點(diǎn)與其他節(jié)點(diǎn)都需要連接哮笆,如果畫線就顯得比較凌亂来颤,并且連線的意義不大,故而省去稠肘。
最后再加上一些修飾福铅,以及外部的調(diào)用情況,就完成了整個(gè)系統(tǒng)架構(gòu)圖项阴。
六滑黔、總結(jié)
本文主要分享了以下幾點(diǎn)
介紹了繪圖作為IT從業(yè)人員軟實(shí)力的重要性,以及繪圖在日常工作中的重要作用
繪圖工具processon中各個(gè)功能特性和使用技巧环揽,主要有分布略荡,對(duì)齊,z軸排列歉胶,快捷鍵等
提出了一些繪圖的規(guī)范建議汛兜,包括大小,字體通今,顏色粥谬,最小化原則,均是體現(xiàn)在細(xì)節(jié)上辫塌,不過(guò)漏策,這些細(xì)節(jié)最終會(huì)影響到整體的質(zhì)感
流程圖和系統(tǒng)拓?fù)鋱D的繪制要領(lǐng)和經(jīng)驗(yàn)。
繪圖是抽象思維能力的培養(yǎng)方式之一
流程圖的常用符號(hào)璃氢,基本結(jié)構(gòu)哟玷,以及實(shí)戰(zhàn)運(yùn)用
以web集群架構(gòu)為案例介紹了繪制系統(tǒng)拓?fù)鋱D的步驟
一點(diǎn)微薄的經(jīng)驗(yàn)分享,希望可以幫助到那些不習(xí)慣畫圖一也,或者想畫好圖卻在畫圖各種操作上耗費(fèi)過(guò)多精力的小伙伴們。
標(biāo)簽:作圖???order???gif???解決???入門???寬度???素材???用戶???格式刷??
標(biāo)簽:作圖ordergif解決入門寬度素材用戶格式刷
原文地址:http://www.cnblogs.com/yangliheng/p/6082250.html