0% found this document useful (0 votes)
457 views63 pages

Project Report Final - Find My Tutor

This document is a training report submitted by Abhishek Mishra to Chandigarh University for their 6 week industrial training at SPIC Centre of Excellence. The report details the training work undertaken including learning XML, Android, PHP, databases and SQL. It provides an introduction to the company SPIC which was established to promote IT in Chandigarh. The report also includes chapters on the project undertaken, technologies used, design, implementation, testing and conclusions. Tables of contents, declarations and an abstract are included.

Uploaded by

Abhishek
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)
457 views63 pages

Project Report Final - Find My Tutor

This document is a training report submitted by Abhishek Mishra to Chandigarh University for their 6 week industrial training at SPIC Centre of Excellence. The report details the training work undertaken including learning XML, Android, PHP, databases and SQL. It provides an introduction to the company SPIC which was established to promote IT in Chandigarh. The report also includes chapters on the project undertaken, technologies used, design, implementation, testing and conclusions. Tables of contents, declarations and an abstract are included.

Uploaded by

Abhishek
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/ 63

A REPORT OF SIX WEEKS INDUSTRIAL TRAINING

at

Submitted in partial fulfillment of the requirements for the award of degree of

BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE & ENGINEERING

June – July, 2019

Submitted by:
Name - Abhishek Mishra
University ID - 17BCS2542

DEPARTMENT OF COMPUTER SCIENCE &ENGINEERING

CHANDIGARH UNIVERSITY GHARUAN, MOHALI

CHANDIGARH UNIVERSITY,GHARUAN,MOHALI
CONTENTS

Topic Page No.

Candidate’s Declaration i
Abstract ii
Acknowledgement iii

Table of contents iv

About the Company vii

CHAPTER 1INTRODUCTION 1-12

1.1 Introduction to Project 1


1.2 Overview of Project 6
1.3 Software Requirement Specifications 8
1.4 Feasibility Study 10

CHAPTER 2 TRAINING WORK UNDERTAKEN 13-34

2.1 XML 13
2.2 Android 20
2.3 PHP 25
2.4 Database 31
2.5 SQL 34

CHAPTER 3 RESULTS AND DISCUSSION 35-

3.1 Diagrams __
3.2 Table Structure __
3.3 Screenshots
3.4

CHAPTER 4 CONCLUSION AND FUTURE SCOPE _-__

4.1 Conclusion __
4.2 Future Scope __

REFERENCES __
CANDIDATE'S DECLARATION

I “ABHISHEK MISHRA” hereby declare that I have undertaken six weeks industrial training at

“SPIC Centre of Excellence” during a period from 3rd June to 15th July in partial fulfillment of

requirements for the award of degree of B.E (COMPUTER SCIENCE & ENGINEERING) at

CHANDIGARH UNIVERSITY GHARUAN, MOHALI. The work which is being presented in

the training report submitted to Department of Computer Science & Engineering at

CHANDIGARH UNIVERSITY GHARUAN, MOHALI is an authentic record of training work.

Signature of the Student

The six weeks industrial training Viva–Voce Examination of__________________ has been
held on ____________ and accepted.

Signature of Internal Examiner Signature of External Examiner


ABSTRACT

The era of mobile technology opens the windows to the Android App. The websites are
vanishing and the mobile phones are emerging. It’s time to change from conventional websites to
App’s, which has become the part of our daily routine.

Now a days these computers and internet are providing every information as a knowledge
source. Even though everything is automated in the field of learning we prefer for traditional
method. In this busy world searching of tutors for any subject is a very difficult job. In order to
make it simple here with we proposed an idea to find a subject expert tutor through android
application ‘Find My Tutor’. The proposed work has the common platform where the teacher
and the student can access on their respective available views. In this application students can
register and view the availability of the subject expert based on the registered nearest location of
the tutor. The locations are mapped based on the latitude and longitudinal of the students. Based
on the students’ selection the slot of days and tutor will be blocked for their special classes and
then they will be intimated through notifications. This system will be helpful for students and the
parents to find the tutor in the nearby location

The development for an android device and its data traffic characteristics is of interest, which is
also included in this report. This report also includes existing systems in android. This report also
includes flow charts etc. regarding my project. This report serves as a guideline to intermediate
developers, seeking solutions to problems.

Find My Tutor
ACKNOWLEDGEMENT

I would like to express My whole hearted gratitude towards my esteemed guide Mr. Ashok
Kashav for his able guidance, monitoring and encouraging attitude and searching supervision
throughout my study which enable me to successfully complete my project. Without his help and
valuable suggestion, this report would not have been the light of the day. The blessing, help and
guidance given by him time to time shall carry me a long way in the journey of life on which I
am about to embark.

Lastly, I would like to thank almighty and my parents for their moral support and my friends
with whom I shared my day-to-day experience and received lots of suggestions that improved
my quality of work.
TABLE OF CONTENTS

 Introduction to Company
 Introduction to Project
 Android Introduction
 Definition
 Versions of Android
 Features of Android
 Android Architecture
 Android Core Building Blocks
 Overview of the Project
 Project Name and Its Introduction
 Scope of the Project
 Benefits
 Existing Systems and Proposed Systems
 Existing System and its Advantages
 Proposed Systems and its Advantages
 User Requirement Analysis
 Functional Requirements
 Operational Requirements
 Software Requirements Specifications
 Feasibility Study
 Definition
 Types of Feasibility Study
 Objective Of The Project
 Technologies Used
 Front and Back End
 Front - End
 XML
 What Is XML?
 Difference Between XML and HTML
 How XML Simplifies Things?
 Different XML Files Used in Android
 Features Of XML
 How XML Separates from HTML
 XML simplifies Data Sharing
 ANDROID
 Definition
 Features of Android
 Applications of Android
 Versions Of Android
 Description of Android Versions
 Android Architecture
 Android Core Building Blocks
 Back – End
 PHP
 Definition
 What is a PHP File?
 Why PHP?
 What do I Need?
 PHP Variables
 Global and Local Scope
 PHP Data Types
 Features of PHP
 DATABASE
 What is Data?
 What is Database?
 What is SQL?
 Product Design
 Product Prospective
 Product Functions
 User Characteristics
 Operating Environment
 Constraints
 System Design
 System Design
 Detailed Design
 Database Design
 Determining Data to be Stored
 Logically Structuring Data
 ER – Diagrams
 Definition
 Example of ER Diagram
 Assumptions and Dependencies
 Dependencies
 Software Component Dependencies
 Database Tables OR Table Structure
 Data Flow Diagrams (DFD)
 Definition
 DFD Symbols
 DFD Diagrams
 Specific Requirements
 Hardware Requirements
 Software Requirements
 Implementation
 Introduction to Languages
 Any Other Supporting Languages
 Implementation with Screenshots/Figures
 Testing
 Definition
 Need For Testing
 Types of Testing
 Selection of Test Cases
 Functional Testing
 Structural Testing
 Test Plan
 Steps Followed in Testing Overall Software
 Conclusion and Future Scope
 Conclusion
 Scope
 References/ Bibliography
INTRODUCTION TO COMPANY

The Society for Promotion of IT in Chandigarh (SPIC) has been set up under the aegis of the
Department of Information Technology, Chandigarh Administration for implementing the
various plans of the Administration to promote the IT industry in Chandigarh. The Chairperson
of the Society is the Adviser to the Administrator.

