IDEF是ICAM DEFinition method 的縮寫,是美國空軍在70年代末80年代初ICAM(Integrated Computer Aided Manufacturing)工程在結構化分析和設計方法基礎上發展的一套系統分析和設計方法。IDEFO方法是其中的一個內容,在ICAM中用來建立加工製造業的體系結構模型,其基本內容是SADT(System Analysis and Design Technology)的活動模型方法。它是由Softech 公司發展起來的。
基本介紹
- 中文名:IDEFO圖表
- 全稱:ICAM DEFinition method
- 國家:美國
- 時期:70年代末80年代初
使用IDEFO過程製圖模型為模型配置管理、需求和收益分析、要求定義和持續改進模型創建分層圖。
IDEFO的基本思想是結構化分析方法,來源於SADT方法。它具有以下一組基本特色,這些特色形成一種思維規則,適用於從計畫階段到設計階段的各種工作。
一、全面地描述系統,通過建立模型來理解一個系統
一般地說,一個系統可以被認為是由對象物體(用數據表示)和活動(由人、機器和軟體來執行)以及它們之間的聯繫組成。數據流圖只反映了一個側面,很難說明系統的全貌。IDEFO能同時表達系統的活動(用盒子表示)和數據流(用箭頭表示)以及它們之間的聯繫。所以IDEFO模型能使人們全面描述系統。
對於新的系統來說,IDEFO能描述新系統的功能及需求,進而表達一個能符合需求及能完成功能的實現。對已有系統來說,IDEFO能分析套用系統的工作目的,完成的功能及記錄實現的機制。在這兩種情況下都是通過建立一種IDEFO模型來體現。所謂模型就是系統的一種書面描述。它不一定必須用某種數學公式表示,可以是圖形,甚至可以是文字敘述。因而可以說:“不管何種形式,只要M能回答有關實際對象A的所要研究的問題,就可以說M是A的模型”。對於有關複雜的企業對象或其他系統,由於用自然語言無法精確又無二義性地表示分析及設計結果,所以這裡採用一種圖形語言來表示IDEF模型。這種圖形語言能做到:
①有控制地逐步展開細節。
②精確性及準確性。
③注意模型的接口。
④提供一套強有力的分析和設計辭彙。
一個模型由圖形、文字說明、辭彙表及相互的交叉引用表組成。其中圖形是主要成分。IDEFO圖形中同時考慮活動、信息及接口條件。它把方盒作為活動,用箭頭表示數據及接口。因此在表示一種當前的操作,表示功能說明或設計時,總是由一個活動模型、一個信息模型及一個用戶接口模型組成。
工程界對系統開發過程一般可安排幾個階段:分析(確定系統將做什麼)、設計(定義子系統及其接口)、實現(獨立地創建子系統)、集成(把子系統聯接成一個整體)、測試(證明系統能工作)、安裝(使系統能運行)和運行(使用系統)。我們介紹IDEF方法的目的,在於強調科學地進行複雜系統的分析和設計的重要性。一般來說,在分析或設計階段造成的錯誤,在後續階段可能花2倍時間去找到、花5倍時間去糾正。或者如人們所說的:分析階段的一個錯誤未被糾正,在設計階段要花2倍時間,測試階段要花10倍時間,運行或維修階段要花100倍的時間才能糾正。
二、目的與觀點(Purpose and Viewpoint)
由於模型是一個書面說明,因此象一切技術檔案一樣,每一個模型都有一個目的與一個觀點。目的是指建模的意義,為什麼要建立模型。觀點是指從哪個角度去反映問題或者站在什麼人的立場上來分析問題。功能模型是為了要進一步做好需求分析,要實現預定的技術要求(不論是對已有系統的改造還是新建系統),所以要明確是對功能活動進行分析(逐步分解),而不是對組織機構的分解。一個活動可能由某個職能部門來完成,但活動功能不等於組織,因此必須避免畫成組織模型的分解過程。模型描述的內容反映各種用戶的要求,從單一角度描述問題是困難的,也是不可能的。如:物資管理人員――倉庫管理員關心收、發、存;計畫人員關心什麼時候物料從庫存點到採購點;廠長關心哪一個工程項目節約用料,加快進度。因此要求所有的用戶,有同樣重要而且相同的需求是不可能的,不切實際的。IDEFO要求在畫出整個系統的功能模型時,具有明確的目的與觀點。譬如對一個企業的CIM系統,必須有明確的站在廠長(或經理)的位置上建模的觀點,所有不同層次的作者都要以全局的觀點來進行建模工作,或者說就是為廠長而建模。這樣才能保證是從全企業的高度來揭示各部分之間的相互聯繫和相互制約的關係。否則有的人強調設計處的利益,有的人突出供銷處的要求,甚至有的可以只為某個崗位的操作人員的要求來建立各功能模組之間的聯繫,那就整個亂套了。
三、區別“什麼”(What)和“如何”(How)
“什麼”是指一個系統必須完成的是“什麼”功能,“如何”是指系統為完成指定功能而應“如何”建立。就是說,在一個模型中應能明確地區別出功能與實現間的差別。
IDEFO首先建立功能模型。把表示“這個問題是什麼”的分析階段,與“這個問題是如何處理與實現”的設計階段仔細地區別開來。這樣,在決定解法的細節之前,保證能完整而清晰地理解問題。這是系統成功開發的關鍵所在。
在設計階段,要逐漸識別各種能用來實現所需功能的機制,識別選擇適當機制的依據是設計經驗及對性能約束的知識。根據不同模型,機制可以是很抽象,也可以是很具體的。重要的是,機制指出了“什麼”是“如何”地實現的。IDEFO提供了一種記號,來表示在功能模型中如何提供一個機制來實現一個功能,及單個機制如何能在功能模型的幾個不同地方完成有關功能。
有時機制相當複雜,以致機制本身需要進行功能分解。
四、自頂向下分解
用嚴格的自頂向下地逐層分解的方式來構造模型,使其主要功能在頂層說明,然後分解得到逐層有明確範圍的細節表示,每個模型在內部是完全一致的。
IDEFO在建模一開始,先定義系統的內外關係,來龍去脈。用一個盒子及其接口箭頭來表示,確定了系統範圍,如圖 1。由於在頂層的單個方盒代表了整個系統,所以寫在方盒中的說明性短語是比較一般的,抽象的。同樣,接口箭頭代表了整個系統對外界的全部接口。所以寫在箭頭旁邊的標記也是一般的,抽象的。然後,把這個將系統當作單一模組的盒子分解成另一張圖形。這張圖形上有幾個盒子,盒子間用箭頭連線。這就是單個父模組所相對的各個子模組。這些分解得到的子模組,也是由盒子表示,其邊界由接口箭頭來確定。每一個子模組可以同樣地細分得到更詳細的細節。如圖2。
IDEFO提供的規則,保證了如何通過分解得到人們所需要的具體信息。一個模組在向下分解時,分解成不少於3個、不多於6個的子模組。上界6,保證了採用遞階層次來描述複雜事物時,同一層次中的模組數不會太多,以致不適宜於人的認識規律。下界3,保證了分解有意義的。但是,原始的SADT方法,規定一張圖上的盒子數為2~7個,故我們也不作很硬性的限制。
模型中一個圖形與其他圖形間的精確關係,則用互相連線的箭頭來表示。當一個模組被分解成幾個子模組時,用箭頭表示各子模組之間的接口。每個子模組的名字加上帶標籤的接口,確定了一個範圍,規定了子模組細節的內容。
在所有情況下,子模組忠實地代表了父模組,以既不增加也不減少的方式反映著各自父模組所包含的信息。