服務項目之間的實關系,是服務項目實際操作過程中實實在在存在的關系,這是對業務系統建模工作本來就要表達的內容。
任何一個服務項目,都是過程與目的的綜合,也就是操作流與價值流的合流,通俗地說就是既“可用”又“有用”的事例,“可用”表明可操作,有操作流程,“有用”表明有價值,能達到某些目的。UML標準語義中的用例包含關系和擴展關系,正是在服務項目之間的過程關系與目的關系上,進行了兩種最基本的分類表達。
仔細分析包含關系和擴展關系的區別,我們會發現,兩種關系是從過程的“內”與“外”,目的的“同”與“異”兩個維度來確定的:包含關系所涉及的兩個服務項目,其中一個服務項目的操作過程是包含在另一個服務項目之內的,兩者實現相同類型的同一個目的;擴展關系則正好相反,一個服務項目過程連接在另一個服務項目過程之外,兩者實現不同類型的兩個相關目的。
服務項目之間的實關系,從本質上來說雖然不外乎包含關系和擴展關系兩種,但如果僅僅只使用這兩種關系,會導致模型表達不夠細膩和具體,對抽象思維水平要求過高,同時會增加建模的難度,也會帶來模型在溝通效果上的欠缺。因為,從通俗意義上的服務項目關系來看,還存在許多看上去更豐富多彩的實關系類型可供表達。下面,我們還是順著“實際的服務項目關系有哪些類型,用UML又如何表達它們”的思路來舉例分析。
我們先來看包含關系的一個例外:從服務項目的操作流關系上看,即使是把一部分操作流看成是構成整體操作流的內部組成部分,這部分的操作流與其他部分操作流的執行關系不一定只有串行操作的關系,而可能也存在并行操作的關系。