uml的面向对象场景

时间:2010-11-12 14:18:54

标签: uml

我有关于铁路系统的情景。在这个系统中有

滑轨

  • 正常:导轨没有 外部支持。
  • 带电:支撑导轨 用电。

列车

  • 高速列车:这种类型的列车 跟踪电气化的铁轨。
  • Passanger火车:Passanger火车 可以移动电气化或正常 轨。
  • 加速旅客列车:这个 火车的类型跟踪电气化 轨道。它是从乘客发​​展而来的 火车。
  • 货物列车:货物列车可以移动 两个轨道,但它的重量使它 对电气化轨道有害。所以 没有优先考虑。

我想用uml显示火车和铁轨之间的关系。显然火车没有铁轨。他们只是使用它们。但我找不到在类图中显示关系的真实方法。我应该使用另一个图表或什么?提前谢谢..

2 个答案:

答案 0 :(得分:1)

我相信你应该在UML中将其建模为dependency。它通常是供应商/客户关系。在您的情况下,轨道将是供应商,而列车则是客户(如在列车中使用轨道提供的基础设施)。它将是从“Train”到“Rails”的虚线箭头。我就是这样做的。

答案 1 :(得分:0)

感谢您的回答Razzie。我是这样做的:

我创建了一个名为“Rail”的抽象类。然后导出2个子类“正常”和“电气化”。创建了抽象类“Train”,派生子类“HighSpeedTrain”,“PassengerTrain”,“GoodsTrain”。此外,“AcceleratedPassengerTrain来自”乘客列车“。

然后我就像你说的那样使用依赖。

  • HighSpeedTrain ---->电气化
  • PassengerTrain ---->正常, 带电
  • GoodsTrain ---->正常,电气化
  • AcceleratedPassengerTrain ---->电气化

但我不确定这是不是真的。另一个问题; “AcceleratedPasssengerTrain”应该只使用电气化铁路。在我的解决方案中,我认为它也支持普通轨道,因为它继承了“PassengerTrain”。请告诉我你对这个设计有什么看法。谢谢你的帮助。