Project Report

33
1 A Project report On AcadSync (Minor Project) Submitted in partial fulfillment for the award of the degree Bachelor of Technology in Computer Science and Engineering By Pulkit Bhartiya (10CS000844) Rohit Kaushik (10CS000850) Suroor Gupta (10CS000869) Shrestha Mathur (10CS000860) Vikas Singh (10CS000876) Submitted to Department of Computer Science & Engineering Sir Padampat Singhania University Udaipur 313601 Rajasthan India Under the supervision of Arjun Singh Department of Computer Science & Engineering Sir Padampat Singhania University Udaipur 313601 Rajasthan India

description

Project of B.Tech

Transcript of Project Report

Page 1: Project Report

1

A Project report

On

AcadSync (Minor Project)

Submitted in partial fulfillment for the

award of the degree

Bachelor of Technology

in

Computer Science and Engineering

By

Pulkit Bhartiya (10CS000844)

Rohit Kaushik (10CS000850)

Suroor Gupta (10CS000869)

Shrestha Mathur (10CS000860)

Vikas Singh (10CS000876)

Submitted to

Department of Computer Science & Engineering

Sir Padampat Singhania University

Udaipur 313601 Rajasthan India

Under the supervision of

Arjun Singh

Department of Computer Science & Engineering

Sir Padampat Singhania University

Udaipur 313601 Rajasthan India

Page 2: Project Report

2

DECLARATION

We ,Pulkit Bhartiya, Rohit Kaushik, Shrestha Mathur, Suroor Gupta, Vikas Singh

students of B.Tech. (Computer Science & Engineering) hereby declare that the project

titled “AcadSync” which is submitted by us to the department of Computer Science &

Engineering , School of Engineering , Sir Padampat Singhania University, Udaipur in

partial fulfillment of requirement for the award of the degree of Bachelor of Technology

in Computer Science & Engineering, has not been previously formed the basis for the

award of any degree, diploma or other similar title or recognition.

Names and Enrollment of students:

Pulkit Bharatiya 10CS000844

Rohit Kaushik 10CS000850

Suroor Gupta 10CS000869

Shrestha Mathur 10CS000860

Vikas Singh 10CS000876

Date: 25_

11-13

Page 3: Project Report

3

CERTIFICATE

This is to certify that the Minor project entitled „AcadSync‟ being submitted by Pulkit

Bhartiya, Rohit Kaushik, Shrestha Mathur, Suroor Gupta, Vikas Singh in

fulfillment of the requirement for the award of degree of Bachelor of Technology in

Computer Science & Engineering, has been carried out under my supervision and

guidance.

The matter embodied in this report has not been submitted, in part or in full, to any

other university or institute for the award of any degree, diploma or certificate.

Arjun Singh

Assistant Professor

Department of Computer Science & Engineering

Prasun Chakrabarti

Head Of Department

Department of Computer Science & Engineering

Sir Padampat Singhania University

Udaipur 313601

Rajasthan

India

Page 4: Project Report

4

ACKNOWLEDGEMENT

It gives us immense pleasure to express our deepest gratitude to our highly respected

and esteemed guide Mr. Arjun Singh (Asst. Professor, CSE) for his valuable guidance,

encouragement and help for completing this work. His useful suggestions for this whole

work and co-operative behavior are sincerely acknowledged.

We would like to extend our sincere gratitude to our university for giving us this

opportunity to undertake this project.

We also wish to express my gratitude to Mr. Prasun Chakrabarti HOD (Computer

Science and Engineering) for his kind support. We are also grateful to our teachers for

their constant support and guidance.-

Pulkit Bhartiya (10cs000844)

Rohit Kaushik (10cs000850)

Suroor Gupta (10cs000869)

Shrestha Mathur (10cs000860)

Vikas Singh (10cs000876)

Page 5: Project Report

5

ABSTRACT

Information such as time table, lecture attendance, course plan, etc. is what every

student in a university looks forward to at some point of time. Students have to bother

teachers every time they want any such information. Thus, these details could be

clubbed together and every person in a particular university could see their personal

details (attendance, time table, etc.) on their smart phones.

The aim of the project is to create a specialized Android Application built using an open

source. It will be employed on a limited corpus. The objective is to provide an easy to

use, efficient information facility for necessary details, basically academic, of the

university. The system will work on the limited database of our university. The end

product will be a customized android application available to users with different level

