【问题标题】:Class diagram - Android app for dog owners类图 - 狗主人的安卓应用
【发布时间】:2016-12-26 16:16:22
【问题描述】:

我正在努力如何为类图建模。我对绑定感到困惑。用户可以创建一只新狗。当用户被删除时还提醒,狗应该被删除。不就是作曲吗?记忆与狗有关,删除狗时也应删除。你能帮忙绑定一下吗?

【问题讨论】:

    标签: android uml class-diagram


    【解决方案1】:

    您的假设完全正确。复合聚合由朝向聚合类的实心菱形表示。它的预期用途就像你需要它(忘了包括多重性):

    附注:

    • 您的 FireBaseApplication 似乎离题了。不应该有任何特定于类的方法,如removeDogCascade,而只有removeCascaded,您可以在其中提供具有聚合关系的类。
    • UserDog 之间,您应该使用角色名称owner 指向User 来识别狗的主人,而不是使用带有用户名(或任何可能包含的名称)的String 属性
    • DogMemory 之间类似

    【讨论】:

    • 如果我理解正确,我应该将其全部更改为复合聚合。我将删除 Firebase 应用程序。我认为我设计错误是因为在代码中我在 DogModel 中使用了 userId。我使用 NoSQL 数据库,我得到了所有用户的狗。我可以向用户添加一个狗列表,但它无法捕捉到现实。
    • 没有。你的聚合很好。角色名称稍后可以映射到某种外键。
    • 那我应该把 User 和 Reminder 之间的绑定改为聚合,不是吗?
    • 如果提醒有自己的生命周期,您可以这样做。然而,共享聚合相当无意义(“共享聚合的精确语义因应用领域和建模者而异。”)并且可以通过简单的关联很好地表示。
    • 提醒独立存在(可以更改、删除、创建..),直到用户被删除。然后它们也必须被删除。我想它应该是一个共享聚合。我找到了一个有用的链接cems.uwe.ac.uk/~jsa/UMLJavaShortCourse09/CGOutput/Unit4/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2014-10-07
    • 2011-05-11
    相关资源
    最近更新 更多