Final Project Report: Locate A Tutor

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 65

Final Project Report

Locate a Tutor

Project Supervisor
Said Nabi

Submitted By

F19024A196
Muhammad Pervaiz mc180203260
<<Group Member Name>> <<VU ID>>

Software Projects & Research Section,


Department of Computer Sciences,
Virtual University of Pakistan
CERTIFICATE
This is to certify that Muhammad Pervaiz(mc180203260U) has 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.

In our opinion, it is satisfactory and up to the mark and therefore fulfills the
requirements of BS in Computer Sciences.

Supervisor / Internal Examiner

Said Nabi
Supervisor,
Software Projects & Research Section,
Department of Computer Sciences
Virtual University of Pakistan

___________________
(Signature)

External Examiner/Subject Specialist


<<External Supervisor Name>>

___________________
(Signature)

Accepted By:

_____________
(For office use)

EXORDIUM

Page
2
In the name of Allah, the Compassionate, the
Merciful.

Praise be to Allah, Lord of Creation,


The Compassionate, the Merciful,
King of Judgment-day!

You alone we worship, and to You alone we pray


for help,
Guide us to the straight path

The path of those who You have favored,

Not of those who have incurred Your wrath,


Nor of those who have gone astray.

Page
3
DEDICATION

I would like to dedicate this project to my respectable


Father and Mother, my instructor and my honorable
teachers who have always been dear and near to me
and without whose patience, care, understanding,
support, affection and most of all deepest love, it
would not have been possible to come up to this
position.

Page
4
ACKNOWLEDGEMENT

This work would not have been possible without the Allah Almighty. I am
especially indebted to the chairman of Virtual University Pakistan, whose
active and reliable work helped me achieve my goals. I am grateful to all
of those with whom I have had the pleasure to work during this and other
related projects. Each of them has provided me extensive personal and
professional guidance and taught me a great deal about software design,
development, testing and life in general.
I would especially like to thank Prof. M. Said Nabi, the supervisor of my
project. As my teacher and mentor, he has taught me more than I could
ever give him credit for here. He has taught me, what a good developer
(and person) should be. Nobody has been more important to me in the
pursuit of this project than the members of my family. I would like to
thank my parents, whose love and guidance are with me in whatever I
pursue. They are the ultimate role models.

Page
5
PREFACE

It is a great opportunity for me to have the Bachelors in


Computer Science in Virtual University of Pakistan. In the
accomplishment of this degree, I am submitting a project
report on “Find a Tutor”. Subject to the limitation of time,
efforts and resources every possible attempt has been made
to study the problems and to improve the project. A proper
analysis of the need of product was done before the
development. During the project, I gained much knowledge in
documentation; how an actual product is designed,
developed and deployed. Testing the final product was a
challenging task as I had to make sure no errors or
exceptions are left in the software. I am pleased to present
this project and document. Proper care has been taken while
organizing the project. This project is the stepping stone of
my career. The project was planned before actual
development and proceeding. This whole report is divided
into four chapters.

Page
6
TABLE OF CONTENTS

CHAPTER NO. 1
GATHERING & ANALYZING INFO.....................................................9

1.1 PROBLEM STATEMENT

1.2 INTRODUCTION & PROPOSED SOLUTION

1.3 SCOPE

1.3 TOOLS AND TECHNOLOGIES USED

1.3 FEASIBILITY REPORT

1.4 DEFINITIONS, ACRONYMS AND ABBREVIATIONS

1.5 USE CASES AND USAGE SCENARIOS

1.5.1 Use Case Diagrams

1.5.2 Usage Scenarios

1.6 SUPPLEMENTARY REQUIREMENTS

1.6.1 Usability

1.6.2 Reliability

1.6.3 Supportability

1.6.4 System Requirements

CHAPTER NO. 2
PLANNING THE PROJECT..............................................................36
2.1 INTRODUCTION

2.3 AVAILABLE METHODOLOGIES

2.4 CHOSEN METHODOLOGY

2.5 REASONS FOR CHOSEN METHODOLOGY


Page
7
2.6 WORK PLAN
2.7 PROJECT STRUCTURE

2.7.1 Team Structure

2.7.2 Project Schedule (Submission Calendar)

CHAPTER NO. 3
DESIGNING THE PROJECT............................................................39

3.1 INTRODUCTION

3.4 ARCHITECTURAL REPRESENTATION (ARCHITECTURE DIAGRAM)

3.5 DYNAMIC MODEL: SEQUENCE DIAGRAMS

