68
Mini Project Report On "Parent communication register android application" Submitted in partial fulfillment of the Requirements for the award of the degree of Bachelor of Technology In Computer Science & Engineering By G.AMULYA (13R21A05C5) B.HARISH (11R21A0504) T.BHAVANA (13R21A05B3) N.MANISH (13R21A05E8) Department of Computer Science & Engineering MLR INSTITUTE OF TECHNOLOGY (Affiliated to Jawaharlal Nehru Technological University, Hyderabad) DUNDIGAL(V), QUTHBULLAPUR Mdl), HYDERABAD -500

Parent communication register android application

Embed Size (px)

Citation preview

Mini Project Report

On

"Parent communication register android application"

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

Bachelor of Technology

In

Computer Science & Engineering

By

G.AMULYA (13R21A05C5)B.HARISH (11R21A0504)

T.BHAVANA (13R21A05B3)N.MANISH (13R21A05E8)

Department of Computer Science & EngineeringMLR INSTITUTE OF TECHNOLOGY

(Affiliated to Jawaharlal Nehru Technological University, Hyderabad)DUNDIGAL(V), QUTHBULLAPUR Mdl), HYDERABAD -500 043.

~ 1 ~

Department of Computer Science & EngineeringMLR INSTITUTE OF TECHNOLOGY

(Affiliated to Jawaharlal Nehru Technological University, Hyderabad)DUNDIGAL(V), QUTHBULLAPUR Mdl), HYDERABAD -500 043.

CERTIFICATE

This is to certify that the project entitled “PARENT COMMUNICATION REGISTERANDROIDAPPLICATION”byG.AMULYA(13R21A05C5),B.HARISH(11R21A0504),T.BHA VANA(13R21A05B3),N.MANISHGOUD(13R21A05E8) has been submitted in the partial fulfillment of the requirements for the award of degree of Bachelor of Technology in Computer Science and Engineering from Jawaharlal Nehru Technological University, Hyderabad. The results embodied in this project have not been

Internal Guide Head of the DepartmentMs.Rajini N.Chandra shekar ReddyAsst.Professor

External Examiner

~ 2 ~

DECLARATION

I hereby declare that the project entitled “PARENT COMMUNICATION

REGISTER ANDROID APPLICATION” is the work done during the period from

June 2016 to October 2016 and is submitted in the partial fulfillment of the requirements

for the award of degree of Bachelor of technology in computer Science and Engineering

from Jawaharlal Nehru Technology University, Hyderabad. The results embodied in this

project have not been submitted to any other university or Institution for the award of any

degree or diploma.

G.AMULYA(13R21A05C5)

B.HARISH(11R21A0504)

T.BHAVANA(13R21A05B3)

N.MANISH GOUD(13R21A05E8)

~ 3 ~

ACKNOWLEDGEMENT

There are many people who helped me directly and indirectly to complete my project successfully. I would like to take this opportunity to thank one and all.

First of all I would like to express my deep gratitude towards my internal guide

Rajini,Assistant Professor. Department of CSE for her support in the completion of my

dissertation. I wish to express my sincere thanks to,Dr. N. Chandrashekhar HOD, Dept. of CSE and also to our principal Dr. P BHASKAR REDDY for providing the

facilities to complete the dissertation.

I would like to thank all our faculty and friends for their help and constructive criticism during the project period. Finally, I am very much indebted to our parents for their moral support and encouragement to achieve goals.

G.AMULYA(13R21A05C5)

B.HARISH(11R21A0504)

T.BHAVANA(13R21A05B3)

N.MANISH GOUD(13R21A05E8)

~ 4 ~

ABSTRACT

Introduction:

In this new era of Science and Technology, computer is one of the most important components in our life. Works can be done in a better way by the help of computer.

The Main aim of our project is to automate the attendance in the form of Android Mobile

Application. Our intention is to establish a good communication between Student Mentor

and parent.We have seen over the years that the process of manual attendance is being

carried out across almost all educational institutions. The process is not only time

consuming but also sometimes yield inefficient results in the false marking and

calculation of attendance. We need not maintain pen and paper based attendance

registers. Following this thought, we have proposed a Parent communication register

