Hydac
Domænemodel
uml
left to right direction
object Logbog {
Registreringer
}
object Registrering {
Dato
Ankomst
Afgang
}
object Medarbejder {
Medarbejdernummer
Navn
}
object Gæst {
Navn
Firma
Ansvarlig Medarbejder
Sikkerhedsfolder udleveret
}
Logbog "1" --- "0..*" Registrering
Registrering "1" --- "1..*" Medarbejder
Registrering "1" --- "0..*" Gæst
Medarbejder "1" --- "0..*" GæstObjektmodel
uml
left to right direction
skinparam Padding 10
skinparam rectangle {
RoundCorner 100
}
rectangle "15/09-2025 \n 1 \n 8.00 \n ?" as Medarbejder
rectangle "Jens Hansen \n Intet firma \n 9.30 \n 10.00 \n Nej" as Gæst1
rectangle "Hans Jensen \n Firma1 \n 12.05 \n ? \n Ja" as Gæst2
Medarbejder -- Gæst1
Medarbejder -- Gæst2Design klassediagram
uml
top to bottom direction
class Database {
+ Employees : Employee[0..*] {readonly}
+ LogBook : LogBook
}
class LogBook {
+ Date : DateTime {initOnly}
+ Registrations : Registration[0..*]
+ <<constructor>> LogBook(date : DateTime)
+ Register(person : Person)
}
class Registration {
+ Person : Person {initOnly}
+ Arrival : DateTime {initOnly}
+ Departure : DateTime
+ <<constructor>> Registration(person : Person)
+ <<override>> ToString()
+ Depart()
}
class Person {
+ Identifier : Guid {readOnly}
+ Name : String
}
class Employee {
+ EmployeeNumber : Integer {initOnly}
+ <<constructor>> Employee(employeeNumber : Integer, name : String)
}
class Guest {
+ GuestNumber : Integer {readOnly}
+ Company : String
+ ResponsibleEmployee : Employee
+ <<constructor>> Guest(guest : Guest)
- generateGuestNumber() : Integer
}
LogBook "1" --- "0..*" Registration
Registration "1" --- "1" Person
Person <--- Employee
Person <--- Guest
Database "1" --- "1" LogBook
Database "1" --- "0..*" Employeeuml
left to right direction
class Menu {
+ Title : String {initOnly}
+ Items : MenuItem[0..*] {initOnly}
+ ParentMenu : Menu [0..1]
+ GetTitle() : String
+ Show()
- promptSelection() : Integer
+ ExecuteSelection(selection : Integer)
}
class MenuItem {
+ Title : String {initOnly}
+ Action : Action
+ <<constructor>> MenuItem(title : String, action : Action)
}
class MainMenu {
+ <<constructor>> MainMenu()
- showEmployeeMenu()
}
class EmployeeMenu {
- employee : Employee
- registration : Registration [0..1]
+ <<constructor>> EmployeeMenu(parentMenu : Menu, employee : Employee)
- checkIn()
- checkOut()
}
class GuestMenu {
- employee : Employee
- registration : Registration [0..1]
+ <<constructor>> EmployeeMenu(parentMenu : Menu)
- checkIn()
- promptResponsibleEmployee() : Employee [0..1]
- promptName() : String [0..1]
- promptCompany() : String [0..1]
- checkOut()
}
class OverviewMenu {
+ <<constructor>> OverviewMenu(parentMenu : Menu)
- todaysOverview()
}
Menu "1" --- "1" Menu
Menu "1" --- "0..*" MenuItem
Menu <--- MainMenu
Menu <--- EmployeeMenu
Menu <--- GuestMenu
Menu <--- OverviewMenuSekvensdiagram
| Operation | menuSelectGuest(), menuSelectEmployee() |
|---|---|
| Cross reference | Usecases: UC1, UC2 |
| Precondition | Menu er vist Gæst eller medarbejder ønsker at tjekke ind |
| Postcondition | Viser gæst eller medarbejder menu |
| Operation | menuSelectGuestCheckin() |
|---|---|
| Cross reference | Usecase: UC1 Domænemodel: Gæst objekt |
| Precondition | Menu er vist Gæst ønsker at tjekke ind Gæst menu er vist |
| Postcondition | Gæst instance bliver lavet |
| Operation | menuSelectEmployeeCheckin() |
|---|---|
| Cross reference | Usecase: UC2 Domænemodel: Medarbejder objekt |
| Precondition | Menu er vist Medarbejder ønsker at tjekke ind Medarbejder menu er vist |
| Postcondition | Medarbejder instance bliver lavet |
| Operation | inputData(name, company, responsibleEmployee) |
|---|---|
| Cross reference | Usecase: UC1 |
| Precondition | Menu er vist Gæst ønsker at tjekke ind Gæst menu er vist Gæst har valgt tjek-ind |
| Postcondition | Gæst data er blevet sat på Gæst instance Association mellem gæst og medarbejder bliver skabt |
| Operation | inputData(name or employeeNumber) |
|---|---|
| Cross reference | Usecase: UC2 |
| Precondition | Menu er vist Medarbejder ønsker at tjekke ind Medarbejder menu er vist Medarbejder har valgt tjek-ind |
| Postcondition | Medarbejder data er blevet sat på Medarbejder instance |