2016-07-21 9 views
0

Я хочу создать диаграмму пакета, используя язык точек, аналогичный приведенному ниже. Я знаю, что можно вставить элементы с помощью «кластеров», но не уверены, можно ли поместить метки в область вкладок внешних пакетов. Дайте мне знать, если это возможно.Создайте комплексную диаграмму пакета с GraphViz

UML package diagram

ответ

2

К сожалению вкладки формы (одна с ухом в левом верхнем углу) не поддерживает указание метки там.

Если вы готовы пожертвовать, что вы можете использовать обычный прямоугольник или запись формы

digraph diagram { 
    compound=true; 
    ranksep=1 
    node[shape=record] 

    subgraph cluster_all { 
     label="Multi-Layered Application" 
     Users [shape=tab] 

     subgraph cluster_presentation { 
      label="Presentation Layer" 
      "User Interface" [shape=tab] 
      "Presentation Logic" [shape=tab] 
     } 

     Users -> "User Interface" [lhead=cluster_presentation] 

     subgraph cluster_business { 
      label="Business Layer" 
      node[shape=tab] 
      "Application Facade" 
     } 

     "User Interface" -> "Application Facade" [lhead=cluster_business,ltail=cluster_presentation,style=dashed] 
    } 

} 

enter image description here

Но как вы можете видеть, Graphviz не совсем хорошо подходит для этого, как вам нужно сделать много низкоуровневого вождения.

В качестве альтернативы, если целью является описание диаграммы с текстом, я настоятельно рекомендую plantuml.com, который имеет гораздо более простой синтаксис для такого рода задач.

@startuml 
package "<<model>> Multi-Layered Application <<model>>" as app { 
    package Users { } 

    package "Presentation Layer" as presentation { 
    package "User Interface" { } 
    package "Presentation Logic" { } 
    } 

    Users ..> presentation 

    package "Business Layer" { 
    package "Application Facade" { } 
    } 

    presentation ..> "Business Layer" 

} 
@enduml 

enter image description here

+0

спасибо за ответ, я буду идти на ухо менее подхода, PlantUML это не вариант для меня. – Jaime