1

我正在尝试在 UML 中为以下问题绘制和定义类。

地铁铁路信息系统

设计上述系统的概念方案的一部分,使我能够注册车站(通过区分立交桥和终点站)、车站的互连(即网络拓扑)和距离(铁路线的公里数)他们分开。

每列火车通过运行连续路线排成一列,即在规定的极端站对之间移动,每条路线上不一定相同(例如布朗克斯 - 曼哈顿,布鲁克林 - 皇后区)。每条路线都有特定的到达时间并在每个车站停留。每个车站的实际到达时间可能与编程的不同,以及车站之间的交通速度。

我的第一个想法是主要课程应该是:

Metro Line, Metro Station, Metro Route, Metro Route Stop, Metro Train

我正在努力如何表示预定时间和实时时间。

4

2 回答 2

1

让我们看一下相当明显的类:

  • Metro line是一组Metro routes
  • Metro route与一个序列相关联Metro stations
  • Metro route由两个极端定义Metro stations
  • Train继续运行Metro routes

每条路线都有特定的到达时间并在每个车站停留。

这意味着路线不是一般的(例如布鲁克林 - 皇后区),而是非常具体的(例如布鲁克林 - 皇后区从 15:03 开始​​)。

此外,由于几个Metro routes可以使用相同的Metro station,并且 aMetro route由几个 组成Metro stations,所以我们在这两个类之间存在多对多的关联。时间停留时间既不取决于路线,也不取决于车站。所以最好将其视为关联类的属性:

在此处输入图像描述

您有计划的时间和住宿以及实际的时间和住宿这一事实意味着只有两个不同的属性。车站之间每列火车的位置告诉我们交通情况。

最后,一种更精细的处理不同时间的方法是考虑一个Time table类。和之间的关联Metro route将是一个三元关联,并且三元关联关联类可以保存时间数据(计划表的计划或实际表的实际数据;但您也可以有多个版本的计划,并且一年中每一天的实际版本。这将是完全灵活的。 Metro stationTime table

现在,如果您对关联类不满意,可以将多对多关联分解为两个多对一关联,其中包含一个中间类,您可以将其命名为Route stop.

于 2019-03-21T22:37:27.220 回答
-1

最后,

我想出了这个设计

在此处输入图像描述

非常感谢

于 2019-03-22T08:17:15.480 回答