我正在进行序列图,但是我在这些图的设计中遇到了一些问题。所以我正在为帐户创建做图表如下:
因此,首先用户进入注册页面,然后输入他的信息。我还想展示如果用户在注册页面中输入的信息不正确会发生什么:我将注册页面中的验证输入箭头添加到数据库中。
我不确定谁应该验证输入是否正确,说它检查输入的数据是否有效是否正确?
此外,将数据库中的虚线箭头添加到注册页面是否正确,还是应该直接转到if条件?
您建议我改变什么?
答案 0 :(得分:0)
1)..谁应该验证..输入...数据库..?
您可以将数据验证的责任委派给任何具有任何名称的actor。数据库是很好的候选者,许多SQL
数据库都内置了某种integrity constraint检查机制
如果已配置,此类数据库将验证数据并在insert/update
尝试时拒绝它们。因此,如果SQL
数据库按照通常的方式处理它,VerificationResult
将从AddNewUser()
消息返回,而不是更早
然而,对于现实生活中的应用,根据Open Web Application Security Project (OWASP) → Data Validation的好候选人将是:
.. 完整性检查必须包含数据从受信任的边界传递到不受信任的边界,例如从应用程序到隐藏字段中的用户浏览器,或者第三方支付网关,例如返回时内部使用的交易ID。
.. 验证必须在每个tier 上执行 ..
2)..从数据库到注册页面的虚线箭头..直接到if ..?
我会延长execution (activation),如下所示,但并不意味着您的方式不正确
另请参阅:uml-diagrams.org: UML Sequence Diagrams Examples
3)..advice..to change?
我会审核synchronous/asynchronous消息的使用情况。似乎你使用一种类型的箭头