0% found this document useful (0 votes)
207 views45 pages

Final Project

Uploaded by

samidabala2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
207 views45 pages

Final Project

Uploaded by

samidabala2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 45

CHAPTER TWO: REQUIREMENT ELICITATION

2.1 Overview of Existing System

The Existing car rental System gives car rental service for both foreign and local customers.
This Rental System does its daily work by providing their service to the customers using a
manual system for reserving, contract holding and to keep record of all the rental activities
and customer information.

The detailed existing system functions are listed as follows: -

 During car reservation the customers reserve a car by making a phone call to the Staff;
otherwise, he/she is expected to go to the rental officers to make reservation. First, he/she
have to call the office and then he has to tell the rental officer the car he wanted and when he
wants the car and then he has to pay them a collateral to make sure that he/she will come
back for renting the car reserved.

 During renting, the customer has to go to the office and his/her full personal information,
payments status and rental agreements (contracts) are filled in the car rental agreement form
(contract) in order to hold legal contract between the customer and organization for renting
the car.

 The Manager makes a general report about the rented cars once at the end of the month and
generates a report to the staff. Users of the Existing System In the existing manual Car rental
system there are different users namely Customers, Manager and staff

The users of existing system mentioned below:

 Staff: is user of the manual rental system that registers reservation and rent, manage
booking/reservation & management.
 The Staff manages customer information.
 Check customer status and create contract.
 reviews and solved the customer complain if they have.
 Customers: request to rent car from the organization, first by reserving and then by
filling the contract form to get rental service.
 Manager: manages and controls activities of the organization. Also control the whole
business activity and generate Report.

1
2.2 Proposed Solutions

The proposed solution for a car rental and tracking system for Dire Dawa City is aimed at
providing an efficient and reliable platform for car rental services, as well as real-time
tracking and monitoring of rented vehicles. The proposed solution includes a desktop
application, mobile app integration, a web-based system, distributed system, and an
integrated system.

1. Desktop Application

The desktop application will serve as the main control centre for car rental agencies. It will
provide functionalities such as managing vehicle inventory, processing rental bookings,
generating invoices, and maintaining customer records. The application will also include
administrative tools for system configuration and monitoring.

2. Mobile App Integration

To cater to the growing popularity of mobile devices, a dedicated mobile application will be
developed. This app will allow customers to search for available vehicles, make reservations,
and access additional features like GPS-based navigation, fuel-level tracking, and remote
vehicle locking/unlocking. It will also provide a platform for customers to submit feedback
and ratings.

3. Web-Based System

The web-based system will serve as a seamless interface for both car rental agencies and
customers. It will enable online vehicle bookings, secure payment processing, and customer
support through live chat or email. The system will also incorporate features like real-time
availability of vehicles, personalized user profiles, and personalized recommendations based
on user preferences.

4. Distributed System Architecture

In order to handle large volumes of data and provide scalability and fault tolerance, a
distributed system architecture will be implemented. This will involve deploying multiple
server nodes across different locations in Dire Dawa City, allowing for efficient data
processing, load balancing, and improved system performance.

2
5. Integrated System Approach

The proposed solution will adopt an integrated system approach, which means it will
seamlessly connect with external stakeholders, such as vehicle manufacturers, insurance
companies, and government authorities. Integration with insurance systems will allow for
automatic verification and coverage during rentals, while connections with government
databases can help ensure compliance with licensing and regulatory requirements.

2.3 Preferred solutions


We prefer web-based System because web-based platform for car rental and tracking system
provides a comprehensive solution for efficiently managing vehicle rentals and tracking their
locations across the country. This platform offers numerous benefits for both car rental
agencies and customers, streamlining the process and enhancing overall efficiency.

Firstly, a web-based system allows car rental agencies to automate their operations, making it
easier to manage their fleet of vehicles. Through a user-friendly interface, agencies can
handle bookings, vehicle availability, and pricing in a centralized manner. This eliminates the
need for manual paperwork, reducing errors and saving time.

