簡介
假設您已熟悉以 J2EE 為技術平台的一般資訊,請參閱 概念:Java 2 Platform 企業版 (J2EE) 概觀和概念:從設計對映至程式碼。這個準則中有些概念屬於 UML 1.4,不過您有可能在 UML 1.3 外掛程式中使用。如果您很難理解某些事情,請檢查這兩種 UML
規格的說法。
設計實作模型的結構
作業:設計實作模型的結構描述如何產生嚴格符合「設計模型」結構的「實作模型」結構,但同時也反映任何開發環境限制,且支援並列開發和遞增式整合。
J2EE 應用程式的「實作模型」結構取決於開發和實作環境,不過,一般而言,J2EE 實作模型內有四種可能的結構:
-
部署支援(J2EE 模組和部署描述子)
-
虛擬目錄結構(JSP、HTML 網頁)
-
在 Web 伺服器上部署之元素的 Java 目錄(Servlet、JavaBeans)
-
在 EJB 應用程式伺服器上部署之元素的 Java 目錄 (EJB)
建模實作子系統
工作成果:軟體架構文件中的「實作觀點」提供高階的實作模型概觀。其中包括指出「實作子系統」。在 J2EE
應用程式中,「實作子系統」不一定會對映至檔案系統中的單一目錄或模型中的單一套件,因為「實作子系統」可能包含一個模型的非 Java 元素(例如 JSP 和 HTML 網頁)和另一個模型的 Java
元素。解決此問題的一項對策是在每一個模型中使用一個並列包裝結構。同名的套件在每一個模型中會隱含地產生關聯。
「實作子系統」通常可為可部署的單一「實作檔案」提供實作(JAV、WAR 或 EAR 檔案)。在此情況下,指出可部署的檔案有利於指出「實作子系統」。
每一個實作子系統內可能存在實體元素,由「實作目錄」和「實作檔案」組成。也可能會有邏輯元素,由類別、元件、套件等組成,這些元素對應於工作成果:設計模型元素,只是程式碼的精確模型(雙向工程模型)。如需設計模型和實作模型之間的關係的相關資訊,請參閱概念:從設計對映至程式碼。
雙向工程模型可以精確表達程式碼。在 J2EE 中,Java 模型中的每一個套件代表一個 Java 套件、每一個類別代表一個 Java 類別,依此類推。不過,通常需要在雙向工程模型中補充其他資訊,包括:
-
圖型,顯示雙向工程中未自動產生的資訊
-
模型的高階抽象概念
「設計模型」表達類別、元件、套件等的抽象概念。不過,可能也需要更高階的抽象概念或其他圖型來表達實體元素(檔案和目錄)。後續各節將做說明。
建模實作目錄
雙向工程通常只處理開發環境中所需的一部分目錄。組織測試成果、部署單元、文件等通常需要其他目錄。通常不必建模,因為目錄可以視為檔案系統的一部分。
建模實作檔案
通常不會塑造實作檔案,除非雙向工程工具提供一些支援,或需要顯示一些不太明顯的關係。
每一個 Java 介面或類別通常有一個 .java 檔案,每一個 .java 檔案通常有一個編譯的 .class 檔案。因此,建模這些檔案沒有太大用處。
在 J2EE 中,一個子系統通常包含一或多個保存檔(JAR、WAR 或 EAR 檔案)。
將保存檔塑造為從保存檔至內含檔案之間的組合關係才是最正確。不過,當編譯的 .class 檔案組成 JAR 檔案時,最好顯示 JAR 檔案至最後實作的類別和介面的相依關係。
如果「實作子系統」只產生一個 JAR 檔案,則可能完全不需要建模;特別是在「實作子系統」中的所有可部署的檔案皆可視為屬於 JAR 檔案的情況下。
重疊保存檔
有可能定義兩個保存檔,各檔案包含一些相同的元素,但通常不建議這種作法。例如,兩個 EAR 檔案可能包含一些(不是全部)相同的 EJB JAR;或兩個 EJB JAR 包含相同的 EJB,但有不同的部署描述子。
保存檔最好不要重疊,以維持實作子系統和可部署的保存檔之間的高度一致性。然而,有需要重疊時,最好闡述重疊的理由來塑造這種關係。
|