Wersja v1 diagramów
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 20 KiB |
BIN
strukturizrz/.structurizr/1/images/ComponentWebApp-thumbnail.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
strukturizrz/.structurizr/1/images/Container-thumbnail.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
strukturizrz/.structurizr/1/images/Deployment-001-thumbnail.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
strukturizrz/.structurizr/1/images/Diagram1-thumbnail.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
strukturizrz/.structurizr/1/images/Diagram2-thumbnail.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
strukturizrz/.structurizr/1/images/SystemContext-thumbnail.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
strukturizrz/.structurizr/1/images/thumbnail.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
strukturizrz/.structurizr/index/_21.cfe
Normal file
BIN
strukturizrz/.structurizr/index/_21.cfs
Normal file
BIN
strukturizrz/.structurizr/index/_21.si
Normal file
BIN
strukturizrz/.structurizr/index/segments_22
Normal file
0
strukturizrz/.structurizr/index/write.lock
Normal file
155
strukturizrz/workspace.dsl
Executable file
@ -0,0 +1,155 @@
|
||||
workspace "Name" "Description" {
|
||||
|
||||
!identifiers hierarchical
|
||||
|
||||
model {
|
||||
admin = person "Administrator" "Administrator zarządzający systemem e-Toll"
|
||||
kierowca = person "Kierowca" "Kierowca korzystający z płatnych dróg w systemie e-Toll"
|
||||
archiwum = softwareSystem "System agregacji danych historycznych" "Archiwum danych do celów statystycznych"
|
||||
systemPlatnosci = softwareSystem "System procesowania płatności" "System odpowiedzialny za obsługę płatności dokonywanych prze użytkowników"
|
||||
|
||||
systemEtoll = softwareSystem "System e-Toll" {
|
||||
webApp = container "Aplikacja webowa" "Służy do zarządzania kontem oraz systemem"
|
||||
mobileApp = container "Aplikacja mobilna" "Pozwala na śledzenie pozycji pojazdu w celu dokonywania opłat"
|
||||
embeddedApp = container "Aplikacja na dedykowane urządzenia zbierania opłat" "Działa na dedykowanych urządzeniach śledzących pozycję pojazdu"
|
||||
|
||||
serverApp = container "Aplikacja serwerowa" "Obsługuje logikę działania systemu" {
|
||||
mainComponent = component "MainComponent" "Centralny element aplikacji odpowiedzialny za jej działanie"
|
||||
signinController = component "SigninController" "Odpowiada za logowanie do systemu i autoryzację"
|
||||
tollController = component "TollController" "Odpowiada za kontrolowanie wysokości opłat"
|
||||
|
||||
userService = component "UserService" "Zawiera logikę biznesową dotyczącą użytkowników"
|
||||
paymentService = component "PaymentService" "Zawiera logikę dotyczącą przetwarzania płatności"
|
||||
userRepository = component "UserRepository" "Odpowiada za dostęp do danych użytkownika"
|
||||
paymentRepository = component "PaymentRepository" "Odpowiada za dostęp do danych płatności"
|
||||
|
||||
positionService = component "PositionService" "Odpowiada za określanie pozycji pojazdu w kontekście odcinków dróg"
|
||||
|
||||
mainComponent -> signinController "Używa"
|
||||
mainComponent -> tollController "Używa"
|
||||
signinController -> userService "Używa"
|
||||
mainComponent -> paymentService "Używa"
|
||||
tollController -> positionService "Używa"
|
||||
|
||||
userService -> userRepository "Odczytuje/zapisuje dane"
|
||||
paymentService -> paymentRepository "Odczytuje/zapisuje dane"
|
||||
}
|
||||
|
||||
db = container "Baza danych" {
|
||||
tags "Database"
|
||||
}
|
||||
|
||||
serverApp -> db "Czyta i zapisuje dane"
|
||||
webApp -> serverApp
|
||||
mobileApp -> serverApp
|
||||
embeddedApp -> serverApp
|
||||
}
|
||||
|
||||
admin -> systemEtoll.webApp "Zarządza systemem"
|
||||
kierowca -> systemEtoll "Korzysta z systemu"
|
||||
|
||||
kierowca -> systemEtoll.webApp "Zarządza kontem"
|
||||
kierowca -> systemEtoll.mobileApp "Opłaca przejazdy"
|
||||
kierowca -> systemEtoll.embeddedApp "Opłaca przejazdy"
|
||||
|
||||
systemEtoll.serverApp -> systemPlatnosci "Realizuje płatność"
|
||||
systemEtoll.serverApp -> archiwum "Przekazuje dane o użyciu dróg"
|
||||
|
||||
liveDeployment = deploymentEnvironment "Deployment" {
|
||||
deploymentNode "Urządzenie mobilne klienta" "" "Apple iOS or Android" {
|
||||
liveMobileAppInstance = containerInstance systemEtoll.mobileApp
|
||||
}
|
||||
|
||||
deploymentNode "Dedykowane urządzenie zbierania opłat" "" "Linux" {
|
||||
liveEmbeddedAppInstance = containerInstance systemEtoll.embeddedApp
|
||||
}
|
||||
|
||||
deploymentNode "Urządzenie klienta" "" "Laptop/Desktop" {
|
||||
deploymentNode "Przeglądarka internetowa" "" "Chromium/Firefox" {
|
||||
browserInstance = containerInstance systemEtoll.webApp
|
||||
}
|
||||
}
|
||||
|
||||
deploymentNode "System e-Toll" "" "Data Center dla systemu e-Toll" {
|
||||
deploymentNode "etoll-server" "" "Ubuntu Server 24.04 LTS" "" 4 {
|
||||
deploymentNode "Apache Tomcat" "" "Apache Tomcat 8.x" {
|
||||
liveWebApplicationInstance = containerInstance systemEtoll.serverApp
|
||||
}
|
||||
}
|
||||
|
||||
db1 = deploymentNode "etoll-db01" "" "Ubuntu Server 24.04 LTS" {
|
||||
primaryDatabaseServer = deploymentNode "Oracle - Primary" "" "Oracle 12c" {
|
||||
livePrimaryDatabaseInstance = containerInstance systemEtoll.db
|
||||
}
|
||||
}
|
||||
db2 = deploymentNode "etoll-db02" "" "Ubuntu Server 24.04 LTS" "Failover" {
|
||||
secondaryDatabaseServer = deploymentNode "Oracle - Secondary" "" "Oracle 12c" "Failover" {
|
||||
liveSecondaryDatabaseInstance = containerInstance systemEtoll.db "Failover"
|
||||
}
|
||||
}
|
||||
deploymentNode "etoll-prod001" "" "" "" {
|
||||
softwareSystemInstance systemEtoll
|
||||
}
|
||||
|
||||
db1.primaryDatabaseServer -> db2.secondaryDatabaseServer "Replikuje dane"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
views {
|
||||
systemContext systemEtoll "SystemContext" {
|
||||
include *
|
||||
autolayout bt
|
||||
}
|
||||
|
||||
container systemEtoll "Container" {
|
||||
include *
|
||||
}
|
||||
|
||||
# component systemEtoll.webApp "ComponentWebApp" {
|
||||
# include *
|
||||
# }
|
||||
|
||||
# component systemEtoll.mobileApp "ComponentMobileApp" {
|
||||
# include *
|
||||
# }
|
||||
|
||||
# component systemEtoll.embeddedApp "ComponentEmbeddedApp" {
|
||||
# include *
|
||||
# }
|
||||
|
||||
component systemEtoll.serverApp "ComponentServerApp" {
|
||||
include *
|
||||
autoLayout bt
|
||||
}
|
||||
|
||||
deployment systemEtoll "Deployment" {
|
||||
include *
|
||||
autoLayout lr
|
||||
}
|
||||
|
||||
styles {
|
||||
element "Element" {
|
||||
color #ffffff
|
||||
}
|
||||
element "Person" {
|
||||
background #199b65
|
||||
shape person
|
||||
}
|
||||
element "Software System" {
|
||||
background #1eba79
|
||||
}
|
||||
element "Container" {
|
||||
background #23d98d
|
||||
}
|
||||
element "Database" {
|
||||
shape cylinder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configuration {
|
||||
scope softwaresystem
|
||||
}
|
||||
|
||||
}
|
||||