Moreover, such a system enables customers to conveniently search and book vehicles online.
They can access the web-based platform from any device with an internet connection,
allowing them to make reservations from the comfort of their own home or while on the go.
The platform can provide detailed information about available cars, including their
specifications, rental rates, and even customer reviews, helping customers make informed
decisions.

To enhance the car rental experience, the web-based system can incorporate advanced
features such as integrated payment gateways, allowing customers to securely make
payments online. Additionally, customers can opt for additional services like GPS navigation
systems or insurance through the platform, ensuring a seamless rental experience.

One of the key advantages of a web-based car rental and tracking system is its ability to track
vehicles in real time. By equipping rental cars with GPS devices, agencies can accurately
monitor their locations, ensuring better fleet management and security. This feature also

3
enables customers to track their rented vehicles, providing them with peace of mind and an
added layer of safety.

Furthermore, a web-based platform can generate comprehensive reports and analytics,


allowing car rental agencies to gain insights into their business performance. They can track
important metrics such as rental frequency, revenue, and customer feedback, enabling them
to make data-driven decisions and improve their services.

 a web-based platform for car rental and tracking system offers a convenient, efficient,
and secure solution for managing vehicle rentals in Dire Dawa City. It simplifies the
booking process for customers, automates operations for rental agencies, and enhances
overall fleet management and security. With its advanced features and real-time tracking
capabilities, this system brings numerous benefits to both car rental agencies and
customers, optimizing the car rental experience in the city.

2.4 Domain modelling with CRC card


Manager
Responsibility Collaborator
 Generate reports  Car Rental
 Manage car inventory Staff
 Handle customer reservations  Car Rental
 Assign rental agreements Customer

Car Rental Staff


Responsibility Collaborator
 Handle paperwork for rental  Car Rental
agreements Manager
 Provide information about  Car Rental
rental policies and procedures Customer
 Assist customers in selecting
the right car
 Process customer
reservations

4
Car Rental Customer

Responsibility collaborator
 Make car reservations  Car Rental Manager
 Provide necessary personal and  Car Rental Staff
payment information
 Check rental terms and
conditions
 Pickup and return rental cars
on time

2.5 Essential use case diagram

Figure 1 Essential use case Diagram

5
2.6 Essential use case Documentation

Use-case name Register


Actor Staff, Customer
Description This use case describes how the staff register the customer
and how the customer registered
Precondition The customer must have driving license or national id
Post-condition Registered successfully
Basic course of action User Action System Response
1.Request to register 2.The system Provides
3. fill the register form
registration form
4. The system verifies that
all the filled have been filled
out and valid.
5.the system register the
Customer
6. Use case Exit
Alternate course of action 4.1 if all fields are not filled out and not valid The Staff
notifies the Customer to fill the correct information again.

Table 2.1use case-register customer

Use-case name Reserve vehicle


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 choose an available


car.
Post-condition Customers reserve successfully
Basic course of action User Action System Response

1.The customer wants


to 2. The staff prompts the
reserve a vehicle. customer to deal a rental
agreement.
3.the customer sign rental 5. Use case ends.
agreement
4. pick up the car.

6
Alternate course of action 2.1 If the customer declines the agreement, the reservation
cancelled.

Table 2.2 use case- Reserve vehicle

Use-case name Vehicle registration Reserve


Actor Staff
Description These use case permits staff to register new vehicles with detail
descriptions about the vehicle such as model, brand and 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 3.use case exit
vehicle.
3. The staff enters the following
information in the form. Vehicle
brand, vehicle type, vehicle
model, plate number, price per
day.

Alternate course of action 3.1 If These fields are not filled out the new vehicle is not
registered properly.

Table 2.3 Use-case Vehicle registration

Use-case name Feedback Reserve


Actor Customer, staff
Description This use case permits customer to give feedback and the staff
responses that feedback
Precondition None

Post-condition Send feedback and respond the feed back


Basic course of action User Action System Response

1.The customers give 2. The staff responds his feed


feedback with their details back
3. Use case End.

Alternate course of action 1.1the customer if not give feedback with the details the staff
doesn’t response.