OBJECTIVES
 To promote application of Information Technology in the Union Territory of Chandigarh in
accordance with the IT Policy of Chandigarh Administration.
 To carry out all such activities that are commensurate with the IT vision of the Chandigarh
Administration as outlined in IT Policy.
 To promote e-Governance, Software Exports, create IT Infrastructure, generate jobs in IT as
outlined in the IT Mission of the Chandigarh Administration.
 To facilitate the establishment and functioning of data processing computer centres.
 To provide consultancy services and impart training in various disciplines of Information
Technology.
 To facilitate the development of software packages as well as related items and undertake turn
key project / assignments in India and abroad in Information Technology by public and private
sector companies in the Union Territory of Chandigarh in order to promote the application of
Information Technology for the benefit of citizens of Chandigarh.

GOVERNING BODY OF SPIC


The names and addresses and occupations of the first members of the Governing Body of the
Society (referred to in the rules and bye laws as the Governing Body to which by the rules of the
society the management of affairs is entrusted as required under section 2 of the Societies
Registration Act, 1860 as applicable to the Union Territory of Chandigarh are as follows :-

S.R.
OCCUPATION & ADDRESS DESIGNATION
NO

Adviser to the Administrator Chairman


1.

Home Secretary, UT, Chandigarh Member


2.
INTRODUCTION TO PROJECT

The era of mobile technology opens the windows to the Android App. The websites are
vanishing and the mobile phones are emerging. It’s time to change from conventional websites to
App’s, which has become the part of our daily routine. We are introducing the ‘Find My Tutor’
the android application, the mini tuition finder app, is an aim to to find a subject expert tutor. The
proposed work has the common platform where the teacher and the student can access on their
respective available views.
WHAT IS ANDROID??
Android is a software package and linux based operating system for mobile devices such as
tablet computers and smartphones,.

It is developed by Google and later the OHA (Open Handset Alliance). Java language is mainly
used to write the android code even though other languages can be used.

The goal of android project is to create a successful real-world product that improves the mobile
experience for end users.

There are many code names of android such as Lollipop, Kitkat, Jelly Bean, Ice cream
Sandwich, Froyo, Ecliar, Donut etc.

What is Open Handset Alliance (OHA)??

It's a consortium of 84 companies such as Google, Samsung, AKM, synaptics, KDDI, Garmin,
Teleca, EBay, and Intel etc.

It was established on 5th November, 2007, led by Google. It is committed to advance open
standards, provide services and deploy handsets using the Android Platform.

Features of Android:-

After learning what is android, let's see the features of android. The important features of android
are given below:

1) It is open-source.

2) Anyone can customize the Android Platform.

3) There are a lot of mobile applications that can be chosen by the consumer.
4) It provides many interesting features like weather details, opening screen, live RSS (Really
Simple Syndication) feeds etc.

5) It provides support for messaging services(SMS and MMS), web browser, storage (SQLite),
connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout etc.

Android Versions, Codename and API:-

Let's see the android versions, codenames and API Level provided by Google.

Version Code name API Level

1.5 Cupcake 3

1.6 Donut 4

2.1 Éclair 7

2.2 Froyo 8

2.3 Gingerbread 9 and 10

3.1 and 3.3 Honeycomb 12 and 13

4.0 Ice Cream Sandwich 15

4.1, 4.2 and 4.3 Jelly Bean 16, 17 and 18

4.4 KitKat 19

5.0 Lollipop 21

DESCRIPTION OF ANDROID VERSIONS:-

Alpha – In this (Android 1.0) was the first versions of Android operating System by Google. It has basic
functionality with a simple browser and other Google apps like Gmail, Maps and YouTube.

Beta – Later on with Android 1.1 few more functionality added, the API changes from Level 1in
Android 1.0 to Level 2. It supports attachment with MMS.
Cupcake – Cupcake was Android second version with new features as well as the Androidframework
API updated. It was Android 1.5 with on Screen Keyboard , Bluetooth and Updated UI for applications.

Donut – It was Android 1.6 nicknamed as DONUT. It added support for CDMA, additionalscreen sizes,
talk to speech engine and battery indicator.

Éclair – Android 2.0-2.1 as like other versions this also come up with a nickname as ÉCLAIRand lot
more functions & features. It come up with Bluetooth 2.1, live wallpaper, HTML 5support, ability to
search sms & mms, flash support, digital zoom and more camera features.

Froyo – Android version 2.2-2.2.3 introduced with USB tethering & WiFi hotspot functionality and
apps can now be installed on memory card. Support Adobe flash, increased speed and performance of
applications with new features.

Gingerbread – Gingerbread (Android 2.3-2.3.7) introduced with updated User Interface which provide
more ease to use. Features are like sensors, multiple cameras(Front & back), virtual keyboard, better text
suggestion, voice input capability and press hold copy paste capability.

Honeycomb – This Android platform Honeycomb was designed for large screens like tablets so
interface elements like virtual keyboard optimized for bigger screen. Home screen is optimized, tabs are
introduced in browser with additional incognito mode and video chat & Gtalk is supported.

Ice Cream Sandwich – Ice Cream sandwich come in 2011 bringing all new look. It gives more ease to
user like user can quickly swipe to close the apps, new gallery layout and built in photo editor.

Jelly Bean – Google made Operating System more responsive with Jelly Bean and introduces file
sharing with Android Beam. Restricted profile, Dial Pad complete, supported other languages like
Hindi, changed camera UI.

KitKat – Kitkat come up in 2013 with API Level 19. It has wireless printing capability, new dailer id,
chrome webview and screen recording.

Lollipop – Android version 5.0-5.1.1 come up with improved RAM and battery management. Further
restyling through Material design, no interrupts feature, unlock phone through Bluetooth trusted devices,
print previews and smart lock feature.

Marshmallow – Marshmallow was released in year 2015, come up with smarter battery and doze mode
(it prevents certain task from running if the phone being setting idle), Now On Tap, better privacy
settings, easier to upgrade phone, Fingerprint sensor and built in visual voice mail.

Nougat – Android Nougat was made official in 2016 with updated emoji, 72 newly added, multi
window view (switch between apps with double tap), smarter battery with data saver mode, more
secured and high quality virtual reality with new dimensions.
Android Architecture:-

Android architecture or Android software stack is categorized into five parts:

 linux kernel
 native libraries (middleware),
 Android Runtime
 Application Framework
 Applications

Let's see the android architecture first.


ANDROID CORE BUILDING BLOCKS:-

An android component is simply a piece of code that has a well defined life cycle e.g. Activity,
Receiver, Service etc.

The core building blocks or fundamental components of android are activities, views, intents,
services, content providers, fragments and AndroidManifest.xml.

Activity :-

An activity is a class that represents a single screen. It is like a Frame in AWT.

View :-

A view is the UI element such as button, label, text field etc. Anything that you see is a view.

Intent :-

Intent is used to invoke components. It is mainly used to:

o Start the service


o Launch an activity
o Display a web page
o Display a list of contacts
o Broadcast a message
o Dial a phone call etc.

Service:-

Service is a background process that can run for a long time.

There are two types of services local and remote. Local service is accessed from within the
application whereas remote service is accessed remotely from other applications running on the
same device.

Content Provider:-

