2011-06-01 77 views
1

我建立一個Web應用程序,我有servlet作爲CONTROLER和Java類作爲請求handdler如何在UML中使用POJO作爲模型繪製組件?

所以如果servlet接收來自客戶端的請求的,它會調用方法從請求處理程序來處理請求,然後請求處理程序將不得不調用ejb來完成業務邏輯,並且當ejb完成它的處理時,請求處理程序將給客戶端一個響應(JSP Page)

所以問題是,如何根據我上面描述的結構繪製UML?如何描述與POJO(requesthandler)THX的組件(servlet和EJB)之間的關係嗎?幫助


是不是得出這樣嗎?

http://i56.tinypic.com/2lmx6c5.jpg

THX

+0

是否要繪製靜態關係或行爲流?前者的類圖,後者的序列/活動圖。 – sfinnie 2011-06-01 20:12:31

+0

所以我不需要繪製組件圖?我可以在組件圖中添加一個類圖嗎? – Hendra 2011-06-02 07:05:49

+0

你不需要*繪製任何東西。問題是繪製任何東西的原因是什麼?即你想用你的圖表傳達什麼信息? UML提供了各種不同的圖表,每個圖表顯示了系統的不同方面。您選擇的圖表取決於您想與之通信的內容。 – sfinnie 2011-06-02 08:28:33

回答

0

[每對如何繪製類圖評論問題]

類圖可能是最經常用於表示在一個問題域的關係。關係捕捉來自域的規則(例如「每個訂單由一個或多個訂單行組成」/「每個訂單行僅構成一個訂單的一部分」)。

在你的情況下,這些類跨越了體系結構的各個層次。因此,這些關係捕獲架構規則而不是域規則。我不傾向於爲此目的使用類圖,但原理是一樣的。對於每對課程你需要問:

  • 你會如何描述類之間的關係?
  • 什麼是基數?

例如,採取servlet &客戶端。你如何描述這種關係?大概是這樣的:

  • 說明:客戶端調用的servlet/servlet的客戶
  • 基數呼籲:對於每個給定的客戶端實例,有多少的servlet可以將其講話?可能是一個或多個。同樣,單個servlet實例可以接收多少個客戶端請求?同樣可能一個或多個(取決於你的設計)

假設以上是爲您的設計正確,你就必須像下面(道歉的格式,yuml.me似乎並不乾淨放置文本):

client-server class diagram example

同樣的方法適用於其餘類。首先詢問你如何將關係描述爲一個句子,然後找出基數。例如,使用servlet請求處理程序:您如何描述?我對java EE模式不是很熟悉,但會猜測servlet委託給請求處理程序。所以關係短語就像「servlet 代表請求請求處理程序」。等ejb類等。

hth。

+0

thx很多,我看到你的觀點..我已經編輯了這個問題,請看我的形象,是否有權這樣畫?該servlet是由web容器管理的組件,客戶端對容器的請求,容器根據客戶端發送的url爲客戶端提供正確的servlet。所以決定的容器是否需要創建servlet的另一個實例或不..所以我標記它1 .. *關係.. – Hendra 2011-06-03 09:32:13

+0

道歉延遲答覆。儘管有兩點意見:(1)使用比RequestHandler_X等更有意義的術語(假設你會和診斷只是例子)。 (2)我真的認爲你可以用活動/順序圖更好地服務。你的大部分評論暗示你想展示「它是如何工作的」。活動/順序診斷對此更好。類圖顯示了它的結構,而不是它的工作原理。祝你好運,無論你走到哪裏。 – sfinnie 2011-06-06 19:44:08