業務架構的定義 特性和方法

2021-07-12 06:35:03 字數 2395 閱讀 7077

業務架構一般不被開發重視,開發人員喜歡追求新技術,而技術是服務於業務的,現在沒有一項技術是自娛自樂的,一定要支撐業務,否則沒有場景。設計好業務架構要考慮的方面比較多,要做到業務彼此隔離、業務與技術 (平台) 隔離,從業務架構中能看得出整體業務的流程運轉、業務產品的能力、業務領域物件…接下來的兩篇文章將重點講業務架構。

在上篇文章中提到系統架構的方法:系統性思考、分解、抽象、模式,這是總的綱要,針對不同型別的業務架構,要結合本身的特性再加以細化。

上面這樣的描述可能比較空洞,與我們平時接觸的不匹配,再繼續提煉出重要資訊。

綜上,到這裡,也可以用乙個公式來定義業務架構,業務架構 = 業務目標 + 業務流程 + 業務要素,這和系統架構的定義非常相似,只不過是例項化了而已。從業務架構的公式中,最重要的是識別出業務流程和業務流程中包含的業務要素,換個角度來看就是業務要素與業務要素之間的關係,這些關係組成了整個業務。

已經知道了業務架構是什麼,接下來就討論業務架構的特性,通過特性基本上就知道業務架構的大體框架。筆者通過 x、y 數軸加以說明,因為業務要體現出業務流程的流動性和業務的層次性,下面就說明這兩個特性:

業務架構的方法還是從系統性思考、分解、抽象、模式這四點具體說明。

下面通過乙個電商場景的優惠券業務案例來說明業務架構圖是如何畫出來的,使用的方法還是上面提到的,通過具體的例子再加以鞏固。優惠券對於我們來講並不陌生,每年的雙11 都有很多優惠券,有滿減券、折扣券,優惠券是營銷中最常使用的營銷抓手。

優惠券的業務願景是讓使用者可以享受到更多優惠,目標是通過優惠券吸引更多使用者加入,從而提公升 gmv。

從這裡可以看出,願景一定是為他人著想,絕不是為了公司自己賺錢,而是創造價值的同時實現雙贏,雙贏才是最終目標。

如何進行系統性的思考,筆者建議可以使用反推法,假設已經有了這項業務,它應該是如何運轉的、涉及到哪些人,實際上這個過程就是推演的過程,基本上能把整個互動都考慮清楚,業務實現起來基本上沒問題。

所以,經過上面的分析,初步涉及到的業務方就已經出來,此時還只是乙個粗略的關係,這個過程可能需要幾輪不斷的討論最後才成型。

業務流程是客觀存在的,而且任何乙個業務在一定的時候內應該有一條穩定的業務流程,這個業務流程是符合人的認識的,具有嚴謹的邏輯性。怎麼理解呢?乙個業務要運轉起來,不可能是一團糟,一定具備流程,而且是人能接收的,否則你設計乙個***的業務產品出來,注定是失敗的。拿優惠券來講,根據它的生命週期,很容易想到它的主業務流程:建券、發券、用券、退券。

上面是乙個大的流程,還要對各個流程再進一步細分,分解成更小的子流程,每個子流程中包含一系列的步驟,其實這個步驟就是不斷深入地過程,同時對業務的理解也不斷加深,多問幾個為什麼就深入了。

隨著深入的過程,整個業務的細節也浮現出來了,現在就是要抓業務要素,這個要素可以通過每個階段的產物來看。建券的產物是券批次,發券的產物是券例項,用券的產物是用券明細,退券的產物是退券明細。

接下來就是抽象的過程,這個抽象的過程就是對已找出的產物進行抽象。券批次包含:券型別和券門檻限制兩個重要的資訊,用券明細和退券明細統一抽象成券明細,優惠券又與活動強相關,所以也把券活動放進去。

接下來就是畫整體的業務架構圖了,按照場景層、產品功能層、領域模型層、依賴層來畫,畫業務架構圖要體現兩點出來:業務流向和產品功能。通過下面的圖可以直觀地感知業務流向是什麼 (即是藍色區域,建券、發券、用券、退券),通過分層可以清晰地看到可以支援的場景有哪些,場景依賴的產品功能有哪些,業務的領域模型是什麼,依賴的業務又有哪些,真正好的圖能做到一圖勝千言的效果。

筆者喜歡的畫法是"一主兩翼",主體的部分就是上面講的分層,兩翼是運營平台和資料平台,這樣很直觀、簡潔。

本篇文章主要講業務架構的定義、特性以及業務架構的方法,最關鍵的是尋出業務的要素和要素之間的關聯關係,最後通過乙個例項來講解業務架構的畫法,本篇只是業務架構的基礎,通過這個業務架構圖基本上知道業務的流轉和業務的產品功能。接下來的一篇主要講業務架構中的能力檢視、業務監控。

業務 技術和架構

這兩天準備要接手天津商行的專案。但是在接手的過程中,對整個專案的理解卻是非常的困難。最大的問題,就是對業務的不理解。天津商行的這個專案不大,核心的業務就是日結,及其圍繞在日結之周圍的一些相關業務。其實也並不是特別的複雜,但是轉來轉去,開賬閉賬,憑證科目什麼的,的確對乙個財務的門外漢是異常的頭痛。雖然...

演算法的定義和特性

演算法定義 演算法 algorithm 這個單詞最早出現在波斯數學家阿勒.花刺子密所寫的 印度數字算術 中。如今普遍認可的對演算法的定義是 演算法是解決特定問題的求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。演算法定義中,提到了指令,指令能被人或機器等計算裝置執行。...

Apache Kylin的架構特性

不多說,直接上乾貨!支援單機或集群部署,為減少在hadoop上百億規模資料查詢延遲而設計 提供標準sql介面,滿足hadoop之上的大部分分析查詢需求。使用者能夠在kylin裡為百億以上資料集定義資料模型並構建立方體。提供jdbc及odbc驅動,與bi工具整合。壓縮與編碼 增量更新 利用hbase ...