android application APP by which we notify parents via SMS OR a call Notification

system which is implemented on Android mobile application.This Android application

will give the students attendance information and SMS notification feature whereby

every parent will be periodically notified regarding his/her child attendance. Our system

primarily focuses on building an efficient and user friendly Android mobile application.

The application will be installed on the Mentor phone which runs android OS. It intends

to provide an interface to the professor who will require a user id and password to carry

out the task. Apart from that, the application would support strong user authentication

and quick transmission of data.

~ 5 ~

CONTENTS

Certification 2

Declaration 3

Acknowledgement 4

Abstract 5

1. Introduction 9

2. Literature review. 10-12

2.1 prior researches

2.2 Feasibility study

2.3 Problem identification

3. Methodology. 13-22

3.1 Existing System

3.2 Proposal System

3.3 SDLC

3.3.1 V-shaped model

3.3.2 Evolutionary prototype model

3.3.3 Incremental Model

3.3.4 Iterative and incremental model

3.4 Performance requirements

3.5 Requirement analysis and specifications

3.5.1 Functional requirements

3.5.2 Non Functional requirements

4. Design and Implementation. 23-29

4.1 Architecture

~ 6 ~

4.2 Diagram for application and feature of android

4.3 Data flow diagrams

4.4 UML diagrams

4.4.1 Class Diagram

4.4.2 Sequence Diagram

4.4.3 Use case Diagram

4.5 Modules

4.5.1 Implementation

4.5.2 Android API

5 Result Analysis. 30-32

6 Conclusion 33

References. 34

~ 7 ~

Contents of the Diagrams

3.3.1 v-shaped model Diagram

3.3.2 Evolutionary prototype model

3.3.3 Incremental model

3.3.4 Iterative and incremental model

4.1.1 Architecture Diagram

4.3.1 Context diagram

4.4.1 Class Diagram

4.4.2 Sequence Diagram

4.4.3 Use case Diagram

4.5.2 Android API

~ 8 ~

1. Introduction

The Main aim of our project is to automate the attendance in the form of Android Mobile

Application. Our intention is to establish a good communication between Student Mentor

and parent.We have seen over the years that the process of manual attendance is being

carried out across almost all educational institutions. The process is not only time

consuming but also sometimes yield inefficient results in the false marking and

calculation of attendance. We need not maintain pen and paper based attendance

registers. Following this thought, we have proposed an Android Based Attendance

Management System APP by which we notify parents via SMS OR a call Notification

system which is implemented on Android mobile application.This Android application

will give the students attendance information and SMS notification feature whereby

every parent will be periodically notified regarding his/her child attendance. Our system

primarily focuses on building an efficient and user friendly Android mobile application.

The application will be installed on the Mentor phone which runs android OS. It intends

to provide an interface to the professor who will require a user id and password to carry

out the task. Apart from that, the application would support strong user authentication

and quick transmission of data.

~ 9 ~

2.LITERATURERE VIEW AND PROBLEM

IDENTIFICATION

2.1 LITERATURE REVIEW

Android is a relatively new platform. It is a product of Google, Inc., and its first release was

presented in 2007 (Meier, 2010). It has been released by google in many versions with

different specifications for each version the starting version is named as Android 1.0 was

installed on many different mobile devices and its users can download Android apps and

other content through Google Play service, which replaced the old Android Market (Bishop,

2012). As the official Android website describes this platform, “Android is a software stack

for mobile devices that includes an operating system, middleware and key applications”.

Android provides the “core set of applications including an email client, SMS program,

calendar, maps, browser, contacts, and others” while additional applications can be

downloaded through Google Play service. Google claims that “Android powers millions of

phones, tablets and other devices.” Phones and tablets are mobile devices that can have

Android applications installed on them. These applications are written in Java programming

language and they are called mobile device applications or apps. Development techniques

for apps are structured sets of Java code focused on implementing particular task that

provides content for a mobile device application. Although Java programming language

includes a broad variety of topics, this thesis focuses on development techniques required

for successful implementation of Android Mobile EMU Portal.

2.2 Prior Research Contributions of prior research efforts provide useful information

