軟體開發業務建模分析
業務建模
三級需求:業務需求、使用者需求、系統需求(也叫功能需求)
簡單理解:
-
業務需求:怎麼實現盈利,怎麼吸引使用者。
-
“三尖刀”原則:即” OKR(Objectives and Key Results)“目標與關鍵成功法,因為業務需求的目標是吸引使用者,獲得盈利,所以在描述業務需求的時候,需要方法技巧。
OKR的主要目標是明確公司和團隊的“目標”以及明確每個目標達成的可衡量的“關鍵結果”。
-
SMART原則:
- Specific(具體的):我們的產品具體要做什麼,要怎麼做。
- Measurable(可衡量的):我們的產品會給使用者帶來什麼好處,這個好處用什麼方式度量。
- Attainable(可實現的):產品的可實現性,砍掉不切實際。
- Relevant(相關的):抓住關鍵目標,砍掉產品的無關目標。
- Time-Based(有時間限制的):有時間限制的就是砍掉無限拖延。前面確立的專案都很好,但是需要實現的時間太長則沒有意義。
-
-
使用者需求:怎麼讓使用者選擇你的產品。
-
系統需求:你的產品怎麼能更好用一點。
其中系統需求基於使用者需求、業務需求基於你的功能如何讓使用者離不開你的產品。
詳細解釋:
- 業務需求:業務需求來自公司、來自老闆。業務需求描述的是願景級的需求,主要描述巨集觀上產品解決了市場上的哪類人群的痛點和需求,這裡會通過描述使用者畫像等完成產品故事的表達,主要站在整個系統(產品)和公司的角度進行分析,表示組織或客戶高層次的目標。
- 使用者需求:使用者需求來自使用者。對使用者群體進行分類,從某一類使用者的視角分析這一類使用者對軟體的需求。描述的是使用者的目標,或使用者要求系統必須能完成的任務。
- 系統需求:系統需求站在了產品的角度,把具體的使用者需求,變成軟體的功能要求。功能需求是基於業務需求和使用者需求進行需求分析的結果。規定開發人員必須在產品中實現的軟體功能,使用者利用這些功能來完成任務,滿足業務需求。
-
第一步:構建系統上下範圍圖(頂層資料流圖、0層資料流圖),確定系統邊界,確定與系統直接互動的外部實體。
-
第二步:構建第1層資料流圖,確定與系統直接互動的外部的相鄰系統實體,確定業務事件的發生並引起的進出資料流。
- 業務事件存在系統外部,業務事件是可以引起系統內部一系列活動的外部事件(可以是人、物、時間等等)
- 業務用例存在系統內部,業務用例可以響應一個業務事件的工作。
- 外部業務事件觸發內部業務用例進行資料互動(進出的資料流),輸入的資料由業務事件提供,輸出的資料由業務用例提供。
-
第三步:研究每個業務用例,編寫業務用例場景。這裡對應使用者需求。
-
第四步:利益相關者決定要構建的最佳產品。
-
第五步:基於第三步和第四步的結論,通過產品用例分析、站在系統角度編寫用例場景。
-
第六步:分析師為產品編寫故事或需求。
系統功能架構圖示例:
- 對應資料流圖,通常以3層結構為宜。
- 其中第1層資料流圖(中央監控、病症監控 ...),對應一個個業務用例(功能模組),這裡以3 ~ 7個模組為宜。
軟體開發結構化建模分析
- 軟體模型:對軟體系統在各個開發階段本質特性的描述,它要反映軟體系統的形成過程。
- 領域模型:也叫業務模型,描述軟體所要服務的業務領域的業務狀況和業務關係。
- 需求模型:描述軟體可向使用者提供的外在特性,包括軟體的目標、功能、效能等。
- 設計模型:軟體中具體模組的設計方案(GoF23種設計模式),詳細設計、介面和資料庫等。
- 實現模型:軟體的具體編碼實現,軟體的實現結構。
- 測試模型:測試軟體的模型描述。
- 軟體建模方法:
- 面向功能
- 面向資料
- 物件導向
- 結構化分析的模型
- 資料模型(ERD圖 Entity Relationship Diagram)
- 功能模型(DFD資料流圖 Data Flow Diagram)
- 行為模型:包括互動模型和狀態模型。側重物件之間的互動、狀態和活動。(順序圖、狀態圖、活動圖)
資料流圖
圖片來自:https://www.jianshu.com/p/2bf96cb928b3