Use Case Descriptions

CarRental
Vratil, Hagara
Table of Contents
Use Case Diagram.................................................................................................................................4
Book a Car........................................................................................................................................... 13
Registration...........................................................................................................................................16
Analytical Class Diagram..................................................................................................................... 19
Entity Relationship Diagram.................................................................................................................21
Book a Car........................................................................................................................................... 23
Confirm Reservation.............................................................................................................................25
Confirm Car Transport......................................................................................................................... 27
Registration...........................................................................................................................................29
Statistics............................................................................................................................................... 31
Account.................................................................................................................................................33
Class Diagram......................................................................................................................................34
Deployment Diagram............................................................................................................................36
Package Diagram.................................................................................................................................38
Table of Figures
Use Case Diagram.................................................................................................................................4
Book a Car........................................................................................................................................... 13
Registration...........................................................................................................................................16
Analytical Class Diagram..................................................................................................................... 19
Entity Relationship Diagram.................................................................................................................21
Book a Car........................................................................................................................................... 23
Confirm Reservation.............................................................................................................................25
Confirm Car Transport......................................................................................................................... 27
Registration...........................................................................................................................................29
Statistics............................................................................................................................................... 31
Account.................................................................................................................................................33
Class Diagram......................................................................................................................................34
Deployment Diagram............................................................................................................................36
Package Diagram.................................................................................................................................38
Use Case Diagram
Use Case Diagram
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Syst em
Finish online
regist rat ion
Preregist er
online
Unregist ered Cust om er
< < Include...
Verify
cust om er
ident it y
< < Include...
Cancel
booking
< < Include...
Regist er new
cust om er
Agent
Lookup
booking
Login int o
syst em
< < Include...
Mem ber
Confirm booking
Logout from
syst em
e xt e n sion p oin t s
Send em ail
< < Ext end...
< < Include...
Approve car
t ransport
Send em ail
Lookup car
< < Ext end...
< < Include...
Book a car
e xt e n sion p oin t s
Send em ail
Preim ium Mem ber
Maint ain
syst em
1.
2.
3.
Summary
Member
Preimium Member
Unregistered Customer
Technician
< < Include...
Manage users
Technician
Name
View
st at ist ics
Documentation
Regist er car
Unregist er
car
Manager
Agent
Manager
Send email
Lookup booking
Confirm booking
Logout from system
Login into system
Lookup car
Verify customer identity
Non-functional requirements
Non-functional requirements
1. System is easy to use after one hour of usage
2. System is available in multiple languages
3. User password is stored salted and hashed
Maintain system
Manage users
Unregister car
Register car
View statistics
Approve car transport
Register new customer
Finish online registration
Cancel booking
Book a car
Preregister online
System
Details
Member
Preimium Member
Unregistered Customer
Technician
Agent
Manager
N/A
N/A
Send email
Use Case Descriptions
Use Case ID
Send email
Brief Description
Sends email notification to email specified in target account
Primary Actors
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Lookup booking
Use Case Descriptions
Use Case ID
Lookup booking
Brief Description
Lists all bookings, or returns a specific requested booking, if it exists in
the database
Primary Actors
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Confirm booking
Extension Points
Send email
Use Case Descriptions
Use Case ID
Confirm booking
Brief Description
Confirms booking created by customer
Primary Actors
Agent
Secondary Actors
Member
Preconditions
Agent is logged into the system
Booking exists
Main Flow of Events
1. Use case begins when money booking deposit arrive to rental bank
account
2. Agent is notified by system about new payment
3. INCLUDE(Lookup Booking)
4. IF payment is correct
4.1 Agent confirms the booking
5 IF payment is not correct
5.1 Agent rejects the booking
EXTENSION POINT(Send email)
6. System notifies the customer about booking change
Alternative Flows
Post-conditions
Booking is confirmed or rejected
Logout from system
Login into system
Lookup car
Use Case Descriptions
Use Case ID
Lookup car
Brief Description
Returns list of all cars in the database, or a specific requested car, if it
exists in the database
Primary Actors
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Verify customer identity
Use Case Descriptions
Main
Use Case ID
Verify customer identity
Brief Description
Agent verifies customer's ID and driving license and inserts it into the
system
Primary Actors
Agent
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Non-functional requirements
Maintain system
Use Case Descriptions
Use Case ID
Maintain system
Brief Description
Provides technician with detailed information about system load,
generated errors, etc.
Primary Actors
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Manage users
Use Case Descriptions
Use Case ID
Manage users
Brief Description
Adds a means to add, remove and alter user accounts and manage their
privileges
Primary Actors
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Unregister car
Use Case Descriptions
Use Case ID
Unregister car
Brief Description
When manager decides that a car should be solved, it is removed from
the system so that no further bookings can be made for that car
Primary Actors
Manager
Secondary Actors
Preconditions
Manager is logged in, car exists in the system
Main Flow of Events
1. INCLUDE(Lookup car)
2. Manager marks car for deletion
3. IF car is booked
3.1 System refuses to unregister car from the system
4 IF car is not booked
4.1 Car is unregistered from the system, further bookings are not
available
Alternative Flows
Post-conditions
Car is removed from the system
Register car
Use Case Descriptions
Use Case ID
Register car
Brief Description
When a new car is bought, it is added to the system
Primary Actors
Manager
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
View statistics
Use Case Descriptions
Use Case ID
View statistics
Brief Description
Managers have access to overall statistics collected by the system
Primary Actors
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Approve car transport
Use Case Descriptions
Use Case ID
Approve car transport
Brief Description
When customer requests a car to be transported from a different rental,
the request is enqueued for approval by the manager
Primary Actors
Manager
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Register new customer
Use Case Descriptions
Main
Use Case ID
Register new customer
Brief Description
A new user account is created and customer's identity is verified
Primary Actors
Agent
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Finish online registration
Use Case Descriptions
Main
Use Case ID
Finish online registration
Brief Description
Confirming identity of customer pre-registered via the online form
Primary Actors
Agent
Secondary Actors
Unregistered Customer
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
Cancel booking
Use Case Descriptions
Use Case ID
Cancel booking
Brief Description
Customer cancels booking for a car
Primary Actors
Member
Secondary Actors
Preconditions
A booking exists
Main Flow of Events
Alternative Flows
Post-conditions
Book a car
Extension Points
Send email
Use Case Descriptions
Use Case ID
Book a car
Brief Description
Customer chooses and books a car from the system
Primary Actors
Member
Secondary Actors
Preconditions
User is logged in
Main Flow of Events
1. INCLUDE(Lookup car)
2. User chooses a car
3. User chooses a rental to pick the car
4. User chooses date and duration of booking
5. IF car not available in selected rental in selected dates
5.1 IF car available in another rental
5.1.1 IF user requests car to be transported from another rental
5.1.1.1 Car transport request is created in system, pending manager's
approval
6. A new unconfirmed booking is created in the system
EXTENSION POINT(Send email)
5.1.1.2 Email about transport request is sent to the manager
Alternative Flows
Post-conditions
New unconfirmed booking exists in the system
Preregister online
Use Case Descriptions
Main
Use Case ID
Preregister online
Brief Description
Unregistered customer initiates registration via online form
Primary Actors
Unregistered customer
Secondary Actors
Preconditions
Main Flow of Events
Alternative Flows
Post-conditions
System
Children
Name
Preregister online
Book a car
Cancel booking
Register new customer
Approve car transport
Verify customer identity
Maintain system
Lookup car
Login into system
Logout from system
Confirm booking
Lookup booking
View statistics
Register car
Unregister car
Manage users
Send email
Finish online registration
Documentation
Activity Diagram
Book a Car
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Choose
rent al
List all
cars
Choose
car
Choose dat e
Choose durat ion
[ change dat e]
[ no]
Change dat e or car
[ change car]
[ no]
[ yes]
Should t ransport car from different rent al?
[ yes]
Choose a new
dat e
Choose new
car
[ yes]
[ no]
User want s t o change car
Is car available in different rent al
List rent als
wit h car
available on
given dat e
[ no]
Choose
rent al
Creat e t ransport
request
[ yes]
Creat e unconfirm ed
booking
Is car available on select ed dat e in select ed rent al
Summary
Name
List all cars
Choose car
Choose rental
Choose date
Choose duration
Is car available on selected date in
selected rental
User wants to change car
Is car available in different rental
Should transport car from different
rental?
Change date or car
Documentation
Choose a new date
List rentals with car available on
given date
Choose rental
Create transport request
Create unconfirmed booking
Choose new car
Details
N/A
List all cars
Choose car
N/A
Choose rental
Choose date
Choose duration
N/A
N/A
Is car available on selected date in selected
rental
User wants to change car
Is car available in different rental
Should transport car from different rental?
Change date or car
Choose a new date
List rentals with car available on given date
Choose rental
Create transport request
N/A
Create unconfirmed booking
N/A
Choose new car
Activity Diagram
Registration
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Cust om er
Agent
Show regist rat ion form
Input usernam e
Input password
Input em ail
Creat e t em porary
account
User com es t o
rent al
Creat e account from
t em porary account
[ ident it y NOT OK]
[ ident it y OK]
Verify ident it y
Cancel
regist rat ion
Scan user ID and driving
license
Confirm
account
Summary
Name
Swimlane
Customer
Agent
Show registration form
Input email
Input password
Input username
Create temporary account
User comes to rental
Create account from temporary
account
Verify identity
Scan user ID and driving license
Confirm account
Cancel registration
Documentation
Details
Swimlane
Activity Partitions
Customer
Quality Score
Fair
Quality Reason
Problem
Suggestion
Name does not contain glossary terms Define name as term in glossary
Contained Elements
Name
Documentation
N/A
N/A
Create temporary account
Input email
Input password
Input username
Show registration form
N/A
Agent
Quality Score
Fair
Quality Reason
Problem
Suggestion
Name does not contain glossary terms Define name as term in glossary
Contained Elements
Name
N/A
Confirm account
N/A
Cancel registration
Scan user ID and driving
license
Verify identity
Create account from
temporary account
User comes to rental
N/A
Show registration form
N/A
Input email
Input password
Documentation
Input username
N/A
Create temporary account
User comes to rental
Create account from temporary account
Verify identity
Scan user ID and driving license
Confirm account
N/A
Cancel registration
N/A
Class Diagram
Analytical Class Diagram
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Re n t a l
-cit y : st ring
has
1
Tr a n sp or t Re q u e st
-id : int
-arrivalDat e : int
-approved : bool
-reject ed : bool
-reason : st ring
1
Em p loye e
approve/reject
Ag e n t
confirm /rej...
+ regist erNewMem ber()
+ confirm PendingReservat ions()
Use r
-id : int = -1
-first Nam e : st ring
-last Nam e : st ring
-em ail : st ring
-password : st ring
M em ber
-isPrem ium
-birt hday : int
1
1
Pa sse n g e r . . .
belongs t o
*
V e h icle
-id : int = -1
-m anufact urer : st ring
+ approve()
1 -t ype : enum
pickuphas
+ reject (reason : St ring)
-color : st ring
-regist rat ionPlat e : st ring
0..1
-engineCC : int
-pricePerDay : int
-fuelConsum pt ion : double
-m axSpeed : int
-num berOfSeat s : int
has
-reservedFrom : int
-reservedUnt il : int
*
*
1
-t runkSize : int
-doorCount : int
Re se r va t ion
has
-id : int
-from : int
blocks
1
-unt il : int
ret urn
1
Van
M ot or b ik e
-price : int
0..*
void
* + cancel()
1
+ creat eReservat1ion(reservat ion : Reservat
ion * ) : :v...
+
confirm
()
:
void
+ cancelReservat ion(ireservat ionId : int ) : void
1
+ reject () : void
+ reservat ions() : list < Reservat ion* >
has
+ get PickupRent al() : Rent al *
V e h icle Re g ist r y
0..*
+ set PickupRent al(pickupRent al : Rent al * ) : void
+ vehicle(id : St ring) : Vehicle *
+ get Ret urnRent al() : Rent al *
+ findVehicle(crit eria : St ring...
+ set Ret urnRent al(ret urnRent al : Rent al * ) : void+ addVehicle(vehicle : Vehicl...
+ birt hday() : int
+ set Birt hday(birt hday : int ) : void
Ad m in ist r a . . .
< < use...
has
0..*
< < call> >
Use r Re g ist r y
+ user(id : int ) : User *
+ addUser(user : User)
+ rem oveUser(id : St ring)
+ users() : list < User* >
1
has
1
< < use...
Re se r va t ion Re g ist r y
+ reservat ion(id : int ) : Reservat ion *
+ reservat ions(user : User * ) : list < Reservat ion* >
+ reservat ions() : list < Reservat ion* >
+ addReservat ion(reservat ion : Reservat ion * ) : void
+ rem oveReservat ion(id : St ring) : void
+ pendingTransport Request s() : list < Reservat ion* >
< < use...
Summary
Name
Documentation
Rental
PassengerCar
TransportRequest
Vehicle
Employee
Van
Motorbike
Agent
User
Reservation
Member
Administrator
VehicleRegistry
UserRegistry
ReservationRegistry
+ rem oveVehicle(id : St ring) ...
+ vehicles() : list < Vehicle* >
Details
Rental
PassengerCar
TransportRequest
Vehicle
Employee
Van
Motorbike
Agent
User
Reservation
Member
Administrator
VehicleRegistry
UserRegistry
ReservationRegistry
Entity Relationship Diagram
Entity Relationship Diagram
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive
rs it y)
User
u se r Id
in t e g e r ( 1 0 )
drivingLicence
varchar(255)
personalId
varchar(50)
nam e
varchar(255)
address
varchar(255)
Reservat ion
r e se r va t ion Id
in t e g e r ( 1 0 )
m ail
varchar(255)
userId
int eger(10)
role
varchar(30)
vehicleId
int eger(10)
valid
t inyint (1)
from
dat e
unt il
dat e
price
int eger(10)
confirm ed
t inyint (1)
Manufact urer
m a n u f a ct u r e r Id
in t e g e r ( 1 0 )
nam e
varchar(255)
Transport Request
reservat ionId
int eger(10)
sourceRent alId
int eger(10)
dest inat ionRent alId
int eger(10)
arrivalDat e
dat e
ve h icle Id
Vehicle
in t e g e r ( 1 0 )
approved
t inyint (1)
t ypeId
int eger(10)
t yp e Id
in t e g e r ( 1 0 )
reject ed
t inyint (1)
regist rat ionPlat e
varchar(20)
m anufact urerId
int eger(10)
varchar(255)
color
varchar(255)
nam e
varchar(255)
pricePerDay
int eger(10)
engineCC
int eger(10)
reservedFrom
dat e
reservedUnt il
dat e
hom eRent alId
int eger(10)
cat egory
t inyint (2)
doorCount
int eger(10)
t runkSize
int eger(10)
reason
r e n t a lId
Rent al
in t e g e r ( 1 0 )
cit y
varchar(255)
m anagerId
int eger(10)
Summary
Name
Documentation
User
Reservation
Manufacturer
TransportRequest
Vehicle
Type
Rental
Details
User
Reservation
Manufacturer
TransportRequest
Vehicle
Type
Type
Rental
Communication Diagram
Book a Car
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
4: findCar(carId)
1: list AvailableCars()
6: set BlockedRange(carId, from , t o)
: CarsManager
:Mem ber
3: get Car(carId)
2: creat eReservat ion(carId, from , t o, pickupRent al)
5: < < creat e> >
: Reservat ionManager
: Reservat ion
7 [ vehicle.rent al.id ! = pickupRent al.id ] : < < creat e> >
: Transport Request
Summary
Name
Documentation
: Reservation
<<create>>
: TransportRequest
:Member
listAvailableCars()
: CarsManager
createReservation(carId, from, to,
pickupRental)
: ReservationManager
getCar(carId)
findCar(carId)
<<create>>
setBlockedRange(carId, from, to)
Details
: Reservation
<<create>>
: TransportRequest
:Member
listAvailableCars()
: CarsManager
createReservation(carId, from, to,
pickupRental)
: ReservationManager
getCar(carId)
findCar(carId)
<<create>>
setBlockedRange(carId, from, to)
Communication Diagram
Confirm Reservation
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
2: findReservat ion(reservat ionId)
1: confirm Reservat ion(reservat ionId)
: Reservat ionsManager
:Agent
3 [ reservat ion ! = null ] : confirm ()
4: sendNot ificat ion(userId, Not ificat ionType::Reservat ionConfirm ed)
: Em ailDispat cher
: Reservat ion
Summary
Name
Documentation
: ReservationsManager
confirm()
: Reservation
:Agent
confirmReservation(reservationId)
findReservation(reservationId)
sendNotification(userId,
NotificationType::ReservationConfirmed)
: EmailDispatcher
Details
: ReservationsManager
confirm()
: Reservation
:Agent
confirmReservation(reservationId)
findReservation(reservationId)
sendNotification(userId,
NotificationType::ReservationConfirmed)
: EmailDispatcher
Sequence Diagram
Confirm Car Transport
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Manager
:
Reservat ionRegist r
y
reservat ion : Reservat ion
t ransport Request
:
Transport Reques
t
:
Em ailDispat che
r
1:...
1.1:...
loop
[ forEach reservat ion in reservat ions]
2:...
2.1:...
op t
[ canApprove]
3: approve()
3.1: sendNot ificat ion(reservat ion.user.id,...
[ else]
4:...
4.1: sendNot ificat ion(reservat ion.user.id,...
Summary
Name
Documentation
Manager
: ReservationRegistry
reservation : Reservation
transportRequest :
TransportRequest
: EmailDispatcher
Operand5
Operand4
CombinedFragment3
Operand3
CombinedFragment2
Details
Manager
: ReservationRegistry
reservation : Reservation
transportRequest : TransportRequest
: EmailDispatcher
Operand5
Operand4
CombinedFragment3
Operand3
Children
Name
Documentation
CombinedFragment3
CombinedFragment2
Sequence Diagram
Registration
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
UserRegist ry
cust om er
1:
user : User
2:...
3:...
4:...
5:...
6:...
7: addUser(user)
7.1: isValid()
7.2: t rue
op t
7.3:...
[ user valid]
7.4: user.id
[ else]
Summary
Name
Documentation
customer
user : User
UserRegistry
Operand
Operand2
CombinedFragment
Details
customer
user : User
UserRegistry
Operand
7.5: error
Operand2
CombinedFragment
Sequence Diagram
Statistics
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive
rs it y) em
: Syst
: VehicleRegist ry
vehicle : Vehicle
Manager
:
Reservat ionRegist r
y
1:...
1.1:...
1.2: vehicles
loop
[ forEach vehicle in vehicles]
1.3:...
1.4: t ype
1.5:...
1.6:...
1.7:...
1.8:...
loop
[ for reservat ion in reservat ions]
1.9: get From ()
1.10: from
1.11: get To()
1.12: t o
1.13:...
1.14:...
1.15:...
Summary
Name
Manager
: System
: VehicleRegistry
vehicle : Vehicle
:
ReservationRegistry
reservation :
Reservation
Documentation
reservat ion : Reservat ion
Operand6
Operand8
CombinedFragment5
CombinedFragment4
Details
Manager
: System
: VehicleRegistry
vehicle : Vehicle
: ReservationRegistry
reservation : Reservation
Operand6
Operand8
CombinedFragment5
CombinedFragment4
State Machine Diagram
Account
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Invalid Account
set Nam e(nam e_) / nam e = nam e_ /defer
set Em ail(em ail_) / em ail = em ail_ /defer
set Password(password_) / password = password_ /defer
when em ailIsValid & & ! em ailInDb / account Valid = t rue /defer
preregist er()...
Preregist eredAccount
regist erMem ber() [ ...
set DriverLicenseId(id) / driverLicenseId = id /defer
set PersonalId(id) / personalId = id /defer
when driverLicenseIdValid & & personalIdValid / preregist rat ionValid = t rue /defer
Mem ber
rent Car(price) / t ot alSpending + = price /defer
aft er(12 m ont hs) [ t ot alSpending < 50000] /...
Prem ium Mem ber
ent ry / discount = 0.10
exit / discount = 0.0
Summary
Name
Documentation
Invalid Account
PreregisteredAccount
Member
Premium Member
Details
N/A
Invalid Account
PreregisteredAccount
Member
Premium Member
Regions
Name
discount = 0.10
discount = 0.0
N/A
Documentation
upgradeMem bership() [ t ot alSpending > = 50000] /...
Class Diagram
Class Diagram
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
< < call> >
Vehicles
Reservat ions
Users
Re se r va t ion Re g ist r y
-inst ance : Reservat ionRegist ry*
V e h icle Re g ist r y
+ inst ance() : Reservat ionRegist ry *
+ reservat ion(id : int ) : Reservat ion *
+ reservat ions(user : User * ) : list < Reservat ion* >
+ reservat ions() : list < Reservat ion* >
+ addReservat ion(reservat ion : Reservat ion * ) : void
+ rem oveReservat ion(id : St ring) : void
+ pendingTransport Request s() : list < Reservat ion* >
-Reservat ionRegist ry()
-inst ance : VehicleRegist ry = 0
-vehicles : list < Vehicle* >
+ inst ance() : VehicleRegist ry *
+ vehicle(id : St ring) : Vehicle *
+ findVehicle(crit eria : St ring) : Vehicle *
+ addVehicle(vehicle : Vehicle) : Vehicle *
+ rem oveVehicle(id : St ring) : bool
+ vehicles() : list < Vehicle* >
-VehicleRegist ry()
Use r Re g ist r y
-inst ance : UserRegist ry*
-users : list < User* >
+ inst ance() : UserRegist ry *
+ user(id : int ) : User *
+ addUser(user : User)
+ rem oveUser(id : St ring)
+ users() : list < User* >
+ login(usernam e : st ring, password : st ring) : Us...
+ logout (user : User * ) : bool
-UserRegist ry()
1
1
-id : int
-from : int
-unt il : int
-price : int
V e h icle
1
1
+ Vehicle()
+ id() : int
+ set Id(id : int ) : void
+ m anufact urer() : st ring
+ set Manufact urer(m anufact urer : st ring) : void
+ t ype() : st ring
+ set Type(t ype : st ring) : void
+ color() : st ring
+ set Color(color : st ring) : void
+ regist rat ionPlat e() : st ring
+ set Regist rat ionPlat e(regist rat ionPlane : st ring) : void
+ engineCC() : int
+ set EngineCC(engineCC : int ) : void
+ pricePerDay() : int
+ set PricePerDay(price : int ) : void
+ fuelConsum pt ion() : double
+ set FuelConsum pt ion(consum pt ion : double) : void
+ m axSpeed() : int
+ set MaxSpeed(m axSpeed : int ) : void
+ num berOfSeat s() : int
+ set Num berOfSeat cs(num berOfSeat s : int ) : void
+ reservedFrom () : int
+ set ReservedFrom (reservedFrom : int ) : void
+ reservedUnt il() : int
+ set ReservedUnt il(reservedUnt il : int ) : void
+ t runkSize() : int
+ set TrunkSize(t runkSize : int ) : void
+ doorCount () : int
+ set DoorCount (doorCount : int ) : void
+ hom eRent al() : Rent al *
+ set Hom eRent al(rent al : Rent al * ) : void
+ Mem ber()
+ isPrem ium () : bool
+ set IsPrem ium (prem ium : bool)
+ drivingLicenseId() : st ring
+ set DrivingLicenseId(drivingLicense : st ring) : void
+ personalId() : st ring
+ set PersonalId(personalId : st ring) : void
+ birt hday() : int
+ set Birt hday(birt hday : int ) : void
0..*
Use r
+ cancel() : void
+ confirm () : void
+ reject () : void
+ id() : int
+ set Id(id : int ) : void
+ from () : int
+ set From (from : int ) : void
+ unt il() : int
+ set Unt il(unt il : int ) : void
0..*
+ price() : int
+ set Price(price : int ) : void
+ get PickupRent al() : Rent al *
+ set PickupRent al(pickupRent al : Rent al * ) : void
+ get Ret urnRent al() : Rent al *
1
+ set Ret urnRent al(ret urnRent al : Rent al * ) : void
+ t ransport Request () : Transport Request *
+ set Transport Request (t r : Transport Request * )
-id : int = -1
-first Nam e : st ring
-last Nam e : st ring
-em ail : st ring
-password : st ring
-sessionId : st ring
+ User()
+ creat eReservat ion(reservat ion : Reservat ion * ) : v...
+ cancelReservat ion(ireservat ionId : int ) : void
+ reservat ions() : list < Reservat ion* >
+ id() : int
+ set Id(id : int ) : void
+ first Nam e() : st ring
+ set First Nam e(first Nam e : st ring) : void
+ last Nam e() : st ring
+ set Last Nam e(last Nam e : st ring) : void
+ em ail() : st ring
+ set Em ail(em ail : st ring) : void
+ password() : st ring
+ set Password(pwdHash : st ring) : void
+ sessionId() : st ring
+ set SessionId(sessionId : st ring) : void
1
*
0..1
Tr a n sp or t Re q u e st
-id : int
-arrivalDat e : int
-approved : bool
-reject ed : bool
-reason : st ring
-reservat ion : Reservat ion*
+ Transport Request (reservat ion : Reservat ion * )
+ reservat ion() : Reservat ion *
+ approve()
+ reject (reason : St ring)
+ id() : int
+ set Id(id : int ) : void
+ arrivalDat e() : int
+ set ArrivalDat e(arrivalDat e : int ) : void
+ approved() : bool
+ set Approved(approved : bool) : void
+ rejeced() : bool
+ set Reject ed(reject ed : bool) : void
+ reason() : st ring
+ set Reason(reason : st ring)
Summary
Name
-isPrem ium
-personalID
-drivingLicenseID
-birt hday : int
1
Re se r va t ion
0..*
-id : int = -1
-m anufact urer : st ring
-t ype : enum
-color : st ring
-regist rat ionPlat e : st ring
-engineCC : int
-pricePerDay : int
-fuelConsum pt ion : double
-m axSpeed : int
-num berOfSeat s : int
-reservedFrom : int
-reservedUnt il : int
-t runkSize : int
-doorCount : int
-hom eRent al : Rent al*
Documentation
Vehicles
Reservations
Users
ReservationRegistry
VehicleRegistry
UserRegistry
Administrator
Member
Reservation
Vehicle
User
Employee
TransportRequest
Rental
Details
Vehicles
Ad m in ist r a t or
M em ber
< < call> >
0..*
< < call> >
pickupRent al
ret urnRent al
1
< < call> >
1
Re n t a l
1
-cit y : st ring
-m anager : User*
+ Rent al()
+ cit y() : st ring
+ set Cit y(cit y : st ring) : void
+ m anager() : User *
+ set Manager(m anager : User * ) : void
1
< < inst ant iat e> >
Em p loye e
-rent al : Rent al*
-isManager : bool
+ Em ployee()
+ rent al() : Rent al *
+ isManager() : bool
+ set IsManager(isManager : bool)
1
Reservations
Users
ReservationRegistry
VehicleRegistry
UserRegistry
Administrator
Member
Reservation
Vehicle
User
Employee
TransportRequest
Rental
Deployment Diagram
Deployment Diagram
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Use r
< < art ifact > >
W e b b r ow se r
< < art ifact > >
Clie n t a p p lica t ion
HTTP/SSL
Ap a ch e Se r ve r
JSON-RPC/SSL
< < art ifact > >
PH P Fr on t e n d
JSON-RPC/SSL
< < device> >
Ap p lica t ion Se r ve r
< < com ponent > >
Re n t a lSyst e m Se r ve r
Summary
Name
Documentation
User
Web browser
Client application
ApacheServer
PHP Frontend
ApplicationServer
PostgreSQL
Server
RentalSystemServer
DB
< < device> >
Post g r e SQL Se r ve r
SQL
< < art ifact > >
DB
Details
User
Web browser
Client application
ApacheServer
PHP Frontend
ApplicationServer
Resident Components
Name
Documentation
RentalSystemServer
PostgreSQL Server
RentalSystemServer
DB
Package Diagram
Package Diagram
Vis u a l Pa ra d ig m fo r UML St a n d a rd Ed it io n (Ma s a ryk Un ive rs it y)
Users
< < im port > >
Reservat ions
Summary
Name
Documentation
Users
Reservations
Vehicles
Details
Users
Reservations
Vehicles
< < im port > >
Vehicles