| 分析/設計型別 | UML 標誌 | J2EE 實作對應 |
| 控制類 | <<control>> | Servlet、EJB Session Bean (Stateful/Stateless) |
| 界面類 | <<boundary>> | JSP、HTML、Applet、Swing Dialog |
| 實體類 | <<entity>> | EJB Entity Bean (CMP/BMP)、JPA Entity |
對應 Sun "Model 2" 架構:Servlet 做 Controller、JSP 做 View、EJB/JavaBean 做 Model。
Rational Rose 圖形化建模支援
Servlet 定義對話框
屬性頁籤可設定:類別名、套件、URL Mapping、初始化參數、web.xml 片段自動生成。
EJB 建模精靈 (支援 1.1/2.0/2.1/3.0)
- Session Bean:勾選 Stateless/Stateful,自動產生 Home/Remote/Local 介面、
ejb-jar.xml 片段。
- Entity Bean:定義 CMP 欄位、關聯、Finder 方法、主鍵類別。
- 關係標誌:
<<EJBRealizeHome>>、<<EJBRealizeRemote>> 取代實作關係 (介面由容器代理實作)。
JSP 建模
- 雙面模型:Client Page (HTML 模板) + Server Page (Scriptlet/Taglib),關係
<<build>>。
- 選單
Web Modeler → New → Server Page 快速建立。
JavaBean 屬性定義
屬性規格對話框勾選 Property,自動產生 get/set、serialVersionUID、BeanInfo 註解。
整體實作類別圖範例:線上 CD 商店
- 左側:Client Page (首頁、結帳頁) →
<<link>> → MainServlet (Controller)。
- 中間:
MainServlet → <<forward>> → Checkout.jsp (Server Page) → <<Use Bean>> → OrderJavaBean。
- 右側:
OrderEJB、CatalogEJB、CustomerEJB (Entity Bean) 持久化資料。
序列圖可推演:使用者結帳 → Servlet 取得 OrderEJB 明細 → 建立 OrderJavaBean 存 Session → Forward 到 Checkout.jsp → 顯示確認頁。
程式碼生成與雙向工程
支援生成的產出物
- JSP:
<%@ include file="header.jsp"%> (<<include>>)、<jsp:useBean ...> (<<Use Bean>>)。
- Servlet:
doGet/doPost、web.xml 映射。
- EJB:完整 Home/Remote/Local 介面、實作類別骨架、
ejb-jar.xml、jonas.xml/weblogic-ejb-jar.xml 等廠商描述檔。
- JavaBean/HTML/Form:完整原始碼。
EJB 開發加速功能
- 方法同步:介面與實作類別方法一鍵同步 (增/刪/改簽章)。
- Check & Repair:驗證 EJB 規範合規性 (Remote 介面方法與 Bean 類別對應、Home 介面 create 簽章等),自動修復。
Rational Quality Architect (RQA) 整合測試
- EJB 單元測試:自動生成測試腳本、Mock 容器環境。
- 序列圖驅動整合測試:多 EJB 交互場景自動化。
- 元件未就緒時:生成 Stub 框架支援並行開發。
模型-程式碼同步策略
- 內建程式碼編輯器,支援 即時同步 (存檔即更新模型)、手動同步、關閉同步 (唯讀瀏覽)。
- 可針對單一類別或全域設定同步模式。
主流 IDE 深度整合
Rational Rose 2001a+ 提供 Forte for Java (Sun ONE Studio)、Borland JBuilder、Eclipse (via plug-in)、IntelliJ IDEA 整合:模型變更自動反映 IDE 專案,反之亦然,無縫切換建模與編碼環境。
進階建模技巧
- 活動圖:建模 Session 管理流程 (登入、逾時、失效、跨叢集複寫)。
- 狀態圖:替代大量序列圖,精確描述 EJB 生命週期、業務流程狀態機 (如訂單:新建→付款→出貨→完成/取消),驗證所有轉換路徑完備性。
總結
Rational Rose 以 UML 為核心,覆蓋需求分析 → 設計 → 程式碼生成 → 測試 → 同步維護 全生命週期,是少數支援完整 J2EE 技術棧 (Servlet/JSP/EJB/JavaBean/部署描述檔) 的視覺化建模工具。善用模型驅動開發 (MDA) 可顯著提升大型分散式系統的交付品質與可維護性。
- 上一篇文章: Java 5 自動裝箱/拆箱 (Autoboxing/Auto-Unboxing) 深度解析與效能陷阱
- 下一篇文章: 使用 Rational Rose 與 UML 開發 J2EE 應用程式(一)
Copyright ©
程式碼之家 All Rights Reserved