for successful implementation of Android Mobile EMU Portal. This thesis analyzes how to

determine which development technique to use for a particular feature, what are the steps to

implement each technique, and whether they can be applied for EMU-related data. Testing

of the official Android EMU app has shown that it provides some of the pre-selected

features for Android Mobile EMU portal like Twitter Updates, Online Directory, Athletics

News, and Campus Map.

~ 10 ~

Implementation steps for development techniques required are explored in various Android

development books and Internet tutorials. Since a majority of Android Mobile EMU Portal

content is obtained from the Web, this section reflects existing development techniques that

enable gathering online data.

2.3 Feasibility Study

2.3.1 Economic Feasibility

The project is economically feasible as it only requires a mobile phone with Android

operating system. The application is free to download once released into Android market.

The users should be able to connect to internet through mobile phone and this would be the

only cost incurred on the project.

2.3.2 Technical Feasibility

To develop this application, a high speed internet connection, a database server, a web server and software are required. The current project is technically feasible as the application was successfully deployed on Android Emulator.

2.3.3 Behavioral Feasibility

The application is behaviorally feasible since it requires no technical guidance, all the modules are users friendly and execute in a manner they were designed to.

2.4 PROBLEM IDENTIFICATION

2.4.1 Project Outline

The prototype was designed based on the Pomodoro technique. Pomodoro is a time management technique which helps users to manage the time in an efficient manner. The main goal of this thesis is to design and develop the prototype in order to measure the product quality according to quality attributes chosen based on ISO/IEC 9126 quality standard.

~ 11 ~

The following tasks were initially formulated for this thesis project:

1. Literature study in the domain of smart phone technology and software product quality

2. Designing and implementing of a prototype supported by Android platform.

3. Defining a quality model for the prototype.

4. Designing an experiment to evaluate usability of the prototype.

~ 12 ~

3. METHODOLOGY

3.1 EXISTING SYSTEM

Existing system of PCR is a manual one in which each and every faculty member has their own register in which they mark attendance and intimate the parents in their own way to parents mobile.

Disadvantages of Existing System Students generally cheat by giving false numbers.

Faculty generally make mistake sometimes

Calculation is a great task for every 15 days

3.2 PROPOSED SYSTEM

Our proposal on PCR is to automate the attendance for the faculty to establish effective communication between parent and faculty in the form of android mobile app PARENT COMMUNICATION REGISTER installed in faculty’s mobile which runs on AndroidOS.

Advantages of proposed system

It automates the attendance for every 15 days

Sends automatic SMS alerts

Automatically connects a voice call to parents mobile from faculty

It’s a very smart way since we don’t need to use pen and paper

3.3 SDLC METHODOLOGIES :The software industry includes many different processes, for example, analysis, development, maintenance and publication of software. This industry also includes software services, such as training, documentation, and consulting. Our focus here about software development life cycle (SDLC). So, due to that different types of projects have different requirements. Therefore, it may be required to choose the SDLC phases according to the specific needs of the project. These different requirements and needs give us various software development approaches to choose from during software implementation.

~ 13 ~

Types of Software developing life cycles (SDLC)

3.3.1 V-Shaped Mode Description:

It is an extension for waterfall model, Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The major difference between v-shaped model and waterfall model is the early test planning in v-shaped model.

3.3.2 Evolutionary Prototyping ModelDescription:It refers to the activity of creating prototypes of software applications, for example, incomplete versions of the software program being developed. It is an activity that can occur in software development. It used to visualize some component of the software to limit the gap of misunderstanding the customer requirements by the development team. This also will reduce the iterations may occur in waterfall approach and hard to be implemented due to inflexibility of the waterfall approach. So, when the final prototype is developed, the requirement is considered to be frozen. It has some types, such as·

~ 14 ~

Throwaway prototyping Prototypes that are eventually discarded rather than becoming a part of the finally delivered software.Evolutionary prototyping: prototypes that evolve into the final system through iterative incorporation of user feedback.

3.3.3 Incremental prototyping: The final product is built as separate prototypes. At the end the separate prototypes are merged in an overall design.

~ 15 ~

3.3.3-incremental model diagram