3.6 OBJECT MODEL/LOGICAL MODEL: CLASS DIAGRAM

3.7 DATABASE MODEL (DATABASE DIAGRAM)

3.8 GRAPHICAL USER INTERFACES

CHAPTER NO.4
DEVELOPMENT.............................................................................60
4.1 DEVELOPMENT PLAN (ARCHITECTURE DIAGRAM)

Page
8
CHAPTER 1
Gathering & Analyzing Info

Page
9
1.Problem Statement:
When a student or parents wants to search for a tutor, he/she has to search through
newspaper advertisement or asks from people around who can recommend a highly
qualified and expert tutor with affordable fees. However, it become very difficult to
find a suitable tutor if you don’t have any connection.
Day by day, more and more students have problem in finding a tutor of their choice.
Some have problems in the qualification or high dues. Teachers as well sometimes face
problem in finding a job i.e. a place to teach. Students belonging to different places
have difficulty in finding a tutor around them.

2. Introduction and Proposed solution


The aim of this project is to develop an android based mobile application which help
students/parents to instantly find and connect with thousands of professional and
certified tutors at one place. This application will provide students a platform on their
smartphones for finding the experts and tutors of their desired field/subject according to
their qualification and experience.
The proposed mobile application will provide an efficient search engine which will
help students to search using different filters (subject, location, qualification etc.).
Based on the applied filters, the search engine will find the most relevant data and will
display it to the user. Search by Location feature will also be integrated in the
application so that the users can search for the tutors in their surrounding locations as
well as the tutor can know from where the services are being requested. Finally, the
application will allow the users to rate and give their reviews about any tutor and the
services they provide which will make this application more useful for the users.

we have seen the rapid evolution


of -
Assisted Learning
"Locate a Tutor" aims to promote a greater count of students to splurge into the field of
Education. It will be a publically available application so that anyone from anywhere
can join it and use it.

We have seen rapid evolution of e-learning. So, the point of this application is to help
users get the most out of internet. A platform where teachers and students can find each
other.

"Locate a Tutor" is for all those who are looking for teachers for their children for their
future or some student search teacher for himself. As education is a necessity today, so

Page
10
many students need a tutor for guidance in study. As well as for teachers, it will
become easy to find students who are looking for qualified teachers.

3. Scope
Tutor:

● Sending Request to student for teaching.

● Finding Students who require a tutor

● Managing Students' requests for teaching (Accept/Reject)

● Fee Negotiation with student(s)

Student:

● Searching tutor by filters

● Requesting for services of a tutor

● Fee Negotiation

● Rating the tutor

Page
11
4 Tools & Technologies used:

 Android Studio (The IDE for development)


 Java (To handle code logic)
 Firebase (Online database)
 Xml (UI design)

5. Project/Product Feasibility Report

When a project is started the first matter to establish is to assess the feasibility of a
project or product. Feasibility means the state or degree of being conveniently done.
We will discuss how feasible it is to make a web portal which allows us to make
profiles and groups online for questioning and answering. The answers will be rated
and the most rated or voted answers will be displayed on the main webpage. This
project is 100% feasible.

We will evaluate the feasibility of our project on the following terms:

1. Technical

2. Operational

3. Economic

4. Schedule

5. Specification

6. Information

7. Motivational

Page
12
8. Legal and Ethical

5.1. Technical Feasibility

Technical Feasibility deals with asking the question as to whether the system can be
developed or not. This project is possible in all technical ways. I will develop this
project using tools like Android studio browsers like Google Chrome. The main
programming language will be Java to handle all the functionality and logic. Java is a
high level programming language used for many platforms like Desktop etc. XML is a
standard design language used by programmers and tools. XML language will be used
to design the UIs of this application. It is very flexible and easy to use, yet powerful
and full of features. Google provides free Firebase database for limited storage
capacity, The access is seamless and returns data within seconds depending on the
user's internet speed. The application will be storing only the data of users like name,
number, location etc which doesn't take much space. So millions of users' data can be
stored in free storage. If required, more storage capacity can be purchased without
having to modify anything in the project.

5.2. Operational Feasibility

Evaluation of technical ability of the users to operate and use this application is the
main aim of operational feasibility. We believe that this project will be easy to use and
the testing will not leave any errors in the coding. We will develop this application
following the regulations of developing the successful project. Our solution providing
system is also so strong. Our experience in android development and tools of
development will enable us to find errors easily and provide solution efficiently. End
users will feel so comfortable using this project.

