Skip to content

Commit

Permalink
Improve coloring and added component overview diagram.
Browse files Browse the repository at this point in the history
  • Loading branch information
uhafner committed Jul 8, 2023
1 parent f949381 commit 956ff6d
Show file tree
Hide file tree
Showing 5 changed files with 171 additions and 27 deletions.
85 changes: 77 additions & 8 deletions doc/uml/class-diagram-technical.puml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@startuml

skinparam package {
BackgroundColor #dddddd
BackgroundColor #efefef
BorderColor #a0a0a0
BackgroundColor<<Main>> gold
BorderColor black
Expand All @@ -11,8 +11,8 @@ skinparam package {
}

skinparam class {
BackgroundColor #4AD386
BorderColor #a0a0a0
BackgroundColor #white
BorderColor #f4f4f4
BackgroundColor<<Main>> gold
BorderColor black
ArrowColor black
Expand Down Expand Up @@ -40,10 +40,20 @@ package java.util {
interface Observer <<interface>> {
+update() {abstract}
}

}

note "Package" as Package
note "Subpackage" as Subpackage
note "Klasse" as Class
note "Interface" as Interface
note "Vererbung" as Vererbung
note "Implementierung" as Implementierung
note "gerichtete Assoziation" as Assoziation
note "generischen Typ binden" as Generics
note "gerichtete Abhängigkeit" as Dependency

class ConcreteObservable {
-state: State
-concreteState: State
+getState(): State
+setState(s: State)
}
Expand All @@ -52,13 +62,72 @@ Observable <|-- ConcreteObservable

hide interface fields

class ConcreteObserver {
abstract class AbstractObserver < T extends Observer > {
+update()
#handleUpdate(o: Observer) {abstract}
}

class ConcreteObserver {
#handleUpdate(o: Observer)
}

class StringUtils {
+isEmpty(value: String) {static}
}

note right of ConcreteObservable::concreteState
Objektvariable
vom Typ <i>State</i>
end note

note right of ConcreteObservable::getState
Methode mit
Rückgabetyp <i>State</i>
end note

note right of ConcreteObservable::setState
Methode mit
Parametertyp <i>State</i>
end note


Observable o- Observer : \t\t

Observer <|.. ConcreteObserver
ConcreteObservable <- ConcreteObserver : \t\t\t
Observer <|.. AbstractObserver
AbstractObserver <|-- ConcreteObserver : <<bind>> \n<T -> ConcreteObserver>
ConcreteObservable <-left- ConcreteObserver : \t\t

java .up. Package
util .up. Subpackage
Observable .up. Class
Observable .. Vererbung
ConcreteObservable .up. Vererbung
Observer .up. Interface

Observer .down. Implementierung
AbstractObserver .up. Implementierung

ConcreteObserver .down. Assoziation
ConcreteObservable .down. Assoziation
ConcreteObservable .down.> StringUtils : <<use>>

ConcreteObserver .up. Generics
AbstractObserver .down. Generics

ConcreteObservable .down. Dependency
StringUtils .up. Dependency

note right of StringUtils::isEmpty
statische Methode
end note

note as floating
<u><b>Sichtbarkeiten</b></u>

+ public
# protected
~ package private
- private
end note

@enduml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ skinparam component {
}

skinparam package {
BackgroundColor #dddddd
BackgroundColor #e4e4e4
BorderColor #a0a0a0
BackgroundColor<<Main>> gold
BorderColor black
Expand All @@ -22,7 +22,7 @@ skinparam package {
}

skinparam class {
BackgroundColor #4AD386
BackgroundColor #f4f4f4
BorderColor #a0a0a0
BackgroundColor<<Main>> gold
BorderColor black
Expand Down Expand Up @@ -57,7 +57,7 @@ component "Anwendung" <<component>> as anwendung {
component "Fachkomponente" <<component>> as fachkomponente {
}

component "org.apache.commons:commons-lang3" <<component>> as library {
component " org.apache.commons:commons-lang3 " <<component>> as library {
artifact commons-lang3-3.12.jar <<artifact>> as lang {
}
}
Expand Down
70 changes: 70 additions & 0 deletions doc/uml/component-diagram-overview.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
@startuml

skinparam component {
BackgroundColor #f8f8f8
BorderColor #a0a0a0
BackgroundColor<<Main>> #FFFF00
BorderColor black
FontName Arial Unicode MS
FontSize 20
ArrowFontName Arial Unicode MS
ArrowFontSize 18
}

skinparam classFontSize 24
skinparam classAttributeIconSize 0
skinparam defaultFontSize 20

skinparam ArrowColor black
skinparam ArrowThickness 2

hide circle

skinparam componentStyle uml2

component "Anwendung" <<component>> as anwendung {
artifact anwendung-1.0.0.war <<artifact>> as war {
}
}

component "Fachkomponente" <<component>> as fachkomponente {
artifact fachlogik-1.0.0.jar <<artifact>> as jar {
}
}

component " org.apache.commons:commons-lang3 " <<component>> as library {
artifact commons-lang3-3.12.jar <<artifact>> as lang {
}
}

anwendung .up.> library : " <<use>>"

note "Artefakt" as artefact
note "Komponente" as component
note "Schnittstelle" as schnittstelle
note "Implementierung" as Implementierung
note "Aufruf" as Use
note "gerichtete Abhängigkeit" as Dependency

circle " \t\t\t Fassade " as fassade
circle "RestApi " as api


anwendung ..> fassade : " <<use>>"
fassade -- fachkomponente

anwendung .down. Use
fassade .up. Use

api .up. schnittstelle
library .up. component
lang .left. artefact

anwendung -up- api : " "
api .down. Implementierung
anwendung .right. Implementierung

anwendung .up. Dependency
library .down. Dependency

@enduml
33 changes: 19 additions & 14 deletions doc/uml/deployment-diagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,15 @@ skinparam componentStyle uml2
skinparam ArrowColor black

skinparam node {
BackgroundColor #C6C6C6
BackgroundColor #f4f4f4
BorderColor #a0a0a0
BackgroundColor<<Main>> gold
BorderColor black
}

skinparam artifact {
BackgroundColor #3E46D9
StereotypeFontColor #white
FontColor #white
BackgroundColor #e4e4e4
BorderColor #a0a0a0
BackgroundColor<<Main>> gold
BorderColor #white
ArrowColor black
FontName Arial Unicode MS
FontSize 20
Expand All @@ -40,24 +36,33 @@ node ":MacBook" <<device>> {
}
}


P ..> EI
P ..> DI

node ":Server" <<device>> {
node ":Ubuntu 22.4" <<execution environment>> {
node ":Docker 20.10.16" <<execution environment>> {
node ":Java VM Temurin-11.0.15+10" <<execution environment>> {
node ":Jetty 9.4.45" <<execution environment>> {
artifact Warnings <<artifact>> as W
artifact Jenkins.Core <<artifact>> as C
artifact Echarts.API <<artifact>> as E
artifact DataTables.API <<artifact>> as D
}
}

C <. W
W ..> E
W ..> D

W - P : \t\t\t
":Server" -down- ":MacBook" : " <<Socket>>"

note "Artefakt" as artifact
note "Kommunikationspfad\nmit Protokoll" as channel
note "Device" as device
note "Execution Environment" as env

":Server" .up. device
":Safari 15.4" .down. env

":Server" .. channel
":MacBook" .. channel

W .right. artifact


@enduml
4 changes: 2 additions & 2 deletions doc/uml/sequence-diagram.puml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ skinparam sequence {
LifeLineBorderColor black
LifeLineBackgroundColor AE396

ParticipantBackgroundColor 4AD386
ParticipantBackgroundColor f4f4f4
ParticipantBorderColor black
}

skinparam actor {
BackgroundColor #4AD386
BackgroundColor #f4f4f4
BorderColor #a0a0a0
BackgroundColor<<Main>> gold
BorderColor black
Expand Down

0 comments on commit 956ff6d

Please sign in to comment.