如何绘制UML顺序图

如何绘制UML顺序图,第1张

1. 在VP官网下载 Simple-Registration.vpp 。

2. 在Visual Paradigm中打开已下载的vpp文件。通过工具栏中的 Project >Open 可打开这个项目。

3. 打开类图 Registration ,通过对图表内容的查看,我们了解到这里有三个类——RegistrationUI 、 RegistrationController 和 User 。

4. 现在我们想要对在运行时这些类的对象实例间的交互进行建模。由于控制器类负责控制登记流程,因此添加一个它的子顺序图。将鼠标指针移动到 RegistrationController ,点击底部右下角的资源图标然后从d出菜单中选择 New Diagram... 。

5. 在 New Diagram 窗口,选择 Sequence Diagram ,然后点击 Next 。保持默认图标名称不变,然后点击 OK 进行确认。

6. 一个空的UML顺序图创建以后,从图表工具栏中选择 Boundary LifeLine (B) 。

7. 点击图表创建生命线的分界线。

8. 输入 registrationUI 作为生命线名称,然后敲击回车键进行确认。

9. 右键点击生命线,然后从d出菜单中选择 elect Class >Select Class... 。

10. 在 Select Class 窗口,选择 RegistrationUI 类,然后点击 OK 进行确认。

然后所绘制的生命线就:

11. 创建一个控制生命线( Control LifeLine ): registrationController : RegistrationController 和一个实体生命线(Entity LifeLine): user : User 。不要忘了为它们选择合适的类。所绘制的图表如下图所示:

12. 让我们为生命线之间所调用的方法进行建模,将鼠标指针移动到生命线 registrationUI 。

13. 按住资源 Resource Catalog ,然后进行拖动。

14. 移动到生命线 registrationController ,然后释放鼠标按钮。

15. 从Resource Catalog中选择 Message 。

16. 这会d出一个可供你选择的新的序列信息的列表名称。你可以看到这些选项都是classRegistrationController的 *** 作,在其中选择 createUser(name, password) 。

17. 关联生命线 registrationController 和 user ,我们可以看到是 registrationController 创建了user生命线。因此,我们需要创建一条信息来关联这两者。将鼠标指针移动激活生命线 registrationController 。

18. 按住资源 Resource Catalog 进行拖动。

19. 在生命线 user 处放开鼠标指针。

20. 从Resource Catalog中选择 Create Message 。

于是信息就被创建好了,所得的图像如下图所示:

21. 创建从生命线 registrationController 到user的信息 setName 和 setPassword ,到目前为止,图表如下图所示:

22. 您还可以指定 *** 作的参数,以信息 createUser(name, password) 为例。右键点击它,然后从下拉菜单中选择 Open Specification... 。

23. 通过点击按钮上的省略号对行为属性进行编辑,跳转到 Action type 。

24. 在 Call Action Specification 窗口,点击 Add >Text... 添加参数。在本例中,点击 Add >Text... 添加参数 peter 。再次点击 Add >Text... 添加参数 mypwd 。注意,这里的两个参数指的是两个通过 *** 作赋予的参数,如果你再添加第三个参数,它将被自动忽略(因为只定义了两个 *** 作)。

25. 点击 OK 关闭窗口,然后返回图表。添加的参数被呈现在了图表上

在一个顺序图上注明对象的创建通常有两种方法。 首先,你可以用<>版型来发送一个消息,如同图2如...中所示OrderCheckout所示的那样。 其次,你可以通过把图中分类器位置下移,在其侧面调用一个消息的方式直接的显示创建,如你在图1所见的theStudent和图⒉的CreditCardPayment。直接方法的最主要的好处是它可以形象的表示出对象从无到有的逻辑。

为软件消息使用 *** 作符号。

当一个消息被发给一个软件实现的分类器时,例如类、接口、或组件。通用的准则是使用实现语言的语法来描述消息名。 例如,在图3中,消息commit ( transactionID)被发送给source account对象,它使用了类似于Java、C++、和C_#语言的语法。

为涉及人和组织角色的消息使用叙述性文字。

当一条消息的来源或目标人或组织的角色时,需要使用简短的叙述性文字来描述传达的信息、来标记消息。 例如,在图1中,被student角色发送出的消息是provides name和provides student number,它们描述了这个人在做什么。

推荐使用参数名称,而不是参数类型

注意在图3中,大多数的消息都使用参数名称来注明参数,而不是使用类型。唯一的例外是start ()消息中传递的UserID参数。 这可以使你正确地判定该消息传递了什么值,有时候类型信息是不够的。 例如,消息addDeposit ( amount, target, transactionID)传达的信息要比addDeposit ( Currency, Account, int)多。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11564298.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存