Cs619 Report
Cs619 Report
Project Supervisor
Akmal Khan
Submitted By
F24PROJECT84C98
P a g e 1 | 61
CERTIFICATE
This is to certify that Maryam Zahrah (BC230429699) have worked on
and completed their Software Project at Software & Research Projects
Section, Department of Computer Sciences, Virtual University of
Pakistan in partial fulfillment of the requirement for the degree of BS
in Computer Sciences under my guidance and supervision.
___________________
(Signature)
___________________
(Signature)
Accepted By:
_____________
(For office use)
EXORDIUM
P a g e 2 | 61
In the name of Allah, the Compassionate,
the Merciful.
P a g e 3 | 61
DEDICATION
P a g e 4 | 61
ACKNOWLEDGEMENT
P a g e 5 | 61
PREFACE
P a g e 6 | 61
TABLE OF CONTENTS
Contents:
1.1 INTRODUCTION……………………………………… 10
1.2 PURPOSE…………………………………………. 10
1.3 SCOPE……………………………………………. 10
P a g e 7 | 61
CHAPTER NO. 2 ……………………………………………………………… 31
DESIGNING THE PROJECT ……………………………………………….32
P a g e 8 | 61
CHAPTER 1
Gathering & Analyzing Info
P a g e 9 | 61
Gathering and Analyzing Info
1.1 introduction:
This document for the Online Tutor Finding Application provides a
comprehensive overview of the system's scope, objectives, and detailed
requirements. This application is designed to serve as a reliable platform
that connects students or parents with qualified tutors across various
subjects and educational levels. The document elaborates on the functional
and non-functional requirements, use case diagrams, system architecture,
user interaction scenarios, and the methodology adopted for system
development.
1.2 Purpose:
The purpose of this chapter is to get the clear understanding of the project.
What is the project scope, requirements, methodology, and timelines for
the development of the project? Without having the clear understanding of
the purpose, we will not be able to achieve the exact target.
1.3 Scope:
P a g e 10 | 61
Our platform is designed to be user-friendly and accessible on both
desktop and mobile devices, making it easy to find and book tutoring
sessions anytime, anywhere. The admin panel ensures the platform runs
smoothly and it moderates user interactions. It also maintains a high
standard of quality.
Functional Requirements:
1-User Registration and Authentication
All users (admin, tutors, and parents/users) can register and log in
securely.
Admin and tutors receive account details from the admin.
2-Profile Management
Parents can search and filter tutors based on subjects like Computer
Science, Medical, etc.
P a g e 11 | 61
Detailed tutor profiles, including experience, qualifications, and
fees, are visible to parents.
Parents can select multiple tutors for various subjects and generate
fee vouchers for payment.
4-Payment and Fee Management
Tutors can share class schedules, links (e.g., Zoom, Google Meet),
and other session details with registered students.
Parents can view class schedules and access class links from their
chosen tutors.
6-Online Quiz and Progress Tracking
P a g e 12 | 61
The system should support concurrent access by multiple users without
slowdowns.
2-Security:
Ensure data protection with secure logins, encrypted transactions, and
secure data handling.
3-Usability:
The application should have an intuitive and easy-to-navigate interface for
all user types.
4-Reliability:
The system must be consistently available with minimal downtime to
support user needs.
5-Scalability:
The application should be designed to handle future growth in user and
tutor numbers smoothly.
6-Compatibility:
Ensure compatibility across major web browsers (e.g., Chrome, Firefox)
and device types.
7-Data Integrity:
All data, including user information and payment details, should remain
accurate and consistent.
8-Maintainability:
The codebase should be organized to allow for easy updates and
debugging.
9-Backup and Recovery:
Regular data backups and a recovery mechanism to prevent data loss in
case of failure.
10-Accessibility:
Ensure the application is accessible to users with disabilities, following
web accessibility standards.
11-Response Time:
Pages and operations should load and complete within 2-3 seconds for a
smooth user experience.
P a g e 13 | 61
1.6 USE CASES AND USAGE SCENARIOS
Usage Scenario # 1
Use case Title Register
Use case id UC-01
Actions 1. User /Tutor fills in the registration form by giving
P a g e 14 | 61
email or password and other details.
2. User submits the form through the submit button.
Descriptions Allows users (parents)/Tutor to create a new account
in the system by entering required details like name,
email, phone number, and password.
Alternative Paths User already exists in the system. If yes, prompt for
re-registration.
Pre- conditions User is not yet registered in the system.
Post conditions New user account is created.
Author BC230429699
Exceptions If the registration data is incomplete or invalid, show
an error message.
Usage Scenario # 2
Use case Title Login
Use case id UC-02
Actions 1. User/ Tutor/Admin enters login credentials (email
and password).
2. User clicks login.
Description Allows users, tutors, and admins to log in to their
respective panels. Verifies the credentials to give
access to the correct dashboard.
Alternative Paths If incorrect credentials are entered, show an error
message.
Pre- conditions User has registered an account.
Post conditions User is authenticated and directed to the correct
panel (Admin/Tutor/Parent).
Author BC230429699
Exceptions If credentials are invalid, system shows an error
message and prevents login.
P a g e 15 | 61
Usage Scenario # 3
Use case Title Logout
Use case id UC-03
Actions 1. User/Tutor/Admin clicks logout.
2. User is logged out of the system.
Description Allows any actor (Admin, User, Tutor) to safely log
out of the system and end the session at any time.
Alternative Paths None.
Pre- conditions User is logged in and needs to terminate the session.
Post conditions User is logged out and redirected to the login page.
Author BC230429699
Exceptions If logout fails due to session issues, show an error
and remain logged in.
Usage Scenario # 4
Use case Title View Tutor Profile
Use case id UC-04
Actions 1. User searches for a tutor.
2. User clicks on a tutor's profile.
Description Users (parents) can view the detailed profile of a
tutor, including their qualifications, experience,
subjects taught, and availability.
Alternative Paths None.
Pre- conditions User is logged in and looking for a tutor.
Post conditions The tutor's profile is displayed with all the details.
Author BC230429699
Exceptions If no tutor matches the search criteria, show a "No
results found" message.
Usage Scenario # 5
Use case Title Update Profile
P a g e 16 | 61
Use case id UC-05
Actions 1. User navigates to profile settings.
2. User updates details.
3. User submits.
Description Allows users (parents, tutors) to update their profile
details (like name, contact, address, etc.).
Alternative Paths If the user does not want to update, cancel the
operation.
Pre- conditions User is logged in and has a profile in the system.
Post conditions Profile is updated with new details.
Author BC230429699
Exceptions If the data is invalid or incomplete, show an error
and prevent saving.
Usage Scenario # 6
Use case Title Select Tutor
Use case id UC-06
Actions 1. User browses through the list of tutors.
2. User selects one or more tutors for specific
subjects.
Description Users can select tutors for different subjects based on
their preferences (e.g., Math, English, Science, etc.).
Alternative Paths User selects no tutor or incorrect subjects.
Pre- conditions User is logged in and searching for a tutor.
Post conditions Tutors are selected and saved to the user's list.
Author BC230429699
Exceptions If no tutors are available or selected, an error
message appears.
Usage Scenario # 7
Use case Title View Scheduled Class Details
Use case id UC-07
Actions 1. User logs in.
P a g e 17 | 61
2. User navigates to the dashboard.
3. User clicks on a scheduled class.
Description Users (students) can view details of upcoming
classes, including timing, subject, and class link.
Alternative Paths No scheduled classes found.
Pre- conditions User has at least one class scheduled.
Post conditions Class details are displayed.
Author BC230429699
Exceptions If the class link is broken or timing is missing, show
an error message.
Usage Scenario # 8
Use case Title Take Online Quiz
Use case id UC-08
Actions 1. User selects a quiz.
2. User answers the questions.
3. User submits the quiz.
Description Users (students) can take an online quiz created by
tutors to assess their knowledge on a subject.
Alternative Paths User does not answer all questions.
Quiz submission time expires.
Pre- conditions User is logged in and has access to an active quiz.
Post conditions Quiz results are recorded and available for review.
Author BC230429699
Exceptions If the quiz fails to load or submission times out,
show an error message.
Usage Scenario # 9
Use case Title View Quiz Results
Use case id UC-09
Actions 1. User clicks on a completed quiz.
2. User views results and performance.
Description Users (students) can view their performance in
P a g e 18 | 61
quizzes they have taken, including scores and
feedback.
Alternative Paths If no results available, show a "No results" message.
Pre- conditions User has taken at least one quiz.
Post conditions Quiz results are displayed with scores.
Author BC230429699
Exceptions If the results are not accessible, display an error.
Usage Scenario # 10
Use case Title View Progress
Use case id UC-10
Actions 1. User logs into the portal.
2. User views quiz results and progress.
Description Users (students) can view their performance and
progress in quizzes provided by the tutor.
Alternative Paths User has not taken any quiz yet.
Pre- conditions User has an account and has taken at least one quiz.
Post conditions User can view a detailed report of progress in
quizzes.
Author BC230429699
Exceptions If no quiz has been taken, show a message
indicating no progress data available.
Usage Scenario # 11
Use case Title Pay Fee
Use case id UC-11
Actions 1. User selects a fee voucher.
2. System redirects to the payment gateway.
3. User completes payment.
4. System confirms payment and updates the
database.
Description Allows users to pay for tutor services.
Alternative Paths Payment fails (redirect to retry payment).
P a g e 19 | 61
User cancels the payment (redirect to dashboard).
Pre- conditions User is logged in and has a pending fee voucher.
Post conditions Payment is processed, and confirmation is sent to
the user.
Author BC230429699
Exceptions If the payment gateway is unavailable, show an
error message.
Usage Scenario # 12
Use Case Title Manage Tutor Profile
Use Case ID UC-12
Actions 1. Tutor logs in.
2. Tutor updates resume and other profile
information.
3. Tutor submits the changes.
Description Tutors can manage their profile, including
uploading and updating their resume, adding
qualifications, and other personal details.
Alternative Paths Tutor fails to update profile, cancels action.
Pre-Conditions Tutor is logged in and has access to their profile.
Post-Conditions Profile is updated and visible to users.
Author BC230429699
Exceptions If an invalid file format or data is uploaded, show an
error message.
Usage Scenario # 13
Use Case Title Upload Resume
Use Case ID UC-13
Actions 1. Tutor selects "Upload Resume" option.
2. Tutor uploads a file (PDF or Word format).
3. System validates and stores the resume.
Description Tutors can upload their resumes to display
qualifications and expertise.
Alternative Paths Unsupported file format uploaded (display error).
Upload fails (retry option provided).
Pre-Conditions Tutor is logged in.
System has sufficient storage space.
Post-Conditions Resume is uploaded and visible to parents/users.
Author BC230429699
Exceptions If file storage fails, notify the tutor with an error
message.
P a g e 20 | 61
Usage Scenario # 14
Use Case Title Schedule Class
Use Case ID UC-14
Actions 1. Tutor selects "Schedule Class" option.
2. Tutor inputs class details (date, time, subject,
mode of teaching).
3. System saves the schedule and notifies the
user/parent.
Description Tutors can schedule classes for students and share
details with users.
Alternative Paths Conflicting schedule entered (display conflict
warning).
Notification to user/parent fails (log an error).
Pre-Conditions Tutor is logged in.
The system is online.
Post-Conditions Class is successfully scheduled and stored in the
system.
Author BC230429699
Exceptions If the scheduling process fails, notify the tutor with
an error message.
Usage Scenario # 15
Use Case Title Create Quiz
Use Case ID UC-15
Actions 1. Tutor selects "Create Quiz" option.
2. Tutor enters quiz details (title, subject, questions, and
answers).
3. System saves the quiz and makes it accessible to students.
Description Tutors can create quizzes to assess students'
knowledge.
Alternative Paths Incomplete quiz details provided (prompt for
completion).
Quiz fails to save (retry option provided).
P a g e 21 | 61
Usage Scenario # 16
Use Case Title Monitor Progress
Use Case ID UC-16
Actions 1. Tutor selects "Monitor Progress" option.
2. System retrieves and displays students' quiz
results, attendance, and grades.
3. Tutor analyzes and records observations.
Description Tutors can monitor students' progress and
performance metrics.
Alternative Paths No progress data available (show "No records
found").
System fails to retrieve data (show error message).
Usage Scenario # 17
Use Case Title Register Tutor
Use Case ID UC-17
Actions 1. Admin accesses the "Register Tutor" option.
2. Admin fills in the tutor's details (name,
qualifications, subject expertise, contact).
3. System validates and stores the information.
Description Admin can register tutors in the system for parents
and students to access.
Alternative Paths Tutor already exists (system notifies admin).
Mandatory fields are left empty (validation errors
displayed).
P a g e 22 | 61
in the database.
Author BC230429699
Exceptions If the system fails to save data, display "Unable to
register tutor" error.
Usage Scenario # 18
Use case Title Generate Fee Voucher
Use case id UC-18
Actions 1. Admin selects the tutor and student.
2. Admin sets the fee amount.
Description Admin generates a fee voucher for a student based
on the selected tutor and course. Includes details
like amount and payment method.
Alternative Paths Admin fails to input the correct fee or tutor details.
Pre- conditions Admin is logged in and has necessary details about
the tutor and student.
Post conditions Fee voucher is generated and available for
download.
Author BC230429699
Exceptions If fee is not provided or details are missing, error
occurs and voucher is not generated.
Usage Scenario # 19
Use case Title Verify Payment
Use case id UC-19
Actions 1. Admin receives proof of payment.
2. Admin verifies the voucher/payment details.
Description Admin verifies the payment made by the user,
confirming that the student has paid the tutor's fee.
Alternative Paths Payment verification fails (incorrect amount,
invalid proof).
Pre- conditions Payment proof is uploaded by the user.
Post conditions Payment is verified and marked as "paid."
Author BC230429699
Exceptions If payment is not verified, show an error or alert the
user for re-upload.
P a g e 23 | 61
Usage Scenario # 20
Use case Title Generate Report (Admin)
Use case id UC-20
Actions 1. Admin accesses the report section.
2. Admin generates the report.
Description Admin can generate reports related to expenses,
profits, and other analytics for the platform,
providing a summary of financial data.
Alternative Paths Admin doesn’t select necessary parameters (like
date range).
Pre- conditions Admin is logged in and has access to financial data
and parameters for report generation.
Post conditions Report is generated and available for download.
Author BC230429699
Exceptions If the report cannot be generated due to missing
data or incorrect parameters, show an error
message.
Usage Scenario # 21
Use case Title Store Information in Database (Admin)
Use case id UC-21
Actions 1. Admin logs in.
2. Admin navigates to the database management
section.
3. Admin inputs tutor, student, or class data into the
database.
4. Admin confirms and saves the data.
Description Admin stores all relevant data such as tutor,
student, and class information into the system’s
database.
Alternative Paths If data fails to be saved due to connectivity issues,
Admin retries the operation.
If the data is incorrect, Admin makes necessary
corrections before saving.
Pre- conditions Admin is logged in and authorized to input data.
Post conditions The data is saved correctly in the database and is
available for future reference.
Author BC230429699
Exceptions If the data entry fails or the database connection is
lost, an error message is shown.
P a g e 24 | 61
1.7 DEVELOPMENT METHODOLOGY
P a g e 25 | 61
Unsuitable for complex projects with evolving requirements.
Risk of rework if requirements change after initial phases.
Spiral model:
The Spiral Model is a risk-driven software development process that
combines iterative and sequential aspects. It was designed to handle large,
complex, and high-risk projects by breaking development into cycles or
"spirals." Each spiral consists of four main phases: Planning, Risk
Analysis, Engineering, and Evaluation. In the Planning phase, objectives
and requirements are defined. Risk Analysis then identifies and mitigates
potential risks to reduce uncertainties. During Engineering, the product is
designed, developed, and tested based on the current requirements. In the
Evaluation phase, the client reviews the product, providing feedback to
guide the next cycle. This model allows for adjustments and improvements
with each iteration, making it suitable for projects with evolving
requirements. By incorporating feedback and continuously addressing
risks, the Spiral Model promotes a flexible, adaptive approach, enhancing
project stability and meeting user needs effectively.
P a g e 26 | 61
Fig 03: Spiral Model
Advantages:
Identifies and mitigates risks early.
Adapts to changes throughout development.
Continuous client reviews.
Early prototypes for testing.
Better project monitoring and adjustments.
Continuous testing improves product quality.
Disadvantages:
Difficult to manage multiple cycles.
Iterative process extends timelines.
Increased costs due to repeated cycles.
Requires skilled risk management.
Overkill for smaller, fixed projects.
Excessive documentation in each phase.
VU process model:
P a g e 27 | 61
As it is already mentioned that VU process model is the combination of
water fall model and spiral model which is also called the hybrid approach
of system development so in my project “Online Tutor Finding
Application” I chose this model. The idea behind this model is to get the
benefits of both these models. Essentially, Water Fall Model is a
framework for software development, proceeds sequentially through a
series of phases, starting with system requirement analysis and leading the
product release and maintenance, whereas the key characteristics of spiral
model is risk management at regular stages in the entire software
development cycle. In VU Process Model we will be working in phases to
complete out project. The reason to select this model is that this approach
of system development maximizes the quality of system and minimizes the
disadvantages and risk. It is linear model and easy to understand. This
provides the much facility to estimate the project cost and provides batter
understanding to project developer. VU process model is heavily
dependent on risk analysis and evaluation in each phase.
VU Process Model:
P a g e 28 | 61
1.7.2 Work Plan (Gantt Chart):
P a g e 30 | 61
CHAPTER 2
Designing the Project
P a g e 31 | 61
This Design Document provides a detailed framework for the development
outlined in the SRS into actionable technical designs. It ensures that all
Contents Overview
Sequence Diagrams: Defining task execution flows for each use case to
object-oriented development.
retrieval.
P a g e 32 | 61
Interface Design: Prototyping user interfaces to demonstrate application
2.2 PURPOSE:
2.3 SCOPE:
This document encompasses the complete technical design of the Online
Tutor Finding Application, covering all core system components, their
interactions, and data management strategies. It includes visual models
such as ER diagrams, sequence diagrams, and architecture designs that
collectively define how the system will function and scale. The scope also
extends to user interface mockups and test cases, ensuring usability and
reliability are incorporated from the design stage. It sets boundaries for
what the system will deliver during the development phase, offering a clear
direction for implementation and evaluation.
core layers: the Presentation Layer, Application Layer, and Data Access
interface for seamless interaction, while the Application Layer handles the
application’s design.
P a g e 34 | 61
Fig 08: Architectural Diagram
P a g e 35 | 61
2.6 DYNAMIC MODEL: SEQUENCE DIAGRAMS:
These sequence Diagram capture the interactive flow of operations within
the Online Tutor Finding Application, showcasing how various actors such
as Admins, Tutors, and Parents engage with the system. These diagrams
P a g e 36 | 61
Fig 09: Register
P a g e 37 | 61
Fig 10: Login
P a g e 38 | 61
Fig 11: Logout
P a g e 39 | 61
Fig 12: View Tutor Profile (by User and Admin)
P a g e 40 | 61
Fig 13: Update Profile (by User/Tutor)
P a g e 41 | 61
Fig 15: View Scheduled classes
P a g e 42 | 61
Fig 17: View Quiz Results
P a g e 43 | 61
Fig 19: Pay Fee
P a g e 44 | 61
Fig 20: Manage Tutor Profile
P a g e 45 | 61
Fig 21: Upload Resume
P a g e 46 | 61
Fig 23: Create Quiz
P a g e 47 | 61
Fig 25: Register Tutor
P a g e 48 | 61
Fig 27: Verify Payment
P a g e 49 | 61
Fig 28: Store Information in database (by Admin)
P a g e 50 | 61
Fig 29: Class Diagram
P a g e 51 | 61
consistency, optimizing queries, and supporting the application's
functionality by clearly defining primary keys, foreign keys, and
relationships among the tables. It plays a crucial role in ensuring data
integrity and smooth operation of the system.
P a g e 57 | 61
1.2 DEVELOPMENT PLAN (ARCHITECTURE DIAGRAM):
This architectural Design Diagram offers a structured representation of the
core layers: the Presentation Layer, Application Layer, and Data Access
interface for seamless interaction, while the Application Layer handles the
application’s design.
P a g e 58 | 61
P a g e 59 | 61
REFERENCES
W3Schools for HTML:
https://www.w3schools.com/html/
P a g e 60 | 61
APPENDIX
P a g e 61 | 61