7
Table 2.4 use case- Feedback

Use-case name Approve vehicle reservation


Actor Staff
Description This use case permits staff to approve vehicle reservation

Precondition Customer wants to rent/reserve


Post-condition Approve vehicle reservation
Basic course of action User Action System Response

1. The customer wants to 3. The staff checks


reserve a vehicle availability of the car that the
2. The customer choose the customer wants.
car he wants 4. approve successfully
5.usecase exit
Alternate course of action 3.1if the car not available at that time the customer back to
basic course action of 2.

Table 2.6 Use case- Approve vehicle reservation

Use-case name Add/hire staff


Actor Manager
Description These use case allows Manager to hire staff.

Precondition New staff worker needed

Post-condition Hire staff employee


Basic course of action User Action System Response

1.Manager enters information 2. the new staff Hired


about new staff member 9. use case exit

Alternate course of action 1.1if Manager not enter information about new staff or the new
staff have not a document required the process cancelled.

Table 2.5 Use Case-Hire staff

2.7 Essential User interface prototype

8
CHAPTER THREE: SYSTEM ANALYSIS
3.1 Overview of the new system
The Newly Developed system that we are going to design is Web based car rental and
tracking system for Dire Dawa city. This system has a wide range of benefits for the user by
providing the renting and tracking services in well-organized way. Especially for customers
by saving the time required. To analysis and design the newly developed system we have

9
been used object-oriented approach diagrams such as use case diagram, sequence diagram,
Activity diagram and class diagram.

3.2 System Requirements


System requirement specifications are abstract description of the services, which the system
should provide. 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. The
system must have requirement that satisfies customers. System requirements may be either
functional or non-functional requirement.

3.2.1 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 deals with
what the system should do or provide for users. Specifies the software functionality that the
developers must build into the product to enable users to accomplish their tasks. The system
manages and process data according to the rule and regulation of the organization. It also
provides report generation facilitate. The database of the system provides the following
functionality. Data entry inputs data to the system. System serves different interface that
manage data entry mechanism in the database. Example car reservation/booking form, update
customer profile, cancelation form, Rental agreement form (contracts) etc…

The functional requirement of the system includes:


The system must let:
 All users Sign in and sign out
 All users change their password
 New customers sign up
 Customers with username and password sign in and book/reserve cars
 Customers manage their profiles
 Customers to select specific car using different search category while reservation
with option for advanced search to limit the car search to specific categories of cars
search.

E.g., By brand name, fuel type, price, color …

10
 Customer view list of available cars during reservation.
 Customer to view detail description of particular car.
 Customer’s reserve/book a car easily
 Customers manage their reservation/booking
 Customers cancel their reservation/booking
 Customer to select cars in the list.
 Rental officer to Search cars by specific record.
 Customers to cancel reservation using reservation confirmation number.
 System successfully committed reservations.
 System displays reservation summary with a unique reservation conformation
number for all successfully committed reservation.
 Generate report about the done task. Report may be daily, weekly, monthly or
annually work.
 System Admin Backup and restore database
 System Admin create user account and assign roles.
 System Admin manage user accounts
 System Admin manage their profiles
 System Admin to create new user account.
 System Admin to change account password.
 Rental officer to update reservation information.
 Rental officer to view reservations made by customers.
 Rental officer search and view customer information.
 Rental officer register payment for each service and provide receipt to customer.
 Rental officer to register new cars, car brands and manage them.
 Rental officer to assign driver.
 Driver view assigned car and destination address.
 Rental officer to select cars in the list.
 Rental officer to update information of the car in need of modification.
 Rental officer to update information of the brand in need of modification.
 Rental officer to display all lists of cars.
 Rental officer to display all available cars.
 Rental officer to Search cars by specific record.
 Rental officer to display all rented car.
 Rental officer to display all off-duty cars.

11
 Rental officer to register customers into rental list.
 Rental officer to update about customer rent record details in the rental list.
 Rental officer to select customer rent record by specific search category.
 Rental officer to search rent record of customers using specific categories.
 Rental officer to display customers, who rent cars.
 Rental officer to display all customers rent record
 The system must provide printable summary for successfully committed
