有更好的UML建模方法吗?

有更好的UML建模方法吗?,uml,Uml,我试图创建一个模型,使我能够捕获给定组织中的所有者、用户和资产。我似乎遇到了一个绊脚石,因为我无法回答下面的问题,也不确定我是否正确地建模了它 如何表示给定资产的所有权和用户 如何表示对象的所有权和使用值,例如,服务器对象的供应商值为IBM,由ABC公司所有,由DEF用户使用 是否有办法进一步解耦常见属性或属性,例如名称、位置?是否需要进一步解耦 我如何评估行为约束,例如,如果用户离开组织或资产受损,会发生什么情况?如果不在模型中,我在哪里捕获这些信息 模型示例 编辑 除了这些答案,我还更新了

我试图创建一个模型,使我能够捕获给定组织中的所有者、用户和资产。我似乎遇到了一个绊脚石,因为我无法回答下面的问题,也不确定我是否正确地建模了它

  • 如何表示给定资产的所有权和用户
  • 如何表示对象的所有权和使用值,例如,服务器对象的供应商值为IBM,由ABC公司所有,由DEF用户使用
  • 是否有办法进一步解耦常见属性或属性,例如名称、位置?是否需要进一步解耦
  • 我如何评估行为约束,例如,如果用户离开组织或资产受损,会发生什么情况?如果不在模型中,我在哪里捕获这些信息
  • 模型示例

    编辑

    除了这些答案,我还更新了我的模型。不确定它是否走上了正确的道路


    您的设计似乎与您对问题的陈述相吻合。对于问题4,这实际上取决于您想要用系统捕获什么。如果资产损坏,是否需要在系统中保留记录?如果用户离开其组织,您希望在系统内存中存储什么

    对于问题3,您可以使用一个公共抽象类,如下所示:


    如果您想复制并调整此模型,可以使用此选项。

    编辑:回复OP评论:

    Re。记录所有权等信息。以下是一个示例:

    关键是收购/出售日期等是资产与组织/用户之间关系的属性。它们不是参与类的属性。在本例中,资产使用允许多个并发用户,而资产所有权在任何给定点只允许一个所有者。这是由多重性控制的

    需要显示所有者和用户。如果资产不是所有者或用户类的子类或子类型,我将如何显示这一点

    显示页面将根据关系从必要的类中提取信息。页面不限于一次显示单个类的信息

    例如,“所有者”下的“名称”属性将具有组织的名称,而“服务器”下的“名称”属性将具有服务器的名称,即FQDN

    好的:那么这两个名称可以有不同的数据类型。可能是组织的简单字符串和资产的特定FQDN。但请记住:这意味着所有资产都必须使用FQDN命名。如果只有计算机使用FQDN命名,则将name属性放在计算机上,而不是资产上。顺便说一句:对于组织来说,拥有独立于资产类型的资产命名方案是很常见的。唯一的要求是它是独一无二的。例如,我已经在上面的diag中显示了这一点。嗯

    结束编辑

    回答您的具体问题:

    如何表示给定资产的所有权[…]

    大概这就是
    组织-资产协会所涵盖的内容?如果是,多重性是什么?大概是:

    • 每项资产都由一个组织拥有,或者一项资产可以共同拥有
    • 每个组织拥有许多(零或更多)资产
    • 您是否需要记录有关所有权的任何信息?例如,资产何时获得、何时出售等。如果需要,您将需要一个关联类来捕获该信息
    如何表示给定资产的用户

    与上述问题类似。多个用户可以使用相同的资产吗?同时还是顺序?您是否需要记录资产使用的开始/结束日期

    如何表示供应商值为IBM的[…]服务器对象

    您可以使用
    Asset.vendor
    属性对此进行建模,这可能就足够了。但是:您是否需要捕获供应商的任何详细信息?e、 g.联系信息、地址、支持合同等。如果是这样,您可能需要划分一个单独的供应商类别

    是否有办法进一步解耦常见属性或属性,例如名称、位置?是否需要进一步解耦

    所有3个子类都具有相同的属性。这闻起来很难闻——这表明它们其实并没有什么不同。您是否可以使用一个类(
    Asset
    )来捕获所有属性,并具有一个额外的“assetType”(或类似)和合法值“Server”、“Destop”、“Laptop”?但是:您是否需要跟踪不是某种类型计算机的资产?如果是这样,单一的资产类别就不够灵活

    我如何评估行为约束,例如,如果用户离开组织或资产受损,会发生什么情况

    取决于您的业务需求。如果用户离开,需要做什么?资产是否应该没有用户?在这种情况下,关系需要是可选的(0..*)

    资产受损意味着什么?你需要记录损失吗?如果是这样,你需要另一门课

    如果不在模型中,我在哪里捕获这些信息

    如果它不在模型中,则无法记录或更改它。所以我会非常小心你认为需要捕捉的任何不在模型中的东西。更可能的情况是,这意味着您的模型不完整和/或缺少需求

    一般来说,我建议您进一步考虑关联的命名和多样性。这样做无疑会引起有关需求和/或领域约束的问题。这将帮助你得到一个模型,站在一个更好的机会,以满足要求


    hth.

    谢谢Xaelis。有比实体更好的术语吗?我开始时采用了与您建议的相同的方法,但是我向其展示模型的人对术语实体感到困惑。我想要捕获约束(如da)的原因