Friday, December 9, 2016

Car Rent and Online Reservation System



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

Table 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

Table 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


Table 4: Use Case - 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
Table 5: Use Case - 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

Table 6: Use Case - 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

 

Table 7: Use Case – 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

Table 8: Use Case - 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

Table 9 Use case - 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


Table 10: Use Case - 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


Table 11: Use Case - 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

Table 12: Use Case – 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
 






ERD

No comments:

Post a Comment