3.3.4 Spiral Method (SDM)

Description: It is combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. This model of development combines the features of the prototyping model and the waterfall model. The spiral model is favored for large, expensive, and complicated projects. This model uses many of the same phases as the waterfall model, in essentially the same order, separated by planning, risk assessment, and the building of prototypes and simulations.Steps for spiral model can be generalized as follows:

The new system requirements are defined in as much details as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.

A first prototype of the new system is constructed from the preliminary design it is usually a scaled-down represents an approximation of the characteristics of the final product.

A second prototype is evolved by the fourfold procedure

Evaluating the first prototype in terms of its strengths, weakness and risks.

~16 ~

Defining the requirements of the second prototype.

Planning and designing the second prototype.

Constructing and testing the second prototype.

At the customer option the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer’s judgement, result in a less-than-satisfactory final product.The existing prototype is evaluated in the same manner as was the previous prototype, and if necessary, another prototype is the developed from it according to the fourfold procedure outlined above.The preceding steps are iterated until the customer is satisfied that the refine prototype represents the final product desired.The final system is constructed, based on the refined prototype. thoroughly evaluated and tested. Routine maintenance is carried on a continuing basis to prevent large scale failures and to minimize down time.

3.3.4 Spiral model diagram

Usage:It is used in shrink-wrap application and large system which built-in small phases or segments.

~ 17 ~

Advantages and Disadvantages:

Disadvantages Advantages

High cost and time to reach the Estimates (i.e. budget, schedule,final product.· Needs special etc.) become more realistic as workskills to evaluate the risks and progresses, because importantassumptions· Highly customized issues are discovered earlier.· Earlylimiting re-usability involvement of developers·

Manages risks and develops systeminto phases

3.3.4 Iterative and Incremental Method

Description:It is developed to overcome the weaknesses of the waterfall model. It starts with an initial planning and ends with deployment with the cyclic interactions in between. The basic idea behind this method is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system.Usage:It is used in shrink-wrap application and large system which built-in small phases or segments. Also can be used in system has separated components, for example, ERP system. Which we can start with budget module as first iteration and then we can start with inventory module and so forth.

~ 18 ~

3.3.4-incremental and iterative model diagram

Advantages and Disadvantage

Disadvantages Advantages

· Requires heavy documentation· Follows · Produces business value early ina defined set of processes· Defines the development life cycle· Betterincrements based on function and feature use of scarce resources throughdependencies· Requires more customer proper increment definition· Caninvolvement than the linear approaches· accommodate some change requestsPartitioning the functions and features between increments· More focusedmight be problematic· Integration on customer value than the linearbetween iteration can be an issue if this is approaches· Problems can benot considered during the development. detected earlier

~ 19 ~

3.4 PERFORMANCE REQUIREMENTSFactors such as Power, Memory, and Graphical User Interface (GUI) affect the

performance of an application. During application development the developer must be

very aware and anticipate these concerns so that the code is written in such a way that the

resource utilization in system is balanced and distributed optimally to all the required

applications.Performance is measured in terms of the output provided by the application.

Requirement specification plays an important part in the analysis of a system. Only when

the requirement.Specification is properly given, it is possible to design a system, which

will fit into required environment. It is very difficult to change the system once it as been

designed and on the other hand designing a system, which doesn’t cater to the

requirements of the user, is of no use.

The requirement specification for any system can be broadly stated as given below:

The system should be able to interface with the existing system.

The system should be accurate.

The system should be better than the existing system.

The existing system is completely dependent on the user to perform all the duties.

3.5 REQUIREMENT ANALYSIS AND SPECIFICATION

The Application developed follows the following steps of SDLC. Under which the SRSmodel developed for the system is as listed below.The SRS model Contains1. Functional Requirements. ˆ 2. Non-Functional requirements.

3.5.1 Functional Requirements of the SystemThe functional requirements part discusses the functional behavior that should be possessed by the system. Each requirement maps to a high level function (fi) that transforms the given set of input data (ii) into output data (oi)

.Different functional requirements possessed by the system areLogin Description: The faculty will login into the application with the given user ID and password. If the user ID and password is correct, user will be prompt to proceed option else error message will be displayed.Input: User ID and PasswordOutput: Prompt to ”OK” option

