将UML类图映射到Python代码

时间:2014-12-28 10:23:14

标签: uml

我被要求使用UML图记录一段代码。代码模拟如下情况:可以将驱动程序分配给一个或多个路径。每条路线都有上游和下游方向。对于每个路线,驾驶员可以在上游方向和/或下游方向上行驶。

Driver类的简化伪代码如下:

class Driver:

  HashMap<Route, Direction> upstream;
  HashMap<Route, Direction> downstream;
  HashMap<Route, Direction> assignedTo;

其中assignedTo映射实际上是一个返回散列图的属性,该散列图由驱动程序分配给上游和下游方向的路径组成(将其视为另外两个散列图的视图)

到目前为止,我已经提出了以下UML表示。

-----------                            ---------
| CLASS   | (assignedTo)               | CLASS |
| DRIVER  |----------------------------| ROUTE |
----------- *   |                    * ---------
                |
            -------------
            | CLASS     |
            | DIRECTION |
            -------------
              ^        ^
              |        |
      ------------    --------------    
      | CLASS    |    | CLASS      |
      | UPSTREAM |    | DOWNSTREAM |
      ------------    --------------

但是,我有点困惑的是,在UML中我使用继承而代码不使用继承。你觉得怎么样?

1 个答案:

答案 0 :(得分:1)

我改变了一点,但这是我的另一个样本。我不确定我是否正确理解显示的伪代码,但是当分配给两个方向时,这可能是一个问题。在我个人看来,我的示例图也更容易实现。

enter image description here

关于继承,答案与UML的不同之处在于......表示如何实现或解释概念。如果是后者,使用继承就没有问题了。

相关问题