Content Providers are used to share data between the applications.


Fragment:-

Fragments are like parts of activity. An activity can display one or more fragments on the screen
at the same time.

AndroidManifest.xml:-

It contains informations about activities, content providers, permissions etc. It is like the
web.xml file in Java EE.

Android Virtual Device (AVD):-

It is used to test the android application without the need for mobile or tablet etc. It can be
created in different configurations to emulate different types of real devices.

OVERVIEW OF PROJECT

A project in Android Studio contains everything that defines your workspace for an app, from
source code and assets, to test code and build configurations. The name of My Project is Find
My Tutor. The main aim of the Tuition Finder Java Project is to complement the efforts of
teachers to integrate technology and link the students to the Internet in educationally productive
ways. It provides a friendly interactive environment. We have developed an Android application
to help students to take extra classes. This application helps to schedule their tuition classes with
tutors. Therefore students can clear their doubts easily. Students can search for their tutors based
on subject and location. Staffs who are convenient can found and the tuition timings can be
scheduled. On getting a prompt message from the staff, the schedule of the tutor is made visible
for the students. Students can view the schedule and book their appointment similar to cinema
ticket booking.

SCOPE:-

This application will be a substitute for the official websites of universities and colleges. This
application will be designed to maximize the ease of use of official website of universities and
colleges in mobile view.

Specifically, the application is designed to communicate and to notify the updates from the
university website. The application will facilitate interface between students, the universities and
colleges via database. The scope of this project is to provide the information of all the
universities. The scope of android app development in IT and other sectors in India can be
evaluated from the fact that many of the IT Industries generate their revenue majorly through
their online android applications.

BENEFITS:-
 Low Investment: Android is an open source platform and the software development kit
(SDK) is freely available to developers. Further, being a JavaScript based platform, it is
easy to master and execute.

 Easy customization: Android offers versatility with easy customization options, thus
enabling developers to create applications with diverse functionalities. Whether it is
complex technical customization or web application integration, Android provides ample
space for executing customizations.

EXISTING SYSTEMS

DEFINITION: In Existing System, we have seen over the years that the process of
booking the appointments is a long and tiresome process. It is a tasking process in which
patients have to either stand in long lines or contact the hospitals directly in order to
approach the doctor of their choice . Also their isn’t any proper protocol for the doctors to
cancel the appointment. Therefore DOCAPP is an attempt to present all the doctors on a
single platform and bridge the existing gap.
DISADVANTAGES OF EXISTING SYSTEM: The process is very much time
consuming.

PROPOSED SYSTEM
DEFINITION: The proposed system which would be a miniature of hospitals and
doctors in one website. The information and notifications can be easily accessed by one
touch on the android application. Our system primarily focuses on building an efficient
an user friendly Android Mobile Application for Find My Tutor. The application will be
installed on the user’s smartphone. It intends to provide an interface to the user who will
require the details of particular teachers. Apart from that, the application would support
strong user authentication and quick transmission of data via the web service.

ADVANTAGES OF PROPOSED SYSTEM: Here an android based mobile application


for Tutor Finder is presented. The application offers reliability, time savings and easy control.
USER REQUIREMENT ANALYSIS
Requirement Analysis Services

Every new activity, every new product, every new project in the workplace is created in response
to a business need. Yet we often find ourselves in situations where, despite spending tremendous
time and resources, there's a mismatch between what has been designed and what is actually
needed.
To make analysis easier, consider grouping the requirements into these four categories:

Functional Requirements – These define how a product/service/solution should function


from the end-user's perspective. They describe the features and functions with which the end-
user will interact directly.
 Graphical User Interface with the User

Operational Requirements – These define operations that must be carried out in the
background to keep the product or process functioning over a period of time.

Technical Requirements – These define the technical issues that must be considered to
successfully implement the process or create the product.
Transitional Requirements – These are the steps needed to implement the new product or
process smoothly.

SOFTWARE REQUIREMENTS SPCIFICATIONS

INTRODUCTION

PURPOSE:
The purpose of this project is to present a detailed description of android application
‘Findmytutor.apk’. It will explain the importance and features of the application, the interface of
the application, what the application will do, the constraints under which it must operate.
DOCUMENT CONVENTIONS:

Main Section Titles:


 Font: Times New Roman
 Face: Bold
 Size: 16
Sub Section Titles:
 Font: Times New Roman
 Face: Normal
 Size: 14

Other Text Explanation:


 Font: Times New Roman
 Face: Normal
 Size: 12

FEASIBILITY STUDY
There are four main feasibility assessments for technology projects. As many mobile (and
digital) projects are customer facing, as opposed to just internal to the organization, it is essential
to add a fifth: go-to-market feasibility.

The five feasibility studies are:

 Technical feasibility
 Schedule feasibility
 Operational feasibility
 Economic feasibility

Technical feasibility study


Technology projects are notorious for running late, over budget or failing completely.

The good news is that mobile projects fair a lot better. According to the Standish Group Chaos
Database 2015, 69% of mobile projects finish on time, on budget and with a satisfactory
outcome, compared with only 29 percent in non-mobile projects.
This success rate is probably helped by the fact that mobile projects for large organizations tend
to be smaller and involve less integration with existing company IT infrastructure.

The bad news is that 26% of mobile projects are delivered late, over budget or with an
unsatisfactory result and an additional 5% fail (cancelled or not used). To avoid your project
joining the unsuccessful third, you need to undertake a comprehensive technology feasibility
study.

Operational Feasibility
Where technical feasibility considers if it is technically possible, operational assessment asks: is
the organization ready for the project and its impact and what are the business, cultural, legal etc.
hurdles that might stop it working in practice?

There is some overlap with business fit in the previous column, which considered how the
project fitted with corporate culture and the need to establish stakeholder goals.

But the operational feasibility goes much deeper and much broader than this.

Schedule feasibility
This step evaluates if the project can be delivered on time and if the time frame is realistic. Time
to market is particularly important for mobile projects as the motivation is often to a) exploit a
gap in the market; b) meet an identified customer or business need; or c) it is planned to coincide
with a particular event e.g. sporting; product launch; or promotion.

This takes into account:

 How long it takes to recruit, train development staff.

 How long each element of the development process will take, including design, testing and
revisions.

 Accounting for operational issues such as training staff, internal politics, arranging licenses and
third-party relationships and ironing out legal issues.

 Allocating sufficient time for unexpected changes, unforeseen issues.


 If the estimated time required for promoting/bringing the product to market; including, if a native
app, the lengthy app store approval process.

 If adequate provision has been made for scheduling maintenance and regular updates post
launch.

This process helps evaluate if the project should/could be simplified to ensure faster speed to
market by introducing efficiencies and/or saving features for the first scheduled update.

Economical Feasibility
Economic analysis is the most frequently used method for the effectiveness of a candidate
system. More commonly known as cost/benefit analysis, the procedure is to determine the
benefits and savings that are expected from a candidate system and compare them with costs. It
benefits outweigh costs, then the decision is made to design and implement the system.
Otherwise, further justification or alterations in the proposed system will have to be made if it is
to have a chance of being approved. This is an ongoing effort that improves in accuracy at each
phase of system lifecycle. In today’s world the two important factors that judge the success of an
online project is the Data Security and Speed of the Data Access.

OBJECTIVE OF THE PROJECT