reservation/rent.

3.2.2 Non-functional Requirements


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. Non-functional requirements are often
called qualities of a system. Non-functional requirements describe the aspects of the system
that do not relate to its execution, but rather to its evolution over time. Some of the non-
functional requirements of the system are:

Usability

 The system provides user-friendly interfaces and easy to navigate from one link to
other, which enhances users’ efficiency.
 The user can use the system by reading help and support.

Security

 The system should provide basic security features like username and password
authentication to prevent the system from unauthorized access. The system does not
allow unauthorized users to log into the system and modify records. Users will have
their own encrypted password and username by using encryption algorithm to
access the system like md5 encryption algorithm method.

Performance

12
 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 within 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 at any time in the presence of internet
connection or presence in networked environment and electric power for access at
24 hours a day, 7 days a week unless the network or internet connection fails and
electric power off.
 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.

Reliability

 The system should be used smoothly without being corrupted and frequently
failure. When failures occur, the system should be Tolerates failure, troubleshoot in
short period of time and return related error message

3.3 System Modelling


3.3.1 System use case diagram
A use case diagram is a set of use cases for a system, the actors of these use cases, the
relations between the actors and these use cases, and the relations among the use cases.

The UML (unified modelling language) notation for a use case diagram is containing
different shapes and each shape has its own meaning.

 A use case diagram at its simplest is a representation of a user's interaction with the
system and depicting the specifications of a use case.
 Informally speaking, a use case is a story or a case of using a system by some users
to vehicular out a process. A bit more precisely speaking, a use case describes the
sequence of events of some types of users, called Actors, using some part of the
system functionality to complete a process.
 An oval represents a use case,
 A man like figure represents an actor,

13
 A line between an actor and a use case represents that the actor initiates and/or

participates in the process

14
3.3.2 System use case Diagram Documentation
1. Use-case Login
Use-case Number UC-01
Use-Case Name Log in
Priority High
Actor Rental officer, Customer, Manager, System Admin
Description This use case describes how actors to login into the System.
Precondition Must not be logged in
Post-condition If the use case was successful, the actor is now logged into the
system. If not, the system state is unchanged
Basic course of Action User Action System Response
1. The actor is on the home page to 2.The system promotes the
login to the system. actor to enter Username,
3.The actor enters username and Password.
password, Click on Login Button. 4. The system verifies that
all fields have been filled
out and valid.
5. The system successfully
logged in. 6. Use case Exit
Alternate course of Action 4.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 3 of
basic course of Action to enter again.

2. Use-case Reserve Car


Use-case Number UC-02
Use-Case Name Reserve/Book car
Priority High
Actor Customer
Description This use case permits customers to reserve and make schedule for
renting car, based on the availability of the car
Precondition Customer wants to reserve a car and reservation details about

15
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 3. The system checks
car. 2. The customer selects the car availability of the car.
he/she wanted to reserve and clicks 4. The system prompts the
reservation link. customer to fill a
5. The customer fills the following reservation form.
information (Full Name, ID/Passport 7. The system checks all
No, Country, Mobile number and required information had
Selects Pickup & return date). been filled and the entered
6. The customer clicks reserve dates are valid also
button to reserve. 8. The system presents
9. The customer accepts the information to accept or
reservation and clicks Accept. decline the rental
Agreement.
10. The system shows the
customer that the
reservation has been
completed, and presents
the customer a reservation
confirmation number and
receipt.
11. Use case ends
Alternate course of Action 3.1. If the car is not available, the system goes back to step 2 to
displays when the car is going to be available or recommend
selecting another car.
7.1. If the customer enters invalid date and time or information,
the system goes back to step 5 to enter the invalid field again.
9.1. If the customer declines the agreement, the system displays a
message that the reservation is cancelled.

3. Use-case Confirm/Approve Reservation