5.3. Economic Feasibility

The main aim of economic feasibility is to measure the cost and benefits in the project.
If we see professionally the cost of this project is not so much because tools are free but
the coding and development cost high due to its complex functionality. When
functionality is high level cost does matter because in less cost it is not possible to
make a professional and error free project. This android project is feasible
economically because it will give design and functionality balanced with the cost.

Page
13
Justification for the benefit/cost analysis relative to the project is to be measured in
economic feasibility. It will satisfy both tangible and intangible benefits.

5.4. Time Schedule Feasibility

Time is the most important factor especially in development process. Time is managed
only when we follow the procedure and regulations. When the procedure is not
followed hurdles waste time. The project will be made following the steps in order.

5.5. Specification Feasibility

Requirements are the features that the system must have or a constraint that must be
accepted for the customer. The requirements of this project are entirely feasible and
complete. We can modify the requirements as the development process is started but
we cannot change the requirements in testing process because it will consume time.

5.6. Information Feasibility

The information in this section means the requirements of specification and the
requirements for the development of the specifications and features of project. A good
project is developed when the given requirements are clear and information is
feasibility. Information about this project is feasible and clear.

5.8. Legal & Ethical Feasibility

The idea of this project is not copied. This project meets the requirements of ethical
feasibility and it is clear that its functions and privacy policies will not harm the values
of anyone. It fulfills all the ethical and moral values and gives a reliable platform for
students and teachers.

Page
14
3.1 Use Case Diagram

Teacher and Student:

Page
15
Tutor:

Page
16
Student:
Page
17
3.2 Usage Scenarios

UC-01: Sign Up
Pre-Condition: None

Page
18
Extension of: None

Actor: Teacher and Student

User Actions System Response

User Clicks on the Sign up button on main System shows an Interface which has some
screen (i.e. login screen). fields (Name, Email, Phone Number, Role
i.e. Student or Teacher, Experience,
Location).

User Clicks inputs the required fields. The interface shows the text being entered
and has a button: Sign up.

User Clicks on Sign up button. System Shows a Dialog to confirm the


email/phone user has entered. The dialog
has a confirm and Cancel button.

User Clicks on Confirm button. System shows an interface where user has to
enter the verification code sent to his
email/phone number. It also has a Continue
button.

User enters the verification code and clicks System show a processing dialog and shows
Continue button. dashboard if verification code is correct.

Post Condition: The new user has been created.

[FR-01] Fulfilled.

UC-02: Update Profile


Pre-Condition: User must be logged in to the system.
Page
19
Extension of: None

Actor: Teacher and Student

User Actions System Response

User Clicks on the profile button visible on System shows an Interface which has the
dashboard. information of user (Name, Email, Phone
Number, Role i.e. Student or Teacher,
Experience, Location) . It also has an
Update button.

User Clicks on Update button. The interface shows the same information
now being able to edit. It also has a Done
button.

User makes the changes he wants to do. System Shows a confirmation dialog.

User Clicks on Confirm button. System shows his profile again with updated
information.

Post Condition: The user profile has been updated..

[FR-05] Fulfilled.

Page
20
UC-03: Deactivate account
Pre-Condition: User must be logged in to the system.

Extension of: None

Actor: Teacher and Student

User Actions System Response

User Clicks on the profile button visible on System shows an Interface which has the
dashboard. information of user (Name, Email, Phone
Number, Role i.e. Student or Teacher,
Experience, Location) . It also has a
Deactivate button.

User Clicks on Deactivate button. System Shows a confirmation dialog.

User Clicks on Confirm button. System shows an interface where user has to
enter verification code sent to the registered
phone/email. It also has a Continue button.

User inputs the verification code and clicks System shows a processing dialog and
Continue. shows Login screen.

Post Condition: The user profile has been deactivated.

[FR-04] Fulfilled.

UC-04: Add location

Page
21
Pre-Condition: None.

Extension of: UC-01 , UC-02

Actor: Teacher and Student

User Actions System Response

User Clicks on the add location when System shows a maps interface where the
signing up or updating profile. GPS location of user is being shown.
It also has a Add Location button.

User Clicks on Add Location button. System Shows a confirmation dialog.

User Clicks on Confirm button. System shows the previous screen again.

Post Condition: The location of user has been added..

[FR-06] Fulfilled.

UC-05: View other's profile


Page
22
Pre-Condition: User must be logged in to the system.

Extension of: None

Actor: Teacher and Student

User Actions System Response

