Uml 注册和报告的顺序图

Uml 注册和报告的顺序图,uml,sequence,diagram,Uml,Sequence,Diagram,我正在做序列图,但在这些图的设计中有一些问题。因此,我正在为账户创建绘制如下图表: 因此,用户首先进入注册页面,然后输入他的信息。我还想展示如果用户在注册页面中输入的信息不正确会发生什么:我将验证输入箭头从注册页面添加到数据库中 我不确定谁应该验证输入是否正确,是否可以说是数据库检查输入的数据是否有效 此外,将数据库中的虚线箭头添加到注册页面是正确的,还是应该直接转到if条件 你建议我做什么改变 1) …谁应该验证..输入..数据库 您可以将数据验证的责任委托给任何具有任何名称的参与者。数据

我正在做序列图,但在这些图的设计中有一些问题。因此,我正在为账户创建绘制如下图表:

因此,用户首先进入注册页面,然后输入他的信息。我还想展示如果用户在注册页面中输入的信息不正确会发生什么:我将验证输入箭头从注册页面添加到数据库中

  • 我不确定谁应该验证输入是否正确,是否可以说是数据库检查输入的数据是否有效

  • 此外,将数据库中的虚线箭头添加到注册页面是正确的,还是应该直接转到if条件

  • 你建议我做什么改变

  • 1) …谁应该验证..输入..数据库

    您可以将数据验证的责任委托给任何具有任何名称的参与者。数据库是很好的候选数据库,许多
    SQL
    数据库都内置了某种检查机制

    • 如果配置,该数据库将验证数据,并在尝试插入/更新时拒绝这些数据。因此,在您的情况下,如果一个
      SQL
      数据库将以通常的方式处理它,那么
      VerificationResult
      将从
      AddNewUser()
      消息返回,而不是更早

    • 然而,对于实际应用而言,符合以下条件的优秀候选人:

      无论数据从受信任边界传递到不受信任边界,例如从应用程序传递到隐藏字段中的用户浏览器,或传递到第三方支付网关(例如返回时内部使用的交易ID),都必须包含完整性检查

      ..必须对每个执行验证

    2) ..从数据库到注册页的虚线箭头..直接到if

    我将如下图所示向下延伸,但这并不意味着你的方式不正确

    另见:

    3) …建议…改变


    我将回顾消息的使用。似乎你对每件事都使用了一种箭头

    我看不出我的图表和你发布的图表有什么区别?@simon只是绿色条不同。在我的版本中,它是一个不间断的块,其中进一步的协商细节意味着像
    重叠执行
    或嵌套函数调用。但这正是我根据
    umldiagrams.org
    中的示例绘制它的方式。我没有检查关于
    符号的说明,也没有检查其他来源,对此我很抱歉,我并不是说您的版本不正确。我的大脑内部语法验证器坏了,我看不出有什么问题,但这并不意味着什么啊,是的,我没看到,是的,我也这么想。顺便说一句,我们的教授以前从未教过我们同步和非同步信息。您对我刚才添加的报表管理序列图有何看法?@simon在报表图中,我将使用填充的胖箭头(同步调用),并且在
    报表页面中不中断
    生命线(假设在用户单击
    RequestReport
    按钮和出现
    confirm
    消息框之间,屏幕上将显示旋转的时标光标)在哪个箭头中?但是你怎么看数据库中的确认箭头?它应该在那里吗?我发现它毫无用处。我希望它是这样的:当我单击generateReport按钮时,它将从DB中获取数据,并显示报告或下载报告。