16
Use-case Number UC-03
Use-Case Name Confirm/Approve Reservation
Priority High
Actor Rental officer
Description This use case permits to confirm/approve the reservation made by
the customer.
Precondition UC-1, Customer must pay the fee needed to be approved.
Post-condition Reservation Confirmed successfully
Basic course of Action User Action System Response
1. The Rental officer open the 4. The system displays
reservation requests list. successful conformation
2. The Rental officer check for the summary for the
information that is filled by the reservation.
customer is correct. 5. Use case Exit.
3. The Rental officer clicks on the
confirm button
Alternate course of Action 2.1 If the information filled is not correct the Rental officer will
click on the cancel confirmation button and send message to the
customer to fill correct information.

4. Use-case Cancel Reservation


Use-case Number UC-04
Use-Case Name Cancel a Reservation/Booking
Priority High
Actor Rental officer
Description This use case permits the actors to cancel a reservation.
Precondition UC-1, UC-2
Post-condition Actor successfully cancel a reservation
Basic course of Action User Action System Response
1. The actor wants to cancel 3. The system displays a
reservation form
2. The actor opens reservation page 5. The system verifies the
and clicks cancel reservation field has been filled out

17
button/Link. correctly and checks
4.The actor enters reservation validity of confirmation
confirmation number and clicks number, then popup a
cancel reservation button. message to verify the
6. Are you sure you want to cancel, cancelling.
the customer clicks “Yes” button. 7. The system cancels the
reservation and display a
message the reservation is
cancelled.
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.

5.Use-case Search car


Use-case Number UC-05
Use-Case Name Search Car
Priority Medium
Actor Rental officer and customer
Description This use case permits Rental officer and customer to search car
from the car list in order to display.
Precondition UC-3, UC-2
Post-condition Display
Basic course of Action User Action System Response
1. The Rental officer or Customers 2. Then the system display
enters name of the car and select one all information about the
from the combo Box, Car Brand. Car car based on selected list.
Model and Fuel type Clicks on the 3. Use case End
search button.
Alternate course of Action 2.1 If the entered car is not found system displays message that the
Searched car is not found and returns to step 1 of basic course of
Action to search for another car.

18
1. Use-case Create Contract
Use-case Number UC-06
Use-Case Name Create Contract
Priority High
Actor Rental officer
Description This use case permits Rental officer to Create Contract details.
Precondition UC-1, UC-3
Post-condition UC-7
Basic course of Action User Action System Response
1. The Rental officer wants to Create 3. The system will
Contract. response and display new
2. Rental Officer requests for new contract form.
contract form. 5. The system checks for
4. The Rental officer enters the the validity of the data
needed information and clicks on the entered on the form and
Submit button. from database and displays
6. The Rental officer clicks on yes confirmation message
button. 8. The system displays
successfully updates
information in to database.
9. Use case Ends.
Alternate course of Action 5.1 If the entered information is not valid then return to basic
course of action 3 6.1. If rental officer clicks on no then return to
basic course of action 4

7.Use-case Register Rental Payment


Use-case Number UC-08
Use-Case Name Register Rental Payment
Priority High
Actor Rental officer

19
Description This use case permits Rental officer to Register Rental Payment
information when customer comes to rent car.
Precondition UC-1, UC-3
Post-condition Successful Message
Basic course of Action User Action System Response
1. Rental officer wants to Register 3. The system displays the
rent. Rent registration Form.
2. Rental officer requests for rent 6. The system validates the
registration form by clicking on the information entered by the
Manage rent payment button. Rental officer and saves it
4. The Rental officer fills the needed in to database. Also, it
information in the form provided. displays success message
5. When he/she finished filling the to the Rental officer.
form he/she Click on Submit button. 7. Exit use case.
Alternate course of Action 6.1if the entered information is invalid the system back to basic
course of action 4

8. Use-case Register New Car


Use-case Number UC-09
Use-Case Name Register New Cars
Priority Medium
Actor Rental officer
Description These use case permits Rental officer to register New Cars to the
system with detail descriptions about the Car such as condition,
Plate Number, Model year, Car Brand, Colour, Gear type, Fuel
type, Number of sits and amount of price per day.
Precondition New car Purchased
Post-condition New Car information stored successfully
Basic course of Action User Action System Response
1. The Rental officer wants to add a 3. The system response or
new car displays the requested form
2. The Rental officer selects from to add new car.