of authorization on the database. This will result in reduction of time taken in manual

request of data made by students to the faculty of the university.

Page 6: Project Report

6

TABLE OF CONTENTS

DECLARATION………………………………………………………………………….........i

CERTIFICATE …………………..……………………………………………………………ii

ACKNOWLEDGEMENT…………..…………………………………………………………iii

ABSTRACT ……………………………………………………………………………………iv

TABLE OF CONTENTS……………………………………………………………………....v

CHAPTER 1 INTRODUCTION…………………………………………………………….1-6

CHAPTER 2 PROBLEM IDENTIFICATION……………………………………………….7

CHAPTER 3 LITERATURE REVIEW………………….…………………………………...8

CHAPTER 4 SOFTWARE REQUIREMENT ANALYSIS…………………………………9

CHAPTER 5 MODULES AND THEIR FUNCTION…………………………………..10-11

CHAPTER 6 SOFTWARE DESIGNS …………………………………………………..12-17

CHAPTER 7 CODE TEMPLATES……………………………………………………...18-20

CHAPTER 8 TESTING………………………………………………………………………21

CHAPTER 9 SCREEN SHORTS………………………………………………………..22-23

CHAPTER 10 CONCLUSIONS AND FURTHER SCOPE OF WORK………..……….24

REFERENCES……………………………………………………………………………….25

APPENDIX..……………………………………………………………………………….26-27

Page 7: Project Report

7

CHAPTER 1

INTRODUCTION

1.1 What is Android?

Android is a software stack for mobile devices that includes an operating system,

middleware and key applications. Android is a software platform and operating

system for mobile devices based on the Linux operating system and developed by

Google and the Open Handset Alliance. It allows developers to write managed code

in a Java-like language that utilizes Google-developed Java libraries, but does not

support programs developed in native code.

Android has become the number one mobile operating system in a number of areas.

As of May 2013, 900 million Android devices had been activated. Also, as of the

2012, Android owned 52 percent of the U.S. mobile market share and 70 percent

globally. Obviously, these numbers fluctuate regularly, but Android had dominance

in the worldwide global market share for quite some time now.

Fig 1.1 Smatphone Shipments of android

Page 8: Project Report

8

1.1.1 Versions of Android

These versions have been released in alphabetical order: Cupcake, Donut, Éclair, Froyo

(frozen yogurt), Gingerbread, Honeycomb, Ice Cream Sandwich, and Jelly Bean.

Android versions history involves the versions updates from 1.0 till date. Here is the list

of different Android version with their releasing date:-

1. Android 1.0 - Release Date: September 23, 2008

2. Android 1.1 - Release Date: February 9, 2009

3. Android 1.5 Cupcake – Release Date: April 30, 2009

4. Android 1.6 Donut - Release Date: September 15, 2009

5. Android 2.0/2.1 Éclair – Release Date: October 26, 2009

6. Android 2.2 FroYo – Release Date: May 20, 2010

7. Android 2.3 Gingerbread - Release Date: December 6, 2010

8. Android 3.0 Honeycomb - Release Date: February 22, 2011

9. Android 4.0 Ice Cream Sandwich - Release Date: October 19, 2011

10. Android 4.1 Jelly Bean - Release Date: July 9, 2012.

Fig 1.2 Distribution of Android Versions

Page 9: Project Report

9

1.1.2 Android SDK (Software Development Kit)

A software development kit that enables developers to create applications for the

Android platform. The Android SDK includes sample projects with source code,

development tools, an emulator, and required libraries to build Android applications.

Applications are written using the Java programming language and run on Dalvik, a

custom virtual machine designed for embedded use which runs on top of a Linux kernel.

Every time Google releases a new version of Android, a corresponding SDK is also

released. To be able to write programs with the latest features, developers must

download and install each version‟s SDK for the particular phone.

Although the SDK can be used to write Android programs in the command prompt, the

most common method is by using an integrated development environment (IDE). The

recommended IDE is Eclipse with the Android Development Tools (ADT) plug-in.

However, other IDEs, such as NetBeans or IntelliJ, will also work. Most of these IDEs

provide a graphical interface enabling developers to perform development tasks faster.

Since Android applications are written in Java code, a user should have the Java

Development Kit (JDK) installed.

Page 10: Project Report

10

1.2 WEB SERVICES

A Web service is a method of communications between two electronic devices over the

World Wide Web. It is a software function provided at a network address over the web

