首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >地铁Uml类图

地铁Uml类图
EN

Stack Overflow用户
提问于 2019-03-18 11:29:09
回答 2查看 821关注 0票数 1

我试图为下面的问题绘制并定义UML中的类。

--地铁信息系统 设计上述系统概念方案的一部分,使我能够登记车站(通过区分交汇处和终点站)、车站的互连(即网络拓扑结构)和它们划分的距离(以公里为单位)。 每列火车通过连续的路线行驶(在规定的极端车站之间移动,在每条线路上不一定相同)(如布朗克斯-曼哈顿、布鲁克林-皇后区)。每条路线都有特定的到达时间,并在每个车站停留。每个车站的实际到达时间可能不同于程序到达时间,以及各站之间的交通速度。

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

代码语言:javascript
复制
Metro Line, Metro Station, Metro Route, Metro Route Stop, Metro Train

我一直在挣扎着如何代表预定的和真实的时代。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-22 08:17:15

最后,

我想出了这个设计

非常感谢

票数 -1
EN

Stack Overflow用户

发布于 2019-03-21 22:37:27

让我们来看看这些类,它们是相当明显的:

  • Metro line是一组Metro routes
  • Metro routeMetro stations序列相关联。
  • Metro route由两个极端的Metro stations定义
  • Train运行在Metro routes

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

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

此外,由于几个Metro routes可能使用相同的Metro station,而且由于Metro route是由几个Metro stations组成的,所以在这两个类之间有很多到多个关联。时间和停留既不单单取决于路线,也不完全取决于车站。所以最好把它看作是联想类的一个属性:

事实上,您有计划的时间和停留以及实际的时间和停留,这意味着只有两个不同的属性。每列火车在车站之间的位置告诉我们有关火车的情况。

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

现在,如果您对关联类感到不舒服,您可以将多到多的关联分解为与中产阶级的两个多对一的关联,您可以将其命名为Route stop

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55220341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档