Uml 不同用户查看相同对象还是不同对象?

Uml 不同用户查看相同对象还是不同对象?,uml,ooad,Uml,Ooad,假设我有一个web应用程序,它有两个用户。申请人发送申请表,案件处理人处理申请。不同的用户对申请表有不同的看法。实际上,它可能是同一份申请表。但在电子加工中,它们可以被视为具有依赖关联的不同对象。我的问题是,在作出决定时应考虑哪些因素,是使用一个申请类别,还是将其分为两个类别,一个用于申请表格,一个用于案例表格。我的看法是,两个用户对对象都有自己的操作,并且他们不“共享”相同的操作。创建两个类图可能更有意义,因为每个类都有明确的职责,但我需要为应用程序表单类的每个子类创建新的类,这将是大量的类。

假设我有一个web应用程序,它有两个用户。申请人发送申请表,案件处理人处理申请。不同的用户对申请表有不同的看法。实际上,它可能是同一份申请表。但在电子加工中,它们可以被视为具有依赖关联的不同对象。我的问题是,在作出决定时应考虑哪些因素,是使用一个申请类别,还是将其分为两个类别,一个用于申请表格,一个用于案例表格。我的看法是,两个用户对对象都有自己的操作,并且他们不“共享”相同的操作。创建两个类图可能更有意义,因为每个类都有明确的职责,但我需要为应用程序表单类的每个子类创建新的类,这将是大量的类。
您的第二个模型与第一个模型进行语义分割,将
大小写
应用程序
分开。然后创建其中一个的专门化。这似乎没有道理。如果您的拆分主要是因为重复使用了相同的
应用程序
,并且只专门处理
案例
,或者反之亦然,那么您的拆分是有意义的:


我喜欢您的Model2图表,尽管您可以做一些事情来改进它。您的图表已经清楚地表明,在问题域中,
ATypeApplication
仅启动
ATypeCase
,而
BTypeApplication
仅启动
BTypeCase

我要做的是改进图表:

  • 考虑使用可选的多重性。应用程序是否始终具有关联的案例?(在提交之前怎么样?)
  • 将关联结束属性添加到三个关联中,如| Application |--由[1]发起--initiates[0..1]--| Case |(很抱歉使用了洋泾浜UML,我不想启动我的UML工具并找到一个放置图形的位置。)
  • |Application|--initiated by [1]----------initiates [0..1]--|Case|
  • 在子类之间的关联的关联端使用
    {redefines}
    ,以明确您正在进一步约束每个属性的类型

请添加uml图以显示不同的选项。这将使获得有用的答案变得更加容易。@GeertBellekens我添加了UML图,但我看不出使用不同的图将如何复制您的类。您仍然可以在同一个类上创建两个具有不同视图的图表否?类ATypeApplication和ATypeCase是同一个类(相同的属性,相同的操作),但视图不同。你所说的“在同一个类上制作两个视图不同的图表”是什么意思?你当然可以制作两个(或更多)显示相同类的图表,不是吗?如果您的UML工具不允许这样做,那么是时候寻找更好的工具了。