业务领域建模Domain Modeling
一、什么是領域建模(Domain Modeling)
1、概念
(1) 領域模型(又稱概念模型、領域對象模型、分析對象模型)是對領域內的概念類或現實世界中對象的可視化表示分析方法
a. 專注于分析問題領域本身
b. 發(fā)掘重要的業(yè)務領域概念
c. 建立業(yè)務領域概念之間的關系
(2)領域模型是描述業(yè)務用例實現的對象模型
a. 是對業(yè)務角色和業(yè)務實體之間應該如何聯系和協作以執(zhí)行業(yè)務的一種抽象
b. 從業(yè)務角色內部的觀點定義了業(yè)務用例
c. 為產生預期結果確定了業(yè)務人員以及他們處理和使用的對象之間應該具有的靜態(tài)和動態(tài)關系
d. 注重業(yè)務中承擔的角色及其當前職責
2、分析內容
(1)模型(Model)
模型通常由兩部分組成:
a. 元素(Element)
b. 關系(Relationship):指的是元素間的關系
(2)領域建模(Domain Modeling)
用領域建模分析的主要是:
a. 尋找業(yè)務對象(Business Object)
b. 恰當建立這些對象間的關系
二、項目需求
1、工程實踐題目:
智能合約的工具調研
2、項目需求:
對目前流行的智能合約領域的分析、測試、驗證等相關工具或者框架展開調研,主要內容包括工具類型、可檢測到的漏洞種類、工具開發(fā)語言、存在的不足及改進方法,選取其中兩個工具進行完善,開發(fā)一個系統進行以上內容的整合。
三、針對工程實踐項目的業(yè)務領域建模
主要分為以下四個步驟進行完成。
1、Collect application domain information 收集應用領域信息
第一步是收集應用領域信息。首先需要關注系統所處理主要業(yè)務的功能需求,還要將其他非功能性需求和用戶的需求。
在我的工程實踐項目中,功能性需求包括:
(1)查詢某個工具的相關信息;
(2)比較系統中所包含的任意兩個智能合約工具;
(3)對于用戶指定的智能合約,能夠使用不同的工具進行運行、分析并給出結果。
非功能性需求包括:
可用性、可靠性、系統性能以及其他擴展非功能性需求(包括物理、安全、實施、維護等)
2、Brainstorming
第二步需要充分發(fā)揮主觀能動性,可分為三個小步驟進行:
(1)列出重要的應用程序域概念
(2)列出它們的屬性
(3)列出它們之間的關系
根據第一步列出的所有功能性需求和非功能性需求,可得出如下的幾個類:
(1)智能合約工具:
屬性:工具ID,工具類型,可檢測到的漏洞類型,開發(fā)語言,開發(fā)時間,開發(fā)團隊,其他詳細信息等。
(2)安全漏洞:
屬性:漏洞ID,漏洞類型,可造成的后果等
(3)查詢比較信息:
a. 功能:查詢某個工具的相關信息,包括工具類型、可檢測到的漏洞種類、工具體驗、與其他同類工具的比較、工具的改進方案。
b. 屬性:查詢功能ID,工具ID,漏洞ID等。
(4)分析合約:
a. 功能:對用戶上傳的智能合約能夠展開分析,并且給出分析結果。
b. 屬性:分析合約ID,合約ID,合約類型,漏洞ID,分析結果等。
(5)用戶:
屬性:用戶ID,用戶名,密碼,用戶權限等。
(6)管理員:
屬性:管理員ID,管理員名,密碼,用戶權限等。
3、Classifying the domain concepts
第三步將領域概念分為:
(1)類
(2)屬性/屬性值
(3)關系:association, inheritance, aggregation
根據第二步的分析, 我們可以抽象抽六個類:智能合約工具類、安全漏洞類、查詢比較信息類、分析合約類、用戶類、管理員類。
4、Document result using UML class diagram
因此工程實踐項目的業(yè)務類圖如下所示:
總結
以上是生活随笔為你收集整理的业务领域建模Domain Modeling的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老男孩的运维笔记文档-高级部分(系统架构
- 下一篇: 【收集】6410 开发板(Real641