User Clicks on the profile of the user he System shows an interface containing the
wants to view. information of that user (Name,
email/phone, Location, Role, Experience,
Rating etc.).

Post Condition: None.

[FR-08] Fulfilled.

UC-06: View location of other user

Page
23
Pre-Condition: User must be logged in to the system.

Extension of: UC-05

Actor: Teacher and Student

User Actions System Response

User Clicks on the Location in the profile of System opens the Maps application (by
a user. Google LLC).

Post Condition: None

[FR-09] Fulfilled.

UC-07: View list of students seeking tuition


Pre-Condition: User must be logged in to the system as a teacher.

Extension of: None

Actor: Teacher

User Actions System Response


Page
24
User Clicks on the students button visible on System shows an Interface which has a list
dashboard. of students seeking tuition.

Post Condition: None.

[FR-10] Fulfilled.

UC-08: Send Request to student to provide services


Pre-Condition: User must be logged in to the system as a teacher.

Extension of: UC-07

Page
25
Actor: Teacher

User Actions System Response

User Clicks on the name of student from the System shows an Interface which has the
list of students whom he want to provide information of that student (Name, Email,
services. Phone Number, Location, Grade) . It also
has a Send request to teach.

User Clicks on Send request button.. The interface shows the that the request has
been sent to student.

Post Condition: The request of teacher has been sent to student.

[FR-11] Fulfilled.

UC-09: Accept Request of Student to teach


Pre-Condition: User must be logged in to the system as a teacher.
Page
26
Extension of: UC-07

Actor: Teacher

User Actions System Response

User Clicks on the Received requests visible System shows an Interface which has a list
on dashboard. of students who have sent requests for
services. Each student has an accept and a
reject button.

User Clicks on Accept button. The interface shows that the request of that
student has been accepted.

Post Condition: The student's request has been accepted.

[FR-12] Fulfilled.

UC-10: Reject Request of Student to teach


Pre-Condition: User must be logged in to the system as a teacher.
Page
27
Extension of: UC-07

Actor: Teacher

User Actions System Response

User Clicks on the Received requests visible System shows an Interface which has a list
on dashboard. of students who have sent requests for
services. Each student has an accept and a
reject button.

User Clicks on Reject button. The interface shows that the request of that
student has been rejected.

Post Condition: The student's request has been rejected.

[FR-13] Fulfilled.

UC-11: Negotiate the fee


Pre-Condition: User must be logged in to the system.
Page
28
Extension of: UC-07

Actor: Teacher

User Actions System Response

User Clicks on the user he want to negotiate System shows an Interface which shows
fee with. information of that user. It also has a
Negotiate Fee button.

User Clicks on Negotiate fee button. The interface shows a text field where user
can type how he wants to negotiate about
the fee. It also has a Submit button.

User clicks on Submit button. System shows a confirmation dialog.

User clicks on the confirm button. System sends the request to other user and
shows previous screen again.

Post Condition: The request to negotiate fee has been sent to other user.

[FR-14] Fulfilled.

UC-12: Search a tutor


Pre-Condition: User must be logged in to the system as a student.
Page
29
Extension of: None

Actor: Student

User Actions System Response

User Clicks on the Search button visible on System shows an Interface where user can
dashboard. input name, location, Experience, Grade,
rating and hourly fee. It also has a Search
button.

User inputs the fields as desired and clicks The interface shows a list of teachers
Search button. meeting the required criteria of search.

Post Condition: None.

[FR-15] Fulfilled.

UC-13: Request to hire tutor


Pre-Condition: User must be logged in to the system as a student.
Page
30
Extension of: UC-12

Actor: Student

User Actions System Response

User Clicks on the name of teacher he wants System shows an Interface showing the
to send request to. profile of that teacher. It also has a Request
to teach button.

User clicks on the Request to teach button. The interface shows a confirmation dialog.

User clicks Confirm button. System show that the request has been sent
to the teacher.

Post Condition: The request to provide services has been sent to the teacher.

[FR-17] Fulfilled.

UC-14: Rate a tutor


Page
31
Pre-Condition: User must be logged in to the system as a student.

Extension of: UC-12

Actor: Student

User Actions System Response

User Clicks on the name of teacher he wants System shows an Interface showing the
to rate. profile of that teacher. It also has a Rate
tutor button.

User clicks on the Rate tutor button. The interface shows a dialog having five
stars. User can select number of stars he
want to give. this interface also has a Submit
button.

