Object Oriented Analysis and Design
|
Car Rent and Online Reservation System
|
|
Complete Source and Database |
Download Complete Diagrams Download Plate form C# & SQL Server Database |
List of figures
Figure 1 Use case diagram
Figure 2: Activity Diagram -
Login
Figure 3: Activity Diagram -
Reserve a Vehicle
Figure 4: Activity Diagram -
Rent Registration
Figure 5: Activity Diagram -
Vehicle Registration
Figure 6: Activity Diagram –
Search Vehicle
Figure 7: Activity Diagram –
Update Vehicle
Figure 8: Activity Diagram -
View Vehicle
Figure 9: Activity Diagram -
Update Rent
Figure 10: Activity Diagram
- Cancel Reservation
Figure 11: Sequence Diagram
- Login
Figure 12; Sequence Diagram
- Vehicle Reservation
Figure 13: Sequence Diagram
- Rent Registration
Figure 14: Sequence Diagram
- Vehicle Registration
Figure 15: Sequence Diagram
- Search Vehicle
Figure 16: Sequence Diagram
- Update Vehicle
Figure 17: Sequence Diagram
- View Vehicle
Figure 18: Sequence Diagram
- Cancel Reservation
Figure 19: Sequence Diagram
- Update Rent
Figure 20: Sequence Diagram
- View Reservation
Figure 21: Sequence Diagram
- Generate Report
Figure 23: Class Diagram
figure 24 : ERD
1.1. Proposed System
This
car rent and online reservation system is developed to provide the following
services.
1.
Customer can reserve a vehicle
online form anywhere in the world.
2.
Every work process activity is
done by computer means no need of hardcopy.
1.2.Project Scope
The scope of this project is developing web
based system for ABC car rent organization only for ABC Branch. The functions which cover in this
project are we are focusing on making rent vehicle and online reserve.
Customers as well as the organization’s staff will be able to use the system
effectively.
1.3.Objective of the Project
1.3.1. General Objective
The
general objective of this project is to develop interactive web based system
for the ABC car rent organization.
1.3.2. Specific Objective
Here are some specific objectives that would
together help us achieve the overall the project as follows:
ü Design
and build a particular model of this proposed system.
ü Deploy
the system and maintain it till it fits to the needs of the organization.
1.3.3. Design Method
System development methodology
A detailed object-oriented design for the
system design is used. STAR UML is used again for the graphical representation
and documentation of the design.
Tools used for analysis and design
The tools we use in this project are:
Ø Star UML
We used Star UML 2.6.0 to draw
class diagram, activity diagram, sequence diagram, use case diagram, and
graphical user interface.
User
requirements
are statements, in a natural language plus diagrams, of what services the
system is expected to provide to system users and the constraints under which
it must operate.
That describes user goals or tasks that the users must be able to perform with
the system. User requirements therefore describe what the user will be able to
do with the system. (Sawyer I. a.)
2.1.1. Functional Requirement
Functional requirements These
are statements of services the system should provide, how the system should
react to particular inputs, and how the system should behave in particular
situations. It specifies
the software functionality that the developers must build into the product to
enable users to accomplish their tasks. (Sawyer
I. a.)
Reservation
1.
The system must allow the customer to register for
reservation.
2.
The system shall allow the customer to view detail
description of particular vehicle.
3.
The system must notify on selection of unavailable
vehicles while reservation.
4.
The system shall present an option for advanced
search to limit the vehicle search to specific categories of vehicles search.
E.g. By Brand, Type and Model.
5.
The system must allow the customers to select
specific vehicle using different search category while reservation.
6.
The system must view list of available vehicles
during reservation.
7.
The system shall allow the customers to cancel reservation
using reservation confirmation number.
8.
The system shall allow the employee to update
reservation information.
9.
The system shall allow the employee to view reservations
made by customers.
10. The system
shall presents information on protection products and their daily costs, and requests
the customer to accept or decline regulation terms during reservation.
11. The system
must be able to provide a unique reservation conformation number for all
successfully committed reservations.
12. The system must be able to display reservation summary for
successfully committed reservation.
Log
in
13. The system should
allow manager to login to the system using their username and password.
14. The system should
allow staff to login to the system using their username and password.
15. The system
shall allow the manager to create new user account.
16. The system
shall allow manager to change account password.
17. The system
shall allow staff to change account password.
18. The system
shall allow staff to logout.
19. The system
shall allow manager to logout.
Vehicle
20. The system
should allow staff to register new vehicles.
21. The system
shall allow staff to select vehicles in the list.
22. The system
shall allow customer to select vehicles in the list.
23. The system
shall allow staff to Search vehicles by specific record.
24. The system
shall allow customer staff to Search vehicles by specific record.
25. The system
shall allow staff to update information of the vehicle in need of modification.
26. The system
shall allow staff to display all lists of vehicle.
27. The system
shall allow staff to display all available vehicle.
28. The system
shall allow customer to display all available vehicle.
29. The system
shall allow staff to display all rented vehicle.
30. The system
shall allow staff to display all off duty vehicles.
Rent
31. The system
shall allow staff to register customers into rental list.
32. The system
shall allow staff to update about customer rent record details in the rental list.
33. The system
shall be able to save all changes made on the customer rent list.
34. The system
shall allow staff to select customer rent record by specific search category.
35. The system
shall allow staff to search rent record of customers using specific categories.
36. The system
shall allow staff to display customers, who rent vehicles.
37. The system
shall allow staff to display all customers rent record
38. The system
must provide printable summary for successful committed rent.
2.1.2. Non-Functional Requirements
Introduction
Non-functional
requirements, as the name suggests, are requirements that are not directly
concerned with the specific services delivered by the system to its users. They
may relate to emergent system properties such as reliability, response time,
and store occupancy. Alternatively, they may define constraints on the system
implementation such as the capabilities of I/O devices or the data
representations used in interfaces with other systems. Non-functional
requirements, such as performance, security, or availability, usually specify
or constrain characteristics of the system as a whole. .
Usability
ü
The system provides a help and support menu in all
interfaces for the user to interact with the system.
ü
The user can use the system by reading help and
support.
Security
ü
The system provides username and password to prevent
the system from unauthorized access.
ü
The staffs’ password must be greater than eight
characters.
Performance
ü
The system response time for every instruction
conducted by the user must not exceed more than a minimum of 10 seconds.
ü
The system should have high performance rate when
executing user’s input and should be able to provide response with in a short
time span usually 50 second for highly complicated task and 20 to 25 seconds
for less complicated task.
Availability
ü
The system should always be available for access at
24 hours, 7 days a week. Also in the occurrence of any major system
malfunctioning, the system should be available in 1 to 2 working days, so that
business process is not severely affected.
2.2.1. Use-Case Diagram
Figure 1 Use case diagram
|
2.2.2. Use-case Description
1. Use-case Login
Use-case
Number
|
UC-01
|
|
Use-Case
Name
|
Log
in
|
|
Priority
|
High
|
|
Actor
|
Staff
|
|
Description
|
This use case describes how Staffs to login into the ABC System.
|
|
Precondition
|
None
|
|
Post-condition
|
If the use case was successful, the actor is now logged into the
ABC system. If not, the system state is unchanged.
|
|
Basic
course of Action
|
User
Action
|
System
Response
|
1. The
staff is on the home page to login to the system.
3.
The staff enters username and password, Click on Login Button.
|
2.
The system promotes the staff
to enter Username, Password.
4.
The system verifies that all
the filled have been filled out and valid.
5.
The system successfully logged
in the system.
6.
Use case Exit
|
|
Alternate
course of Action
|
6.1
If all fields are not filled out and not matched to the username and password
the system notifies the actor a message Verify Username or Password and then
goes back or returns to step 4 of basic course of Action to enter again.
|
2. Use-case Reserve Vehicle
Use-case
Number
|
UC-02
|
|
Use-Case
Name
|
Reserve
vehicle
|
|
Priority
|
High
|
|
Actor
|
Customer
|
|
Description
|
This
use case permits customers to reserve and make schedule for renting vehicle,
based on the availability of the vehicle.
|
|
Precondition
|
Customer
wants to reserve a vehicle and reservation details about customer have to be
entered.
|
|
Post-condition
|
Customers reserve successfully
|
|
Basic
course of
Action
|
User
Action
|
System
Response
|
1.
The customer wants to reserve a vehicle.
2. The customer clicks
reservation page.
4.
The customer enters the following information customer (full name,
ID/Passport No, Country, Mobile number and selects vehicle plate number,
Pickup date & return date)
5.
The customer clicks reserve button to reserve.
8.
The customer accepts the reservation and clicks Accept.
|
3. The
system prompts the customer to fill a reservation form .
6.
The system checks all required information had been filled and the date
entered dates are valid
7. The system presents information to accept
or decline the rental Agreement.
9.
The system shows the customer that the reservation has been completed, and
presents the customer a reservation confirmation number.
10.
Use case ends.
|
|
Alternate
course of Action
|
6.1
If the customer enters invalid date and time, the system goes back to step 4
to enter the valid date and time.
6.1
If the customer fills invalid information, the system goes back to step 4 to
enter the invalid field again.
7.1
If the customer declines the agreement, the system displays a message that
reservation canceled.
|
4. Rent Registration
Table 3: Use Case - Rent Registration
Use-case
Number
|
UC-03
|
|
Use-Case
Name
|
Rent
Registration
|
|
Priority
|
High
|
|
Actor
|
Staff
|
|
Description
|
This
use case permits to register rental information of the customers and the
vehicle that the customer rents.
|
|
Precondition
|
UC-1
|
|
Post-condition
|
Customer
rent information
|
|
Basic
course of Action
|
User
Action
|
System
Response
|
1.
The customer wants to take the reserved vehicle.
2.
The staff open rent page.
4.The staff
enters Full name, Nationality, Country, City, Identification Number, Phone,
Plate No, Down Payment, Daily Price, Rent Date, Return Date, Total Rent Day, Total
Payment, Refund
5.
The staff clicks on rent button.
|
3. The
system displays a form to be filled out for renting the vehicle.
4.
The system prompts to enter the following information.
6. The system verifies that basic fields
have been filled out.
7. The
system displays successful rent summary
8. Use
case Exit.
|
|
Alternate course of Action
|
6.1
If Full name, Nationality, country,
City, Id/Passport, Phone, Car Plate No, Down Payment, Price/day, Rent Date,
Return date and Total Payment this fields are not filled out system goes back
or returns to step 4 of basic course of Action. To fill invalid field.
|
5. Vehicle Registration
Use-Case
Number
|
UC-04
|
|
Use-Case
Name
|
Vehicle
Registration
|
|
Priority
|
High
|
|
Actor
|
Staff
|
|
Description
|
These
use case permits staff to register New Vehicles to the system with detail
descriptions about the Vehicle such as condition, Model, Brand, fuel type,
Number of sits and amount of price per day.
|
|
Precondition
|
New
vehicle Purchased
|
|
Post-condition
|
New Vehicle
information stored successfully.
|
|
Basic
course of Action
|
User
Action
|
System
Response
|
1.
The staff wants to add a new vehicle
2.
The staff requests add new vehicle
form page.
4. The staff
enters the following information in the form.
Vehicle
Brand, Vehicle Type, Vehicle Model, Fuel
Type, Plate Number, Number of Sits, Condition, Price per day
5.
The staff clicks or presses on the save or insert button.
|
3.
The system response or displays a form to be filled out for vehicle
registration.
6.
The system verifies that the fields have been filled out correctly.
7.
The system displays a successfully stored message to the employee.
8.
Use case Exit
|
|
Alternate
course of Action
|
6.1
If all fields are not filled out the system goes back or returns to step 4 of
basic course of Action. To fill the invalid or the empty field.
|
6.
Search Vehicle
Use-Case
Number
|
UC-05
|
|
Use-Case
Name
|
Search
Vehicle
|
|
Priority
|
Medium
|
|
Actor
|
Staff
and customer
|
|
Description
|
This
use case permits staff and customer to search vehicle from the vehicle list
in order to display.
|
|
Precondition
|
UC-3,
UC-2
|
|
Post-condition
|
Display
|
|
Basic
course of Action
|
User Action
|
System Response
|
1.
The staff or Customers clicks on search vehicle link.
3. The
staff or customers select one of the following lists from the combo Box, Vehicle
Brand. Vehicle Type. Vehicle Model or default is All.
Clicks on search button.
|
2.The
system displays combo box to select search to a vehicle.
4.
Then the system display all information about the vehicle based on selected
list.
6. Use case End.
|
|
Alternate
course of Action
|
4.1
If any lists are not selected from the combo box system goes back or returns
to step 3 of basic course of Action to select from the combo box.
|
7. Update Vehicle
Use-Case
Number
|
UC-06
|
|
Use-Case
Name
|
Update
Vehicle
|
|
Priority
|
High
|
|
Actor
|
Staff
|
|
Description
|
This
use case permits staff to update or modify vehicle information.
|
|
Precondition
|
UC-1,
UC-5,
|
|
Post-condition
|
updated
vehicle information
|
|
Basic
course of Action
|
User
Action
|
System
Response
|
1. The user wants to update vehicle information.
2. Search vehicle by plate number.
4. The staff enters update information of vehicle.
5.
The employee click on update button.
|
3.
The system will display all information about the vehicle.
6.
The system successfully updates information in to database.
7. Use
case Ends.
|
|
Alternate
course of Action
|
3.1 If vehicle is not found back to basic
course of action 2
|
8. View Vehicle
Use-Case
Number
|
UC-07
|
|
Use-Case
Name
|
View
Vehicle
|
|
Priority
|
Medium
|
|
Actor
|
Staff
and customer
|
|
Description
|
This
use case allows staff and customer to view or display all vehicles with their
detail description about the vehicle.
|
|
Precondition
|
Vehicle
Rent, Reserve
|
|
Post-condition
|
Views
all vehicles
|
|
Basic
course of Action
|
User
Action
|
System
Response
|
1. The staff or Customer wants view vehicle.
2.
The staff or customer click on view vehicles button.
|
3.
The system retrieves all information about the vehicles.
4.
Use case exit.
|
|
Alternate
course of Action
|
3.1 If
in the database no matched vehicle available or empty go to Basic course
action of 4.
|
9. Update Rent
Use-Case
Number
|
UC-08
|
|
Use-Case
Name
|
Update
Rent
|
|
Priority
|
High
|
|
Actor
|
Staff
|
|
Description
|
This
use case permits employee to update or modify Rent information incase when
there is a need for editing
|
|
Precondition
|
Need
to Change information
|
|
Post-condition
|
Successful
Update Message
|
|
Basic
course of Action
|
User
Action
|
System
Response
|
1. Staff wants to update rent.
2.Open the rent page
3. Search by unique attribute which is give to customer during
rent.
5.The Staff update the information
6. Click on update button.
|
4.
The system displays the rent information.
7.
The system validates updated information and saves updated information in to
database.
8.
Exit use case.
|
|
Alternate
course of Action
|
4.1
If match is not found go back to basic course of action 3.
7.1if
the entered information is invalid the system back to basic course of action
5
|
10. Cancel Reservation
Use-Case
Number
|
UC-09
|
|
Use-Case
Name
|
Cancel a Reservation
|
|
Priority
|
Medium
|
|
Actor
|
Customer
|
|
Description
|
This use case permits a
customer to cancel a reservation.
|
|
Precondition
|
Customer already has reserved
and wants to cancel the reservation
|
|
Post-condition
|
Customer successfully cancel a
vehicle
|
|
Basic
course of Action
|
User
Action
|
System
Response
|
1.
The customer wants to cancel
reservation
2.
The customer opens reservation page and clicks cancel reservation link
4. The customer
enters reservation confirmation number and clicks cancel reservation button.
6. Are
you sure you want to cancel, the customer clicks “Yes” button.
|
3.The
system displays a form
5.
The system verifies the field has been filled out correctly and checks
validity of confirmation number, then popup a message to verify the
canceling.
7.
The system cancels the reservation and display a message the reservation is
canceled.
8.use
case Exit
|
|
Alternate
course of Action
|
5.1
If the customer enters invalid number system goes back or returns to step 4
of basic course of Action. To fill invalid or the empty field again.
6.1
If the customer clicks “NO” reservation canceling will be terminated.
|
11. View Reservation
Use-Case Number
|
UC-10
|
|
Use-Case Name
|
View Reservation
|
|
Priority
|
Medium
|
|
Actor
|
Staff
|
|
Description
|
These use case allow staff to
view or display customer reservation.
|
|
Precondition
|
UC-1
|
|
Post Condition
|
Display all reservations
|
|
Basic Course of Action
|
User
Action
|
System
Response
|
1.
The staff wants to view reservation.
2.
The staff requests the reservation
Page.
4.
Then on reservation page the employee
clicks view button.
|
3.
The system responds the
requested page.
5.
The system puts on view or
displays all reservation information to the employee.
6.
Use case ends
|
|
Alternate course of Action
|
5.1 If reservation not found
system goes to basic course of action 6.
|
12. Generate Report
Use-Case Number
|
UC-11
|
|
Use-Case Name
|
Generate Report
|
|
Priority
|
High
|
|
Actor
|
Manager
|
|
Description
|
These use case allow Manager of the organization to generate a report
about the renting information of a month.
|
|
Precondition
|
Manager wants to see report
|
|
Post Condition
|
Generate monthly Report
Information
|
|
Basic Course of Action
|
User
Action
|
System
Response
|
1.
The Manager wants to generate
report.
2.
The Manager clicks rent pages.
5.
Then on the rent page the Manager
specifies the month and then clicks on the generate button.
|
3.
The system responds the
requested page.
7.
Use case ends
|
|
Alternate course of Action
|
7.1 If
the reservation information is empty or not found go to 8.
|
13. Logout
Use-Case Number
|
UC-12
|
|
Use-Case Name
|
Log out
|
|
Priority
|
High
|
|
Actor
|
Staff
|
|
Description
|
These use case allow Staff to
log out from the system at a time of accomplishing their work.
|
|
Precondition
|
UC-1
|
|
Post Condition
|
System logs out
|
|
Basic Course of Action
|
User
Action
|
System
Response
|
1.
The Staff or manager wants to
log out
2.
The Staff or manager clicks the
log out button
|
3.
The system responds to the
requested action.
4.
The system displays a message
that the Staff or manager logged out from the system.
5.
Use case Ends
|
2.3. Analysis Model
2.3.1. Activity Diagram
An activity diagram is a variation of a state machine in which the
states represent the performance of actions or sub activities and the
transitions are triggered by the completion of the actions or sub activities.
It represents a state machine of a procedure itself.
1. Activity Diagram - Login
Figure 2: Activity Diagram - Login
2. Activity Diagram – Reserve a Vehicle
Figure 3: Activity Diagram - Reserve a Vehicle
3. Activity Diagram – Rent registration
Figure 4: Activity Diagram - Rent Registration
|
4. Activity Diagram – Vehicle registration
Figure 5: Activity Diagram - Vehicle Registration
|
5. Activity Diagram – Search Vehicle
Figure 6: Activity Diagram – Search
Vehicle
|
6. Activity Diagram – Update Vehicle
Figure 7: Activity Diagram – Update Vehicle
|
7. Activity Diagram – View Vehicle
Figure 8: Activity Diagram - View Vehicle
|
8. Activity Diagram – Update Rent
Figure 9: Activity Diagram - Update Rent
|
9. Activity Diagram – Cancel Reservation
Figure 10: Activity Diagram - Cancel Reservation
|
2.3.2. Sequence Diagram (SD)
A sequence diagram shows an
interaction arranged in time sequence. In particular, it shows the instances
participating in the interaction by their “lifelines” and the stimuli that they
arranged in time sequence. It does not show the associations among the objects.
(Sawyer I.
a.)
1. Sequence Diagram – Login
Figure 11: Sequence Diagram - Login
|
2.
Sequence
Diagram – Vehicle Reservation
Figure 12; Sequence Diagram - Vehicle Reservation
|
3. Sequence Diagram – Rent Registration
Figure 13: Sequence Diagram - Rent Registration
|
4. Sequence Diagram – Vehicle Registration
Figure 14: Sequence Diagram - Vehicle Registration
|
5. Sequence Diagram – Search Vehicle
Figure 15: Sequence Diagram - Search Vehicle
|
Staff,
Customer
|
BRC:
Database
|
6. Sequence Diagram – Update Vehicle
Figure 16: Sequence Diagram - Update Vehicle
|
7. Sequence Diagram – View Vehicle
Figure 17: Sequence Diagram - View Vehicle
|
8. Sequence Diagram – Cancel Reservation
Figure 18: Sequence Diagram - Cancel
Reservation
|
9. Sequence Diagram – Update Rent
Figure 19: Sequence Diagram - Update Rent
|
10. Sequence Diagram – View Reservation
Figure 20: Sequence Diagram - View Reservation
|
11. Sequence Diagram – Generate Report
Figure 21: Sequence Diagram - Generate Report
|



3.1.1.Class Diagram
This section discusses classes and their variations, including
templates and instantiated classes, and the relationships between classes
association and the contents of classes (attributes and operations).
Class diagrams show the static structure of the model, in
particular, the things that exist (such as classes and types), their internal
structure, and their relationships to other things.
Figure 23: Class Diagram
|
No comments:
Post a Comment