20
the manage car drop down the Add 5. The system verifies that
new car button and clicks on it. the fields have been filled
4. The Rental officer enters the out correctly.
needed information in the form and 6. The system displays a
clicks on the save or insert button. successfully stored
message to the Rental
officer.
7. 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.

9. 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 3. The system responds the
report. requested page.
2. The Manager clicks rent pages. 5. The System gives
4. Then on the rent page the Success message and
Manager specifies the date and then displays the requested
clicks on the generate button. report.
6. Use case ends
Alternate course of Action 5.1. If the reservation information is empty or not found the
system notify to select for another date and go back to step 4.

21
10. Use-case Logout
Use-case Number UC-12
Use-Case Name Log out
Priority High
Actor Rental officer, Customer, Manager, System Admin
Description These use case allow Actors 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 actor wants to log out 3. The system responds to
2. The actor clicks the log out button the requested action.
4. The system displays a
message that the actor
logged out from the
system. 5. Use case Ends
Alternate course of Action 5.1. If the reservation information is empty or not found the
system notify to select for another date and go back to step 4.

3.3.3 Sequence Diagram


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. A sequence
diagrams are used to represent or model the flow of messages, events and actions between the
objects or components of a system. Time is represented in the vertical direction showing the
sequence of interactions of the header elements, which are displayed horizontally at the top of
the diagram. Sequence Diagrams are used primarily to design, document and validate the

22
architecture, interfaces and logic of the system by describing the sequence of actions that
need to be performed to complete a task.

1. Sequence diagram of Login

2. Sequence diagram of Car Reservation/Booking

23
3. Sequence diagram of Confirm Reservation

24
25
4.Sequence diagram of Car Registration

5. Sequence diagram of Cancel Reservation/Booking

26
3.3.4 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. Activity
diagrams are used to describe the functionalities of business activities and software systems.

1. Activity diagram of Login

27
2. Activity diagram of Car Reservation

28
3. Activity diagram of Confirm Reservation

29
4. Activity diagram of Car Registration

30
5. Activity diagram of Cancel Reservation

3.3.5 Class Diagram


A class diagram in the Unified Modelling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among objects.

In the diagram, classes are represented with boxes which contain three parts:

 The top part contains the name of the class


 The middle part contains the attributes of the class
 The bottom part gives the methods or operations the class can take or undertake

In the design of a system, a number of classes are identified and grouped together in a class
diagram which helps to determine the static relations between those objects. With detailed
modelling, the classes of the conceptual design are often split into a number of subclasses.

31
Class Diagram

32
CHAPTER FOUR: SYSTEM DESIGN
4.1 Design Goals
Design goals are typically derived from the project's requirements and are identified during
the transition from the analysis model to the system design. These goals help guide the design
decisions and ensure that the resulting system meets the desired qualities and objectives.
Most of the design goals will come from the non-functional requirements, which specify the
system's characteristics and constraints rather than its specific functionalities. By identifying
and prioritizing these design goals, the design team can make informed decisions and shape
the system design to meet the project's objectives effectively

4.1.1 Usability
The goal of usability is to ensure that the system follows User-friendly and intuitive car rental
and tracking. Users can easily navigate the system, search for available cars, book and
manage their car rental without confusion or difficulty. The system should have a well-
designed and intuitive interface, clear instructions, and a streamlined workflow to improve
the overall user experience.

4.1.2 Performance
Performance goals focus on system responsiveness, speed, and scalability. Car rental and
tracking systems must be designed to accommodate large numbers of simultaneous users and
operate efficiently, even during peak periods. It must have fast response times, minimal
latency, and high throughput to deliver a smooth and responsive user experience.
Performance testing and optimization must be performed to ensure that the system meets the
specified performance requirements.