User clicks on the number of stars he wants System show that the rating has been saved
to give and clicks Submit. and show previous screen again.

Post Condition: The rating of teacher has been added to his profile.

[FR-19] Fulfilled.

UC-15: Give review to a tutor


Pre-Condition: User must be logged in to the system as a student.
Page
32
Extension of: UC-12

Actor: Student

User Actions System Response

User Clicks on the name of teacher he wants System shows an Interface showing the
to give review. profile of that teacher. It also has a Give
review button.

User clicks on the Give review button. The interface shows a dialog having a text
field. This interface also has a Submit
button.

User types his review and clicks Submit. System show that the review has been saved
and show previous screen again.

Post Condition: The review of the teacher has been added to his profile.

[FR-20] Fulfilled.

Usability
1. Ease of learning. The system must be easy to learn for both novices and users with
experience from similar systems.

2. Task efficiency. The system must be efficient for the frequent user.

Page
33
3. Ease of remembering. The system must be easy to remember for the casual user.

4. Understandability: The user must understand what the system does.

5. Subjective satisfaction. The user must feel satisfied with the system.

Reliability
The system must be available for use 24 hours a day and 7 days a week. It should be
reliable above 90% at 10,000 cycles.

Supportability
The system must be able to run and be fully functional on more than 95% Android
devices currently used across the world.

It should also be able to use across the globe wherever Google Maps is available.

The system must be designed in such a way that it can be updated meeting the future
requirements.

The system must be able to work using any internet connection types and other
variables such as speed, latency and limit.

Page
34
4. System Requirements

Common:

FR-01 System shall allow the user to sign up by entering required details.

FR-02 System shall be able to verify the user's email address or phone number
registered with account.

FR-03 System shall allow the user to enter verification code to verify his phone/email

FR-04 System shall allow the user to delete/deactivate his account.

FR-05 System shall allow the user to update his profile.

FR-06 System shall allow the user to add his location in his profile.

FR-07 System shall be able to show notifications.

FR-08 System shall allow the user to view profile of other user(s).

FR-09 System shall allow the user to open location of other user in Google maps.

Tutor:

FR-10 System shall allow the tutor to view a list of students seeking tuition.

FR-11 System shall allow the tutor to send the request to student for providing his/her
services.

FR-12 System shall allow the tutor to accept requests from the students.

FR-13 System shall allow the tutor to reject requests from the students.

FR-14 System shall allow the tutor to negotiate the fee with the students.

Page
35
Student:

FR-15 System shall allow the student to search the tutors (by providing subject,
qualification, gender, location, availability time, and fees)

FR-16 System shall be able to display a list of tutors according to the search criteria given
by the student.

FR-17 System shall allow the student to send request to hire tutor.

FR-18 System shall allow the student to send request for negotiation of fees.

FR-19 System shall allow the student to rate the tutor for his services.

FR-20 System shall allow the student to give review to the tutor.

Page
36
CHAPTER 2
Planning the Project

Page
37
Adopted Methodology:

Introduction:

The goal for all project managers is to bring a project to completion on time, within the
budgeted costs, and to meet the planned performance or end-product goals by
orchestrating all resources assigned to the project effectively and efficiently. To achieve
this, we must follow a standard methodology for software development. This means
that the Adapting and following a methodology is a crucial part of software
development otherwise the project may run late or out of budget/cost meanwhile
causing many other problems.

Available Methodologies:

Available software development methodologies are many and can be customized as per
requirement of the project. Some of them are as:

 Agile Development Methodology


 DevOps deployment methodology
 a Waterfall development method
 Rapid Application development
 Spiral Model

Chosen Methodolgy:
The adopted methodology is VU Process Model which is a combination of Waterfall
and Spiral Model.

STRUCTURE OF VU PROCESS MODEL:

1. Gathering & Analyzing Requirement:


In this phase we gathered information regarding functional and non- functional
requirements of our Project and also prepared Use case diagrams to understand Actors
Page
38
and Uses cases of project and develop usages scenario diagrams to understand all those
situations which will come across while using this application.

2. Planning Phase:
In this phase we adopted methodology to complete the project, also prepared the
Schedule using Gantt chart to know that which phase will be completed in how many
days.

3. Analysis and Design Phase:


This phase consists of two design documents. In Design document 1 we will develop
the Activity Diagram, Sequence diagrams, Collaboration Diagram, Architecture Design
Diagram and DFD diagram. And Design document II we develop the Object model,
Class diagram, interface design, database design, test cases, Deployment diagram and
Component diagram.