The Objective of the Project is to develop tools such as Listeners, and using various Layouts and
Widgets in Android Applications. The candidates create interactive applications in smart phone
with multiple activities including audio, video and notifications. They learn how to create
applications using SQLite database and publish App on Google Play.

 The main Objective of the Project is to save time of the user and it helps the user to build
and deploy his/ her Android application.

 This project helps the Students to understand the operation of the application, application
lifecycle, configuration files, intents, and activities.

 The candidates get a better understanding of the UI - components, layouts, event


handling, and screen orientation.
 Students also develop a working knowledge of the custom UI elements and positioning.

 The candidates may also have an in-depth understanding of broadcast receivers and
services.

 The networking capabilities such as JAVA Sockets, JAVA XML and JSON are taught.

 The trainee may develop a basic application that acts as a working example of all the
topics covered in the class.

TECHNOLOGIES USED

FRONT-END USED: XML, Android


BACK-END USED: PHP, Database

FRONT-END USED:

XML: XML stands for Extensible Markup Language. XML is a markup language much
like HTML used to describe data. XML tags are not predefined in XML. We must define our
own Tags. Xml as itself is well readable both by human and machine. Also, it is scalable and
simple to develop. In Android we use xml for designing our layouts because xml is lightweight
language so it doesn’t make our layout heavy.

The Difference Between XML and HTML:

XML and HTML were designed with different goals:

 XML was designed to carry data - with focus on what data is


 HTML was designed to display data - with focus on how data looks
 XML tags are not predefined like HTML tags are.

XML Simplifies Things:

 It simplifies data sharing.


 It simplifies data transport.
 It simplifies platform changes.
 It simplifies data availability.
Many computer systems contain data in incompatible formats. Exchanging data between
incompatible systems (or upgraded systems) is a time-consuming task for web developers. Large
amounts of data must be converted, and incompatible data is often lost.

XML stores data in plain text format. This provides a software- and hardware-independent way
of storing, transporting, and sharing data.

XML also makes it easier to expand or upgrade to new operating systems, new applications, or
new browsers, without losing data.

With XML, data can be available to all kinds of "reading machines" like people, computers,
voice machines, news feeds, etc.

How Can XML be used?

XML is used in many aspects of web development.

XML is often used to separate data from presentation.

XML Elements:

An XML document contains XML Elements.An XML element is everything from (including)
the element's start tag to (including) the element's end tag.An element can contain:

 text
 attributes
 other elements
 or a mix of the above

XML Naming Rules:

XML elements must follow these naming rules:

 Element names are case-sensitive


 Element names must start with a letter or underscore
 Element names cannot start with the letters xml (or XML, or Xml, etc)
 Element names can contain letters, digits, hyphens, underscores, and periods
 Element names cannot contain spaces

Any name can be used, no words are reserved (except xml).


XML Attributes:

XML elements can have attributes, just like HTML.Attributes are designed to contain data
related to a specific element.XML Attributes must be Quoted. Attribute values must always be
quoted. Either single or double quotes can be used.

What is X-Query?

X-Query is to XML what SQL is to databases’-Query was designed to query XML data.

DIFFERENT XML FILES USED IN ANDROID:


1. Layout XML Files: Layout xml files are used to define the actual UI (User interface) of our
application. It holds all the elements(views) or the tools that we want to use in our application.
Like the TextView’s, Button’s and other UI elements.
Location in Android Studio:
You will find out this file inside the res folder and inside it there is another folder
named layout where you will get all the layout files for their respective activities or fragments.

2. Manifest xml File(Mainfest.xml): This xml is used to define all the components of our
application. It includes the names of our application packages, our Activities, receivers, services
and the permissions that our application needs. For Example – Suppose we need to use internet
in our app then we need to define Internet permission in this file.
Location in Android Studio:
It is located inside app > manifests folder

3. Strings xml File(strings.xml): This xml file is used to replace the Hard-coded strings with
a single string. We define all the strings in this xml file and then access them in our app(Activity
or in Layout XML files) from this file. This file enhance the reusability of the code.
Location in Android Studio:

4. Styles xml File(styles.xml): This xml is used to define different styles and looks for the
UI(User Interface) of application. We define our custom themes and styles in this file.

Location in Android Studio:


4. Drawable xml Files: These are those xml files that are used to provide various graphics
to the elements or views of application. When we need to create a custom UI we use
drawable xml files. Suppose if we need to define a gradient color in the background of
Button or any custom shape for a view then we create a Drawable xml file and set it in
the background of View.
Features and Advantages of XML

XML is widely used in the era of web development. It is also used to simplify data storage and
data sharing.

The main features or advantages of XML are given below.

XML separates data from HTML

If you need to display dynamic data in your HTML document, it will take a lot of work to edit
the HTML each time the data changes.

With XML, data can be stored in separate XML files. This way you can focus on using
HTML/CSS for display and layout, and be sure that changes in the underlying data will not
require any changes to the HTML.

With a few lines of JavaScript code, you can read an external XML file and update the data
content of your web page.

XML simplifies data sharing

In the real world, computer systems and databases contain data in incompatible formats.

XML data is stored in plain text format. This provides a software- and hardware-independent
way of storing data.

This makes it much easier to create data that can be shared by different applications.

XML simplifies data transport

One of the most time-consuming challenges for developers is to exchange data between
incompatible systems over the Internet.

Exchanging data as XML greatly reduces this complexity, since the data can be read by different
incompatible applications.
ANDROID
Android is a software package and linux based operating system for mobile devices such as
tablet computers and smartphones.

It is developed by Google and later the OHA (Open Handset Alliance). Java language is mainly
used to write the android code even though other languages can be used.

The goal of android project is to create a successful real-world product that improves the mobile
experience for end users.

There are many code names of android such as Lollipop, Kitkat, Jelly Bean, Ice cream
Sandwich, Froyo, Ecliar, Donut

etc.

Features of Android

After learning what is android, let's see the features of android. The important features of android
are given below:

1) It is open-source.

2) Anyone can customize the Android Platform.

3) There are a lot of mobile applications that can be chosen by the consumer.

4) It provides many interesting features like weather details, opening screen, live RSS (Really
Simple Syndication) feeds etc.

It provides support for messaging services(SMS and MMS), web browser, storage (SQLite),
connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout etc.

Applications

These are the basics of Android applications:

• Android applications are composed of one or more application components (activities,


services, content providers, and broadcast receivers).

• Each component performs a different role in the overall application behavior, and each one
can be activated individually (even by other applications).
• The manifest file must declare all components in the application and should also declare all
application requirements, such as the minimum version of Android required and any hardware
configurations required.

• Non-code application resources (images, strings, layout files, etc.) should include
alternatives for different device configurations (such as different strings for different languages).

Google, for software development and application development, had launched two competitions
ADC1 and ADC2 for the most innovative applications for Android. It offered prizes of USD 10
million combined in ADC1 and 2. ADC1 was launched in January 2008 and ADC 2 was
launched in May 2009. These competitions helped Google a lot in making Android better, more
user friendly, advanced and interactive.

Android Versions, Codename and API

Let's see the android versions, codenames and API Level provided by Google.

Version Code name API Level


