UML¶
Usecases (használati esetek)¶
A gyakorlatokat a PlantUML on-line felületén végezzük el.
1. Könyvtár¶
Készítsük el egy könyvtár használati eseteit! Mivel nem ismerjük a feladatot teljes mélységében, ezért az alábbiakra koncentrálunk:
Olvasó beiratkozik.
Olvasó kilép.
Könyv kölcsönzése.
Késedelmi dík kiszabása.
Késedelmi díj befizetése.
Könyvek beszerzése (nem kell kidolgozni)
Könyvek selejtezése (nem kell kidolgozni)

@startuml
skinparam actorStyle Hollow
left to right direction
actor Kölcsönző as Kölcsönző
actor Pénztáros as Pénztáros
actor Adminisztrátor as Adminisztrátor
actor Könyvtáros as Könyvtáros
actor Anyaggazdálkodó as Anyaggazdálkodó
rectangle "Késedelmi díj" {
Adminisztrátor -- (Késedelmi díj megállapítása)
(Késedelmi díj megállapítása) .> (Befizetés)
Kölcsönző -- (Befizetés)
(Befizetés) -- Pénztáros
}
rectangle "Kölcsönzés" {
Kölcsönző -- (Kölcsönzés)
(Kölcsönzés) -- Könyvtáros
Kölcsönző -- (Könyv leadás)
(Könyv leadás) -- Könyvtáros
}
rectangle "Ügyfélkezelés" {
(Feltételek ellenőrzése) .> (Kilépés)
(Kilépés kezdeményezése) .> (Feltételek ellenőrzése)
Kölcsönző -- (Kilépés kezdeményezése)
(Kilépés kezdeményezése) -- Könyvtáros
Kölcsönző -- (Beiratkozás)
(Beiratkozás) -- Könyvtáros
}
rectangle "Anyaggazdálkodás" {
Anyaggazdálkodó -- (Leltározás)
(Leltározás) -- Könyvtáros
Anyaggazdálkodó -- (Beszerzés)
(Selejtezés) -- Anyaggazdálkodó
}
Könyvtáros -- (Katalogizálás)
@enduml
Folyamatok¶
Írjuk le az SMTP protokollban egy levél küldésének folyamatát! (Az egyszerűség kedvéért a hibák kezelésétől most eltekintünk.) Az SMTP protokoll folyamatát az alábbi kommunikációs folyamat szemlélteti.
root@backup4.linux-szerver.hu:~# telnet 212.92.23.213 25
Trying 212.92.23.213...
Connected to 212.92.23.213.
Escape character is '^]'.
220 ns.linux-szerver.hu Thu, 22 Sep 2022 12:39:07 +0200
EHLO alma.hu
250-ns.linux-szerver.hu Hello kf215.uni-eszterhazy.hu [193.225.35.215]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH LOGIN PLAIN
250-STARTTLS
250 HELP
mail from: batman@gotham.com
250 OK
rcpt to: info@linux-szerver.hu
250 Accepted
data
354 Enter message, ending with "." on a line by itself
Subject: Hello
Hello, ez egy proba level.
.
250 OK id=1obJfI-0000bb-Pp
quit
221 ns.linux-szerver.hu closing connection
Connection closed by foreign host.

@startuml
Client -> Server: Establishing connection
Server --> Client: 220 <server> <Date>
Client -> Server: EHLO <client name>
Server --> Client: 250: List of available protocols
Client -> Server: MAIL FROM: <sender address>
Server --> Client: 250 OK
Client -> Server: RCPT TO: <recipient address>
Server --> Client: 250 Accepted
Client -> Server: DATA
Server --> Client: 354 Enter message, ending with "." on a line by itself
Client -> Server: Sending mail body
Server --> Client: 250 OK id=<message-id>
Client -> Server: quit
Server --> Client: 221 <server> closing connection
@enduml
Fizikai struktúrák¶
Készítsük el egy számítógépes hálózat fizikai struktúra tervét UML-ben! A hálózat az alábbi ábra szerint tartalmazzon egy publikus internet elérést, melyet egy tűzfal válasszon le a DMZ-től, illetve a belső hálózattól (internal). A DMZ-ben egy webszerver, egy vpn szerver és egy adatbázis szerver szerepeljen. A belső hálózatban egy fájlszerver és a munkaállomások kapnak helyet. Az adatbázis szerver a DMZ mellett a belső hálózathoz is kapcsolódjon.

@startuml
nwdiag {
network internet {
firewall [address="dhcp"];
color = "red"
}
network dmz {
address = "192.168.10.0/24";
firewall [address="192.168.10.1"];
webserver [address="192.168.10.2"];
vpnserver [address="192.168.10.3"];
dbserver [ address="192.168.10.2, shape = database ]
color = "yellow"
}
network internal {
address = "192.168.12.0/24";
firewall [address="192.168.12.1"];
fileserver [address="192.168.12.2"];
dbserver [ address="192.168.12.2, shape = database ]
client1 [address="192.168.12.10"];
client2 [address="192.168.12.11"];
client3 [address="192.168.12.12"];
client4 [address="192.168.12.13"];
color = "green"
}
}
@enduml
Frontend-Backend¶
Az alábbi UML diagramban a felhasználó, a frontend és a backend kapcsolát írjuk le egy webshopban. Az ábra a bejelentkezés, ey termék kiválasztása és kosárba helyezését írja le.

User-Frontend-Backend kapcsolatok¶
@startuml
actor User
participant Frontend
participant Backend
User -> Frontend : Login Attempt
Frontend -> Backend : Authentication
Backend -> Frontend : Result of Authentication
Frontend -> User: User logged
User -> Frontend : List products
Frontend -> Backend: Find Products
Backend -> Frontend: Provides Products
Frontend -> User: Show the list of products
User -> Frontend : Show details of a product
Frontend -> Backend: Get product's data
Backend -> Frontend: Provides data
Frontend -> User: Show details of the selected product
User -> Frontend : Put product to basket
Frontend -> Backend: Add a product to the basket
Backend -> Frontend: Product added
Frontend -> User: Show the state of the basket
@enduml
Feladatok:¶
Keressen egy tetszőleges RFC-t és ábrázolja a folyamatot vagy egy részét! (Pl. pop3 protokoll authentikációját.)
Amennyiben a szakdolgozati témája már lehetővé teszi, készítse el a kifejlesztésre kerülő szoftver használati eset diagramját!
Választani egy tetszőleges eszközt (pl. kávéautomata) és definiálja a használati eseteit!
Ábrázoljon egy tetszőleges számítógépes hálózatot!
Tervezzen jogosultsági rendszert egy alkalmazáshoz és készítse el a használati eseteinek diagramját!