4.1.3 Security
security is an important design goal to protect sensitive user data and prevent unauthorized
access. Car rental and tracking systems must implement strong security measures, such as
secure authentication and authorization mechanisms, encryption of sensitive data, and
protection against security threats as common as SQL injection or cross-site scripting.

It must also comply with relevant data protection regulations to ensure the security of user
information.

33
4.1.4 Flexibility
The goal of flexibility is to ensure that the car rental and tracking system can adapt to
changing business requirements and changing market conditions.

The system must be designed to be modular and flexible, allowing for easy integration with
third-party systems, extensibility to accommodate future growth, and support for additional
features or new functionality. This flexibility allows the system to evolve and remain relevant
in a dynamic business environment.

4.1.5 Maintainability
Maintainability is the goal of designing a system in a way that facilitates maintenance,
updating, and improvement. The car rental and tracking system must have a modular and
well-structured architecture, a clear and organized code base, and comprehensive
documentation to facilitate system maintenance. It must also support version control and
automated testing practices to minimize the risk of errors arising during system updates.

A maintainable system reduces downtime and ensures that the system can adapt effectively to
changing business needs.

4.2 System Architecture

4.3 Sub-system Decomposition


An online car rental and tracking system is a sophisticated software solution that enables
users to conveniently rent cars through an online platform while simultaneously tracking the
location and status of the rental vehicles. To develop such a system, it is essential to break it
down into smaller, interconnected components known as sub-systems. Sub-system
decomposition allows for a more organized and manageable approach to the design,
development, and maintenance of the system.

The sub-system decomposition of an online car rental and tracking system involves dividing
it into distinct sub-systems, each responsible for specific functionalities and operations. This
breakdown enhances the overall system architecture, making it more modular, scalable, and
maintainable. Each sub-system performs a set of related tasks, working cohesively to deliver
a comprehensive and seamless user experience.

The key sub-systems typically found in an online car rental and tracking system include:

34
1. User Interface Subsystem

The User Interface (UI) Subsystem focuses on the user-facing components of the system,
such as the web or mobile application interface. Its primary function is to provide a user-
friendly and intuitive interface for customers to interact with the system. The operations
provided by this sub-system include:

 User Registration
 User Login
 Car Search
 Car Selection
 Reservation Management
 Rental History
 Profile Management

2. Reservation Subsystem
The Reservation Subsystem manages the reservation process and ensures the availability of
cars for rental. It handles all the operations related to car reservations. The operations
provided by this sub-system include:

 Availability Check
 Car Reservation
 Reservation Modification and Cancellation

3. Vehicle Tracking Subsystem


The Vehicle Tracking Subsystem focuses on real-time tracking of rental vehicles. It
provides the ability to monitor the location and status of rented cars. The operations
provided by this sub-system include:

 GPS Tracking
 Vehicle Status Monitoring
 Location Mapping

4. User Management Subsystem

The User Management Subsystem handles user accounts, authentication, and access
control within the system. It ensures the security and proper management of user
information. The operations provided by this sub-system include:

35
 User Registration
 User Authentication
 User Roles and Permissions
 Password Management
 User Profile Management

4.4 Hardware/Software Mapping


Hardware/Software mapping refers to the process of identifying and establishing the
relationship between the hardware components and the corresponding software tasks in a
computer system or application. It involves determining how software functions, algorithms,
or processes are assigned to specific hardware resources for execution.

The Hardware Software mapping is described to indicate the various hardware devices and
equipment’s used in the system and its interaction with the software components. The
Persistent Data Management is described after this to highlight the database type used.

key components of a web-based car rental and tracking system:

1.Client Machine

 Hardware: The client machines are the devices used by users to access the web-
based car rental and tracking system.

These can include

 Desktop computers
 laptops
 Smartphones, or tablets.

 Software: The client machines should have a web browser installed, such as Google
Chrome, Mozilla Firefox, Microsoft Edge, or Safari, to access and interact with the
web-based application. The client machines also need an operating system (e.g.,
Windows, macOS, Linux, iOS, Android) to run the web browser and communicate
with the server-side components.