1.5 Cupcake 3
1.6 Donut 4
2.1 Éclair 7
2.2 Froyo 8
2.3 Gingerbread 9 and 10
3.1 and 3.3 Honeycomb 12 and 13
4.0 Ice Cream Sandwich 15
4.1, 4.2 and 4.3 Jelly Bean 16, 17 and 18
4.4 Kit Kat 19
5.0 Lollipop 21
Android Name-Version-API Level

Code name Version API level


Nougat++ 7.1 and 7.1.1 API level 25
Nougat 7.0 API level 24
Marshmallow 6.0 API level 23
LOLLIPOP_MR1 5.1 API level 22
Lollipop 5.0 API level 21
Kit Kat 4.4 – 4.4.4 API level 19
Jelly Bean 4.3.x API level 18
Jelly Bean 4.2.x API level 17
Jelly Bean 4.1.x API level 16
Ice Cream Sandwich 4.0.3 – 4.0.4 API level 15, NDK 8
Ice Cream Sandwich 4.0.1 – 4.0.2 API level 14, NDK 7
Honeycomb 3.2.x API level 13
Honeycomb 3.1 API level 12, NDK 6
Honeycomb 3.0 API level 11
Gingerbread 2.3.3 – 2.3.7 API level 10
Gingerbread 2.3 – 2.3.2 API level 9, NDK 5
Froyo 2.2.x API level 8, NDK 4
Éclair 2.1 API level 7, NDK 3
Éclair 2.0.1 API level 6
Éclair 2.0 API level 5
Donut 1.6 API level 4, NDK 2
Cupcake 1.5 API level 3, NDK 1
(no code name) 1.1 API level 2
(no code name) 1.0 API level 1

Android Architecture

Android Architecture or Android software stack is categorized into five parts:

 Linux Kernel
 Native Libraries (middleware),
 Android Runtime
 Application Framework
 Applications

Let's see the android architecture first.

ANDROID CORE BUILDING BLOCKS

An android component is simply a piece of code that has a well defined life cycle e.g. Activity,
Receiver, Service etc.

The core building blocks or fundamental components of android are activities, views, intents,
services, content providers, fragments and AndroidManifest.xml.

Activity:

An activity is a class that represents a single screen. It is like a Frame in AWT.

View:

A view is the UI element such as button, label, text field etc. Anything that you see is a view.
Intent:

Intent is used to invoke components. It is mainly used to:

o Start the service


o Launch an activity
o Display a web page
o Display a list of contacts
o Broadcast a message
o Dial a phone call etc.

Service

Service is a background process that can run for a long time.

There are two types of services local and remote. Local service is accessed from within the
application whereas remote service is accessed remotely from other applications running on the
same device.

Content Provider

Content Providers are used to share data between the applications.

Fragment

Fragments are like parts of activity. An activity can display one or more fragments on the screen
at the same time.

AndroidManifest.xml

It contains information about activities, content providers, permissions etc. It is like the web.xml
file in Java EE.
Android Virtual Device (AVD)

It is used to test the android application without the need for mobile or tablet etc. It can be
created in different configurations to emulate different types of real devices.

BACK-END USED:

PHP:

DEFINITION:

 PHP is an acronym for "PHP: Hypertext Pre-processor"


 PHP is a widely-used, open source scripting language
 PHP scripts are executed on the server
 PHP is free to download and use.
 PHP is an amazing and popular language.
 It is powerful enough to be at the core of the biggest blogging system on the web.
 It is deep enough to run the largest social network.
 It is also easy enough to be a beginner's first server side language.
 The default file extension for PHP files is ".php".

What is a PHP File?

 PHP files can contain text, HTML, CSS, JavaScript, and PHP code
 PHP code are executed on the server, and the result is returned to the browser as plain
HTML
 PHP files have extension ".php"

What Can PHP Do?

 PHP can generate dynamic page content


 PHP can create, open, read, write, delete, and close files on the server
 PHP can collect form data
 PHP can send and receive cookies
 PHP can add, delete, modify data in your database
 PHP can be used to control user-access
 PHP can encrypt data

With PHP you are not limited to output HTML. You can output images, PDF files, and even
Flash movies. You can also output any text, such as XHTML and XML.

Why PHP?

 PHP runs on various platforms. (Windows, Linux, Unix, Mac OS X, etc.)


 PHP is compatible with almost all servers used today. (Apache, IIS, etc.)
 PHP supports a wide range of databases.
 PHP is free.
 PHP is easy to learn and runs efficiently on the server side.

What Do I Need?

To start using PHP, you can:

 Find a web host with PHP and MySQL support


 Install a web server on your own PC, and then install PHP and MySQL

Use a Web Host With PHP Support

If your server has activated support for PHP you do not need to do anything.

Just create some .php files, place them in your web directory, and the server will automatically
parse them for you.

You do not need to compile anything or install any extra tools.

Because PHP is free, most web hosts offer PHP support.

Set Up PHP on Your Own PC


However, if your server does not support PHP, you must:

 install a web server


 install PHP
 install a database, such as MySQL

Creating (Declaring) PHP Variables

In PHP, a variable starts with the $ sign, followed by the name of the variable:

Example:

<?php
$x= "Helloworld!";
$x= 5;
$y= 10.5;
?>
PHP Variables:

A variable can have a short name (like x and y) or a more descriptive name (age, car name, total
volume).

Rules for PHP variables:

 A variable starts with the $ sign, followed by the name of the variable
 A variable name must start with a letter or the underscore character
 A variable name cannot start with a number
 A variable name can only contain alpha-numeric characters and underscores (A-z, 0-9,
and)
 Variable names are case-sensitive ($age and $AGE are two different variables)

Output Variables

The PHP echo statement is often used to output data to the screen.

PHP is a Loosely Typed Language

In the example above, notice that we did not have to tell PHP which data type the variable is.

PHP automatically converts the variable to the correct data type, depending on its value.

In other languages such as C, C++, and Java, the programmer must declare the name and type of
the variable before using it.

PHP Variables Scope

In PHP, variables can be declared anywhere in the script.

The scope of a variable is the part of the script where the variable can be referenced/used.

PHP has three different variable scopes:

 local
 global
 static

Global and Local Scope

A variable declared outside a function has a GLOBAL SCOPE and can only be accessed outside
a function.
A variable declared within a function has a LOCAL SCOPE and can only be accessed within
that function.

PHP Data Types

Variables can store data of different types, and different data types can do different things.

PHP supports the following data types:

 String
 Integer
 Float (floating point numbers - also called double)
 Boolean
 Array
 Object
 NULL
 Resource

PHP String

A string is a sequence of characters, like "Hello world!".A string can be any text inside quotes.
You can use single or double quotes.

PHP Integer

An integer data type is a non-decimal number between -2,147,483,648 and 2,147,483,647.

Rules for integers:

 An integer must have at least one digit.


 An integer must not have a decimal point.
 An integer can be either positive or negative.
 Integers can be specified in three formats: decimal (10-based), hexadecimal (16-based -
prefixed with 0x) or octal (8-based - prefixed with 0).

PHP Array

An array stores multiple values in one single variable.

PHP Operators

Operators are used to perform operations on variables and values.PHP divides the operators in
the following groups:
 Arithmetic operators
 Assignment operators
 Comparison operators
 Increment/Decrement operators
 Logical operators
 String operators
 Array operators