~ 20 ~

View Course Taken Description: After login, the faculty can view the list of courses taken by him/her during the semester and then he can get the list of student enrolled in that course.Input: Select the display option Output: List of courses takenView Details of Enrolled Students Description: The faculty can view the list of student enrolled.Input: Select a course and select option to display student list Output: Enrolled student list

Description: Faculty gives attendance for individual student. Input: attendanceOutput: view

Synchronize Database Description: At the end of each semester faculty wishes, he can upload the attendance details of a particular student in the Online Server

Input: Select Sync button Output: Confirmation message

View absents: after the attendance is marked then a filtered screen of absents are displayed based on number of students absent a faculty may give sms alert or call to parent by clicking on student

Input: attendanceOutput: view and communicate to parent

3.6 NON-FUNCTIONAL REQUIREMENTS:Performance Requirements: The software will support when multiple concurrent

access user terminals. The software will handle the textual and fingerprint information.

With the client (users) and servers running on the same machine, then the response time

will be maximum of 2 sec. But mostly 95% transactions are proceed within the less than

5 secondsØ

Deployment. On Android operating system, the system or project should be deployable.

Security: No one should be allowed to tamper with data from others; Enhanced Security

Sensitive data.

Backup: There should avoid damaging the record. A simple backup function for the

whole student attendance.

Data migration: there must be a simple way to student data from one system to migrate

to a new system.

~ 21 ~

3.7 HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE REQUIREMENTS:

RAM : Memory of 1GB or moreProcessor : Intel Pentium 4 or AMD Athlon 2GHZ (or faster)Hard disk : 1GB or more available hard disk spaceResolution : monitor resolution of 1024x768 or higher

SOFTWARE REQUIREMENTS:

Operating system : Windows XP, windows 7, windows 8Mac OS versions,Linux ubuntu 12.04

User Interface : HTML, CSS, PHPClient-side scripting : Java scriptProgramming language : Java runtime environment 1.6

Java JDK version 6.0IDE/Workbench : Eclipse version 4.2.2

Android studio (IDE)Tools : Android SDK

Android mobileDatabase : oracle

~ 22 ~

4. DESIGN AND IMPLEMENTATION

4.1 ARCHITECTURE DIAGRAM

Fig 4.1.1 Architecture Diagram4.2 Architecture Diagram for Android application development and featuresAndroid operating system is a stack of software components which is roughly divided into five sections and four main layers as shown below in the architecture diagram.

Fig 4.2.1 Architecture Design for Android application development

Linux kernel:At the bottom of the layers is Linux - Linux 3.6 with approximately 115 patches. This provides a level of abstraction between the device hardware and it contains all the essential hardware drivers like camera, keypad, display etc. Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware.

~ 23 ~

Libraries:On top of Linux kernel there is a set of libraries including open-source Web browser engine Web Kit, well known library libc, SQLite database which is a useful repository for storage and sharing of application data, libraries to play and record audio and video, SSL libraries responsible for Internet security etc.

Android Libraries:This category encompasses those Java-based libraries that are specific to Android development. Examples of libraries in this category include the application framework libraries in addition to those that facilitate user interface building, graphics drawing and database access. A summary of some key core Android libraries available to the Android developer is as follows

android.app − Provides access to the application model and is the cornerstone of all Android applications.

android. Content − Facilitates content access, publishing and messaging between applications and application components.

android. database − Used to access data published by content providers and includes SQLite database management classes.

android.opengl − A Java interface to the OpenGL ES 3D graphics rendering API.

android.os − Provides applications with access to standard operating system services including messages, system services and inter-process communication.

Android. Text − Used to render and manipulate text on a device display.

Android. View − the fundamental building blocks of application user interfaces.

Android. Widget − A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc.

Android.webkit − A set of classes intended to allow web-browsing capabilities to be built into applications.

Having covered the Java-based core libraries in the Android runtime, it is now time to turn our attention to the C/C++ based libraries contained in this layer of the Android software stack.

~ 24 ~