with the service always on as in the concept of utility computing.

1.2.1 WEB SERVICE – ASMX

Fig 2.1 Web Sercive – ASMX Structure

1.2.2 Client-Side Proxy Classes

On the client side, proxy classes provide access to Web services. Proxy classes use

XML serialization to serialize the request into a SOAP message, which is then

transported using functionality provided by the System.Net namespace.

You can use the Wsdl.exe tool to automatically generate the proxy class from the Web

Services Description Language (WSDL) contract file. Depending on the bindings

specified in the WSDL, the request issued by the proxy may use the HTTP GET, HTTP

POST, or HTTP SOAP protocols.

Page 11: Project Report

11

The proxy class is derived from one of the following base classes:

System.Web.Services.Protocols.HttpGetClientProtocol

System.Web.Services.Protocols.HttpPostClientProtocol

System.Web.Services.Protocols.SoapHttpClientProtocol

These all derive from System.Web.Services.Protocols.HttpWebClientProtocol,

which in turn derives from the System.Web.Services.Protocols.WebClientProtocol base

class in the inheritance chain. WebClientProtocol is the base class for all automatically

generated client proxies for ASP.NET Web services, and, as a result, your proxy class

inherits many of its methods and properties.

Page 12: Project Report

12

1.3 SOAP

SOAP, originally defined as Simple Object Access Protocol, is a protocol

specification for exchanging structured information in the implementation of Web

Services in computer networks. It relies on XML Information Set for its message

format, and usually relies on other Application Layer protocols, most notably Hypertext

Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message

negotiation and transmission.

Fig 3.1 SOAP Structure

1.3.1 KSOAP The ksoap2-android library provides a lightweight and efficient SOAP client library for

the Android platform.

It is a fork of the kSOAP2 library that is tested mostly on the Android platform, but

should also work on other platforms using Java libraries. It is still using Java 1.3 so

should work fine on JavaME, Blackberry and so on.

ksoap2-android has been consistently enhanced and expanded with more features. It is

actively maintained and welcome bug fixes and contributions.

Page 13: Project Report

13

CHAPTER 2

PROBLEM IDENTIFICATION

Generally students have to go to the specific department or notice board to check their

required academic information. Some time they can‟t find information for some or other

reasons. In college premises computer might not be available everywhere for a student

to check their information. Thus it would be very helpful if an application is available

on the device that is handy.

AcadSync provides the facility to Students to synchronized their academic information

in there android device.

By this app they don‟t have to go to university to check there required information, they

can access there updated information in there device whenever they want. It will keep

them up to date about their academic information. For this, they have to connect there

device to college network through the Wi-Fi and they can synchronize the app. After

synchronization they can use this app in offline mode and check there information later.

In this they can check there attendance, notices, time table etc.

Page 14: Project Report

14

CHAPTER 3

Literature Review

Research references over the internet. An initial search was performed to check

if the idea has been implemented before or not. Also, queries, requests and

discussions revolving around the same idea were studied as well. No major

existing projects were found using the same paradigm and it was hence a good

move to develop this project.

There are minimal projects developed on the Android platform that perform

such synchronisation.

None of these projects use the secure K-SOAP protocol for interaction and the

transactions are hence, unsecure and not ideal for implementation.

There‟s a rapidly growing market for Android applications and people have been

found to have a growing sensibility of what they can do with their smartphones.

The research implied clearly that AcadSync, an Android based IMS

synchronisation system is a promising endeavour.

Page 15: Project Report

15

CHAPTER 4

SOFTWARE REQUIREMENT ANALYSIS

Information such as time table, lecture attendance, course plan, etc. is what every

student in a university looks forward to at some point of time. Students have to bother

teachers every time they want any such information. Thus, these details could be

clubbed together and every person in a particular university could see their personal

details (attendance, time table, etc.) on their smart phones.

Software and Hardware Requirements

Software specification:

Eclipse

Android Development Toolkit

Android SDK API level 11 (or higher)

Microsoft Visual Studio 2012

Microsoft SQL

Minimum Client side requirements

Device An android device with Android Vers. 3.0 (Froyo)

Storage <100MB

Additional Services Internet, Database access.

Page 16: Project Report

16

CHAPTER 5

MODULES AND THEIR FUNCTION

Attendance

Students can check their current attendance status in this module. The attendance will

update automatically when application will synchronized. In this, student can see their

current attendance status in percentage which will indicate that attendance is short or