Features of PHP: It is most popular and frequently used worldwide scripting language,
the main reason of popularity is; It is open source and very simple.

 Simple

 Faster

 Interpreted

 Open Source

 Case Sensitive

 Simplicity

 Efficiency

 Platform Independent

 Security

 Flexibility

 Familiarity

Simple

It is very simple and easy to use, compare to other scripting language it is very simple and
easy.

Interpreted

It is an interpreted language, i.e. there is no need for compilation.


Faster

It is faster than other scripting language e.g. asp and jsp.

Open Source

Open source means you no need to pay for use php, you can free download and use.

Platform Independent

PHP code will be run on every platform, Linux, UNIX, Mac OS X, and Windows.

Case Sensitive

PHP is case sensitive scripting language at time of variable declaration. In PHP, all keywords
(e.g. if, else, while, echo, etc.), classes, functions, and user-defined functions are NOT case-
sensitive.
DATABASE
What is Data?

In simple words data can be facts related to any object in consideration. For example your name,
age, height, weight, etc are some data related to you. A picture, image, file, pdf etc can also be
considered data.

What is a Database?

Database is a systematic collection of data. Databases support storage and manipulation of data.
Databases make data management easy.

An online telephone directory would definitely use database to store data pertaining to people,
phone numbers, other contact details, etc.

Your electricity service provider is obviously using a database to manage billing, client related
issues, to handle fault data, etc.

Face book needs to store, manipulate and present data related to members, their friends, member
activities, messages, advertisements and lot more.

What is SQL?

Structured Query language (SQL) pronounced as "S-Q-L" or sometimes as "See-Quel"is


actually the standard language for dealing with Relational Databases.SQL programming can be
effectively used to insert, search, update, and delete database records.That doesn't mean SQL
cannot do things beyond that.In fact it can do lot of things including, but not limited to,
optimizing and maintenance of databases.

PRODUCT DESIGN
PRODUCT PERSPECTIVE:

The ‘DOCAPP’ application will be a new android based online application. It will be
implemented with SDK Manager.

PRODUCT FUNCTIONS:

The product should have an easy to use main menu, from which the rest of the features or
functions can be accessed.
USER CHRACTERSTICS:

Our application hopes to draw on three main user groups. The students almost all of them have
smart phones. About half of those smart phones are android, and more than half of those Android
phones are fit to run DOCAPP’. These users are obsessed with social media, and almost all of
them actively use at least one of the following: Facebook, Twitter, Instagram, and Whatsapp.

The application will be helpful to patients, doctors, hospitals , those are not familiar with many
of the hospitals and doctors. Members of this group may be interested in learning more about
hospitals and doctors.

The group that is probably going to be using the app most and thus the most important group is
the patients.

OPERATING ENVIRONMENT:

The application will only be available for the Android Operating Systems. The application shall
only be used with compatible android devices. The user shall use this application on Android OS
2.2(API 28) or any later version of the Android OS.

CONSTRAINTS:

Implementation Language restrictions:

 The programming language shall be Android for the main application.


 The programming language shall be SQL for the cloud target database.

Resource Limits:

 The user’s device shall have a working data plan or wifi connection.
 The user’s device shall have sufficient memory storage to install the application.
 The user’s device shall have sufficient battery life to run the application.

SYSTEM DESIGN:

The design of an information system produces the details that clearly describe- how a system
will need the requirement, identified during the system analysis. System specialist often refers to
this stage or logical design, in contrast to process of developing program software, which is
referred to as a physical design. The system describes the data to be input, calculated or stored.
Designers are responsible for providing programmers with complete and clear outlined software
specifications. Design is essentially the bridge between requirement specification and the final
solution for satisfying the requirement DESIHN PHASE.
The goal of the design process is to produce a model or representation of a system on the
basis of which a system can be designed. The design process for software can be divided
into 2 different phases:

 System Design
 Detailed Design

SYSTEM DESIGN:

This is the first level and it focuses on deciding which module is needed for the system, the
specification of the modules, and how the modules should be interconnected so that
combination of these provides the desired output. That is what is called System Design.

DETAILED DESIGN:

The internal logic and working of each module described in system design is decided in this
phase.

DATABASE DESIGN

Database design is the process of producing a detailed data model of a database. This data
model contains all the needed logical and physical design choices and physical storage
parameters needed to generate a design in a data definition language, which can then be used to
create a database. A fully attributed data model contains detailed attributes for each entity.
The term database design can be used to describe many different parts of the design of an
overall database system. Principally, and most correctly, it can be thought of as the logical design
of the base data structures used to store the data. In the relational model these are the
tables and views. In an object database the entities and relationships map directly to object
classes and named relationships. However, the term database design could also be used to apply
to the overall process of designing, not just the base data structures, but also the forms and
queries used as part of the overall database application within the database management system
(DBMS).
The process of doing database design generally consists of a number of steps which will be
carried out by the database designer. Usually, the designer must:

 Determine the data to be stored in the database.


 Determine the relationships between the different data elements.
 Superimpose a logical structure upon the data on the basis of these relationships.
DETERMINING DATA TO BE STORED

In a majority of cases, a person who is doing the design of a database is a person with expertise
in the area of database design, rather than expertise in the domain from which the data to be
stored is drawn e.g. financial information, biological information etc. Therefore, the data to be
stored in the database must be determined in cooperation with a person who does have expertise
in that domain, and who is aware of what data must be stored within the system.
This process is one which is generally considered part of requirements analysis and requires skill
on the part of the database designer to elicit the needed information from those with the domain
knowledge. This is because those with the necessary domain knowledge frequently cannot
express clearly what their system requirements for the database are as they are unaccustomed to
thinking in terms of the discrete data elements which must be stored. Data to be stored can be
determined by Requirement Specification.

DETERMINING DATA RELATIONSHIPS


Once a database designer is aware of the data which is to be stored within the database, they
must then determine where dependency is within the data. Sometimes when data is changed you
can be changing other data that is not visible. For example, in a list of names and addresses,
assuming a situation where multiple people can have the same address, but one person cannot
have more than one address, the address is dependent upon the name. When provided a name and
the list the address can be uniquely determined; however, the inverse does not hold - when given
an address and the list, a name cannot be uniquely determined because multiple people can reside
at an address. Because an address is determined by a name, an address is considered dependent
on a name.

LOGICALLY STRUCTURING DATA


Once the relationships and dependencies amongst the various pieces of information have been
determined, it is possible to arrange the data into a logical structure which can then be mapped
into the storage objects supported by the database management system. In the case of relational
databases the storage objects are tables which store data in rows and columns. In an Object
database the storage objects correspond directly to the objects used by the Object-oriented
programming language used to write the applications that will manage and access the data. The
relationships may be defined as attributes of the object classes involved or as methods that
operate on the object classes.
The way this mapping is generally performed is such that each set of related data which depends
upon a single object, whether real or abstract, is placed in a table. Relationships between these
dependent objects is then stored as links between the various objects.
Each table may represent an implementation of either a logical object or a relationship joining
one or more instances of one or more logical objects. Relationships between tables may then be
stored as links connecting child tables with parents. Since complex logical relationships are
themselves tables they will probably have links to more than one parent.
ER – DIAGRAM(ENTITY-RELATIONSHIP DIAGRAM)

