2013-01-24 130 views
1

我正在嘗試爲TomCat作爲本地主機運行的基於Web的應用程序創建序列圖。基本的基於Web的應用程序的序列圖

該應用程序使用戶能夠在文本框中輸入文本並將其保存到TomCat中的目錄中。

我在爲此定義對象時遇到問題。

到目前爲止,我有「演員CreateText.jsp,應用程序服務器」

事件的順序如下:

  1. 用戶負載應用
  2. 用戶選擇創建文本按鈕
  3. 創建文本網頁返回給演員
  4. 用戶輸入文本並按下「保存」文本文件
  5. 文件保存到應用服務器
  6. 確認信息返回給演員

如何在序列圖上顯示這個呢?

+1

的序列圖應該有一個像所有可能的路徑。因此,一定要描述故障情況,以及在這些情況下應用程序流應該如何以及如何。通常情況下,一個序列圖將有一個開始和一個停止,所以映射從應用程序加載到完成過程的路徑,包括所有與快樂路徑的偏差。 – dinukadev

回答

1

在定義「演員」你應該知道,定義

演員模型通過與 交互主體的實體中發揮了類型的角色(例如,通過交換信號和數據) ,但是在主體外部(即,參與者的實例不是其相應主題的實例的一部分)的意義上,其爲 。演員可能代表人類用戶,外部硬件, 或其他主題扮演的角色。注意,參與者不一定代表特定的物理實體,而僅代表某個實體的特定方面(即「角色」) ,其與其關聯的 用例的規範相關。因此,單個物理實例可以起到 幾個不同參與者的作用,相反,一個給定的演員可以由多個不同的實例

在你的系統上播放 ,我們可以說,演員都是(User, Web browser, Web server (Application, Content database))

我們下一步將定義「致電消息」和我們的參與者之間的「返回消息」。

消息限定 相互作用的生命線之間的特定通信。

根據您提到的事件,我們會盡量將其分解,以更好地解釋它們。

  1. 用戶負載應用程序。
    • [用戶] ---- 「RequestResource()」 ---> [Web瀏覽器]
    • [Web瀏覽器] ----- 「RequestAccessForUser()」 ---> [Web服務器]
    • [Web服務器] ------「CheckUserExists()」-----> [內容數據庫]
    • [內容數據庫] ---「Exists Return Message」----> [Web服務器] - 繼續向用戶返回響應,並在您的瀏覽器上加載您的頁面。

在這裏您可以找到有該用戶未註冊的概率,再有就是一些所謂的「另類路徑」。

當然,您可以通過減少演員數量來最小化步驟,但爲了學習和簡單起見,這將是一個非常好的解決方案。下面是一些例子,教程肯定會有所幫助。

Visual Paradigm introduction to write your first Sequence Diagram

Sequence Diagram Examples

1

隨着web應用程序使用HTTP請求/響應對建成,我覺得這樣有助於在序列圖中捕捉到這一點。它還有助於考慮您爲每個請求發出的HTTP命令的類型 - GET,POST等,以及哪些請求需要身份驗證或狀態。如果應用程序使用狀態碼 - 例如「重定向」或「需要身份驗證」,我也喜歡這些。

我通常不會在這個過程中對用戶進行建模 - 這一點通常不是模擬用戶交互(他們點擊哪些按鈕等);但是,我確實包含了在瀏覽器中執行的相關JavaScript函數(例如「WaitForInput()」)。

所以,你的例子,它可能是這樣的:如果當時else語句

Browser: GET index.jsp -> ServletContainer 
ServletContainer: 200: index.jsp ->Browser 
Browser: GET enterText.jsp -> ServletContainer 
ServletContainer: 200: enterText.jsp -> Browser 
Browser: POST: enterText.jsp(text) -> ServletContainer 
ServletContainer: validateEntry() -> ServletContainer 
if(valid) 
    ServletContainer: 200: success.jsp(fileName) -> Browser 
else 
    ServletContainer: 501: fail.jsp(reason) 
endif 
相關問題