Online Car Driving School Management System-1
Online Car Driving School Management System-1
Undertaken By:
MUHAMMAD ASIM RIAZ
REG. NO. CIIT/FA20-BSE-001/VEHARI
HARIS ALI
REG. NO. CIIT/FA20-BSE-065/VEHARI
Supervised By:
UMER RASHEED
--------------------------- ---------------------------
CERTIFICATE OF APPROVAL
It is to certify that the final year project of BS (CS) “Project title” was developed by
ASIM RIAZ (CIIT/FA20-BSE-001/VHR) and HARIS ALI
(CIIT/FA20-BSE-065/VHR) under the supervision of “UMER RASHID”and that in
(their/his/her) opinion; it is fully adequate, in scope and quality for the degree of Bachelors
of Science in Computer Sciences.
---------------------------------------
Supervisor
---------------------------------------
External Examiner
---------------------------------------
Head of Department
(Department of Computer Science)
Executive Summary
In public places, there is often a need for monitoring people and different activities going on,
which can be referred later for many reasons including security. Appointing humans for this
task involves many problems such as increased employee hiring, accuracy problem, trust, no
proof for later use, and also the fact that a human can remember things till a certain time
limit. Talking about the current security system, they use dumb still cameras with a
continuous recording facility ir-respective of the fact that any event may happen or not.
Moreover they are usually pointing at a specific user defined locations so more than one
cameras are required to cover the entire region.
To prevent all these problems from prevailing, the CSCS is developed. It is a surveillance
system, which provides solution to many of these problems. It is a stand-alone application
which doesn‟t require any computer to operate. It monitors different situations using a
camera which is able to rotate intelligently based on sensor messages and captures the scene
in the form of video or photos later reference as well.
We are greatly indebted to our project supervisor “Dr. Majid Iqbal Khan” and our Co-
Supervisor “Mr. Mukhtar Azeem”. Without their personal supervision, advice and valuable
guidance, completion of this project would have been doubtful. We are deeply indebted to
them for their encouragement and continual help during this work.
And we are also thankful to our parents and family who have been a constant source of
encouragement for us and brought us the values of honesty & hard work.
--------------------------- ---------------------------
Abbreviations
SRS Software Require Specification
PC Personal Computer
Table of Contents
1. INTRODUCTION ..............................................................................................................................................1
1.1 SYSTEM INTRODUCTION ......................................................................................................................................1
1.2 BACKGROUND OF THE SYSTEM ............................................................................................................................1
1.3 OBJECTIVES OF THE SYSTEM................................................................................................................................1
1.4 SIGNIFICANCE OF THE SYSTEM ............................................................................................................................2
2. OVERALL DESCRIPTION .............................................................................................................................2
2.1 PRODUCT SCOPE ..................................................................................................................................................2
2.2 PRODUCT DESCRIPTION .......................................................................................................................................2
2.3 PRODUCT FUNCTIONALITY ..................................................................................................................................2
2.4 USERS AND CHARACTERISTICS ............................................................................................................................3
2.5 OPERATING ENVIRONMENT .................................................................................................................................3
2.6 SPECIFIC REQUIREMENTS.....................................................................................................................................4
2.7 BEHAVIOUR REQUIREMENTS............................................................................................................................6
2.8 EXTERNAL INTERFACE REQUIREMENTS ...........................................................................................................7
2.9 NON-FUNCTIONAL REQUIREMENTS ..................................................................................................................9
2.10 SAFETY AND SECURITY REQUIREMENTS ................................................................................................... 10
2.11 SOFTWARE QUALITY ATTRIBUTES ................................................................................................................. 11
3 DESIGN DESCRIPTION ................................................................................................................................ 13
3.1 COMPOSITE VIEWPOINT .................................................................................................................................... 13
3.2 LOGICAL VIEWPOINT ..................................................................................................................................... 14
3.3 INFORMATION VIEWPOINT ............................................................................................................................. 15
3.4 INTERACTION VIEWPOINT .............................................................................................................................. 16
3.5 STATE DYNAMICS VIEWPOINT ....................................................................................................................... 19
3.6 ALGORITHM VIEWPOINT ................................................................................................................................ 20
4 DEVELOPMENT AND TOOLS .................................................................................................................... 21
4.2 INTRODUCTION: ............................................................................................................................................. 21
4.3 DEVELOPMENT PLAN: .................................................................................................................................... 21
4.4 DEVELOPMENT TOOLS ................................................................................................................................... 21
4.5 CONCLUSION AND FUTURE WORK/EXTENSIONS ............................................................................................ 22
5 QUALITY ASSURANCE ................................................................................................................................ 22
5.2 INTRODUCTION .............................................................................................................................................. 22
5.3 TRACEABILITY MATRIX ................................................................................................................................. 23
5.4 TEST PLAN ..................................................................................................................................................... 23
6 USER MANUAL .............................................................................................................................................. 26
6.2 INTRODUCTION .............................................................................................................................................. 26
6.3 HARDWARE/SOFTWARE REQUIREMENTS FOR THE SYSTEM............................................................................ 26
6.4 INSTALLATION GUIDE FOR APPLICATION ....................................................................................................... 26
6.5 OPERATING MANUAL ..................................................................................................................................... 27
Page 1
1. Introduction
2. Overall Description
Administrators:
Characteristics:
• Competent professionals who oversee overall operations at a driving school
• Digital literacy skills
• Organizational skills
Subscribers:
Characteristics:
• Different levels of technical ability ranging from beginners to advanced users
• Individuals in need of driving education
• Various educational backgrounds & age brackets
Instructors:
Characteristics:
• Certified experts who have trained in driving safety and skills
• Directly communicate with students during training.
• Monitor learner progress then give guidance plus feedback.
Operating System:
Windows, macOS and Linux
Web Browsers:
Microsoft Edge, Mozilla Firefox, Google Chrome and Safari
Server Requirements:
• Web server with PHP
• MySQL database
• Software Components:
• PHP for web programming language
• MySQL for data storage.
• HTML, CSS & JavaScript for user interface and interactivity.
Page 4
Internet Connectivity:
• Stable internet connection is necessary to access the system.
Managing Courses:
• Enable administrators to create, update or delete driving courses.
• Provide specifics about the course such as duration, cost and number of available slots.
Processing Applications:
• Provide a form for users to apply for a driving course.
• Enable administrators to review and either approve or disapprove applications.
Processing Payments:
• Integrate payment gateways so that customers can securely pay for their courses.
• Keep track of payment status and update user accounts accordingly.
Handling Inquiries:
• Create a forum where users can ask questions about timetables, courses etc.
• Make sure that such queries are responded by an administrator as soon as possible.
Content Management:
• Allow admins to edit the text on system pages like "Contact Us" and "About Us."
Instructor Management:
• Allow administrators to edit, delete, add instructor profiles.
Page 5
• Assign teachers to specific schedules and courses
Communication Features:
• It should allow users to freely message or @ mention fellow staff members
• Ensure that instructions relating to school activities and changes in the class or timetable are
communicated to students through teachers.
Page 6
Figure2: login
Figure 3: Home
Page 8
1. Admin Dashboard:
Upon logging in, administrators are greeted with a dashboard that provides an overview of key metrics such
as total subscribers, users, and enquiries.
Figure 4: Dashboard
Figure 5: Enrollment
Page 9
Figure 6: Packages
4. Scalability:
he system architecture should be flexible so that it can support some growth in the user base as well as the
amount of data generated.Extra space should complement the process without compromising its efficiency as
the system expands.
Page 10
5. Fault Tolerance:
This means that in the event of server or database failure, the system must be congruent with ways and
means that will enhance minimum down time.Records must remain accurate and consistent at all times even
when there is a mainframe system failure or when system backups are being done.
6. Security Overhead:
As for the secure data transfer via the SSL encryption, it is not expected that the necessary overhead will
cause very large response time in the app.The system should make a compromise between security steps and
speed so the user doesn’t experience a slow and restrictive feel with all of the security measures in place.
These performance requirements are necessary for guaranteeing that the conception and development of the
Online Car Driving School Management System will produce a high-quality system that can effectively
respond to users’ queries and administrators’ changes without overburdening or crashing frequently. The
defined requirements and response times as well as the actions for making the system scalable help to
achieve an effective and optimized performance depending on the situation.
Security Requirements:
User Authentication:
Only those who shave the proper authentication and privileges are allowed into the system.
Password regulation: The password complexity is one of the general rules established to improve the
organization’s security.
Encryption:
Any users must be required to use HTTPS in order to protect details from any hackers and or any third
parties eavesdroppers. This includes user passwords, client details and payments, identity of users, messages
between the client and server among others.
User Privacy:
In this case, the software has to meet the legal requirements of protection of individuals personal identifiable
information (PII) by safely handling it, as well as offering strict guide lines related to such matters.
Usability:
User Interface Consistency:
The UI throughout the whole application should look same which will make it easier for both users and
admins alike to navigate through different sections without having any problems whatsoever.
Ease of Navigation
Easy-to-use navigation structure of the system should allow users easily move between various features of
this complex application without facing difficulties at any point in time while using it .
Accessibility:
The system has to support accessibility standards in order to accommodate impaired individuals who may
want use it; for example, screen readers & keyboard navigation among others.
Maintainability:
Modularity:
Different parts/components/modules within the system should be designed in such a way that they can be
developed and maintained independently of each other without causing any negative impact on other
modules when one module is changed.
Documentation:
There should be comprehensive documentation available for both code as well as usage of entire system thus
making it easy to support/maintain/modify/extend in future times when required.
Performance Efficiency:
1. Scalability:
Horizontal scalability is recommended so that the system can handle more users and data. Scaling should not
lead to performance degradation.
2. Resource Utilization:
Optimization is needed with regards to how server resources are utilized by different parts of this application
in order to prevent bottlenecks from occurring due to inefficient use of these resources.
Security:
1. Regular Security Audits:
The risks arising from these threats should then be addressed appropriately, and this can only be done if
frequent security audits are conducted.
The observation gathered from a given audit should serve as a resource for strengthening the security
measures within the system.
Page 12
2. Data Encryption:
Laptops’ files and databases should use encryption techniques compliant with industry norms during transfer
or when info is stored, if it is sensitive info.
Interoperability:
1. Compatibility with Modern Browsers:
Browser versions recommended include those that are modern and widely used; it is essential to guarantee
that it runs cohesively with this application for all the platforms supported by those browsers.
Testability:
1. Automated Testing:
Automated testing may also assist in easy regression testing such that new releases do not interfere with
functionality accidentally but at the same time, everything is tested to check that it functions efficiently
immediately after release cycle.
3 Design Description
In the information viewpoint, we'll use an **Entity Relationship Diagram (ERD)** to represent the
persistent data content and relationships within the Online Car Driving School Management System.
Figure 9: ER Diagram
Page 16
Let's illustrate the interaction between objects for two key use cases in the Online Car Driving School
Management System: User Application Submission and Admin Application Review.
Within this algorithmic view point, we shall give pseudo codes snippets for some key operations in the
Online Car Driving School Management System. We will concentrate on updating application status process
as well as user authentication management.
User Authentication:
// Security Manager Module
function authenticateUser(username, password):
// Retrieve user details from the database
user = DatabaseConnector.fetchUserDetails(username)
// Check if the user exists and password matches
if user is not null and user.getPassword() == hashFunction(password):
// Return success status
return "Authentication successful"
else:
// Return error status if authentication fails
return "Error: Authentication failed"
Page 21
4.2 Introduction:
This chapter gives an outline of the development plan for Online Car Driving School Management
System, which consists of team members, activities during development and tools used.
Team Members:
1. Asim Riaz
2. Haris Ali
This plan outlines the timeline and responsibilities for each phase of the project, ensuring a systematic
approach to development.
Frontend Development:
HTML5: Tags used to designate the content elements and layout of the website and its individual web pages.
CSS3: As for enhancing the look of the pages, let us mention Cascading Style Sheets.
JavaScript: Programming language for adding ‘activities’ and ‘behaviors’ into web pages; for creating
interactive web applications.
Backend Development:
PHP: Programming language that used on web server side to create dynamical web applications.
Page 22
Laravel: PHP framework which is useful to develop complex web applications with better security and
performance.
Database Management:
MySQL: It has also a relational database management system for storing and managing the application data.
Version Control:
Git: Source code management system to implement changes in the file base and various developers.
GitHub: Online repository hosting service used to manage and share version of software source codes.
Other Tools:
Composer: PHP tool that can manage project dependencies and libraries for the user.
npm (Node Package Manager): Local caching of Node. js packages and modules.
Postman: Highly flexible API development and testing tool that is used in the development of designing and
testing of APIs as well as in documenting the APIs.
All these instruments were used in the development of the Managers Dashboard System and in the overall
process of its implementation.
As for future work and extensions, several enhancements can be considered to further improve the
system. These include:
5 QUALITY ASSURANCE
5.2 Introduction
This chapter describes quality assurance phase for Online (CDSMS) including test types, test approach
and test plan. It highlights user satisfaction as the utmost priority and employs efficient testing processes.
Page 23
A requirement traceability matrix links test cases to functional requirements which allow presentation of
findings by means of test cases.
This traceability matrix maps each test case to its corresponding functional requirement, ensuring
comprehensive test coverage and alignment with user expectations.
Date Test
Test of Application Expected Actual Role
ID Test Name Test Name Description Input Output Output (Actor) Test Verified By
Details School the View Application displayed displayed
Management Application Details"
System Details
page to
view
details of
an
application.
Admin
searches
Online Car for an Enter
Driving application registration
View School by number Application Application
Application 2024- Management registration and click details details Team
TC005 Details 05-02 System number. "Search" displayed displayed Admin Member/Supervisor
Page 26
6 USER MANUAL
6.2 Introduction
This provides detailed instructions on how consumers can use Online Car Driving School Management
System effectively. It gives a comprehensive guide on how the system can be used, its features accessed
as well as carrying various activities through it. Users are given step by step instructions coupled with
tips to enhance their application experience.
Hardware Requirements:
2. Extract Files:
• Once the download is complete, locate the downloaded zip file.
• Right-click on the file and select "Extract All" to extract the contents.
• Choose a destination folder for extraction and click "Extract".
4. Database Setup:
• Create a new MySQL database for the application.
• Import the provided SQL file into the database to set up the required tables and data.
Page 27
1. Configuration:
• Navigate to the extracted application folder.
• Locate the configuration file (e.g., config.php) and open it using a text editor.
• Update the database connection settings with the appropriate credentials.
2. Admin Management:
• Navigate to the "Admin Management" section to manage admin users.
• Here, you can add new admin users, view existing users, update their details, or delete them if
necessary.
3. Package Management:
• Access the "Package Management" section to manage driving packages offered by the driving
school.
• You can add new packages, update existing ones, or delete them as needed.
4. Application Management:
• In the "Application Management" section, you can view and manage user applications for training.
• Update the status of applications, view application details, and manage payments.
5. Enquiry Management:
• Manage user enquiries in the "Enquiry Management" section.
• View new enquiries, mark them as read, and respond to user queries.
6. User Management:
• Admins can manage user accounts in the "User Management" section.
• View registered users, update their profiles, and manage passwords.
7. Profile Settings:
• Update your admin profile settings in the "Profile Settings" section.
• Change your password and update personal information as needed.
Page 28
8. Logout:
• Finally, ensure to log out of the application once you have finished using it to maintain
• security.
Follow these guidelines to effectively operate the Online Car Driving School Management System and make
the most out of its features.