Database designs also include ER diagrams. An ER diagram is a diagram that helps to design
databases in an efficient way.
Attributes in ER diagrams are usually modelled as an oval with the name of the attribute, linked
to the entity or relationship that contains the attribute. Relational Database

NORMALIZATION
In the field of relational database design, normalization is a systematic way of ensuring that a
database structure is suitable for general-purpose querying and free of certain undesirable
characteristics—insertion, update, and deletion anomalies that could lead to loss of data integrity.
A standard piece of database design guidance is that the designer should create a fully
normalized design; selective denormoralization can subsequently be performed, but only
for performance reasons. However, some modelling disciplines, such as the dimensional
modelling approach to data design, explicitly recommend non-normalized designs, i.e. designs
that in large part do not adhere to 3NF. Normalization consists of normal forms that are 1NF,
2NF, 3NF, BOYCE-CODD NF (3.5NF), 4NF and 5NF

Schema refinement
Schema refinement of the database specifies that the data is normalized to reduce data
insufficiency and conflicts.

Physical design
The physical design of the database specifies the physical configuration of the database on the
storage media. This includes detailed specification of data elements, data types, indexing options
and other parameters residing in the DBMS data dictionary. It is the detailed design of a system
that includes modules & the database's hardware & software specifications of the system

ASSUMPTIONS AND DEPENDENCIES

Dependencies:
The application shall be used with the assumption the Android API and licensing agreement
remains the same.
Software Component Dependencies:

The application shall be used with the assumption that the built in camera application operates
correctly.
The Application shall be used with the assumption that the device’s Network Interface Card
(NIC) and the driver are operating correctly.

TABLE STRUCTURE
In a project, Database Tables are the most important component. It is where the data is actually
stored. These tables are not shown to the user. The user has access to the data stored in these
tables through the forms made in the front-end tool by the programmer. In this project, PHP is
used as a backend tool. The database used in our project consists of the following tools:
Table Number - #1

Table Name- tbl_patient

Column Name Datatype Size Constraints Description

Id Int 11 Primary Key Patient ID


Name Varchar 50 Patient Name
Password Varchar 50 Password
Age Int 11 Age
Gender Enum Gender
Email Text Email
Phone bigint 20 Contact
Area_id Int 11 Foreign Key Area of User

Table Number - #2

Table Name – tbl_doctor

Column Name Datatype Size Constraints Description


Id Int(11) 3 Primary Key ID
Name Text 50 Name
Password Text 50 Password
Gender Enum Gender
Phone Bigint 11 Contact
Qualification_id Int 11 Foreign Key Qualification_id
Specialisation_id Int 11 Foreign Key Specialisation_id
Area_id Int 11 Foreign Key Area_id
Clinic_address Varchar 100 Email
Imgurl Text Images used
Table Number - #3

Table Name – tbl_appointment_book

Column Name Datatype Size Constraints Description


Appointment_id Int 11 Primary Key Id
Doctor_id Int 11 Foreign Key Id of Doctor
Patient_id Int 11 Foreign Key Id of Patient
Date Text Date of appointment
Slot_id Int 11 Foreign Key Slot_id of appointment
Clinic_address Text 100 Address of Clinic
Status Enum Status

Table Number - #4

Table Name – tbl_area

Column Name Datatype Size Constraints Description


Area_id Int 11 Primary Key Id of Area
Area_name Varchar 50 Name of Area
Pincode Int 11 Pincode of Area

Table Number - #5

Table Name –tbl_specialisation

Column Name Datatype Size Constraints Description


Specialisation_id Int 11 Primary Key Id of Specialisation
Specialisation_name Varchar 50 Name of Specialisation

Table Number - #6

Table Name –tbl_qualification

Column Name Datatype Size Constraints Description


Qualification_id Int 11 Primary Key Id of Qualification
Qualification_nane Varchar 50 Name of Qualification
Table Number - #7

Table Name –tbl_slot

Column Name Datatype Size Constraints Description


Slot_id Int 11 Primary Key Id of Slot
Slot_time Varchar 50 Name of Slot

Table Number - #8

Table Name –tbl_rate

Column Name Datatype Size Constraints Description


Slot_id Int 11 Primary Key Id of Rating
User_id Int 11 Foreign Key Id of User
Rating Int 11 Rating

DATA FLOW DIAGRAMS

A data flow diagram (DFD) maps out the flow of information for any process or system. It uses
defined symbols like rectangles, circles and arrows, plus short text labels, to show data inputs,
outputs, storage points and the routes between each destination. Data flowcharts can range from
simple, even hand-drawn process overviews, to in-depth, multi-level DFDs that dig progressively
deeper into how the data is handled. They can be used to analyze an existing system or model a
new one. Like all the best diagrams and charts, a DFD can often visually “say” things that would
be hard to explain in words, and they work for both technical and nontechnical audiences, from
developer to CEO. That’s why DFDs remain so popular after all these years. While they work
well for data flow software and systems, they are less applicable nowadays to visualizing
interactive, real-time or database-oriented software or systems.

The DFD was first developed by Larry Constantine as a way of expressing system requirements
ina graphical form. A DFD also known as a bubble chart has a purpose of clarifying system
requirements and identifying major transformation that will become the program in the system
design.
DFD SYMBOLS

1. ASQUARE defines a source or destination of system data.

2. An ARROW identifies dataflow or data in motion. It is pipeline through which


information flows.

3. A CIRCLE or a bubble represents a process transform in coming dataflow into outgoing


dataflow.

4. An OPEN RECTANGLE is a data source or Data at rest.

Using any convention’s DFD rules or guidelines, the symbols depict the four components of data
flow diagrams.

1. External entity: an outside system that sends or receives data, communicating with the
system being diagrammed. They are the sources and destinations of information entering
or leaving the system. They might be an outside organization or person, a computer
system or a business system. They are also known as terminators, sources and sinks or
actors. They are typically drawn on the edges of the diagram.

2. Process: any process that changes the data, producing an output. It might perform
computations, or sort data based on logic, or direct the data flow based on business rules.
A short label is used to describe the process, such as “Submit payment.”
3. Data store: files or repositories that hold information for later use, such as a database
table or a membership form. Each data store receives a simple label, such as “Orders.”

4. Data flow: the route that data takes between the external entities, processes and data
stores. It portrays the interface between the other components and is shown with arrows,
typically labelled with a short data name, like “Billing details.”

DATA FLOW DIAGRAMS

HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS:
 Processor32 bit(minimum)-64 bit(maximum)(Intel Core i3, 1.8GHz)
 RAM 4 GB
 Hard Disk 4GB
SOFTWARE REQUIREMENTS:
 Android Studio
 Xampp Server
 Notepad++
 Browser like Internet Explorer, Mozilla, Chrome
OPERATING SYSTEM:
 WINDOWS7 , WINDOWS 8, WINDOWS 10

IMPLEMENTATION
Once the physical system has been designed in detail, the next stage is to turn the design into a
working system. Implementation is the stage of a project during which the design of a system is
tested, debugged and made operational. Thus, it can be considered to be the most crucial stage in
achieving a successful new system and in giving the users confidence that the new system will
work and be effective. In order to implement the proposed system the following are the various
hardware and software requirements are required to achieve good performance.

DATABASE

What is Data?

In simple words data can be facts related to any object in consideration. For example your name,
age, height, weight, etc are some data related to you. A picture , image , file, pdf etc can also be
considered data.

