Project Report Final - Find My Tutor.docx

  • Uploaded by: Abhishek
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Project Report Final - Find My Tutor.docx as PDF for free.

More details

  • Words: 11,175
  • Pages: 63
Loading documents preview...
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 Abstract Acknowledgement

i ii iii

Table of contents

iv

About the Company

vii

CHAPTER 1INTRODUCTION

1-12

1.1 Introduction to Project 1.2 Overview of Project 1.3 Software Requirement Specifications 1.4 Feasibility Study CHAPTER 2 TRAINING WORK UNDERTAKEN 2.1 XML 2.2 Android 2.3 PHP 2.4 Database 2.5 SQL CHAPTER 3 RESULTS AND DISCUSSION 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

1 6 8 10 13-34 13 20 25 31 34 35__ __

_-__ __ __ __

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 NO

1.

2.

Adviser to the Administrator

Home Secretary, UT, Chandigarh

DESIGNATION

Chairman

Member

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 enduser 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

É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

2.1

Android Name-Version-API Level Code name Nougat++ Nougat Marshmallow LOLLIPOP_MR1 Lollipop Kit Kat Jelly Bean Jelly Bean Jelly Bean Ice Cream Sandwich Ice Cream Sandwich Honeycomb Honeycomb Honeycomb Gingerbread Gingerbread Froyo Éclair Éclair Éclair Donut Cupcake (no code name) (no code name)

Version 7.1 and 7.1.1 7.0 6.0 5.1 5.0 4.4 – 4.4.4 4.3.x 4.2.x 4.1.x 4.0.3 – 4.0.4 4.0.1 – 4.0.2 3.2.x 3.1 3.0 2.3.3 – 2.3.7 2.3 – 2.3.2 2.2.x 2.1 2.0.1 2.0 1.6 1.5 1.1 1.0

API level API level 25 API level 24 API level 23 API level 22 API level 21 API level 19 API level 18 API level 17 API level 16 API level 15, NDK 8 API level 14, NDK 7 API level 13 API level 12, NDK 6 API level 11 API level 10 API level 9, NDK 5 API level 8, NDK 4 API level 7, NDK 3 API level 6 API level 5 API level 4, NDK 2 API level 3, NDK 1 API level 2 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 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 casesensitive.

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 Name Password

Int Varchar Varchar

11 50 50

Primary Key

Patient ID Patient Name Password

Age Gender Email

Int Enum Text

11

Age Gender Email

Phone

bigint

20

Contact

Area_id

Int

11

Foreign Key

Area of User

Table Number - #2 Table Name – tbl_doctor Column Name Id Name Password Gender Phone Qualification_id Specialisation_id Area_id Clinic_address Imgurl

Datatype Int(11) Text Text Enum Bigint Int Int Int Varchar Text

Size 3 50 50 11 11 11 11 100

Constraints Primary Key

Foreign Key Foreign Key Foreign Key

Description ID Name Password Gender Contact Qualification_id Specialisation_id Area_id Email Images used

Table Number - #3 Table Name – tbl_appointment_book Column Name Appointment_id Doctor_id Patient_id Date Slot_id Clinic_address Status

Datatype Int Int Int Text Int Text Enum

Size 11 11 11

Constraints Primary Key Foreign Key Foreign Key

11 100

Foreign Key

Description Id Id of Doctor Id of Patient Date of appointment Slot_id of appointment Address of Clinic Status

Table Number - #4 Table Name – tbl_area Column Name Area_id Area_name Pincode

Datatype Int Varchar Int

Size 11 50 11

Constraints Primary Key

Description Id of Area Name of Area Pincode of Area

Table Number - #5 Table Name –tbl_specialisation Column Name Datatype Specialisation_id Int Specialisation_name Varchar

Size 11 50

Constraints Primary Key

Description Id of Specialisation Name of Specialisation

Constraints Primary Key

Description Id of Qualification Name of Qualification

Table Number - #6 Table Name –tbl_qualification Column Name Datatype Qualification_id Int Qualification_nane Varchar

Size 11 50

Table Number - #7 Table Name –tbl_slot

Column Name Slot_id Slot_time

Datatype Int Varchar

Size 11 50

Constraints Primary Key

Description Id of Slot Name of Slot

Size 11 11 11

Constraints Primary Key Foreign Key

Description Id of Rating Id of User Rating

Table Number - #8 Table Name –tbl_rate Column Name Slot_id User_id Rating

Datatype Int Int Int

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 nontesting 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 userfriendly? 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

Related Documents


More Documents from "Harshini"

Router1x3design
February 2021 1
Vlsi Companies
February 2021 2
Nism Doce Notes Oct 2013
January 2021 1
February 2021 3