not in color.

Lesson Plan

This module will make a student able to check their lesson plan of the current semester

for subjects. This will simply show the pdf file that is available on website.

Personal Detail

In this student can see their personal detail that they give at time of their admission. If

they want to make changes in there detail, they have to go to the respective department

and apply for updating their personal detail.

Time Table

In this module student will be able to see the time table of their classes in current

semester. If there any change will come in time table this will be updated when

application will be synchronized.

Notice

Page 17: Project Report

17

This module will be able student to see notices that are given by college on the notice

board.

Result

Student can check their last exam result in this module. This will also show their current

CGPA.

Page 18: Project Report

18

CHAPTER 6

SOFTWARE DESIGNS

Activity Diagrams

Attendance

Student open activity

Activity fetches Attendance

Bar = Green Bar = Red

Display Progress bars

Check Attendance > 75%

Page 19: Project Report

19

Lesson Plan

Personal Detail

Student open activity

Activity fetches Detail

data arrange in table

Show the detail in form

Student open activity

Activity fetches course

Field of CP Display in separet

Page 20: Project Report

20

Time Table

Notice

Student open activity

Activity fetches Time table

Time table arrange in form

Show the Time Table form

Student open activity

Activity fetches all notice

arrange tham by date and priority

Show the notice

Page 21: Project Report

21

Result

Student open activity

Activity fetches all subject data

GPA Calculate

Show resul and GPA

Arrange data in table

Page 22: Project Report

22

Use Case

Student

Page 23: Project Report

23

Teacher

Page 24: Project Report

24

CHAPTER 7

CODE TEMPLATES

K-SOAP data retrieval code

package com.wb.acadsync;

import org.ksoap2.SoapEnvelope;

import org.ksoap2.serialization.SoapObject;

import org.ksoap2.serialization.SoapSerializationEnvelope;

import org.ksoap2.transport.AndroidHttpTransport;

public class retrive {

String data1;

String data2;

retrive dataret()

{

String Namespace ="http://tempuri.org/";

String Method_Name="retrivedata";

String Action="http://tempuri.org/retrivedata";

String Url="http://192.168.116.1/webservice1/Service1.asmx";

SoapObject table = null;

SoapObject Client =null;

SoapObject tableRow= null;

SoapObject responseBody=null;

Page 25: Project Report

25

SoapSerializationEnvelope sse =null;

sse = new SoapSerializationEnvelope(SoapEnvelope.VER11);

sse.addMapping(Namespace,"retrive",this.getClass());

sse.dotNet =true;

AndroidHttpTransport androidHttpTransport = new

AndroidHttpTransport(Url);

retrive nr = new retrive();

try

{

Client = new SoapObject(Namespace,Method_Name);

sse.setOutputSoapObject(Client);

sse.bodyOut=Client;

androidHttpTransport.call(Action,sse);

//get XML

responseBody =(SoapObject) sse.getResponse();

//data

responseBody = (SoapObject)responseBody.getProperty(1);

Page 26: Project Report

26

//get table content

table = (SoapObject)responseBody.getProperty(0);

//getinfo

tableRow = (SoapObject) table.getProperty(0);

nr.data1=tableRow.getProperty("name").toString();

nr.data2=tableRow.getProperty("class").toString();

return nr;

}

catch (Exception e)

{

nr.data1 = e.toString();

nr.data2 = e.toString();

return nr;

}

}

}

Page 27: Project Report

27

CHAPTER 8

TESTING

The application was simultaneously tested on 3 devices :

Samsung GT-S5360 | Galaxy Y (Android 2.3.6 GingerBread)

Aakash Tablet (Android 4.0.3 Ice Cream Sandwich)

Lava ZTC Tablet (Android 4.0.3 Ice Cream Sandwich)

The app was found to be running without any major issues and the data retrieval

was perfectly executed.

For testing, first all activities were individually implemented and tested through

static data. All arrangement and inacceptable issues were dealt with in this

phase.

Once through with this design, the activities were integrated into one full

consolidated app, titled AcadSyncOne. This application was a static demo of

how the software would look on completion. Further improvements were made

to the design as required.

Finally, data was fetched from the established MySQL server and was arranged

into the application, replacing the statically fed data. Some minor issues came up

during this phase and were conveniently dealt with.

Post this phase, several relocations were tried on the server network and the

applications and a negligible amount of imperfections were seen, indicating that