What is a Database?

Database is a systematic collection of data. Databases support storage and manipulation of data.
Databases make data management easy.

An online telephone directory would definitely use database to store data pertaining to people,
phone numbers, other contact details, etc.

Your electricity service provider is obviously using a database to manage billing, client related
issues, to handle fault data, etc.

Facebook needs to store, manipulate and present data related to members, their friends, member
activities, messages, advertisements and lot more.
What is SQL?
Structured Query language (SQL) pronounced as "S-Q-L" or sometimes as "See-Quel"is
actually the standard language for dealing with Relational Databases.SQL programming can be
effectively used to insert, search, update, delete database records. That doesn't mean SQL cannot
do things beyond that. In fact it can do lot of things including, but not limited to, optimizing and
maintenance of databases.

Any Other Supporting Language:Java


Java is a general purpose, high-level programming language developed by Sun Microsystems.
The Java programming language was developed by a small team of engineers, known as
the GreenTeam, who initiated the language in 1991.The Java language was originally
called OAK, and at the time it was designed for handheld devices and set-top boxes. Oak was
unsuccessful and in 1995 Sun changed the name to Java and modified the language to take
advantage of the burgeoning World Wide Web. Java is defined as an object-oriented language
similar to C++, but simplified to eliminate language features that cause common programming
errors. The source codefiles are compiled into a format called bytecode, which can then be
executed by a Java interpreter. Compiled Java code can run on most computers because Java
interpreters and runtime environments, known as Java Virtual Machines (VMs), exist for
most operating systems, including UNIX, the Macintosh OS, and Windows.

IMPLEMENTATION WITH SCREENSHOTS:


TESTING

Testing is the major quality control measure employed during software development. Testing is
the process of executing a program with the intent of finding an error. No piece of code is
completely ready unless it has been fully tested. This stage is very important as at this stage it is
verified whether the code developed meet the requirement specifications or not. Moreover, all
validations are also checked in the testing stage.

NEED FOR TESTING:

Testing is vital to success of the system. Testing makes a logical assumption that if all the parts
of the system are Correct, the goal will be successfully achieved. Inadequate testing or non-
testing leads to errors that may not appear until months later. A small system error can
conceivably explode into a much larger problem effective testing early in the process translates
directly into long-term cost saving from a reduced number of errors.

Second reason for testing is its utility as a user-oriented vehicle before implementation.

Finally, Testing leads to software reliability. Identifying and removing faults, during testing can
make the software more reliable. This increases user’s confidence in the system.

Types of testing:

 Unit Testing
 Integration Testing
 Functional Testing
 System Testing
 Stress Testing
 Performance Testing
 Usability Testing
 Acceptance Testing
 Regression Testing
 Beta Testing

The basic levels of testing:-


 Unit Testing
 Integration Testing
 System Testing
 Acceptance Testing

These different levels of testing attempt to detect different types of faults. The relation of the
faults introduced in different phases, and the different levels of testing are shown:

UNIT TESTING:

Unit testing is the testing of an individual unit or group of related units. It falls under the class of
white box testing. It is often done by the programmer to test that the unit he/she has implemented
is producing expected output against given input.

INTEGRATION TESTING:

Integration testing is testing in which a group of components are combined to produce output.
Also, the interaction between software and hardware is tested in integration testing if software
and hardware components have any relation. It may fall under both white box testing and black
box testing.

SYSTEM TESTING:

System testing is the testing to ensure that by putting the software in different environments (e.g.,
Operating Systems) it still works. System testing is done with full system implementation and
environment. It falls under the class of black box testing.

ACCEPTANCE TESTING:

Acceptance testing is often done by the customer to ensure that the delivered product meets the
requirements and works as the customer expected. It falls under the class of black box testing.
FUNCTIONAL TESTING:

Functional testing is the testing to ensure that the specified functionality required in the system
requirements works. It falls under the class of black box testing.

STRESS TESTING:

Stress testing is the testing to evaluate how system behaves under unfavorable conditions.
Testing is conducted at beyond limits of the specifications. It falls under the class of black box
testing.

PERFORMANCE TESTING:

Performance testing is the testing to assess the speed and effectiveness of the system and to make
sure it is generating results within a specified time as in performance requirements. It falls under
the class of black box testing.

USABILITY TESTING:

Usability testing is performed to the perspective of the client, to evaluate how the GUI is user-
friendly? How easily can the client learn? After learning how to use, how proficiently can the
client perform? How pleasing is it to use its design? This falls under the class of black box
testing.

BETA TESTING:

Beta testing is the testing which is done by end users, a team outside development, or publicly
releasing full pre-version of the product which is known as beta version. The aim of beta testing
is to cover unexpected errors. It falls under the class of black box testing.
SELECTION OF TEST CASES

For testing to be successfully, proper selection of test cases is essential. There are two different
approaches to selecting cases :- Functional Testing and Structural Testing.

FUNCTIONAL TESTING: In Functional Testing, the software or the module to be tested


is treated as a Black Box, and the test cases are decided bases on the specifications of the system
or the module. For this reason this type of testing is also called “Black Box Testing”. The focus
here is on testing the external behaviour of the system.

STRUCTURAL TESTING:In Structural Testing, the test cases are decided bases on the
logic of the module to be tested. One common coverage criterion is statement coverage, which
requires that test cases be selected so that together they execute each statement exactly once.

TEST PLAN

The testing is an extremely critical and time consuming activity. It requires proper planning of
the overall testing process. Testing process starts with a test plan. This plan identifies all the
testing related activities that must be performed and specified the schedule, allocates the
resources and specified guidelines for testing. The test plan specifies conditions that should be
tested, different units to be tested, and the manner in which the modules will be integrated
together.

Steps Followed in Testing Overall Software:

First of all, unit testing was performed. Each and every module f the system was tested
separately, so that there are no syntax and logical errors.

Integration testing was performed next by combining tested modules into subsystems. Here, we
test module integrations.
When the development of hole system was completed, we performed overall system testing to
discover any remaining errors.

Next, we performed testing by installing the software in the computer lab. After testing some
errors, not uncovered earlier, were discovered. They are mainly field size errors and some other
minor problems. All errors found were corrected.

At the end, Acceptance Testing was performed

CONCLUSION

The era of mobile technology opens the windows to the android app. The websites are vanishing
and the smart phones are emerging. It is the time to change from conventional websites to apps
which has become the part of our daily routine, we are introducing ‘Find My Tutor’ in which
students and the faculty and students can register. Based on the latitude and longitudinal mapping the
tutor location is mapped to the student. The search of the subject expert is also filtered based on the
location so that it will be easy for the finders to select the appropriate tutor. Based on the students
selection the tutors will be made available for their special classes and then they will be intimated
through notifications. This system provides an efficient search and gives effective result for the users..

FUTURE SCOPE

Currently the Android Application works as an offline application which only allows access data
from the application. In Future, the Application will be working as online application which
includes the features like getting full syllabus of the course in just one click. The Application can
be easily shared and rated by the users.
4

Bibliography

 Herbert Schildt. (2014). Complete References. United States of America: Mcgraw-Hill


Osborne Media.

 Kumari Sarita. (2012). FRIENDSTER-Connecting People. Chandigarh: Kalyani


Publishers.

 Google
 Android Tutorials

You might also like