4. Development & Final Project Report:


In this phase we will write necessary code for implementation of our application.
Coding will be completed in iterations.

5. REASONS FOR CHOSEN METHODOLOGY:

Due to the following reasons we have adopted VU Process Model:


1. Testing is inherent to every phase
2. It is an enforced disciplined approach because to having stage development cycle and
every phase has defined start and end date.
3. It is documentation driven which means documentation is produced at every stage
4. Emphasis on requirement and design before writing code ensure minimal wastage of
time and efforts.

Work Plan:

The work plan is attached (Plan.mpp)

Page
39
CHAPTER 3
Designing the Project

Page
40
Introduction:

Software Design: It is the first step in moving from problem domain to solution
domain. The purpose of the design phase is to plan a solution of the problem specified
by the requirements document. Starting with what is needed, design takes towards how
to satisfy the needs.

The design of a system is perhaps the most critical factor affecting the quality of the
software. It has a major impact on the project during later phases, particularly during
testing and maintenance. The output of this phase is the design document. This
documents is similar to a blueprint or plan for the solution and is used later during
implementation, testing and maintenance.

It is further of two types:

1. System Design or Top level Design: .


It identifies the various modules that should be in the system specifications of the
modules and interconnections between the various modules. At the end of system
design all the major data structures, file formats, output formats, and the major modules
in the system and their specifications are decided.

2. Detailed Design:
It identifies the internal logic of the various modules. During this phase further details
data structures and algorithmic design of each of the modules is specified. Once the
design is complete, most of the major decisions about the system have been made.
However, many of the details about coding the designs, which often depend on the
programming language chosen, are not specified during design.

4. Architecture Diagram:

Users i.e. Teachers and students will interact with the application which works online.
When saving or viewing anyone's location from the application, Google Maps Database
is used. When a user saves its location , it is saved in Firebase Database. The Firebase
DB also contains all other information such as name, address, phone, email etc. The
requests and responses are both ways.

Page
41
3. Sequence Diagrams:
A sequence diagram indicates a round trip from sending the request to one page to
receiving the response on same/other page. It will contain all the layers of the system.
The use of sequence diagrams is to make sure that the control follows the architecture
i.e. from .jsp page; the request should not go directly to database interaction layer. This
phase is most important sub phase of low level design. The sequence contains the steps
of how a particular workflow should take place inside the method. If a workflow
contains the involvement of more than one method/existing method(s) then the
corresponding class name and method name should also be present against the
respective step. The algorithm will make the task of developer a lot easier. It will serve
as a guide of how to implement a particular use case.

In these diagrams, 'User' is generalized as teacher and student both.

3.1 Sign Up:

Page
42
3.2 Update Profile:

3.3 Delete/Deactivate profile:

Page
43
3.4 Add Location:

3.5 View profile of a user:

Page
44
3.6 View location of a user:

Page
45
3.7 View list of students seeking tuition:

3.8 Request a student for teaching:

Page
46
3.9 Accept request of teaching:

3.10 Reject request of teaching:

Page
47
3.11 Request for fee negotiation:

3.12 Search a teacher:

Page
48
3.13 Send request to provide services:

Page
49
3.14 Rate Tutor:

5. Class Diagram:

Page
50
Once we have table structures ready, we can easily identify which classes need to be
created i.e. bean/DTOs, service/business layer classes, database layer classes etc. We
can also identify which methods will be required in these classes. Hence, we can create
class diagrams of all the classes. A sample class diagram is shown here. It consists of
attributes and methods of a class and also, relationships among the classes. The use of
class diagrams is to guide the developer during the implementation. Ideally, we should
go ahead and implement those classes. That will make developer’s task easy.

Class Details:

A class diagram should is followed by the table containing the information about the
classes and their methods i.e. which method performs which action, what is the
significance of each argument of the method etc, hence, making the implementation of
the method a cakewalk.

The Class Diagram of this system is as:

Page
51
Page
52
6. Database Design:

Page
53
Graphical User Interfaces:

Sign In/ Log In:

Page
54
Home / Dashboard:

Page
55
Find Tutor by Filter:

Page
56
Profile of Tutor:

Page
57
Location of a User in Google Maps:
Page
58
Update Profile:
Page
59
Change Password:
Page
60
Page
61
Negotiate Fee with Tutor:

Page
62
CHAPTER 4
Development

Page
63
Page
64
The Development plan was too large to show here, so it’s in a separate file (Project
Plan.mpp)

Page
65

You might also like