2.Web Server

 Hardware: Dell PowerEdge R-Series: a rack-mounted servers designed for data


centre environments. They offer a balance of performance, storage capacity, and
scalability.

36
 Software: Apache HTTP Server

3. Database Server

 Hardware: Oracle Exadata Database Machine. Designed to deliver optimal


performance, reliability, and manageability for MySQL deployments
 Software: MySQL to store and manage the system's data.

Figure 2 Hardware software mapping

4.5 State chart Diagram


It is used to explain how a system behaves when an event happens, taking into account every
conceivable state for an object. A set of events that take place in one or more potential states
serve as a representation and analysis of this behaviour. Every diagram depicts an object and
shows how it has changed across the system. There are various kinds of state diagrams that
differ somewhat and have distinct semantics. Finite state machines are represented
graphically by state diagrams. They are solely employed to comprehend how objects behave
across the entire system.

37
4.5.1 State Diagram for Admin to Generate Report

4.5.2 State Diagram for Staff to Update Vehicle

4.5.3 State Diagram for Staff to Rent Registration

4.5.4 State Diagram for Customer to Vehicle Reservation

4.6 Collaboration Diagram

4.7 Deployment Diagram


As the name Deployment itself describes the purpose of the diagram, Deployment diagrams
are used to visualize the topology (arrangement) of the physical components of a system and
where the software components are deployed. Deployment diagrams show the configuration
of runtime processing elements and the software components, processes, and objects that live

38
on them. Software component instances represent run-time manifestations of code units.
Deployment diagram would show what hardware components ("nodes") exist (e.g., a web
server, an application server, and a database server. Deployment diagrams consist of nodes
and their relationships. The purpose of deployment diagrams can be described as: o Visualize
hardware topology of a system. o Describe runtime processing nodes o Describe the hardware
components used to deploy software components.

39
4.8 Persistent Data Storage and Management
4.8.1 Persistent Data Storage
Persistent data storage refers to the long-term storage and retrieval of data in a computer
system or application. It involves storing data in a way that allows it to persist even after the
system or application is shut down or restarted.

Persistent data storage is essential in various domains, including web applications, databases,
file systems, and cloud storage. It enables the preservation of critical information, facilitates
data sharing, supports data analysis and reporting, and ensures the integrity and availability of
important data over time.

4.8.2 Database Management


Database management refers to the process of organizing, storing, and manipulating data
within a database. It involves various tasks, including creating and maintaining a database,
defining its structure, managing access and security, optimizing performance, and ensuring
data integrity.

40
Figure 3Database Management Structure

4.9 Graphical User Interface Design


Graphical User Interface for Home page

41
Graphical User Interface for contact Us page

Graphical User Interface for Manage profile

42
Graphical User Interface for User Login page

Graphical User Interface for Admin login

43
Graphical User Interface for Staff login

Graphical User Interface for Rental Officer login

44
CHAPTER FIVE: CONCLUSION AND
RECOMMENDATIONS
5.1 Conclusion
This project focuses on car rental and tracking system for Dire Dawa City. In the previous a
rental management system in Dire Dawa have no online reservation and rental for vehicles
and customers. The new system facilitated online registration system for vehicles and
customers to easily disseminate and transfer information for staff and manager in online
system. The system focused on developing web-based car rental and Tracking system system
in reliable, authentic and usable way for Dire Dawa City; we used different data collection
method to gather information related to rental and Tracking system is important for
managing activity in an organized way. Generally, the web-based car rental and Tracking
system could improve the time efficiency of rental history data transmission after using this
web-based system. Data storage which is already computerized will ease the process for
organization in the data storage, retrieval and report, where all data stored in a database that
creates data security and data processing process so that rental data stored neat, clear and not
lost or spilled.

5.2 Recommendations
Due to time limitation, we can’t do all the tasks that are needed in the system, so to enhance
the performance and functionality of the system the next developer can include the following
tasks.
 Make the system fully accessible in Amharic language.
 Develop better security mechanism than the current security like two step
verifications

Reference
A

45

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy