“在設計系統(tǒng)或者軟件時,肯定會遇到各個模塊之間相互配合或者是接入外部資源,共享和傳輸數據,在標識出各個子功能系統(tǒng)(模塊)之間的服務關系后,就需要針對這些接口做逐一分析以便達到相互之間快速接入后業(yè)務也能運行暢通,下圖是針對業(yè)務接口分析的整體思路,后面會在正文中詳解”
/ 小小知識點 /
問:業(yè)務接口分析和系統(tǒng)接口設計有什么區(qū)別?
答:概念不相同:一個業(yè)務接口是可以由多個系統(tǒng)接口來支持實現的。
內容不一樣:接口分析只需要明確用途與業(yè)務價值(相關聯(lián)部分)、雙方的交互過程以及約束點,不涉及解決方案只做分析。
/ 正文 /
一、明確接口用途與業(yè)務價值
如整體思路圖所示,在做業(yè)務接口分析時首先要明確定義出接口的用途與業(yè)務價值,思考下面三個問題可以幫助明確定義
1.1、哪個子系統(tǒng)實現該接口是合適的?
針對這個問題舉個小例子:
例如:現在有一個“反饋客戶體檢報告情況”的接口,是由“客服管理子系統(tǒng)”來提供還是由“體檢業(yè)務子系統(tǒng)”來提供比較好?肯定是首選“體檢業(yè)務子系統(tǒng)”來提供呀,因為反饋客戶體檢報告情況的具體格式,應該是由體檢業(yè)務部門來決定的,所以由該部門相應的子系統(tǒng)來實現比較好。
小例子中就是采用了“知行合一”原則來判斷,由知道接口所需要信息的子系統(tǒng)來提供。
1.2、哪些子系統(tǒng)會用到,用來實現什么價值?
一個業(yè)務接口可能會有很多個系統(tǒng)來使用,遇到這種情況,逐一標識說明為什么會使用該接口,達成的業(yè)務目的是什么,這樣也能夠幫助看文檔的人快速理解之間的關系。
1.3、使用頻率?
最好是能給出一個精確值,如果實在給不出來,也可以是范圍值,在范圍值后能帶一個業(yè)務使用相關的場景信息就更好了。
二、細化接口交互過程
細化接口交互過程時,一般會用到兩種工具:1、時序圖,能很好呈現雙方的交互過程,2、數據包,能整理出交互過程中數據的構成情況
時序圖:
三、確定接口設計約束
這個肯定要首先問技術大哥們,是否有要求使用特定的數據符號、通信協(xié)議、或者是系統(tǒng)技術上原有的限制,在就是看業(yè)務本身對數據傳輸、查詢、加密等方面的性能要求了。
當然,時間充足的情況下,也可以考慮服務器、網絡等部署環(huán)境啦。
四、產 物
思考了以上令人頭疼的東西后,肯定要整理出分析后的產物,“業(yè)務接口描述”
下圖就是業(yè)務接口分析的產物模板啦,歡迎大家來自取。
寫在最后:公眾號:顧四秋
大家可以關注我的公共號,里面有更多關于產品、技術方面的文章哦,還會有不定期的福利送(書、資料之類的)