【问题标题】:Confusion in making use case diagram from class diagram从类图制作用例图的困惑
【发布时间】:2016-04-15 12:51:27
【问题描述】:

我正在尝试借助我的类图制作一个用例图,但问题是我在这里很困惑,我应该将什么作为参与者,将会发生什么,我应该采用什么属性以及在哪里使用 @987654323 @? 请帮忙。提前谢谢你。

【问题讨论】:

    标签: uml class-diagram use-case


    【解决方案1】:

    正如 Thomas 所指出的,从类设计到用例没有算法方法。事实上,对于给定的类图,甚至根本不承认存在用例(例如,如果类仅表示业务对象之间的关系而没有参与者)。

    但是,通过从人类的角度分析您的特定图表,您可以很好地推断出类图:

    1) 确定候选演员

    参与者指定用户或与主题交互的任何其他系统所扮演的角色。您图中的候选者是:visitoradminregistered user

    MovieBook ticketsMake payment 类显然不代表用户的角色。

    2) 确定候选用例

    用例定义了系统和参与者之间的交互,以实现某个目标。因此,让我们集思广益,找出所有看起来像交互的东西:

    • 非常明确的候选用例:Book ticketsRegistered user 的类和方法)、Make paymentRegistered user 的类和方法)

    • 不太明确的候选用例或交互:View movieRegistered user 的关系和方法)、update movie(关系)、Add movie record(管理员方法)、Update movie record(管理员方法) ), delete movie record (admin 的方法), Confirm registration of visitor (从关系推断), '注册(method of a user),cancel ticket(and method ofRegistered user),Login(method ofRegistered user),Registered(method ofRegistered user),Update Seats available(method of订票),confirm transaction(方法),refund money of cancelled ticket(方法)

    • 隐式/推断用例或交互:create and maintain admincreate a visitorregister and maintain a registered user account,还有其他吗?

    3) 梳理用例

    在识别的所有潜在用例和交互中,并非所有都应该获得用例状态。然后,您必须找出哪些是用例,哪些只是同一用例的交互部分。例如:

    • update movie catalog 将由 update movieAdd movie recordUpdate movie recorddelete movie record 组成。
    • Get registeredConfirm registration of visitor 显然属于同一个用例,因为目标相同:注册用户。
    • ... 我让你作为执行官来解决剩下的问题。

    4) 审核演员

    在确定了有意义的用例之后,您可能需要审查您的候选参与者:

    • 一些候选演员实际上可能看起来只是与用户无关的对象(这里不是这种情况,但它可能是,例如,如果你有一个电影制片人,这只是一个与电影相关但与系统用户无关的信息)。

    • 为您已确定的重要用例确定明显缺失的参与者。比如这里,我一开始以为是互联网电影业务。但是Update Seats 的方法很明显我们在谈论一个真正的剧院。那么,谁会从用户那里获得付款、发放票证、偿还与系统相关的款项?如果它只是在线预订系统,我们很好。如果 cahs 服务台操作员也将使用该系统,那么我们应该添加这个参与者。

    • 找出候选演员之间的关系。注册用户首先是访问者。我们是否应该在图中同时表示它们?

    5) 绘制用例图

    现在你已经有了所有的元素,你可以制作你的用例图了。但是您仍然必须决定要表示的详细程度。这里有一个建议:

    【讨论】:

    • 非常感谢您以非常简单的方式解释这些事情。我有很多我不清楚的事情.. :)
    【解决方案2】:

    您不能从类设计中创建用例。只有反过来。形式服从功能,反之亦然。

    【讨论】:

    • 谢谢。我也有同样的感觉。但是,如果我正在制作用例,那么我会遇到一个问题,即添加哪个部分 > 以及添加哪个部分 >。你能帮忙吗?
    • 如果你反过来问:如何在类图中显示来自 UC 的 I/E,我可能会给出答案(你可能也不喜欢)。但这将是另一个问题。这个问题只有这个答案。
    【解决方案3】:

    您的类图表明您还不熟悉类建模。您的类Book TicketMake Payment 听起来像是用例而不是正确的类。类是数据和处理这些数据的功能的容器,而用例是参与者在系统帮助下执行的一项工作。

    为您提供所需的帮助对于此平台而言可能过于广泛。研究 UML 建模的介绍性文本,以了解哪种类型的模型可以表达什么。并且不要觉得有必要使用该语言提供的所有元素。有很多用例模型不需要包含和扩展关系。

    【讨论】:

    • 我什至在阅读问题后都没有查看类图,但您绝对正确。
    猜你喜欢
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2012-01-05
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多