IDEF (ICAM DEFinition method) 代表的是一整套的概念建模方法,總共有 IDEF0 ~ IDEF14 + IDEF1X 共 16 種,不過篇文章不太可能介紹完,只會對一些重點做介紹,首先列一下 IDEF 16 種到底有哪些? [1]
本篇文章就挑 IDEF1X 來介紹好了,IDEF1X 的元素種類可以透過 ER 圖來比較 [5]:
.
用來表達 Entity-Relation 的方式都一樣,詳情可以回頭看看 ER Diagram,並請簡略參考下圖:
這是 Wiki 中的 IDEF1X 的範例圖,在上面同樣可以看到每個關聯性都有寫上關係文字,跟上一節的 ER 圖介紹的作法是差不多的。
由於圖、畫法都與 ER 圖相近,所以現在要介紹一些不同於 ER 圖章節的內容,就是【建模方法】,具體來說就是對一整套系統(或稱業務需求)來做建模,這個建模需要經過 5 個階段 (A~E):
每個項目在第零階段中,你會需要運用以下工具來稍微撰寫目前得到的所有資料、文件、把文件整理成 Workspace,建立繪製模型的約定,以下是目標。
第一階段有兩大目標產出:
第一階段要完成的話,需要把所有手邊的資料全數整理完 (這包含問題領域、Domain Knowledge) ,建立出所有實體和他們的定義 (定義要有上下文關聯) 以及賦予一些名稱,全部定義出來在一個圖表中,你就會得到第一階段需要的【實體表】。
下圖是一個轉換所有角色、物件,歸納出實體的例子,比方說這套 ERP / 員工系統,將 【人】 這個角色分離出【員工】這個實體,並寫上屬性。
然後,也許建立一份文件,把每個定義的名稱做一些解釋說明,方便日後 Ctrl+F 搜尋,這樣就完成【實體術語表】。
第二階段有三大目標產出:
比方說上圖是 Buyer (購買者), Requester(請購者), Approver(審核者), Purchase Requsition(申請採購), Purchase Req. Item(採購物品),這一連串的東西很顯然都是不同的概念 (指他們都不是繼承、父子關係),用這個關係矩陣,就是直接把行列都變一樣成這 5 個,然後對照這個表填上他們之間是否有關,有關就劃記,還記得 SQL Cross Table 嗎? 就是這麼回事,畫表可以幫助你完整檢查所有必要的關聯性,而不會只有你想到的某幾個。
第三階段的目標是:
1. 把第二階段的關聯性更詳細的描述,把粗略的關聯詳細化 (可能會造出新的實體 Entity)
2. 定義每個實體的【關鍵屬性值】 (注意這個步驟只是請你把這個 Entity 最關鍵的屬性填上,其他的還沒有)
3. 定義 Primary Key 和對應的 Foreign Keys
4. 驗證關聯性和這些 Keys
對 2 點需要詳細解釋,這個 2 指的是關鍵屬性,可以使用矩陣的方法列出所有【可能會是 KEY 的候選人】,比方說 Customer Id, Account Id, 或是 Payment Id, IDNo, Pass-code, Discount Code,不過這次是 Entity 對所有列出的關鍵屬性做劃記:
屬性、Entity 可能有非常龐大的數量,想要減少一些不相關的資料出現在這張表上,要特別小心有沒有疏漏。
第四階段的目標是:
以上補充,池可以當作是一種字卡,定義完池之後,再把字卡拿出來排列組合。
References:
[1] https://zh.wikipedia.org/wiki/IDEF
[2] https://en.wikipedia.org/wiki/IDEF0
[3] https://support.microsoft.com/zh-hk/office/%E5%BB%BA%E7%AB%8B-idef0-%E5%9C%96-ea7a9289-96e0-4df8-bb26-a62ea86417fc
[4] https://zh.wikipedia.org/wiki/IDEF1X
[5] https://www.cnblogs.com/jplee/archive/2006/10/12/527775.html
[6] https://zh.wikipedia.org/wiki/IDEF1X
[7] https://www.edrawsoft.com/cn/idef0-solutions.php
[8] https://read01.com/0KeBym.html
[9] http://www2.nkfust.edu.tw/~percy%20/Report4/IDEF0_QFD_CIM_Selection.pdf
[10] http://businessprocessagility.com/wp-content/uploads/2015/06/IDEF03-guidebook.pdf
[11] https://edisciplinas.usp.br/pluginfile.php/5043740/mod_resource/content/1/JME2009_p131_140.pdf
[12] https://books.google.com.tw/books?id=TZPHDwAAQBAJ&pg=PA155&lpg=PA155&dq=idef+wiki&source=bl&ots=EL59BiBeVd&sig=ACfU3U0WrAfXu1GIFFHX3K1XDcoUgz60-Q&hl=ja&sa=X&ved=2ahUKEwibxP7Q1djyAhWLN5QKHfZUAqUQ6AF6BAgZEAM#v=onepage&q=idef%20wiki&f=false