1. Why, 企業規則?
企業規則(Business Rule)又稱為業務規則。 通常,系統分析文件並不獨立敘述企業規則,而是分散於活動圖、狀態圖和順序圖裡,成為隱而 不見的資訊。在簡單的業務裡,企業規則不多,上述的傳統做法是足夠。但是對於複雜的業務而言, 組織龐大,資訊系統也龐大,就會常常發現同一企業規則出現於不同的圖裡,不亦同步更新,導致 系統及企業運作的不一致性,甚至企業運作的混亂。 因之,對於較複雜的業務和系統,系統分析師則會獨立針對企業規則進行分析及記載,以增強 對企業規則的管理。 業務規則會影響到業務的流程(Flow of Business Events)。在UML的活動(Activity)圖、狀態圖(State -chart)和順序圖(Sequence)裡蘊含著眾多的業務規則,其主導著活動的進行、狀態的變化和事件的引發順序。 由於同一項業務規則可能分散於不同的活動圖、狀態圖和順序圖裡,甚至其他文字敘述(如Use Case敘述) 裡。常發生不一致性、重複性等,傷害到架構的清晰性和可靠度。因此,從上述各圖萃取其中的業務規則, 清晰地條列於獨立的文件裡,以便於管理、追蹤與維護。 業務規則來自企業的願景(Vision)、動機(Motivation)、目的(Goal)或策略(Strategy)等。通常我們必須釐清 這些業務規則的源頭,才能時時追蹤這些規則是否已經漂失(Drift)而不再為組織單位所遵行。業務規則文件 不僅記錄規則本身,還要記錄規則的源頭和遵守的相關單位。業務規則是業務架構的重要元素,所以在複雜 業務理,企業規則必須妥善管理之。 2. 何處尋覓企業規則?
分析業務規則的步驟是: l 找出事件(Event)背後的決策(Decision)。亦即,找出事件背後的規則,或是此事件有關的決策
背後的規則。
l 將決策分解為規則(Rule)。
l 消除不一致性和重複性,以提升規則的品質;並去蕪存菁得出最小集合。 l 釐清規則之間的執行相依性。亦即,分析規則的相依性,以及規則與資料項目和資料庫運算間 的關係。
簡而言之,分析事件背後的任務或活動;釐清執行任務或活動所需做的決策,以及做決策時需要參考那些資料;還有,
決策做了哪些判斷,並產生那些新知識。所找到的業務規可分為五大類:
1. 事實(Facts),其表達一個資料之連結關係,事實通常表達為一個句子(Sentence),也表示一個事件。例如: l 一位住院病人只有一位主治醫生。 l 每一張訂單必須有一個訂貨日期。
2. 行為規範(Action restricting),例如: l 如果有借無還,再借就困難。 l 一位學生不能超過5個選修課。
3. 觸發行為(Action triggering),先檢驗資料以決定是否發起一個行動。例如: l 貨品齊全了,立即送貨。 l 如果客戶具有好的信用評等,則可享8折優待。 l 如果訂單審核通過,就執行下單行動。 (行為規範與觸發行動是相反的,行為規範限制了事件的完成,而觸發行動則產生新的事件。)
4. 推論(Inferences),其推導出一個結論值。推論規則被執行後,會產生新的事實(Fact)。例如: l 如果一個月消費達到10000元,就成為VIP會員。 l 如果客戶沒有不良帳款,則此客戶具有好的信用評等。 (此規則被執行的結果:”客戶具有好評”,或”客戶不具好評” 都是事實)
5. 計算(Computation),其可得出一項新的資料值(Value),例如: l 銷售額 = 各細項金額的總和,但不含稅金 3. 企業規則的要素:術語(Term)
依據業務規則的定義,規則是一些「條件」指導企業事件在可允許的情境下發生。如果一個事件不符合 成功的條件,就稱之為不成功的事件。企業經理經常會敘述一些規則(即條件)以預先規定某些事件是允許而 那些是不允許的。規則背後的涵意是表達於其術語(Terms)和事實(Facts)裡。有關的術語包括: l 概念(Concept),例如顧客。 l 概念的屬性(Property of Concept),例如顧客的性別。 l 屬性值(Value),例如”女性”。 l 值域(Value Set),例如星期一到星期五。
例如,滿7歲的兒童才可以入學。兒童是概念,年齡是兒童的屬性,7是年齡的值,整數(Integer)是值域。 一個規則被執行之後,常會產生一些新資訊,或者產生一項出新決策以決定採取何種行動。例如: l 新資訊:入學費用總額是學費加上服裝費。 l 新決策:入學前繳交費用,以8折收費。 4. 企業規則的格式(Format)
一個業務規則常常由多個規則子句(Rule Clause)所組成。也就是說,數個規則子句組合出一個複雜的 業務規則。當一個規則的結果恰是另一個規則的子句時,其相依性就產生了。這些規則就是日常商業事件 及流程之規範,據之而進行簡單推理,並更新資料庫(DB)的資料值,或參考DB資料值而判斷是否接受特定 的商業事件。子句通常必須參考到「資料值」才能判斷其是否為真(True)。所以業務規則和類別圖(或ER Model)是息息相關的。規則子句的基本形式為: <術語> <運算元> <術語> 如下圖: |