什么是系統架構師?
系統架構師是一個既需要掌控整體又需要洞悉局部瓶頸并依據具體的業務場景給出解決方案的團隊領導型人物。一個架構師得需要足夠的想像力,能把各種目標需求進行不同維度的擴展,為目標客戶提供更為全面的需求清單。
架構師在軟件開發的整個過程中起著很重要的作用。
如何才能成為系統架構師?
- 首先必須具有豐富的軟件設計與開發經驗,這有助于理解并解釋所進行的設計是如何映射到實現中去。
- 其次要具有領導能力與團隊協作技能,軟件架構師必須是一個得到承認的技術領導,能在關鍵時候對技術的選擇作出及時、有效的決定。
- 第三是具有很強的溝通能力,其實這一點好像什么角色都最好具備,軟件架構師需要與各路人馬經常打交道,客戶、市場人員、開發人員、測試人員、項目經理、網絡管理員、數據庫工程師等等,而且在很多角色之間還要起溝通者的作用。
而設計圖,它不是簡單的供你欣賞,他其實是架構師,產品經理,開發工程師,測試工程師等各種角色之間進行溝通的語言,溝通的一個橋梁,讓整個團隊更能有效的協調工作。
設計圖不單單是架構師要掌握的,在一個產品的開發過程中,任何一個環節,任何一個角色都可以通過掌握不同的設計圖來完成溝通的。
流程圖
流程是一系列的邏輯關系(包含因果關系、時間先后、必要條件、輸入輸出)產品經理做需求前一定要先把這些邏輯關系理清楚,如果非要用一句話概括的話“流程就是在特定的情境下滿足用戶特定需要的總結”。
圖就是將你頭腦中的邏輯關系以圖形化的形式呈現出來,具有圖形化、可視化的特點,因為是圖,你可以像你的版本迭代一樣,當你的邏輯需要修改的時候拿出來迭代一下,同時因為有圖,你還可以更好的給項目成員進行宣講。
產品中設計的流程圖主要有三種,業務流程圖、任務流程圖、頁面流程圖,下面我們來一一介紹。
業務流程圖
業務流程圖又稱為泳道圖,就是描述那些個體在什么條件下做了什么事情,他們之間有何關聯。主要分三個方面:
- 涉及到哪些主體?
- 每個主體都有哪些任務?
- 各個主體之間怎么聯系的?一般涉及到多個主體,每個主體之間有聯系。
任務流程圖
泳道圖一般是從戰略上分析整個業務流程,讓你對公司所做的業務有個大概的了解,而任務流程圖就是在你的產品操作上,用戶通過什么樣的操作來完成它的目標,比如你去銀行ATM機器上取錢,你是如何一步步操作把錢取出來的。
頁面流程圖
如果說業務流程圖幫助你梳理戰略,任務流程圖幫助你梳理用戶操作行為(主要給程序員看)、頁面跳轉流程在幫助你梳理各個頁面之間的跳轉關系(主要給UI和前端程序員看)這是一個逐步從整體到局部,從后端到前端的過程。
所有的產品都是由頁面組成的,不論是APP、PC、H5都是由一個個頁面組成的,頁面流程圖描述完成一個任務需要經過哪些步驟,你在畫圖的時候只需要清晰的表現出用戶點擊頁面的什么地方,然后跳轉到那個頁面。主要由頁面、行動點、連接線組成。
UI設計圖標注
對于APP的頁面,UI設計師會給出UI設計標注圖,這樣APP客戶端開發人員,直接按照標注圖進行頁面的開發了。
產品設計完成后,架構師需要對產品進行軟件的架構設計。包括技術的選型,模塊的劃分,開發人員的任務分配,工作量的評估等等.....
系統架構設計圖
構架將在一次又一次迭代中不斷演化、改進、精煉。
序列圖
架構師一般在做詳細設計的時候,會把程序模塊之間的每一步調用過程很詳細的畫出來,這樣開發人員拿到設計文檔,就能直接開發。
類圖
設計圖有很多種,還包括用例圖,狀態圖,活動圖...... 不再一一介紹。畫什么樣的設計圖,不是絕對的,不同公司,不同項目,需要畫的設計圖也是不同的,有些項目需要畫原型圖,有些項目只是對外提供服務,沒有頁面也就不需要畫原型圖。另外還要根據項目的工期,預算等等因素考慮。如果一個項目的工期也就一個月甚至更短,那基本上就是怎么簡單怎么快就怎么做。