IDEF1X

資訊建模整合定義是開發的資料建模語言。IDEF1X被用來產生一個圖形資訊模型，它表示在環境或系統中的資訊的結構和語義 。IDEF1X允許的語義模型構造，足以支援管理資料為資源，資訊系統整合，和建造計算機資料庫。這個標準是軟體工程領域的IDEF建模語言家族的一部份。概述.資料建模技術用來以標準的、一致的和可預測的方式來建模資料，從而將它作為資源來管理。它在一個機構內可以用於要求定義和分析資料資源的標準手段的專案中。這種專案包括將資料建模技術結合入方法論，管理資料為資源，整合資訊系統，或設計計算機資料庫。IDEF1X的根本目標是支援整合。整合的方法聚焦於捕獲、管理和使用被稱為的一個數據資源的單一語義定義。在1980年代早期開發最初的IDEF1X的時候，主導系統開發的世界觀的建模方法被歸結為：在這種方法中，資訊建模技術的主要目標是：D/P範型對資訊科技的所有方面施加了強大和普遍的影響。對於IDEF的結果是產生了兩種不同的技術：IDEF0用於過程而IDEF1X用於資料。使用D/P世界觀已經開發出了數以千計的成功系統，很多開發者繼續成功的採用著這種技術。IDEF1X97的世界觀。歷史.在1970年代中期美國空軍在方法的一系列技術，包括如下：IDEF資訊建模的Mr. D. S. Coleman的工作，有著Charles Bachman、Peter Chen、Dr. M. A. Melkanoff和Dr. G. M. Nijssen的關鍵評論和影響。在1983年，美國空軍發起了在ICAM規劃之下的整合資訊支援系統計劃。這個計劃的目標是提供一種技術，能夠在邏輯上和物理上整合異構計算機硬體和軟體的網路。這個計劃和工業實驗的結果是，認識到了對資訊建模的增強技術的需求。從空軍IDEF規劃的合同管理的視角看來，IDEF1X是ICAM IISS-6201計劃的結果並由IISS-6202計劃進一步的擴充套件了。為了滿足IISS-6202計劃確定的資料建模增強要求，子承包商DACOM，獲取了邏輯資料庫設計技術的許可證。從建模技術的技術內容視角看來，IDEF1X是重新命名了的LDDT。LDDT是資料庫設計組並提交給了ICAM規劃，它在1985年將其發表。在1993年1月DBDG的Robert G. Brown完成了IDEF1X形式化。他得到了多次草案所受評論的幫助，評論者包括：Tom Bruce、Ben Cohen、Dave Brown、Twyla Courtot、Chris Dabrowski、Jack Boudreaux、Dan Spar和Mary Loomis。在1993年12月，美國政府發行了IDEF0標準來維護。IEEE Std 1320.2-1998繼續了IDEF1X語言的演化。最初的工作由DBDG的Robert G. Brown在1994年和1995年早期為NIST完成，對IDEF1X向完全覆蓋的物件建模的優雅進化，提供了所需要的基本元素。這個標準描述了IDEF1X97的語法和語義，它由兩個概念建模語言組成：一個“鍵風格”語言後向相容FIPS 184，它支援關係資料庫和，和新的“標識風格”語言，它適合於物件資料庫和。在2008年9月2日，有關的NIST標準FIPS 183和FIPS 184被撤銷。自從2012年9月，IDEF0和IDEF1X97一起成為ISO/IEC/IEEE國際標準，在2019年二者被確認仍是當前標準。*左唯一：對於所有y∈Y存在最多一個x∈X使得xRy。這等價於：對於所有x∈X，所有z∈X，所有y∈Y，如果xRy且zRy，則x=z。這裡的集合Y叫作二元關係R的主鍵。*右唯一：對於所有x∈X存在最多一個y∈Y使得xRy。這等價於：對於所有x∈X，所有y∈Y，所有z∈Y，如果xRy且xRz，則y=z。這裡的集合X叫作二元關係R的主鍵。*左全體：對於所有x∈X存在最少一個y∈Y使得xRy。*右全體：對於所有y∈Y存在最少一個x∈X使得xRy。透過唯一性性質，可以定義出特殊型別的二元關係：，內射且非泛函；多對一，泛函且非內射；，內射且泛函；，非泛函且非內射。透過唯一性和全體性性質，可以定義函式為泛函且連續的二元關係，進一步的定義出內射函式、滿射函式和雙射函式。IDEF1X限制為只使用二元聯絡，因為它們比多元聯絡易於定義和理解，還有直接的圖形表示。缺點是在表示多元聯絡時必然顯得笨拙，但是不會有能力上的損失，因為任何多元聯絡都可以使用多個二元聯絡來表達。IDEF1基本概念回顧.IDEF1X使用的術語非常類似於IDEF1，二者採用的理論基礎和概念卻有著根本的差異。實體在IDEF1中表示在一個特定機構內維持的關於物理或概念物件。實體擁有關聯的特徵特性，用來記錄真實世界中物件的屬性。使用卡片檔案的這個特性的值，組合起來形成的。鍵類是一個或多個特性的一個蒐集，憑藉它就可將卡片或實體類成員相互區分開來。鍵類透過放置到模板的左上角並加以下劃線來指示。關係。這些連結經常指示出一個機構的業務規則的存在。同IDEF1X有關的底層概念，意圖將關於真實世界事物的自然語言事實的建模，橋接於邏輯資料結構的建模。這相當不同於IDEF1的目標，它嚴格關注於真實世界事物的資訊映像。來自最初ICAM工作的概念和過程.三模式方法.在軟體工程中，是建造資訊系統和系統資訊管理的方法，提倡概念模型作為完成資料整合的關鍵。模式是一種模型，通常描繪為並且有時還結合語言描述。這個方法用的三個模式是：位於中心的概念模式，定義使用者所思考和談論的概念的本體。物理模式描述在資料庫中儲存的資料的內部格式，而外部模式定義應用程式表現出的資料的檢視。這個框架嘗試將多個數據模型用於外部模式。概念模式提供一個企業內資料的一種單一的整合定義，它不偏向於資料的任何單一應用，並且不依賴於資料在物理上如何儲存和訪問。概念模式的主要目標是提供對資料的含義和相互關係的一種一致性定義，它可以被用於整合、共享和管理資料的完整性。概念模式必須有三個重要特徵：建模指南.建模過程可以分成模型開發的五個階段。專案初始階段的目標包括：* 專案定義：一般陳述已經做了什麼、為什麼要做和怎樣做。* 料：獲取料的規劃，包括索引和檔案歸檔。* 作者約定：約定的基礎宣告，作者選擇它們用來製作和管理這個模型。實體定義階段的目標是標識和定義屬於要建模的問題領域的實體。實體是從基本實體例項綜合出來的結果，這些例項成為這個實體的成員。第一階段的產出是：*實體池。實體池包含在此刻已知模型的上下文內的所有實體的名字。在第四階段結束時，這個列表中的一些名字很有可能不能存留為實體。此外隨著建模的前進和資訊理解的增進，一些新的實體將被增加到這個列表併成為這個資訊模型的一部份。*實體術語表。在這個階術語表只是實體定義的一個蒐集。一個實體定義的構件包括：實體名字，實體定義和實體別名。聯絡定義階段的目標是標識和定義在實體之間的基本聯絡。在建模的這個階段，一些聯絡可以是未明確的並且需要在後續階段來精製。從這個階段主要的輸出是：* 聯絡矩陣。要識別在各種實體之間觀察到聯絡，可能要求開發一個實體的聯絡矩陣來指示出所有可能的實體之間的聯絡。* 聯絡定義。這些定義包括：依賴的指示，聯絡名字，和關於聯絡的敘事陳述。作為規定聯絡的結果，可能還會拋棄一些聯絡和增加新的聯絡。* 實體層次框圖。在建模的這個階段，所有實體都展示為方框並允許未明確聯絡。鍵定義階段的目標是：* 精製來自第二階段未明確聯絡。精製聯絡的過程將每個未明確聯絡轉化或轉換兩個明確聯絡，為此演進出新的實體。* 定義每個實體的鍵特性。標識鍵的過程包括：標識出一個實體的候選鍵，選擇一個候選鍵作為這個實體的主鍵，標記這個實體的替代鍵。本階段結束時產出鍵特性定義。特性定義包含：特性名字，特性定義和特性別名。* 遷移主鍵來建立外來鍵。有三個規則支配這個過程：在一個聯絡中遷移總是發生於從父或總屬實體到子或分屬實體，整個主鍵對這個實體對共享的每個聯絡都必須被遷移一次，非鍵特性永不被遷移。* 驗證聯絡和鍵。應用各種規則對模型進行精製。透過路徑斷定去除多餘的聯絡。隨著主鍵成員被標識出來，涉及過的特性形成一個特性池。使用實體/特性矩陣來標識整個模型中特性的分佈和使用。特性定義階段的目標是：* 開發特性池。擴充套件第三階段建立的特性池來包含非鍵特性。特性池是潛在可行的特性名字的一個蒐集，是在這個模型中用到的特定名字的* 確立特性從屬。這一步為每個非鍵特性指定一個所屬實體。* 定義非鍵特性。特性定義包含：特性名字，特性定義和特性別名/同義詞。* 驗證和精製資料結構。應用各種規則對模型進行精製。形式化.形式化的目的，是透過向IDEF1X的每個建模構造，提供到形式的一階語言中的一組等價句子的對映，精確的陳述這些構造意味著什麼。圖形語言可以被當作表達等價形式句子的實際的簡潔方式。IDEF1X結合了關係模型、實體聯絡模型和資料泛化的元素。增加了檢視、和模型層級的想法，來解決實際中遇到的那種規模的問題。結果是IDEF1X的形式化，不能嚴格的只依據關係模型，而是直接使用一階邏輯。為了增進形式化的能用性，只使用邏輯的有限子集，本質上為入門教程所涵蓋。一部份的形式化依託於IDEF1X的元模型。形式化中解釋自身就是有用的，不依賴於詳細的形式化。形式化預期向依靠IDEF1X構造的含義的如下領域提供堅實基礎，如SQL或其他程式碼生成，與其他建模方式來回轉化，與其他種類的模型整合，像靜態屬性一樣捕獲動態屬性。這些領域都要求形式化提供的嚴格定義的語義。IDEF1X理論.IDEF1X模型構成自用到的全部的實體和域。形式化處理過程產生相應的一階邏輯中的。一階邏輯可以被當作是自然語言的用來描述和推理事物的那些方面的形式語言版本。個體事物使用常量、變數和函式符號來指稱；在事物之間的關係使用符號來陳述；而關於事物聯絡的句子透過邏輯聯結詞比如與、或、非，和全稱量詞來陳述。一階邏輯理論構成自其中常量、函式和謂詞符號被限定於特定詞彙表。IDEF1X理論的起點是帶有等式的一階邏輯，假定已有整數和列表的理論的詞彙和公理。補充的IDEF1X的詞彙和公理來自如下本質想法：這個謂詞將一個實體例項關聯上它的特性值。如果有codice_3個特性的一個實體類被表示為codice_4元謂詞符號codice_5，它的第1個特性是codice_6，第2個特性是codice_7，則codice_8意味著，標識為codice_9的個體是這個實體類的成員，並且作為這個類的成員，有一個codice_6特性值codice_11，和一個codice_7特性值codice_13。如果codice_11特性的值。這個謂詞將父實體的例項的父親。注意codice_23不是存在量詞。codice_25意味著，codice_26是一個存在的實體值。注意術語codice_26只是提名某個事物可以是一個類例項。codice_26事實上是一個存在的類例項，當且僅當codice_25成立。codice_35意味著，實體類例項codice_26，持有屬性codice_37的值，並且這個值是codice_38。屬性。不直接使用底層的codice_1元和二元謂詞，轉而依據類例項的存在性和這些例項的屬性值，來表達IDEF1X建模構造的形式含義。用codice_23和codice_34書寫的句子，可以被非正式的當作對樣本例項表的初步的查詢語言。IDEF1X所建模的是一個企業所關心的事物，不是這些事物的名目，也不是關於這些事物的資料，一個IDEF1X模型預期成為這個企業所關心的事物的概念模型。這種論域UOD下，就是說有特定的實體例項存在，它有特定的屬性值，並擁有特定的與其他實體例項的聯絡。對於任何UOD狀態，一些句子是真的，而另一些句子是假的。一些UOD狀態是可能的，另一些是不可能的。關於UOD的句子是真還是假，不依賴於它的任何模型。一個IDEF1X模型被認為是正確的，如果它以，事實上在所有可能UOD狀態下是真的，在所有不可能狀態下是假的。真實是依據解釋來定義的。一個解釋將來自UOD的元素指定給這個理論的符號。特別是，一個解釋將某一個關係指定給每個謂詞符號。作為結果，在理論中的句子變成關於UOD的句子，並且它們的真實要依據UOD的現實來確定。以這種方式，每個句子在這個解釋中要麼是真要麼是假。一個解釋被稱為一個理論的“模型”，如果這個理論的所有公理在這個解釋中都是真的。一個IDEF1X模型是正確的，當且僅當對應於它的理論，僅擁有所有的將可能的UOD狀態指定給這個理論的符號的那些解釋作為“模型”。在形式化中，一個實體類UOD。在示例的樣本例項表的左側的codice_49表示被歸類為是對應於這個表的實體類的成員的一個“事物”的標識。IDEF1X元模型.IDEF1X可以被用來建模IDEF1X自身。這種元模型有多種用途，比如倉庫設計、工具設計或用於規定有效的IDEF1X模型的集合。依賴於用途，會得到略微不同的模型。對元模型有兩個重要的限制。首先它們規定語法而非語義。其次元模型必須補充採用自然或形式語言的約束。IDEF1X的形式理論提供了表達所需約束的語義和方式二者。IDEF1X標準在規定了IDEF1X模型到一階理論的對映之後，定義了IDEF1X元模型。在這個模型上的約束使用一階語言來表達。這些約束成為這個元模型的IDEF1X理論的一部份。一個有效的IDEF1X模型接著被定義為這個元模型的IDEF1X理論的“模型”。IDEF1X97的概念.面向物件世界觀的湧現已經嚴重影響了IDEF1X的演變。物件範型採用了根本上不同的世界觀。在這個範型中，建模方法可以歸結為：這種方式中，建模技術的主要目標是：D/P和OO範型的方式是不同的。對於IDEF1X，從D/P和OO方式湧現出來的概念不是完全不相容的，實際上概念有高度的對應性。IDEF1X97的構造.IDEF1X97的語言構造包括：每個類要麼是狀態類要麼是值類。*狀態類。狀態類表示帶有可變更狀態那些例項。它的例項可以有來往並隨時間而改變，就是說它們的屬性值可以變更。*值類。值類表示純值的那些例項。它的例項不可來往並不可變更。*屬性。一些責任由知識和行為來承擔，而它們順次由屬性來確定。屬性是顯露一個物件的知識或行為的某些方面的，。類擁有屬性，例項擁有屬性值。#特性。特性是從一個類到一個值類的對映。一個特性表達一般共同於一個類的那些例項的一些特徵。特性的名字是這個值類在描述這個類時所扮演的角色的名字，它可以簡單的是這個值類的名字。#參與屬性。參與屬性是從一個狀態類到一個有關的。參與屬性的值是一個有關例項的標識。對於其中可以有很多有關例項的聯絡，這裡的一個參與屬性按上述描述來命名但字尾著codice_50，它是從這個狀態類到一個蒐集類的對映，這個蒐集的成員是有關的那些例項。#運算。類的運算規定它的例項的行為。運算是從這個類的那些例項和輸入引數型別的那些例項的對映。如若特性或參與屬性是一個例項知道什麼的抽象，則運算是一個例項做什麼的抽象。*約束。其他的責任透過符合約束來承擔。約束是對一個類或一個類的例項要求為真的那些事實的陳述。約束以關於屬性值或約束的邏輯句子的形式來表達。一個例項符合這個約束，如果這個邏輯句子對這例項為真。一些約束固有於建模構造中，並可輕易的使用圖形來表示；另一些約束特定於特殊的模型，並使用規定語言來陳述。*註解。註解是描述一些一般性註釋或關於模型某部份的特殊約束的自由文字的主體。前導於使用規定語言捕獲約束，註解可以用在早期的高層檢視中，註解可以透過提供解釋和例子進一步的澄清一個規則。註解還可以用於不涉及規則的有“一般性利益”的註釋。這些註解可以伴隨於模型圖形。*檢視。檢視是主題域、類、聯絡、責任、屬性、約束和註解的蒐集，為特定用途而組裝或建立並覆蓋特定範圍。檢視可以覆蓋整個建模領域或只是這個領域的一部份。*層次。層次是一個檢視的覆蓋範圍和詳細程度的指定。有多個層次的檢視。*環境。環境是概念空間，就是說在其中概念有一致的含義和用於這個概念的一個或多個一致的的名字。所有檢視都為特定環境而開發。*術語表。術語表是在一個環境中可以用來定義概念的所有術語的名字和描述的蒐集 。模型術語表是出現在一個模型的檢視中的所有定義了概念的名字和描述的蒐集。*模型。模型是一個或多個檢視和與之一起的敘事描述和對檢視及在模型的檢視中使喚的檢視構件的規定語言的包裝。引用.本條目引用的公有領域材料來自的網站或文件。