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
© Copyright 2026 Paperzz