基于Web的基本应用程序的序列图

时间:2013-01-24 02:59:17

标签: web-applications uml sequence-diagram

我正在尝试为使用TomCat作为本地主机运行的基于Web的应用程序创建序列图。

该应用程序使用户能够将文本输入文本框并将其保存到TomCat中的目录。

我无法为此定义对象。

到目前为止,我有" ACTOR-CreateText.jsp-Application Server"

事件顺序如下:

  1. 用户加载应用
  2. 用户选择“创建文本”按钮
  3. 创建文本网页返回给actor
  4. 用户输入文字并按下“保存文本文件”
  5. 文件已保存到应用程序服务器
  6. 确认消息返回给演员
  7. 如何在序列图上显示这个?

2 个答案:

答案 0 :(得分:1)

定义“Actor”时,您应该知道该定义

  

Actor 模拟由与之交互的实体所扮演的角色类型   主题(例如,通过交换信号和数据),但是   在主体外部(即,在某个实例中   演员不是其相应主题的实例的一部分)。   演员可以代表人类用户扮演的角色,外部硬件,   或其他科目。请注意,演员不一定代表一个   特定的物理实体,但仅仅是一个特定的方面(即“角色”)   某些与其相关规范相关的实体   用例。因此,单个物理实例可以发挥作用   几个不同的演员,相反,可以演奏一个特定的演员   由多个不同的实例

在您的系统中,我们可以说演员是( User, Web browser, Web server (Application, Content database) )

我们的下一步将是在我们的演员之间定义“呼叫消息”和“返回消息”。

  

消息定义了Lifelines之间的特定通信   相互作用。

根据你提到的事件,我们会尝试将其分解一点,以便更好地解释它们。

  
      
  1. 用户加载应用程序。      
        
    • [User] ----“RequestResource()”---> [网络浏览器]
    •   
    • [Web浏览器] -----“RequestAccessForUser()”---> [Web服务器]
    •   
    • [Web Server] ------“CheckUserExists()”-----> [内容数据库]
    •   
    • [内容数据库] ---“存在返回消息”----> [网络服务器]    - 继续将响应返回给用户并在浏览器中加载您的页面。
    •   
  2.   

在这里你可以发现用户没有注册的可能性,那就是“替代路径”。

当然,您可以通过减少演员数量来最小化步骤,但是学习和简化将是一个非常好的解决方案。以下是一些示例,教程肯定会有所帮助。

Visual Paradigm introduction to write your first Sequence Diagram

Sequence Diagram Examples

答案 1 :(得分:1)

由于Web应用程序是使用HTTP请求/响应对构建的,因此我发现在序列图中捕获它是有帮助的。它还有助于考虑您为每个请求发出的HTTP命令类型 - GET,POST等,以及哪些请求需要身份验证或状态。应用程序使用状态代码的地方 - 例如“重定向”,或“需要身份验证”,我也想包括这些。

我通常不会在此过程中为用户建模 - 通常不是要模拟用户交互(他们点击哪些按钮等);但是,我确实包含了在浏览器中执行的相关JavaScript函数(例如“WaitForInput()”)。

因此,对于您的示例,它可能类似于:

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