什么是系統(tǒng)架構(gòu)師?
系統(tǒng)架構(gòu)師是一個既需要掌控整體又需要洞悉局部瓶頸并依據(jù)具體的業(yè)務(wù)場景給出解決方案的團(tuán)隊(duì)領(lǐng)導(dǎo)型人物。一個架構(gòu)師得需要足夠的想像力,能把各種目標(biāo)需求進(jìn)行不同維度的擴(kuò)展,為目標(biāo)客戶提供更為全面的需求清單。
架構(gòu)師在軟件開發(fā)的整個過程中起著很重要的作用。
如何才能成為系統(tǒng)架構(gòu)師?
- 首先必須具有豐富的軟件設(shè)計與開發(fā)經(jīng)驗(yàn),這有助于理解并解釋所進(jìn)行的設(shè)計是如何映射到實(shí)現(xiàn)中去。
- 其次要具有領(lǐng)導(dǎo)能力與團(tuán)隊(duì)協(xié)作技能,軟件架構(gòu)師必須是一個得到承認(rèn)的技術(shù)領(lǐng)導(dǎo),能在關(guān)鍵時候?qū)夹g(shù)的選擇作出及時、有效的決定。
- 第三是具有很強(qiáng)的溝通能力,其實(shí)這一點(diǎn)好像什么角色都最好具備,軟件架構(gòu)師需要與各路人馬經(jīng)常打交道,客戶、市場人員、開發(fā)人員、測試人員、項(xiàng)目經(jīng)理、網(wǎng)絡(luò)管理員、數(shù)據(jù)庫工程師等等,而且在很多角色之間還要起溝通者的作用。
而設(shè)計圖,它不是簡單的供你欣賞,他其實(shí)是架構(gòu)師,產(chǎn)品經(jīng)理,開發(fā)工程師,測試工程師等各種角色之間進(jìn)行溝通的語言,溝通的一個橋梁,讓整個團(tuán)隊(duì)更能有效的協(xié)調(diào)工作。
設(shè)計圖不單單是架構(gòu)師要掌握的,在一個產(chǎn)品的開發(fā)過程中,任何一個環(huán)節(jié),任何一個角色都可以通過掌握不同的設(shè)計圖來完成溝通的。
流程圖
流程是一系列的邏輯關(guān)系(包含因果關(guān)系、時間先后、必要條件、輸入輸出)產(chǎn)品經(jīng)理做需求前一定要先把這些邏輯關(guān)系理清楚,如果非要用一句話概括的話“流程就是在特定的情境下滿足用戶特定需要的總結(jié)”。
圖就是將你頭腦中的邏輯關(guān)系以圖形化的形式呈現(xiàn)出來,具有圖形化、可視化的特點(diǎn),因?yàn)槭菆D,你可以像你的版本迭代一樣,當(dāng)你的邏輯需要修改的時候拿出來迭代一下,同時因?yàn)橛袌D,你還可以更好的給項(xiàng)目成員進(jìn)行宣講。
產(chǎn)品中設(shè)計的流程圖主要有三種,業(yè)務(wù)流程圖、任務(wù)流程圖、頁面流程圖,下面我們來一一介紹。
業(yè)務(wù)流程圖
業(yè)務(wù)流程圖又稱為泳道圖,就是描述那些個體在什么條件下做了什么事情,他們之間有何關(guān)聯(lián)。主要分三個方面:
- 涉及到哪些主體?
- 每個主體都有哪些任務(wù)?
- 各個主體之間怎么聯(lián)系的?一般涉及到多個主體,每個主體之間有聯(lián)系。

任務(wù)流程圖
泳道圖一般是從戰(zhàn)略上分析整個業(yè)務(wù)流程,讓你對公司所做的業(yè)務(wù)有個大概的了解,而任務(wù)流程圖就是在你的產(chǎn)品操作上,用戶通過什么樣的操作來完成它的目標(biāo),比如你去銀行ATM機(jī)器上取錢,你是如何一步步操作把錢取出來的。

頁面流程圖
如果說業(yè)務(wù)流程圖幫助你梳理戰(zhàn)略,任務(wù)流程圖幫助你梳理用戶操作行為(主要給程序員看)、頁面跳轉(zhuǎn)流程在幫助你梳理各個頁面之間的跳轉(zhuǎn)關(guān)系(主要給UI和前端程序員看)這是一個逐步從整體到局部,從后端到前端的過程。

所有的產(chǎn)品都是由頁面組成的,不論是APP、PC、H5都是由一個個頁面組成的,頁面流程圖描述完成一個任務(wù)需要經(jīng)過哪些步驟,你在畫圖的時候只需要清晰的表現(xiàn)出用戶點(diǎn)擊頁面的什么地方,然后跳轉(zhuǎn)到那個頁面。主要由頁面、行動點(diǎn)、連接線組成。
UI設(shè)計圖標(biāo)注
對于APP的頁面,UI設(shè)計師會給出UI設(shè)計標(biāo)注圖,這樣APP客戶端開發(fā)人員,直接按照標(biāo)注圖進(jìn)行頁面的開發(fā)了。

產(chǎn)品設(shè)計完成后,架構(gòu)師需要對產(chǎn)品進(jìn)行軟件的架構(gòu)設(shè)計。包括技術(shù)的選型,模塊的劃分,開發(fā)人員的任務(wù)分配,工作量的評估等等.....
系統(tǒng)架構(gòu)設(shè)計圖
構(gòu)架將在一次又一次迭代中不斷演化、改進(jìn)、精煉。

序列圖
架構(gòu)師一般在做詳細(xì)設(shè)計的時候,會把程序模塊之間的每一步調(diào)用過程很詳細(xì)的畫出來,這樣開發(fā)人員拿到設(shè)計文檔,就能直接開發(fā)。

類圖

設(shè)計圖有很多種,還包括用例圖,狀態(tài)圖,活動圖...... 不再一一介紹。畫什么樣的設(shè)計圖,不是絕對的,不同公司,不同項(xiàng)目,需要畫的設(shè)計圖也是不同的,有些項(xiàng)目需要畫原型圖,有些項(xiàng)目只是對外提供服務(wù),沒有頁面也就不需要畫原型圖。另外還要根據(jù)項(xiàng)目的工期,預(yù)算等等因素考慮。如果一個項(xiàng)目的工期也就一個月甚至更短,那基本上就是怎么簡單怎么快就怎么做。