the project is in a considerably good state given that this is the first draft.

The testing procedure was thus completed until any further innovation to the

app.

Page 28: Project Report

28

CHAPTER 9

SCREEN SHOTS

Attendance

Page 29: Project Report

29

Personal Detail

Page 30: Project Report

30

CHAPTER 10

CONCLUSION

This project will be really helpful in providing required necessary information to

the people of a university and if developed properly, can be scaled up further as

per requirement.

It can be an easy to use, efficient and time saving tool.

With this project we are aiming at understanding how android applications work

and how they can be linked up to internet (web services).

FUTURE PROSPCTIVE

• Could be used in any university to ease out the manual efforts.

• The concept of AcadSync could be extended on an industrial organization‟s

database as well.

Page 31: Project Report

31

Bibliography

WROX Android development VI

Orielly‟s Android Developemt

Web References

K-SOAP Devoloper website

www.stackoverflow.com | Stack Overflow

developers.android.com | Official Android Developer Reference

Visual Studio reference

Microsoft Virtual Academy (MVA)

www.wikipedia.org | WikiPedia

Page 32: Project Report

32

Appendix

The Android Platform

Android is a Linux-based mobile phone operating system developed by Google.

Android is unique because Google is actively developing the platform but giving

it away for free to hardware manufacturers and phone carriers who want to use

Android on their devices.

A modified version of Android is used in the Google TV, the Barnes & Noble

Nook eReader, the Samsung Galaxy Tab, and countless other devices. Parrot

makes both a digital photo frame and a car stereo system powered by modified

versions of Android.

Open Handset Alliance:

Google formed a group of hardware, software, and telecommunication

companies called the Open Handset Alliance with the goal of contributing to

Android development. Most members also have the goal of making money from

Android, either by selling phones, phone service, or mobile applications.

Android Market:

Anyone can download the SDK (software development kit) and write

applications for Android phones. Google doesn't screen developers or

applications.

These apps can be downloaded from the Android Market. If the app costs

money, you pay for it using Google Checkout. T-Mobile also has an agreement

to allow their phone customers to purchase some apps and have the fee added to

their monthly phone bill.

Some devices do not include support for the Android Market and may use an

alternative market.

Service Providers:

The iPhone has been very popular for AT&T, but unless you void your warranty

to unlock it, you can only use an iPhone with AT&T. Android is an open

platform, so many carriers can potentially offer Android-powered phones. That

doesn't mean individual carriers won't lock the specific phone they sell you to

their service, but every major carrier in the US offers an Android phone.

Android is currently the fastest growing phone platform in the world.

Data Plan:

To use Android on a phone, you need a data plan on top of your voice plan. You

can't even activate an Android phone without a data plan enabled. Some

networks in the US offered tiered data service, and some offer unlimited plans.

Page 33: Project Report

33

Google Services:

Because Google developed Android, it comes with a lot of Google services

installed right out of the box. Gmail, Google Calendar, Google Maps, and

Google Web search are all pre-installed, and Google is also the default Web

page for the Web browser. However, because Android can be modified, carriers

can choose to change this. Verizon Wireless, for instance, has modified some

Android phones to use Bing as the default search engine.

Touchscreen:

Android supports a touch screen and is difficult to use without one. You can use

a trackball for some navigation, but nearly everything is done through touch.

Android also supports multi-touch gestures such as pinch-to-zoom in versions

2.1 (Eclair) and above.

Keyboard:

The initial release of Android required a separate keyboard. However,

"Cupcake," (Android 1.5) and later editions have all supported an on-screen

keyboard. That means you can use models like the Verizon Droid 2 that include

a slide-out physical keyboard or the HTC EVO that rely entirely on the touch

screen.

The Bottom Line:

Android is an exciting platform for consumers and developers. It is the

philosophical opposite of the iPhone in many ways. Where the iPhone tries to

create the best user experience by restricting hardware and software standards,

Android tries to insure it by opening up as much of the operating system as

possible.

This is both good and bad. Fragmented versions of Android may provide a

unique user experience, but they also mean fewer users per variation. That

means it's harder to support for app developers, accessory makers, and

technology writers (ahem). Because each Android upgrade must be modified for

the specific hardware and user interface upgrades of each device, that also

means it takes longer for modified Android phones to receive updates.

Fragmentation issues aside, Android is a robust platform that boasts some of the

fastest and most amazing phones and tablets on the market.