Android Runtime:This is the third section of the architecture and available on the second layer from the bottom. This section provides a key component called Dalvik Virtual Machine which is a kind of Java Virtual Machine specially designed and optimized for Android.

The Dalvik VM makes use of Linux core features like memory management and multi-threading, which is intrinsic in the Java language. The Dalvik VM enables every Android application to run in its own process, with its own instance of the Dalvik virtual machine.

The Android runtime also provides a set of core libraries which enable Android application developers to write Android applications using standard Java programming language.

Application Framework

The Application Framework layer provides many higher-level services to applications in the form of Java classes. Application developers are allowed to make use of these services in their applications.

The Android framework includes the following key services −

Activity Manager − Controls all aspects of the application lifecycle and activity stack.

Content Providers − Allows applications to publish and share data with other applications.

Resource Manager − Provides access to non-code embedded resources such as strings, color settings and user interface layouts.

Notifications Manager − Allows applications to display alerts and notifications to the user.

View System − An extensible set of views used to create application user interfaces.

Applications

You will find all the Android application at the top layer. You will write your application to be installed on this layer only. Examples of such applications are Contacts Books, Browser, and Games etc.

~ 25 ~

4.3 DESIGN OF DATA FLOW DIAGRAMS

The design phase emphasizes on the transformation of customer requirements as defined in the SRS document, into a form that is suitable for coding.The design phase can be broadly classified in two levels. ˆ

Preliminary or high level design Detailed design

The preliminary design can be further divided into two sub categories Function Oriented Software Design ˆ Object Oriented Software Design

4.3.1 Function Oriented Software Design This design model can be represented by drawing the DFDs (Data Flow Diagrams) for the given SRS document. A data flow diagram is a graphical representation of the data flow through an information system which is used to model the process aspects of the system. DFD is the preliminary step used to create an overview of the system. DFD is used for structured design.4.4 The different kinds of diagrams used in design methodology are:

1.Sequence diagram 2.Usecase diagram 3.Class diagram

1.Sequence diagram

~ 26 ~

2.Usecase diagram

3.Class diagram

Teacher

Login()View student()Admintake attendance()Login()view attendance()Add teacher()view marks()Add student()

View student()View teacher()

ParentLogin()View attendance()View marks()Get message()

~ 27 ~

4.5 MODULES

User module login activity Add faculty module View attendance Take attendance Auto report generation module Send message or call View students View absents

4.5.1 Implementation

The Application is implemented according to three tier architecture. Three tier architecture is commonly known as Client-Server architecture, where Client is the consumer of the services, also the requester of services where as the server side is the provider of services. The third layer that is the middle layer that converts the users requests into server understandable form. The system developed contains Android application in its front end i.e. the client side. The middle layer that connects the client side to the server side is the Jason (JavaScript Object Notation) Parser that is primarily used to transmit data between server and server application. The server side comprises of the Mysql. The android API uses the PHP to connect to the database or server database.

4.5.2 Android APIAPI stands for Application Programming Interface. It contains the following features-

1. Accept request by POST/GET method ˆ 2. Execute PHP class to update/access data from database

4.5.2:Application Programming Interface

~ 28 ~

5.RESULT ANALYSIS1.Welcome screen 2.Modules

~ 29 ~

3.Admin login 4.Home activity

5.Teacher list 6.View details 7.Student list

~ 30 ~

8.Teacher login 9.Teacher home 10.Take attendence

11.Details 12.Attendence viewing 13.View marks

~ 31 ~

14.Parent login 15.Parent home screen 16.Attendenceviewing

6. CONCLUSION

Reference system through mobile devices is a very effective tool which can be used to a

great extent. The system is portable and can be easily installed and used on any mobile

phones supporting Android OS. The use of this system can result in a reduction of

number of hours spent in feeding attendance details in the server database. It also

provides an interface which is easy to understand by the users and greatly helps in

adapting to the use of this system.

~ 32 ~

REFERENCES

www.ijsrd.com

http://ethesis.nitrkl.ac.in/5195/1/109CS0146.pdf

http://w3schools .com

http;//schools9.com

Android Studio Development Essentials – Second Edition

~33 ~

~ 34 ~