2016-07-21 11 views
0

Ich möchte ein Paketdiagramm mit der Punktsprache, ähnlich der folgenden, erstellen. Ich weiß, dass es möglich ist, Elemente mit "Clustern" zu verschachteln, aber ich bin mir nicht sicher, ob es möglich ist, Labels in den Tab-Bereich der äußeren Pakete zu legen. Lassen Sie mich wissen, wenn es möglich ist.Erstellen Sie ein komplexes Paketdiagramm mit GraphViz

UML package diagram

Antwort

2

Leider ist die Registerkarte Form (die mit dem Ohr in der linken oberen Ecke) bietet keine Unterstützung für ein Etikett angeben.

Wenn Sie bereit sind zu opfern sind, dass Sie ein normales Rechteck oder Rekord Form verwenden können

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

Aber wie Sie sehen können, ist graphviz nicht genau gut geeignet für diese als Sie müssen viel Low-Level-Fiedeln tun.

Alternativ, wenn das Ziel ist, das Diagramm mit einem Text zu beschreiben, empfehle ich plantuml.com, die viel klarere Syntax für diese Art von Aufgabe hat.

@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

Dank für die Antwort, werde ich für das Ohr losen Ansatz gehen, wie PlantUml für mich keine Option ist. – Jaime

Verwandte Themen