SlideShare a Scribd company logo
1
JAYPEE INSTITUTE OF INFORMATION TECHNOLOGY,NOIDA
MAJOR PROJECT
REPORT
(DIVIDE AND CONQUER)
(ANDROID BASED)
PROJECT MENTOR: SUBMITTED BY:
Mr. ANKUR KULHARI Arvind Singh
(9910103535)
(Batch - F-4 )
2
INDEX
S No. Table Contents Page Number
1) DECLARATION 3
2) CERTIFICATE 4
3) ACKNOWLEDGEMENT 5
4) INTRODUCTION 6
5) PROBLEM STATEMENT 7
6) PROPOSED SOLUTION AND ALGORITHM 7 to 13
7) Research Papers Annotations 14 to 24
a) A Framework for Multilingual Applications on the Android
Platform
14 to 16
b) Android Technology Research Paper 17 to 19
c) Android vs. Symbian OS vs. Windows Mobile 20 to 23
8) RESEARCH PAPER REFERENCES 24
9) FIELD SURVEY 25
10) SYSTEM REQUIREMENT SPECIFICATION 26 to 34
11) TOOLS AND TECHNOLOGY 35 to 36
12) RISK ANALYSIS AND MITIGATION PLAN 37
13) IMPLEMENTATION 38
14) TEST PLAN 39 to 40
15) CONCLUSION 41
16) FUTURE SCOPE 41
3
DECLARATION
I hereby declare that this submission is my own work and that, to the best of my
knowledge and belief, it contains no material previously published or written by
another person nor material which has been accepted for the award of any other
degree or diploma of the university or other institute of higher learning, except
where due acknowledgment has been made in the text.
Place: Delhi Signature:
Date: 30/05/2014 Name: Arvind Singh
Enrollment No: 9910103535
4
CERTIFICATE
This is to certify that the work titled Divide and Conquer submitted by Arvind
Singh in partial fulfillment for the award of degree of B. Tech. from Jaypee
Institute of Information Technology University, Noida has been carried out under
my supervision. This work has not been submitted partially or wholly to any other
University or Institute for the award of this or any other degree or diploma.
Signature of Supervisor:
Name of Supervisor: Mr. Ankur Kulhari
Date: 30/05/2014
5
ACKNOWLEDGEMENT
My most humble and sincere thanks to:
My mentor, Mr. Ankur Kulhari for helping me and guiding me throughout the
project.
My teachers for guiding me and giving me new ideas on how to make this a
successful project. My parents for supporting me at every point.
Signature of the Student:
Name of Student: Arvind Singh
Enrollment Number: 9910103535
Date: 30/05/2014
6
INTRODUCTION
Divide and Conquer is an android based Application which runs on the android Platform. A good game
that deals with your logical skills.
This is a good pass time. This game helps to enhance good skills and the game is to divide the area for
the ball.
Domain and Platform:
Domain: Application Development
Platform: Java (Android), Swing which is easy to work as compared to Symbian Operating System or
Windows [3]
7
Literature Survey
PROBLEM STATEMENT:-
As the android trend in market increases the games and apps have increased. Here we manage
to design an interesting game for a good pass time and also to increase your logical skills.
Assumptions of the proposed solution:
1. The application is running on a device with either of the two resolutions sets:
a) HDPI
b) MDPI
2. The application is running on device with a micro-controller based on ARM.
3. The device is running with a minimum android build of Android 2.2.
To create alternative bitmap drawables for different densities, you should follow the 3:4:6:8 scaling ratio
between the four generalized densities. For example, if you have a bitmap drawable that's 48x48 pixels
for medium-density screen (the size for a launcher icon), all the different sizes should be:
 36x36 for low-density
 48x48 for medium-density
 72x72 for high-density
 96x96 for extra high-density
To help you target some of your designs for different types of devices, here are some numbers for
typical screen widths:
 320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
 480dp: a tweener tablet like the Streak (480x800 mdpi).
 600dp: a 7” tablet (600x1024 mdpi).
 720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
8
Various screen configurations available from emulator skins in the Android SDK
(indicated in bold) and other representative resolutions.
Low density (120),
ldpi
Medium density
(160), mdpi
High density
(240), hdpi
Extra high density
(320), xhdpi
Small screen QVGA (240x320) 480x640
Normal
screen
WQVGA400
(240x400)
WQVGA432
(240x432)
HVGA (320x480)
WVGA800
(480x800)
WVGA854
(480x854)
600x1024
640x960
Large screen
WVGA800**
(480x800)
WVGA854**
(480x854)
WVGA800*
(480x800)
WVGA854*
(480x854)
600x1024
Extra Large
screen
1024x600
WXGA (1280x800)†
1024x768
1280x768
1536x1152
1920x1152
1920x1200
2048x1536
2560x1536
2560x1600
* To emulate this configuration, specify a custom density of 160 when creating an AVD that uses a WVGA800 or
WVGA854 skin.
** To emulate this configuration, specify a custom density of 120 when creating an AVD that uses a WVGA800 or
WVGA854 skin.
† This skin is available with the Android 3.0 platform
Android runs on a variety of devices that offer different screen sizes and densities. For applications, the
Android system provides a consistent development environment across devices and handles most of the
work to adjust each application's user interface to the screen on which it is displayed. At the same time,
the system provides APIs that allow you to control your application's UI for specific screen sizes and
densities, in order to optimize your UI design for different screen configurations. For example, you might
want a UI for tablets that's different from the UI for handsets.
Although the system performs scaling and resizing to make your application work on different screens,
you should make the effort to optimize your application for different screen sizes and densities. In doing
9
so, you maximize the user experience for all devices and your users believe that your application was
actually designed for their devices—rather than simply stretched to fit the screen on their devices.
By following the practices described in this document, you can create an application that displays
properly and provides an optimized user experience on all supported screen configurations, using a
single .apk file.
Solution Approach and proposed solution:
1. For storing data we will use SQL Lite database.
2. For development purpose we will use eclipse.
3. We will use the 'Ice-Cream Sandwich' (Android 4.0) iteration as our reference platform.
4. For icon and UI designing we are working on Adobe Photoshop.
5. We are also using some open-source icon sets.
Scope and Limitations of the Solution:
1. Will not work well on devices with 720 Pixilated (720p) screens size.
2. Students and service employees will especially benefit from this application. Through this they can
manage and assess their expenditures and liabilities
3.We hav used SQLite database in our Project to store maximum of data we want.
10
Terms and concepts
1)Screen size
Actual physical size, measured as the screen's diagonal.
For simplicity, Android groups all actual screen sizes into four generalized sizes: small, normal,
large, and extra large.
2)Screen density
The quantity of pixels within a physical area of the screen; usually referred to as dpi (dots per
inch). For example, a "low" density screen has fewer pixels within a given physical area,
compared to a "normal" or "high" density screen.
For simplicity, Android groups all actual screen densities into four generalized densities: low,
medium, high, and extra high.
3)Orientation
The orientation of the screen from the user's point of view. This is either landscape or portrait,
meaning that the screen's aspect ratio is either wide or tall, respectively. Be aware that not only
do different devices operate in different orientations by default, but the orientation can change
at runtime when the user rotates the device.
4)Resolution
The total number of physical pixels on a screen. When adding support for multiple screens,
applications do not work directly with resolution; applications should be concerned only with
screen size and density, as specified by the generalized size and density groups.
5)Density-independent pixel (dp)
A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or
position in a density-independent way.
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is
the baseline density assumed by the system for a "medium" density screen. At runtime, the
system transparently handles any scaling of the dp units, as necessary, based on the actual
density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi /
160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp
11
units when defining your application's UI, to ensure proper display of your UI on screens with
different densities.
Use wrap_content, fill_parent, or the dp unit for layout dimensions in Coding:-
When defining the android:layout_width and android:layout_height for views in an XML layout file,
using "wrap_content", "fill_parent" or dp units guarantees that the view is given an appropriate size on
the current device screen.
For instance, a view with a layout_width="100dp" measures 100 pixels wide on medium-density screen
and the system scales it up to 150 pixels wide on high-density screen, so that the view occupies
approximately the same physical space on the screen.
SQLite database:
Unlike client–server database management systems, the SQLite engine has no standalone processes
with which the application program communicates. Instead, the SQLite library is linked in and thus
becomes an integral part of the application program. (In this, SQLite follows the precedent of Informix
SE of c. 1984) The library can also be called dynamically. The application program uses SQLite's
functionality through simple function calls, which reduce latency in database access: function calls
within a single process are more efficient than inter-process communication. SQLite stores the entire
database (definitions, tables, indices, and the data itself) as a single cross-platform file on a host
machine. It implements this simple design by locking the entire database file during writing. SQLite read
operations can be multitasked, though writes can only be performed sequentially.
12
PAPERS
PAPER-I
A Framework for Multilingual Applications on the Android Platform
Gregoire D ´ etrez, Ramona Enache ´
Department of Computer Science and Engineering
Chalmers University of Technology and University of Gothenburg
Abstract
In this paper we describe a Java library allowing applications to use advanced linguistic knowledge on
Android devices. We implemented parts of the Grammatical Framework runtime system and optimized
it to run on Android handheld devices. This allows building mobile applications on top of GF grammars.
Introduction
This paper describes our work in implementing the basic GF runtime system in Java and using it for
building applications on the Android platform.GF (Grammatical Framework) is a type-theoretical
grammar formalism and a functional programming language. It is mainly used in multilingual grammar
applications for formalizing the syntax of natural languages. Compared to many other approaches to
computational linguistics, which are based on statistical methods and machine learning, GF treats
natural languages from a programming languages perspective. The key idea of GF is to have an abstract
syntax defining the main categories and rules that connect them, which is common to all grammars and
many concrete syntaxes that implement the categories and relations from the abstract syntax, following
specific characteristics of the given language. The abstract syntax describes the grammar conceptually
and provides a framework for the actual computational grammars, which are the concrete syntax
modules. It also limits the coverage of the grammar to the constructions that could be built using the
13
elements of the abstract syntax. From this point of view, GF is similar to other grammar formalisms like
HPSG and LFG. The main operations that can be performed on a GF grammar are parsing from natural
language to the abstract syntax tree representing the underlying concept and linearization that
generates natural language constructions in a certain language from an abstract syntax tree. By
combining this two operations one obtains a translation between any two concrete grammars. This
approach has the advantage that the translation will always be syntactically correct, due to the fact that
the linearization in a certain grammar, uses the implementation of the concrete syntax module. In
addition to this, GF provides a portable runtime format, PGF (Angelov et al., 2010) which can be used to
embed the libraries further on in applications written in programming languages that provide a suitable
interpreter. In this way, other projects can use GF modules, as normal software libraries for the
development of other projects.PGF interpreters exists for Haskell and JavaScript at the moment, and our
work resulted in the Java version of the interpreter.
Motivations
There are many motivations to have linguistic application son handled devices. One can think of
automatic translation, tools for languages learner or for travelers and help for impaired people. Many
existing services in those categories requires a live connection to the internet, which is not always
available, especially when one is traveling abroad. One of the advantage of GF is its extensive and
growing resource library, with formal grammar and basic vocabulary for over 16 languages (Ranta,
2009). The library provides the linguistic background for developing domain- specific grammars and
other language applications. And finally, we choose the Android platform to experiment because of its
openness and its growing adoption.
Related work
Aarne Ranta implemented an multilingual translator for number working on mobile devices. It was
implemented in JavaScript and it ran as a webpage in the device browser.The grammatical framework
runtime has once been implemented in Java by Bjorn Bringert (Bringert, 2005) ¨but this implementation
was not maintained anymore and didn’t follow recent changes in the grammar format and the runtime
system.
Implementation
The current runtime system being written in Haskell, and since the algorithms for parsing and
linearization are specifics to GF, we couldn’t use pre-existing libraries and implemented it from scratch.
During the beginning of this project, we concentrated on implementing and optimizing the parser and
linearizer. The main reason is that the limited computing power of the targeted devices would make
difficult to implement the full GF runtime system.
Those component are enough to build interesting application using natural language. Moreover, for
complex grammars, we quickly reach the limits of the devices computing power.The parsing algorithm is
described in (Angelov, 2009)and the linearization algorithm in (Angelov and Ranta,2010).375.
Application. We developed a simple phrasebook application to demonstrate a possible use of the library
(http://www.grammaticalframework.org/android/). The application allows the user to enter simple
sentences in a controlled language and to translate them in a different language. This application is
based on the MOLTO phrasebook project (http://www.molto-project.eu/demo/phrasebook). This is a
relevant use case as it has a clear potential for usage because of the high quality
14
of the translations and the variety of languages for which the grammar was deviced. It is also worth
mentioning that the reasonable coverage of the grammar makes the phrasebook applicable in many
day-to-day situations for tourists traveling abroard.
To allow easy and fast input while restraining the user to the controlled language, we used an interface
similar to the fridge magnets application (http://tournesol.cs.chalmers.se:41296/fridge). This
demonstrate the utility of predictive parsing on the cell phone. This feature is a great aid for users of a
controlled language, since they can always be aware of the coverage, and the possibilities that the
grammar offers. (See screenshot in figure 1.)What is more is that the Android platform provides services
for high-quality voice synthesis for a number of languages, which can be plugged to the grammar
applications. This gives our approach a great advantage over the traditional phrasebooks.
Future work
Though we already worked hard on improving the initial performances and to make the user experience
acceptable, gain in this domain are still possible. A next step might also be to implement some parts of
the logical framework.
15
PAPER-II
Android Technology Research Paper
By Christoph Alme, head of Anti-Malware R&D at HTC Inc.
INTRODUCTION:
Android technology is a type of OSS (open source software), which is a type of software readily available
with a source code that isn’t held exclusive by copyright laws. Android is made specially for mobile
devices and includes: software that provides common services for computer applications, middleware,
which lets multiple applications run at the same time or connect, and many other key applications like
social networking, games, and business modules. Android is modeled after Linux kernel, the first
operating system of free and open-source software. However, Android is moving to increase the
number of people with web access via mobile devices (cell phones). In August of 2005, Google
purchased the original software developer of Android. Android technology includes the hardware
devices, operating systems, and computer-programming languages used by the Android phone. Android
developers write in java language, which is why the majority of the open-source software stack consists
of Java applications on a Java-based framework that is object-oriented. Some of the most popular
android products are HTC-EVO 4G and Droid X, 2, and Pro smart phones as well as one of it’s latest
developments, the Motorola XOOM, an Android tablet. Android continues to progress in its production
of newer software, smart phones, etc. To date, there are over two hundred thousand applications
offered for Android. Lastly, Android technology has improved mobile technology by forming the Open
Handset Alliance, a group of handset manufacturers, service providers, and chip producers whose goal is
to form the ecosystem for Android operating systems.
POTENTIAL BENEFITS:
Android technology hosts a number of potential benefits to possible consumers. Android is powered by
open-source software stack, which means it is free to obtain and can be accessed from the Internet. In
fact, Google has out sourced codes of Android technology on the web to be trialed. It safe to say that
Google sees an importance in the customers familiarizing themselves with the product before
purchasing say a smart phone, tablet, etc. that comes equip with Android technology. In saying this, it
would be incorrect to say that Android manufacturers don’t believe in customer service. Another,
benefit of Android is its push to increase the number of people with mobile web access. A benefit of
mobile access to the web relieves the hassle of trying to find a desktop or waiting until one gets home to
check emails, Google groups, social networking sites that hold important information, etc. Android
Technology is provided in a wide array of products, such as the Motorola Droid X. More specifically,
benefits of Droid X are perks like: its 4.3 inch vivid display allowing for pocket-sized home theater
quality, the ability to control your home’s Front point security system, an advanced 8 mega-pixel camera
with dual flash that captures pictures and records HD videos, and an HDMI output that is capable of
connecting to your home HD television to view your HD videos. Ultimately, each product carrying
Android technology has it’s own little perks whether that’s software, elongated battery life, etc. The
potential benefits of this kind of technology outweigh any potential pitfalls. According to Marguerite
Reardon in her CNET news article Living with Technology: Google Android and the Wireless Future,
16
“much of the software’s success will be determined by what others in the ecosystem choose to do with
it” (Reardon 1). This means benefits can be endless, because with android technology you get what you
put in, as cliché as that sounds, the more applications you add to your device the more sufficient you
and your mobile device will be.
PERSPECTIVES:
Like all other advancements in technology, Android technology is a modification of what came before it
(Linux kernel). Due to nature of it being a new and exciting type of technology, people have begun to
voice perspective on legal, social, ethical, and security conditions of products including the
software. First, to clear up any confusion Google only has rights to the software or operating system; it
is not there job to supply the build or make devices. Rights to manufacture phones/smart phones and
other devices using Android operating systems powered by Google are companies like LG, HTC,
Samsung, and Motorola. Also, service providers like Verizon and T-Mobile only provide cell phone
service; they don’t manufacture the phones or write the software that is put into them. This is
something that catches people off guard when they see these devices being sold at local Verizon and T-
Mobile stores. The main determinant of social perspectives is feedback whether that’s in the form of a
review or letter. Mobile technology specialist Ian Fogg had this to say, “Android offers some key
advantages. Handset manufacturers can get a leg up, a quicker start, because they're using Android as a
base, they can still differentiate with software, and they get the advantage of having compatibility with
all the applications out in the Android marketplace." The idea of taking something like a cellular phone
and inserting Android technology exponential improves the user’s capability to interact with others
based on a number of different applications and simply by mobilizing web access. Opinions of Ethical
standards in terms of Android technology go hand in hand with opinions of its security policies. First, in
order to activate the software you must purchase a data plan, which is billed monthly in addition to the
total cost of the device itself. This rules out the obsoleteness of the software, because although it is
freely obtainable it is not in free and workable condition without a data plan. This is a feature of
Android technology that society rewards; being able to main exclusivity underlines the importance,
safety, and integrity of the company. Also, in terms of perspectives on ethics and security, phones have
in put GPS devices that signal where the phone is, if it is ever to lost or stolen. Lastly, ethics are built on
societal needs and coming through with them. One of the many pre-installed application that comes
with an Android device is an application called “places”. This application allows people to locate
necessary “places”: gas stations, ATM’s, and dining facilities in their vicinity with just the touch of a
button.
17
OBSTACLES:
One of the biggest obstacles that caused a minor setback for Google’s Android during the beginning of
its expansion was its absence of Bluetooth API (application programming interface). Ken Dulaney, a
Gartner analyst, pointed out that although there was no Bluetooth API, “Android’s partial support for
headsets would alleviate some concerns“(Ruffolo 1). However, it didn’t take away all potential
problems. Dulaney continued by saying, “one of the major side effects of the missing Bluetooth API –
and of the open source platform in general – is that the Android-based handhelds will suffer from
serious fragmentation across the various vendors using the platform, complicating the development
process” (Ruffolo 1). Yet, these weren’t obstacles that couldn’t have been overcome. The author talks
about how even Apple had problems with the iPhone in its manufacturing stages; all that was needed
was time for developers to grow and their product to further mature.
CONCLUSION:
Android technology is a open-source software that has created numerous possibilities with its many
potential benefits such as: applications, mobile web access, and growing popularity/dependability. It
has received positive feedback from the public in terms of applications and software that apply to legal,
social, ethical, and security perspectives. Lastly, although it is apparent that minor set backs have
occurred in the developing of products with Android technology, time will allow them to grow and
improve from stages of experimentation.
18
PAPER-III
Android vs. Symbian OS vs. Windows Mobile
(Dr.A.K Anthony from University of Texas,Austin)
This thesis deals with the comparison between Android and the operating systems Symbian
OS and Windows Mobile. Before comparing these operating systems, some basic terminology must be
established. This includes the following questions:
1) What is an operating system?
An operating system is an organizational unit within a computer system. It is the interface
between applications and hardware. The primary function is the administration of the
available operating resources.
2) What is a mobile system?
A mobile system is a computer system which isn’t linked to a certain place. It is possible
to move it or carry it around like e.g. a cell phone, a handheld or a special computer
system in a car. Although there are many similarities between a stationary and a mobile
operating system, there are also clear distinctions concerning mobility. An example for an
application where a normal operating system is not able to be used is ABS control in a
car. An operating system like Windows XP which is not stable enough to guarantee the
running of the ABS system over a long time, cannot be used. This example points out
which attributes are important for a mobile system of any device: The system must be
stable and fail-proof.
Classification of operating systems for mobile devices
Mobile devices have changed their profile dramatically in the last years. The advanced mobile
phones of today integrate fully-featured personal digital assistant (PDA) capabilities with those of a
traditional mobile phone. This chapter examines the critical factors for operating systems in this
market which differentiate them from each other.
Characteristics of the mobile phone market
The classification of operating systems has to consider the market in which they are used. The
market for advanced mobile devices is hard to compare to other markets like the PC market where
also operating systems are used. User needs and requirements are different.
Symbian, manufacturer of the mobile operating system Symbian OS, believes that the mobile phone
market has five key characteristics that make it unique, and result in the need for a specifically
designed operating system:
1. Mobility: mobile phones are both small and mobile
2. Universal: mobile phones are ubiquitous – they target a mass market of consumer,
enterprise and professional users
3. Connection: mobile phones are occasionally connected – they can be used when
19
connected to the wireless phone network, locally to other devices, or on their own
4. Innovation: manufacturers need to differentiate their products in order to innovate and
compete in a fast-evolving market.
5. Open: the platform has to be open to enable independent technology and software
vendors to develop third-party applications, technologies and services
These five characteristics of the mobile phone market underline the difference to other markets
where operating systems are used. To be successful in this market, a product must address these
characteristics without limiting functionalities.
Classification criteria
Try to classify operating systems for the purpose of comparison. Technical aspects of these systems
have to be considered, also user needs are very important. Because user needs differ the
identification of an ideal operating system is not possible. Only a classification or an optimal
solution relating to a certain group of individuals is possible.
In the following we will have a look at classification criteria which are important to compare
operating systems. For the purpose of clarity I will divide the criteria in several different groups.
Looking at the mobile phone market characteristics from chapter 3.1.1 we can deduce the following
criteria which are important for a successful operating system
Main criteria
1) Portability
Portability is the characteristic of being transportable from one location to another. As to
Operating system for advanced mobile devices it means the possibility to use the operating
System on every cell phone, no matter which brand or type.
2) Reliability
Reliability is the ability of a system to perform its required functions under stated
Conditions for a specific period of time.
3) Connectivity
Connectivity is the unbiased transport of packets between two end points. As to operating
Systems for advanced mobile devices it means the possibility to connect supported by the
operating system like wireless, Bluetooth or infrared.
4) Product diversity
Product diversity is the difference, characteristic or feature which makes the product
special. As to operating systems for advanced mobile devices it constitutes the key factor
of the system which makes the product unique. The marketing strategy of the producer
plays also a major role with regard to this criterion.
20
Android vs. Symbian OS vs. Windows Mobile 20
1) Open System
An Open System is a collection of interacting software, hardware and components with
well-defined, publicly available interfaces maintained by a consensus process. As to
operating systems for advanced mobile devices it means the free usage and expandability
of the system which allows to change it in every possible way.
The above are the main criteria I will address. They are most important for a classification of an
operating system in my opinion. They will be explained and discussed in detail. But before that I will
address another group of criteria. I would like to expand the main group with a few criteria which I think
are also important for a classification of an operating system.
2) Kernel size
The kernel of the operating system is the central component which is responsible for
memory management, process and task management, and disk management. The size of
the kernel is very important to operating systems for advanced mobile devices as it is
loaded first and then remains in the main memory of the operating system. This
Influences the capacity.
3) Standards
A standard is a commonly approved or accepted definition or format. An operating
systems for advanced mobile devices needs standards concerning programming language,
Android vs. Symbian OS vs. Windows Mobile 21 connectivity, data exchange and networking. This is also
an important factor for an open system.
4) Security
Security is the attribute of a system to be safe against attacks or other interference. As to
operating systems for advanced mobile devices it means the features of the operating
system in order to make it safe in any respect.
5) Special features
Special features of operating systems are features which make the difference between
them. These additional criteria combined with the criteria deduced from the characteristics listed in
subsection 3.1.1 are adequate in my opinion to build a foundation for a detailed and significant
classification of operating systems for advanced mobile phones which can be used by everyone.
Further criteria
There are many other criteria which can be consulted to classify an operating system. This criteriaare
user-dependent, which means that every user assesses this criteria in a different way.
Because of that I will address some other groups of criteria that can be consulted for the
classification of the operating systems. These criteria will not be explained in detail because they are
either self-explanatory or user dependent. A table at the end of this subsction displays the
criteria.
21
The further criteria are:
Basic criteria
1) Public domain or private domain.
2) Manufacturer-specific or manufacturer independent.
3) User driven or manufacturer driven.
4) Functionality is disclosed and well documented or functionality is closed and badly
documented.
5) Configuration possibility is given or configuration possibility is less given.
6) Market alignment
Technical criteria
1) Power management
2) Multitasking
3) Configuration possibility
4) Footprint
Usability criteria
1) Acts on the assumption of experienced user or acts on the assumption of inexperienced
user
2) Good usability or bad usability
3) Applications
4) Driver configuration
User Interface criteria
1) Division between operating system and user interface
2) Change of user interfaces
22
RESEARCH PAPER REFERENCES
[1] Gregoire D ´ etrez, Ramona Enache ´Department of Computer Science and Engineering Chalmers
University of Technology and University of Gothenburg , “A Framework for Multilingual
Applications on the Android Platform”.
[2] Christoph Alme Head of Anti-Malware R&D at HTC Inc, “Android Technology Research Paper”.
[3] By Dr.A.K Anthony University of Texas, Austin , “ Android vs. Symbian OS vs. Windows Mobile”.
23
Field Survey :-
For the purpose of our project, we did some initial field survey where we interacted with android
programmer in Delhi who are working in the same domain and had undertaken related projects. We has
also interacted with some senior of my college in order to gain more perspective and be more intuitive
regarding the necessity of such project and related applications.
The Android Developer Tools (ADT) plugin for Eclipse provides a professional-grade development
environment for building Android apps.It's a full Java IDE with advanced features to help you build,
test,debug,and package your Android apps.Free,open-source, and runs on most major OS platforms.
Existing Tool Survey :-
As per our initial and exhaustive research, we were unable to find any application or software that
provided developers with speech recognition framework (that user speech classification and feature
selection) and thus allowed them to develop engaging and intuitive applications. There had been no
such commercial available tools however, certain tools have been developed by researchers for their
respective departments and research groups. This field is still in active development and is at the heart
of significant research activity in recent times.
Integrated Summary of Studied Literature
Optimization can occur in different stages of the development cycle and in different areas. For example,
the target architecture can be upgraded, algorithms could be modified, compilers’ optimization power
can be turned on, and coding practices might be subject to amendment. Upgrading the mobile
architecture is not practical for the general developer, as it would generally require significant
modifications of internal chip architectures or device structures. Algorithms on the other hand are
dependent on the context and field they are being used in and are therefore often application
dependent.
Android device just has 1 core and you never need to care about multithreading. It is just WRONG. You
still need to do a lot of multithreading to reach a better level of performance.
The main thread will do the user touch event handler and view rendering. Then, if you use the main
thread for some calculation that takes a lot of time then your UI just become frozen or not smooth when
you scroll.
Mobile platforms have the resource-constrained characteristic, demanding to optimize the program to
make up for the relative lack of resources. In this paper, using java as the development language, mainly
optimize the code side and display side for the android platform applications. Experimental results
show that the technique improves efficiency and user experience degree.
24
SOFTWARE REQUIREMENTS
SPECIFICATION
ANDROID BASED DIVIDE AND CONQUER GAME
1.0 Introduction
The basic goal of this document is to specify the software requirements in our project
1.1 Purpose of this document
The purpose of this SRS document is to provide a detailed overview of our software product,its
parameters and goals.This document describes the project’s target audience and its user
interface,hardware and software requirements.It defines how our client,team and audience see the
product and its functionalities.
1.2 Scope of the development project
With the tough economic situation of today, we could use any help we can get in order to stay on top of
our financial situation and to monitor our budgets effectively. Perhaps you could use some help in
keeping track of your financial health. Android Authority has done a search for you and we now bring
you the best apps for personal finance management
25
2. Specific Requirements
2.1 Functional Requirements
2.1.1 Search Class Catalog
The user will have the ability to search the class catalog for various classes and find information on each
of the classes in the catalog. This will be integrated in with the Class Search Screen.
2.1.2 Add/Drop Classes
The user will have the ability to add or drop the classes that they have found. This feature will be useful
for setting up a new schedule or for changing classes after a semester has already started. The Class
Management screen will provide the use with the screen that will show them their current classes. If the
user wants to add or drop they will then go to the Class Listing Screen which will have the add and drop
option.
2.1.3 Confirm Schedule
The user will have the ability to confirm their schedule through the application. This involves either
clicking confirm because the user has adequate funding to pay for the semester or paying for the
semester then clicking confirm.
2.2 Non-Functional Requirements
2.2.1 Security
Security will be an issue because of the possibility of monetary transactions as well as the various
student data being transferred over a wireless connection. Because of these issues the application will
have various security features to enable to user to know that all action performed on the application will
be safe.
26
2.2.2 Visual Aesthetics
The application will be aesthetically appealing to the user in order to make the application more
desirable.We will test whether or not we have successfully created an aesthetically appealing
application by using team members as test subjects.
2.2.3 Connection Permanency
The application will be availability 24/7 so that the users can asses all features of the application no
matter the time.
2.3 Performance requirements
The product can be web based and run from a web-server.Initial load time depends on the media from
which the product is run.Once the product is loaded,it runs completely within the computer’s memory.
2.4 Quality Attributes
The product is target towards users under the supervision of a mentor.A mentor must be able to use
and understand the product as easily as a user.The product must load quickly and work well on a variety
of computer systems.It must also tolerate a wide variety of input possibilities from a user,such as
incorrect responses or unforeseen keystrokes and selections from a pointing device.
27
Android working:-
28
TOOLS AND TECHNOLOGY
Why Android SDK? [3]
The Android software development kit (SDK) includes a comprehensive set of development tools. These
include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and
tutorials. Currently supported development platforms include computers running Linux (any modern
desktop Linux distribution), Mac OS X 10.5.8 or later, Windows XP or later. The officially supported
integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) Plug-
in, though developers may use any text editor to edit Java and XML files then use command line tools
(Java Development Kit and Apache Ant are required) to create, build and debug Android applications as
well as control attached Android devices (e.g., triggering a reboot, installing software package(s)
remotely).
Enhancements to Android's SDK go hand in hand with the overall Android platform development. The
SDK also supports older versions of the Android platform in case developers wish to target their
applications at older devices. Development tools are downloadable components, so after one has
downloaded the latest version and platform, older platforms and tools can also be downloaded for
compatibility testing.
Android applications are packaged in .apk format and stored under /data/app folder on the Android OS
(the folder is accessible only to root user for security reasons). APK package contains .dex files (compiled
byte code files called Dalvik executables), resource files, etc.
It also provide us to work on Multilingual function like there are many Android nase application that has
a feature to show text in many language like German, Italian, English etc. [1]
Java standards
Obstacles to development include the fact that Android does not use established Java standards, i.e.
Java SE and ME. This prevents compatibility among Java applications written for those platforms and
those for the Android platform. Android only reuses the Java language syntax and semantics, but does
not provide the full class libraries and APIs bundled with Java SE or ME. However, there are multiple
tools in the market from companies such as Myriad Group and UpOnTek that provide J2ME to Android
conversion services.
29
Eclipse
It is a multi-language software development environment comprising an integrated development
environment (IDE) and an extensible plug-in system. It is written mostly in Java. It can be used to
develop applications in Java and, by means of various plug-ins, other programming languages including
Ada, C, C++, COBOL, Haskell, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala,
Clojure, Groovy, Android and Scheme. It can also be used to develop packages for the software
Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java,
Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.
The initial codebase originated from IBM VisualAge. The Eclipse SDK (which includes the Java
development tools) is meant for Java developers. Users can extend its abilities by installing plug-ins
written for the Eclipse Platform, such as development toolkits for other programming languages, and
can write and contribute their own plug-in modules.
Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source software. It
was one of the first IDEs to run under GNU Classpath and it runs without issues under IcedTea.
Server platform
Eclipse supports development for Tomcat, GlassFish and many other servers and is often capable of
installing the required server (for development) directly from the IDE. It supports remote debugging,
allowing the user to watch variables and step through the code of an application that is running on the
attached server.
30
Risk Analysis & Risk Mitigation
Risk ID Risk
Description
Risk Area Probabilty
(P)
Impact
(I)
RE
(P*I)
Risk for
M Plan
M Plan C Plan
1) Entering
Expenses
detail fails
due to
Device
problem
Software 1 5 5 Y Display
Message
NA
2) Detail
entered
don’t get
saved in
database
Software 1 5 5 Y Will
display
warning
NA
3) Not able to
display the
Details
Entered
Software 3 5 15 N NA NA
4) Database
may get
Corrupted
Software 1 5 5 Y Check the
Database
again
NA
31
Debugging
Sno. Bug Description Cause of the Bug Removal steps
1. Value Not entered Phone may get
hanged
Restart phone aor
close non using
Apps.
2. Unhandled memory exception Memory needed to
be released for every
variable
Release commands
and destructors for
all variables
3. Not enough memory in heap/stack Need to increase
memory
Change linker
settings
4. Class not found Utility package not
imported
Required packages
were imported
5. Overflow Exceed the size of a
regular 4 byte
integer
Use long long int
instead
6. Eclispse encountered an
unexpected error
eclipse receives data
in unexpected
format
Restarted IDE
TESTING
Type of test Will the test be
performed
Comments/Explanations Software
components
Requirement testing Yes This is to keep a check
whether the application
is developed as per
requirements.
It involved all the
All modules
32
requirements of the
project depending upon
various factors like
resources and time.
Unit Yes To check whether all
units are working as
intended.
The different modules
will include the main as
well as the supporting
individual units
Expenditure/Assests
etc module
Integration Yes To check if integration
of all individual modules
is successful.
Applied to all
modules.
Performance Yes We execute the
performance on the
basis of the execution
time.
Calling module
Stress No As of now it is a single
user application.
Compliance Yes To test if the new
methods give similar
and usable results for
the existing and
supporting softwares.
All modules
Security No No need to check if the
data and functionality is
protected.
Test schedule
Activity Start Date Completion
Date
Time Components
Data collection 10/04/14 12/04/14 2days Completed
Test planning 13/04/14 14/04/14 1days Completed
33
Test case planning 14/04/14 15/04/14 1days Completed
Test Development 16/04/14 17/04/14 1days Completed
Test execution/Evaluation 18/04/14 20/04/14 2days Completed
Summary /Report 21/04/14 23/04/14 2days Completed
Test team details
Role Name Responsibility
Tester Arvind Singh Everything
Limitations of the solution
 This project works properly on android 3.0 or later
 Testing of project can be done only on registered devices.
Conclusions
This project has been a great learning experience for in the field of mobile application development.
Conceptually, this project was very challenging and taught me many things. This project would help the
architects and interior designers in giving a good presentation of their designs and imagination on paper.
I would like to take the opportunity of thanking my supervisor Mr. Ankur Kulhari for guiding me
throughout.
34
Future Work
We plan on carrying this work forward and extend it to full body application, our future work includes-
 Develop a more user Friendly graphical UI for the entire application.
 To solve bugs in the existing App.
 To enhance the Speed of App and try to add more feature in the App.

More Related Content

Viewers also liked

Location sharing and automatic message sender Android Application
Location sharing and automatic message sender Android ApplicationLocation sharing and automatic message sender Android Application
Location sharing and automatic message sender Android ApplicationKavita Sharma
 
1 location tracking of android device based on sms
 1 location tracking of android device based on sms 1 location tracking of android device based on sms
1 location tracking of android device based on smsiCreateWorld
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Priyanka Kapoor
 
Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Parthik Poshiya
 
Location based reminder
Location based reminderLocation based reminder
Location based reminderjunnubabu
 
Location Tracking of Android Device Based on SMS.
Location Tracking of Android Device Based on SMS.Location Tracking of Android Device Based on SMS.
Location Tracking of Android Device Based on SMS.iCreateWorld
 
Restaurant billing application
Restaurant billing applicationRestaurant billing application
Restaurant billing applicationch samaram
 
Application of coordinate system and vectors in the real life
Application of coordinate system and vectors in the real lifeApplication of coordinate system and vectors in the real life
Application of coordinate system and vectors in the real lifeАлиакбар Рахимов
 
Project report on gsm based digital notice board
Project report on gsm based digital notice boardProject report on gsm based digital notice board
Project report on gsm based digital notice boardmanish katara
 
Sample project abstract
Sample project abstractSample project abstract
Sample project abstractklezeh
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsUsman Sait
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Androidyashonil
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Reportstalin george
 

Viewers also liked (16)

Room rental system
Room rental systemRoom rental system
Room rental system
 
Location sharing and automatic message sender Android Application
Location sharing and automatic message sender Android ApplicationLocation sharing and automatic message sender Android Application
Location sharing and automatic message sender Android Application
 
1 location tracking of android device based on sms
 1 location tracking of android device based on sms 1 location tracking of android device based on sms
1 location tracking of android device based on sms
 
Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)Report on e-Notice App (An Android Application)
Report on e-Notice App (An Android Application)
 
Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)Final Year Project Report on Self Tacit Zone (Location Based Android App)
Final Year Project Report on Self Tacit Zone (Location Based Android App)
 
Location based reminder
Location based reminderLocation based reminder
Location based reminder
 
Location Tracking of Android Device Based on SMS.
Location Tracking of Android Device Based on SMS.Location Tracking of Android Device Based on SMS.
Location Tracking of Android Device Based on SMS.
 
Restaurant billing application
Restaurant billing applicationRestaurant billing application
Restaurant billing application
 
Application of coordinate system and vectors in the real life
Application of coordinate system and vectors in the real lifeApplication of coordinate system and vectors in the real life
Application of coordinate system and vectors in the real life
 
Project report on gsm based digital notice board
Project report on gsm based digital notice boardProject report on gsm based digital notice board
Project report on gsm based digital notice board
 
Abstract
AbstractAbstract
Abstract
 
Sample project abstract
Sample project abstractSample project abstract
Sample project abstract
 
My Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & SnapshotsMy Project Report Documentation with Abstract & Snapshots
My Project Report Documentation with Abstract & Snapshots
 
Bus tracking application in Android
Bus tracking application in AndroidBus tracking application in Android
Bus tracking application in Android
 
Android College Application Project Report
Android College Application Project ReportAndroid College Application Project Report
Android College Application Project Report
 
Android report
Android reportAndroid report
Android report
 

Similar to divide and qonquer

Supporting Multiple Screen In Android
Supporting Multiple Screen In AndroidSupporting Multiple Screen In Android
Supporting Multiple Screen In Androidrobbypontas
 
Designing Android apps for multiple screens
Designing Android apps for multiple screensDesigning Android apps for multiple screens
Designing Android apps for multiple screensAbhijeet Dutta
 
Supporting multi screen in android
Supporting multi screen in androidSupporting multi screen in android
Supporting multi screen in androidrffffffff007
 
Android Development - Session 4
Android Development - Session 4Android Development - Session 4
Android Development - Session 4Mohammad Shaker
 
Android training day 3
Android training day 3Android training day 3
Android training day 3Vivek Bhusal
 
Supporting multiple screens on android
Supporting multiple screens on androidSupporting multiple screens on android
Supporting multiple screens on androidLi SUN
 
Supporting multi screen in android cn
Supporting multi screen in android cnSupporting multi screen in android cn
Supporting multi screen in android cnrffffffff007
 
Design guidelines for android developers
Design guidelines for android developersDesign guidelines for android developers
Design guidelines for android developersQandil Tariq
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile applicationMengChun Lam
 
Android在多屏幕、多设备上的适配 | 布丁 任斐
Android在多屏幕、多设备上的适配 | 布丁 任斐Android在多屏幕、多设备上的适配 | 布丁 任斐
Android在多屏幕、多设备上的适配 | 布丁 任斐imShining @DevCamp
 
UX and UI Designing for all android screen
UX and UI Designing for all android screenUX and UI Designing for all android screen
UX and UI Designing for all android screenArnold Saputra
 
Idiot's Guide to viewport and pixel
Idiot's Guide to viewport and pixelIdiot's Guide to viewport and pixel
Idiot's Guide to viewport and pixelNathan Campos
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentRamesh Prasad
 
Designing for mobile
Designing for mobileDesigning for mobile
Designing for mobileDee Sadler
 
Android Design Guidelines 1.1
Android Design Guidelines 1.1Android Design Guidelines 1.1
Android Design Guidelines 1.1Mutual Mobile
 

Similar to divide and qonquer (20)

Supporting Multiple Screen In Android
Supporting Multiple Screen In AndroidSupporting Multiple Screen In Android
Supporting Multiple Screen In Android
 
UI and UX for Mobile Developers
UI and UX for Mobile DevelopersUI and UX for Mobile Developers
UI and UX for Mobile Developers
 
Designing Android apps for multiple screens
Designing Android apps for multiple screensDesigning Android apps for multiple screens
Designing Android apps for multiple screens
 
Supporting multi screen in android
Supporting multi screen in androidSupporting multi screen in android
Supporting multi screen in android
 
Android Development - Session 4
Android Development - Session 4Android Development - Session 4
Android Development - Session 4
 
Pixel Perfect
Pixel PerfectPixel Perfect
Pixel Perfect
 
Android training day 3
Android training day 3Android training day 3
Android training day 3
 
Supporting multiple screens on android
Supporting multiple screens on androidSupporting multiple screens on android
Supporting multiple screens on android
 
Supporting multi screen in android cn
Supporting multi screen in android cnSupporting multi screen in android cn
Supporting multi screen in android cn
 
Design guidelines for android developers
Design guidelines for android developersDesign guidelines for android developers
Design guidelines for android developers
 
Android game ppt
Android game pptAndroid game ppt
Android game ppt
 
Tk2323 lecture 1 introduction to mobile application
Tk2323 lecture 1   introduction to mobile applicationTk2323 lecture 1   introduction to mobile application
Tk2323 lecture 1 introduction to mobile application
 
Android在多屏幕、多设备上的适配 | 布丁 任斐
Android在多屏幕、多设备上的适配 | 布丁 任斐Android在多屏幕、多设备上的适配 | 布丁 任斐
Android在多屏幕、多设备上的适配 | 布丁 任斐
 
UX and UI Designing for all android screen
UX and UI Designing for all android screenUX and UI Designing for all android screen
UX and UI Designing for all android screen
 
Idiot's Guide to viewport and pixel
Idiot's Guide to viewport and pixelIdiot's Guide to viewport and pixel
Idiot's Guide to viewport and pixel
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Designing for mobile
Designing for mobileDesigning for mobile
Designing for mobile
 
Multi Screen Hell
Multi Screen HellMulti Screen Hell
Multi Screen Hell
 
Android Design Guidelines 1.1
Android Design Guidelines 1.1Android Design Guidelines 1.1
Android Design Guidelines 1.1
 
10 inch POS Network Android Advertising Display
10 inch POS Network Android Advertising Display10 inch POS Network Android Advertising Display
10 inch POS Network Android Advertising Display
 

Recently uploaded

Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdfKamal Acharya
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdfKamal Acharya
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdfKamal Acharya
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Krakówbim.edu.pl
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageRCC Institute of Information Technology
 
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfRESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Pharmacy management system project report..pdf
Pharmacy management system project report..pdfPharmacy management system project report..pdf
Pharmacy management system project report..pdfKamal Acharya
 
IT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data AnalysisIT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data AnalysisDr. Radhey Shyam
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdfKamal Acharya
 
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGBRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGKOUSTAV SARKAR
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdfAhmedHussein950959
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectRased Khan
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationRobbie Edward Sayers
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringC Sai Kiran
 
Peek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdfPeek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdfAyahmorsy
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-IVigneshvaranMech
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringC Sai Kiran
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industriesMuhammadTufail242431
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionjeevanprasad8
 

Recently uploaded (20)

Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdf
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdf
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Kraków
 
Scaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltageScaling in conventional MOSFET for constant electric field and constant voltage
Scaling in conventional MOSFET for constant electric field and constant voltage
 
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfRESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
 
Pharmacy management system project report..pdf
Pharmacy management system project report..pdfPharmacy management system project report..pdf
Pharmacy management system project report..pdf
 
IT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data AnalysisIT-601 Lecture Notes-UNIT-2.pdf Data Analysis
IT-601 Lecture Notes-UNIT-2.pdf Data Analysis
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWINGBRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
BRAKING SYSTEM IN INDIAN RAILWAY AutoCAD DRAWING
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Arduino based vehicle speed tracker project
Arduino based vehicle speed tracker projectArduino based vehicle speed tracker project
Arduino based vehicle speed tracker project
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-4 Notes for II-II Mechanical Engineering
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Peek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdfPeek implant persentation - Copy (1).pdf
Peek implant persentation - Copy (1).pdf
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-5 Notes for II-II Mechanical Engineering
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 

divide and qonquer

  • 1. 1 JAYPEE INSTITUTE OF INFORMATION TECHNOLOGY,NOIDA MAJOR PROJECT REPORT (DIVIDE AND CONQUER) (ANDROID BASED) PROJECT MENTOR: SUBMITTED BY: Mr. ANKUR KULHARI Arvind Singh (9910103535) (Batch - F-4 )
  • 2. 2 INDEX S No. Table Contents Page Number 1) DECLARATION 3 2) CERTIFICATE 4 3) ACKNOWLEDGEMENT 5 4) INTRODUCTION 6 5) PROBLEM STATEMENT 7 6) PROPOSED SOLUTION AND ALGORITHM 7 to 13 7) Research Papers Annotations 14 to 24 a) A Framework for Multilingual Applications on the Android Platform 14 to 16 b) Android Technology Research Paper 17 to 19 c) Android vs. Symbian OS vs. Windows Mobile 20 to 23 8) RESEARCH PAPER REFERENCES 24 9) FIELD SURVEY 25 10) SYSTEM REQUIREMENT SPECIFICATION 26 to 34 11) TOOLS AND TECHNOLOGY 35 to 36 12) RISK ANALYSIS AND MITIGATION PLAN 37 13) IMPLEMENTATION 38 14) TEST PLAN 39 to 40 15) CONCLUSION 41 16) FUTURE SCOPE 41
  • 3. 3 DECLARATION I hereby declare that this submission is my own work and that, to the best of my knowledge and belief, it contains no material previously published or written by another person nor material which has been accepted for the award of any other degree or diploma of the university or other institute of higher learning, except where due acknowledgment has been made in the text. Place: Delhi Signature: Date: 30/05/2014 Name: Arvind Singh Enrollment No: 9910103535
  • 4. 4 CERTIFICATE This is to certify that the work titled Divide and Conquer submitted by Arvind Singh in partial fulfillment for the award of degree of B. Tech. from Jaypee Institute of Information Technology University, Noida has been carried out under my supervision. This work has not been submitted partially or wholly to any other University or Institute for the award of this or any other degree or diploma. Signature of Supervisor: Name of Supervisor: Mr. Ankur Kulhari Date: 30/05/2014
  • 5. 5 ACKNOWLEDGEMENT My most humble and sincere thanks to: My mentor, Mr. Ankur Kulhari for helping me and guiding me throughout the project. My teachers for guiding me and giving me new ideas on how to make this a successful project. My parents for supporting me at every point. Signature of the Student: Name of Student: Arvind Singh Enrollment Number: 9910103535 Date: 30/05/2014
  • 6. 6 INTRODUCTION Divide and Conquer is an android based Application which runs on the android Platform. A good game that deals with your logical skills. This is a good pass time. This game helps to enhance good skills and the game is to divide the area for the ball. Domain and Platform: Domain: Application Development Platform: Java (Android), Swing which is easy to work as compared to Symbian Operating System or Windows [3]
  • 7. 7 Literature Survey PROBLEM STATEMENT:- As the android trend in market increases the games and apps have increased. Here we manage to design an interesting game for a good pass time and also to increase your logical skills. Assumptions of the proposed solution: 1. The application is running on a device with either of the two resolutions sets: a) HDPI b) MDPI 2. The application is running on device with a micro-controller based on ARM. 3. The device is running with a minimum android build of Android 2.2. To create alternative bitmap drawables for different densities, you should follow the 3:4:6:8 scaling ratio between the four generalized densities. For example, if you have a bitmap drawable that's 48x48 pixels for medium-density screen (the size for a launcher icon), all the different sizes should be:  36x36 for low-density  48x48 for medium-density  72x72 for high-density  96x96 for extra high-density To help you target some of your designs for different types of devices, here are some numbers for typical screen widths:  320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).  480dp: a tweener tablet like the Streak (480x800 mdpi).  600dp: a 7” tablet (600x1024 mdpi).  720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
  • 8. 8 Various screen configurations available from emulator skins in the Android SDK (indicated in bold) and other representative resolutions. Low density (120), ldpi Medium density (160), mdpi High density (240), hdpi Extra high density (320), xhdpi Small screen QVGA (240x320) 480x640 Normal screen WQVGA400 (240x400) WQVGA432 (240x432) HVGA (320x480) WVGA800 (480x800) WVGA854 (480x854) 600x1024 640x960 Large screen WVGA800** (480x800) WVGA854** (480x854) WVGA800* (480x800) WVGA854* (480x854) 600x1024 Extra Large screen 1024x600 WXGA (1280x800)† 1024x768 1280x768 1536x1152 1920x1152 1920x1200 2048x1536 2560x1536 2560x1600 * To emulate this configuration, specify a custom density of 160 when creating an AVD that uses a WVGA800 or WVGA854 skin. ** To emulate this configuration, specify a custom density of 120 when creating an AVD that uses a WVGA800 or WVGA854 skin. † This skin is available with the Android 3.0 platform Android runs on a variety of devices that offer different screen sizes and densities. For applications, the Android system provides a consistent development environment across devices and handles most of the work to adjust each application's user interface to the screen on which it is displayed. At the same time, the system provides APIs that allow you to control your application's UI for specific screen sizes and densities, in order to optimize your UI design for different screen configurations. For example, you might want a UI for tablets that's different from the UI for handsets. Although the system performs scaling and resizing to make your application work on different screens, you should make the effort to optimize your application for different screen sizes and densities. In doing
  • 9. 9 so, you maximize the user experience for all devices and your users believe that your application was actually designed for their devices—rather than simply stretched to fit the screen on their devices. By following the practices described in this document, you can create an application that displays properly and provides an optimized user experience on all supported screen configurations, using a single .apk file. Solution Approach and proposed solution: 1. For storing data we will use SQL Lite database. 2. For development purpose we will use eclipse. 3. We will use the 'Ice-Cream Sandwich' (Android 4.0) iteration as our reference platform. 4. For icon and UI designing we are working on Adobe Photoshop. 5. We are also using some open-source icon sets. Scope and Limitations of the Solution: 1. Will not work well on devices with 720 Pixilated (720p) screens size. 2. Students and service employees will especially benefit from this application. Through this they can manage and assess their expenditures and liabilities 3.We hav used SQLite database in our Project to store maximum of data we want.
  • 10. 10 Terms and concepts 1)Screen size Actual physical size, measured as the screen's diagonal. For simplicity, Android groups all actual screen sizes into four generalized sizes: small, normal, large, and extra large. 2)Screen density The quantity of pixels within a physical area of the screen; usually referred to as dpi (dots per inch). For example, a "low" density screen has fewer pixels within a given physical area, compared to a "normal" or "high" density screen. For simplicity, Android groups all actual screen densities into four generalized densities: low, medium, high, and extra high. 3)Orientation The orientation of the screen from the user's point of view. This is either landscape or portrait, meaning that the screen's aspect ratio is either wide or tall, respectively. Be aware that not only do different devices operate in different orientations by default, but the orientation can change at runtime when the user rotates the device. 4)Resolution The total number of physical pixels on a screen. When adding support for multiple screens, applications do not work directly with resolution; applications should be concerned only with screen size and density, as specified by the generalized size and density groups. 5)Density-independent pixel (dp) A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way. The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp
  • 11. 11 units when defining your application's UI, to ensure proper display of your UI on screens with different densities. Use wrap_content, fill_parent, or the dp unit for layout dimensions in Coding:- When defining the android:layout_width and android:layout_height for views in an XML layout file, using "wrap_content", "fill_parent" or dp units guarantees that the view is given an appropriate size on the current device screen. For instance, a view with a layout_width="100dp" measures 100 pixels wide on medium-density screen and the system scales it up to 150 pixels wide on high-density screen, so that the view occupies approximately the same physical space on the screen. SQLite database: Unlike client–server database management systems, the SQLite engine has no standalone processes with which the application program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the application program. (In this, SQLite follows the precedent of Informix SE of c. 1984) The library can also be called dynamically. The application program uses SQLite's functionality through simple function calls, which reduce latency in database access: function calls within a single process are more efficient than inter-process communication. SQLite stores the entire database (definitions, tables, indices, and the data itself) as a single cross-platform file on a host machine. It implements this simple design by locking the entire database file during writing. SQLite read operations can be multitasked, though writes can only be performed sequentially.
  • 12. 12 PAPERS PAPER-I A Framework for Multilingual Applications on the Android Platform Gregoire D ´ etrez, Ramona Enache ´ Department of Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Abstract In this paper we describe a Java library allowing applications to use advanced linguistic knowledge on Android devices. We implemented parts of the Grammatical Framework runtime system and optimized it to run on Android handheld devices. This allows building mobile applications on top of GF grammars. Introduction This paper describes our work in implementing the basic GF runtime system in Java and using it for building applications on the Android platform.GF (Grammatical Framework) is a type-theoretical grammar formalism and a functional programming language. It is mainly used in multilingual grammar applications for formalizing the syntax of natural languages. Compared to many other approaches to computational linguistics, which are based on statistical methods and machine learning, GF treats natural languages from a programming languages perspective. The key idea of GF is to have an abstract syntax defining the main categories and rules that connect them, which is common to all grammars and many concrete syntaxes that implement the categories and relations from the abstract syntax, following specific characteristics of the given language. The abstract syntax describes the grammar conceptually and provides a framework for the actual computational grammars, which are the concrete syntax modules. It also limits the coverage of the grammar to the constructions that could be built using the
  • 13. 13 elements of the abstract syntax. From this point of view, GF is similar to other grammar formalisms like HPSG and LFG. The main operations that can be performed on a GF grammar are parsing from natural language to the abstract syntax tree representing the underlying concept and linearization that generates natural language constructions in a certain language from an abstract syntax tree. By combining this two operations one obtains a translation between any two concrete grammars. This approach has the advantage that the translation will always be syntactically correct, due to the fact that the linearization in a certain grammar, uses the implementation of the concrete syntax module. In addition to this, GF provides a portable runtime format, PGF (Angelov et al., 2010) which can be used to embed the libraries further on in applications written in programming languages that provide a suitable interpreter. In this way, other projects can use GF modules, as normal software libraries for the development of other projects.PGF interpreters exists for Haskell and JavaScript at the moment, and our work resulted in the Java version of the interpreter. Motivations There are many motivations to have linguistic application son handled devices. One can think of automatic translation, tools for languages learner or for travelers and help for impaired people. Many existing services in those categories requires a live connection to the internet, which is not always available, especially when one is traveling abroad. One of the advantage of GF is its extensive and growing resource library, with formal grammar and basic vocabulary for over 16 languages (Ranta, 2009). The library provides the linguistic background for developing domain- specific grammars and other language applications. And finally, we choose the Android platform to experiment because of its openness and its growing adoption. Related work Aarne Ranta implemented an multilingual translator for number working on mobile devices. It was implemented in JavaScript and it ran as a webpage in the device browser.The grammatical framework runtime has once been implemented in Java by Bjorn Bringert (Bringert, 2005) ¨but this implementation was not maintained anymore and didn’t follow recent changes in the grammar format and the runtime system. Implementation The current runtime system being written in Haskell, and since the algorithms for parsing and linearization are specifics to GF, we couldn’t use pre-existing libraries and implemented it from scratch. During the beginning of this project, we concentrated on implementing and optimizing the parser and linearizer. The main reason is that the limited computing power of the targeted devices would make difficult to implement the full GF runtime system. Those component are enough to build interesting application using natural language. Moreover, for complex grammars, we quickly reach the limits of the devices computing power.The parsing algorithm is described in (Angelov, 2009)and the linearization algorithm in (Angelov and Ranta,2010).375. Application. We developed a simple phrasebook application to demonstrate a possible use of the library (http://www.grammaticalframework.org/android/). The application allows the user to enter simple sentences in a controlled language and to translate them in a different language. This application is based on the MOLTO phrasebook project (http://www.molto-project.eu/demo/phrasebook). This is a relevant use case as it has a clear potential for usage because of the high quality
  • 14. 14 of the translations and the variety of languages for which the grammar was deviced. It is also worth mentioning that the reasonable coverage of the grammar makes the phrasebook applicable in many day-to-day situations for tourists traveling abroard. To allow easy and fast input while restraining the user to the controlled language, we used an interface similar to the fridge magnets application (http://tournesol.cs.chalmers.se:41296/fridge). This demonstrate the utility of predictive parsing on the cell phone. This feature is a great aid for users of a controlled language, since they can always be aware of the coverage, and the possibilities that the grammar offers. (See screenshot in figure 1.)What is more is that the Android platform provides services for high-quality voice synthesis for a number of languages, which can be plugged to the grammar applications. This gives our approach a great advantage over the traditional phrasebooks. Future work Though we already worked hard on improving the initial performances and to make the user experience acceptable, gain in this domain are still possible. A next step might also be to implement some parts of the logical framework.
  • 15. 15 PAPER-II Android Technology Research Paper By Christoph Alme, head of Anti-Malware R&D at HTC Inc. INTRODUCTION: Android technology is a type of OSS (open source software), which is a type of software readily available with a source code that isn’t held exclusive by copyright laws. Android is made specially for mobile devices and includes: software that provides common services for computer applications, middleware, which lets multiple applications run at the same time or connect, and many other key applications like social networking, games, and business modules. Android is modeled after Linux kernel, the first operating system of free and open-source software. However, Android is moving to increase the number of people with web access via mobile devices (cell phones). In August of 2005, Google purchased the original software developer of Android. Android technology includes the hardware devices, operating systems, and computer-programming languages used by the Android phone. Android developers write in java language, which is why the majority of the open-source software stack consists of Java applications on a Java-based framework that is object-oriented. Some of the most popular android products are HTC-EVO 4G and Droid X, 2, and Pro smart phones as well as one of it’s latest developments, the Motorola XOOM, an Android tablet. Android continues to progress in its production of newer software, smart phones, etc. To date, there are over two hundred thousand applications offered for Android. Lastly, Android technology has improved mobile technology by forming the Open Handset Alliance, a group of handset manufacturers, service providers, and chip producers whose goal is to form the ecosystem for Android operating systems. POTENTIAL BENEFITS: Android technology hosts a number of potential benefits to possible consumers. Android is powered by open-source software stack, which means it is free to obtain and can be accessed from the Internet. In fact, Google has out sourced codes of Android technology on the web to be trialed. It safe to say that Google sees an importance in the customers familiarizing themselves with the product before purchasing say a smart phone, tablet, etc. that comes equip with Android technology. In saying this, it would be incorrect to say that Android manufacturers don’t believe in customer service. Another, benefit of Android is its push to increase the number of people with mobile web access. A benefit of mobile access to the web relieves the hassle of trying to find a desktop or waiting until one gets home to check emails, Google groups, social networking sites that hold important information, etc. Android Technology is provided in a wide array of products, such as the Motorola Droid X. More specifically, benefits of Droid X are perks like: its 4.3 inch vivid display allowing for pocket-sized home theater quality, the ability to control your home’s Front point security system, an advanced 8 mega-pixel camera with dual flash that captures pictures and records HD videos, and an HDMI output that is capable of connecting to your home HD television to view your HD videos. Ultimately, each product carrying Android technology has it’s own little perks whether that’s software, elongated battery life, etc. The potential benefits of this kind of technology outweigh any potential pitfalls. According to Marguerite Reardon in her CNET news article Living with Technology: Google Android and the Wireless Future,
  • 16. 16 “much of the software’s success will be determined by what others in the ecosystem choose to do with it” (Reardon 1). This means benefits can be endless, because with android technology you get what you put in, as cliché as that sounds, the more applications you add to your device the more sufficient you and your mobile device will be. PERSPECTIVES: Like all other advancements in technology, Android technology is a modification of what came before it (Linux kernel). Due to nature of it being a new and exciting type of technology, people have begun to voice perspective on legal, social, ethical, and security conditions of products including the software. First, to clear up any confusion Google only has rights to the software or operating system; it is not there job to supply the build or make devices. Rights to manufacture phones/smart phones and other devices using Android operating systems powered by Google are companies like LG, HTC, Samsung, and Motorola. Also, service providers like Verizon and T-Mobile only provide cell phone service; they don’t manufacture the phones or write the software that is put into them. This is something that catches people off guard when they see these devices being sold at local Verizon and T- Mobile stores. The main determinant of social perspectives is feedback whether that’s in the form of a review or letter. Mobile technology specialist Ian Fogg had this to say, “Android offers some key advantages. Handset manufacturers can get a leg up, a quicker start, because they're using Android as a base, they can still differentiate with software, and they get the advantage of having compatibility with all the applications out in the Android marketplace." The idea of taking something like a cellular phone and inserting Android technology exponential improves the user’s capability to interact with others based on a number of different applications and simply by mobilizing web access. Opinions of Ethical standards in terms of Android technology go hand in hand with opinions of its security policies. First, in order to activate the software you must purchase a data plan, which is billed monthly in addition to the total cost of the device itself. This rules out the obsoleteness of the software, because although it is freely obtainable it is not in free and workable condition without a data plan. This is a feature of Android technology that society rewards; being able to main exclusivity underlines the importance, safety, and integrity of the company. Also, in terms of perspectives on ethics and security, phones have in put GPS devices that signal where the phone is, if it is ever to lost or stolen. Lastly, ethics are built on societal needs and coming through with them. One of the many pre-installed application that comes with an Android device is an application called “places”. This application allows people to locate necessary “places”: gas stations, ATM’s, and dining facilities in their vicinity with just the touch of a button.
  • 17. 17 OBSTACLES: One of the biggest obstacles that caused a minor setback for Google’s Android during the beginning of its expansion was its absence of Bluetooth API (application programming interface). Ken Dulaney, a Gartner analyst, pointed out that although there was no Bluetooth API, “Android’s partial support for headsets would alleviate some concerns“(Ruffolo 1). However, it didn’t take away all potential problems. Dulaney continued by saying, “one of the major side effects of the missing Bluetooth API – and of the open source platform in general – is that the Android-based handhelds will suffer from serious fragmentation across the various vendors using the platform, complicating the development process” (Ruffolo 1). Yet, these weren’t obstacles that couldn’t have been overcome. The author talks about how even Apple had problems with the iPhone in its manufacturing stages; all that was needed was time for developers to grow and their product to further mature. CONCLUSION: Android technology is a open-source software that has created numerous possibilities with its many potential benefits such as: applications, mobile web access, and growing popularity/dependability. It has received positive feedback from the public in terms of applications and software that apply to legal, social, ethical, and security perspectives. Lastly, although it is apparent that minor set backs have occurred in the developing of products with Android technology, time will allow them to grow and improve from stages of experimentation.
  • 18. 18 PAPER-III Android vs. Symbian OS vs. Windows Mobile (Dr.A.K Anthony from University of Texas,Austin) This thesis deals with the comparison between Android and the operating systems Symbian OS and Windows Mobile. Before comparing these operating systems, some basic terminology must be established. This includes the following questions: 1) What is an operating system? An operating system is an organizational unit within a computer system. It is the interface between applications and hardware. The primary function is the administration of the available operating resources. 2) What is a mobile system? A mobile system is a computer system which isn’t linked to a certain place. It is possible to move it or carry it around like e.g. a cell phone, a handheld or a special computer system in a car. Although there are many similarities between a stationary and a mobile operating system, there are also clear distinctions concerning mobility. An example for an application where a normal operating system is not able to be used is ABS control in a car. An operating system like Windows XP which is not stable enough to guarantee the running of the ABS system over a long time, cannot be used. This example points out which attributes are important for a mobile system of any device: The system must be stable and fail-proof. Classification of operating systems for mobile devices Mobile devices have changed their profile dramatically in the last years. The advanced mobile phones of today integrate fully-featured personal digital assistant (PDA) capabilities with those of a traditional mobile phone. This chapter examines the critical factors for operating systems in this market which differentiate them from each other. Characteristics of the mobile phone market The classification of operating systems has to consider the market in which they are used. The market for advanced mobile devices is hard to compare to other markets like the PC market where also operating systems are used. User needs and requirements are different. Symbian, manufacturer of the mobile operating system Symbian OS, believes that the mobile phone market has five key characteristics that make it unique, and result in the need for a specifically designed operating system: 1. Mobility: mobile phones are both small and mobile 2. Universal: mobile phones are ubiquitous – they target a mass market of consumer, enterprise and professional users 3. Connection: mobile phones are occasionally connected – they can be used when
  • 19. 19 connected to the wireless phone network, locally to other devices, or on their own 4. Innovation: manufacturers need to differentiate their products in order to innovate and compete in a fast-evolving market. 5. Open: the platform has to be open to enable independent technology and software vendors to develop third-party applications, technologies and services These five characteristics of the mobile phone market underline the difference to other markets where operating systems are used. To be successful in this market, a product must address these characteristics without limiting functionalities. Classification criteria Try to classify operating systems for the purpose of comparison. Technical aspects of these systems have to be considered, also user needs are very important. Because user needs differ the identification of an ideal operating system is not possible. Only a classification or an optimal solution relating to a certain group of individuals is possible. In the following we will have a look at classification criteria which are important to compare operating systems. For the purpose of clarity I will divide the criteria in several different groups. Looking at the mobile phone market characteristics from chapter 3.1.1 we can deduce the following criteria which are important for a successful operating system Main criteria 1) Portability Portability is the characteristic of being transportable from one location to another. As to Operating system for advanced mobile devices it means the possibility to use the operating System on every cell phone, no matter which brand or type. 2) Reliability Reliability is the ability of a system to perform its required functions under stated Conditions for a specific period of time. 3) Connectivity Connectivity is the unbiased transport of packets between two end points. As to operating Systems for advanced mobile devices it means the possibility to connect supported by the operating system like wireless, Bluetooth or infrared. 4) Product diversity Product diversity is the difference, characteristic or feature which makes the product special. As to operating systems for advanced mobile devices it constitutes the key factor of the system which makes the product unique. The marketing strategy of the producer plays also a major role with regard to this criterion.
  • 20. 20 Android vs. Symbian OS vs. Windows Mobile 20 1) Open System An Open System is a collection of interacting software, hardware and components with well-defined, publicly available interfaces maintained by a consensus process. As to operating systems for advanced mobile devices it means the free usage and expandability of the system which allows to change it in every possible way. The above are the main criteria I will address. They are most important for a classification of an operating system in my opinion. They will be explained and discussed in detail. But before that I will address another group of criteria. I would like to expand the main group with a few criteria which I think are also important for a classification of an operating system. 2) Kernel size The kernel of the operating system is the central component which is responsible for memory management, process and task management, and disk management. The size of the kernel is very important to operating systems for advanced mobile devices as it is loaded first and then remains in the main memory of the operating system. This Influences the capacity. 3) Standards A standard is a commonly approved or accepted definition or format. An operating systems for advanced mobile devices needs standards concerning programming language, Android vs. Symbian OS vs. Windows Mobile 21 connectivity, data exchange and networking. This is also an important factor for an open system. 4) Security Security is the attribute of a system to be safe against attacks or other interference. As to operating systems for advanced mobile devices it means the features of the operating system in order to make it safe in any respect. 5) Special features Special features of operating systems are features which make the difference between them. These additional criteria combined with the criteria deduced from the characteristics listed in subsection 3.1.1 are adequate in my opinion to build a foundation for a detailed and significant classification of operating systems for advanced mobile phones which can be used by everyone. Further criteria There are many other criteria which can be consulted to classify an operating system. This criteriaare user-dependent, which means that every user assesses this criteria in a different way. Because of that I will address some other groups of criteria that can be consulted for the classification of the operating systems. These criteria will not be explained in detail because they are either self-explanatory or user dependent. A table at the end of this subsction displays the criteria.
  • 21. 21 The further criteria are: Basic criteria 1) Public domain or private domain. 2) Manufacturer-specific or manufacturer independent. 3) User driven or manufacturer driven. 4) Functionality is disclosed and well documented or functionality is closed and badly documented. 5) Configuration possibility is given or configuration possibility is less given. 6) Market alignment Technical criteria 1) Power management 2) Multitasking 3) Configuration possibility 4) Footprint Usability criteria 1) Acts on the assumption of experienced user or acts on the assumption of inexperienced user 2) Good usability or bad usability 3) Applications 4) Driver configuration User Interface criteria 1) Division between operating system and user interface 2) Change of user interfaces
  • 22. 22 RESEARCH PAPER REFERENCES [1] Gregoire D ´ etrez, Ramona Enache ´Department of Computer Science and Engineering Chalmers University of Technology and University of Gothenburg , “A Framework for Multilingual Applications on the Android Platform”. [2] Christoph Alme Head of Anti-Malware R&D at HTC Inc, “Android Technology Research Paper”. [3] By Dr.A.K Anthony University of Texas, Austin , “ Android vs. Symbian OS vs. Windows Mobile”.
  • 23. 23 Field Survey :- For the purpose of our project, we did some initial field survey where we interacted with android programmer in Delhi who are working in the same domain and had undertaken related projects. We has also interacted with some senior of my college in order to gain more perspective and be more intuitive regarding the necessity of such project and related applications. The Android Developer Tools (ADT) plugin for Eclipse provides a professional-grade development environment for building Android apps.It's a full Java IDE with advanced features to help you build, test,debug,and package your Android apps.Free,open-source, and runs on most major OS platforms. Existing Tool Survey :- As per our initial and exhaustive research, we were unable to find any application or software that provided developers with speech recognition framework (that user speech classification and feature selection) and thus allowed them to develop engaging and intuitive applications. There had been no such commercial available tools however, certain tools have been developed by researchers for their respective departments and research groups. This field is still in active development and is at the heart of significant research activity in recent times. Integrated Summary of Studied Literature Optimization can occur in different stages of the development cycle and in different areas. For example, the target architecture can be upgraded, algorithms could be modified, compilers’ optimization power can be turned on, and coding practices might be subject to amendment. Upgrading the mobile architecture is not practical for the general developer, as it would generally require significant modifications of internal chip architectures or device structures. Algorithms on the other hand are dependent on the context and field they are being used in and are therefore often application dependent. Android device just has 1 core and you never need to care about multithreading. It is just WRONG. You still need to do a lot of multithreading to reach a better level of performance. The main thread will do the user touch event handler and view rendering. Then, if you use the main thread for some calculation that takes a lot of time then your UI just become frozen or not smooth when you scroll. Mobile platforms have the resource-constrained characteristic, demanding to optimize the program to make up for the relative lack of resources. In this paper, using java as the development language, mainly optimize the code side and display side for the android platform applications. Experimental results show that the technique improves efficiency and user experience degree.
  • 24. 24 SOFTWARE REQUIREMENTS SPECIFICATION ANDROID BASED DIVIDE AND CONQUER GAME 1.0 Introduction The basic goal of this document is to specify the software requirements in our project 1.1 Purpose of this document The purpose of this SRS document is to provide a detailed overview of our software product,its parameters and goals.This document describes the project’s target audience and its user interface,hardware and software requirements.It defines how our client,team and audience see the product and its functionalities. 1.2 Scope of the development project With the tough economic situation of today, we could use any help we can get in order to stay on top of our financial situation and to monitor our budgets effectively. Perhaps you could use some help in keeping track of your financial health. Android Authority has done a search for you and we now bring you the best apps for personal finance management
  • 25. 25 2. Specific Requirements 2.1 Functional Requirements 2.1.1 Search Class Catalog The user will have the ability to search the class catalog for various classes and find information on each of the classes in the catalog. This will be integrated in with the Class Search Screen. 2.1.2 Add/Drop Classes The user will have the ability to add or drop the classes that they have found. This feature will be useful for setting up a new schedule or for changing classes after a semester has already started. The Class Management screen will provide the use with the screen that will show them their current classes. If the user wants to add or drop they will then go to the Class Listing Screen which will have the add and drop option. 2.1.3 Confirm Schedule The user will have the ability to confirm their schedule through the application. This involves either clicking confirm because the user has adequate funding to pay for the semester or paying for the semester then clicking confirm. 2.2 Non-Functional Requirements 2.2.1 Security Security will be an issue because of the possibility of monetary transactions as well as the various student data being transferred over a wireless connection. Because of these issues the application will have various security features to enable to user to know that all action performed on the application will be safe.
  • 26. 26 2.2.2 Visual Aesthetics The application will be aesthetically appealing to the user in order to make the application more desirable.We will test whether or not we have successfully created an aesthetically appealing application by using team members as test subjects. 2.2.3 Connection Permanency The application will be availability 24/7 so that the users can asses all features of the application no matter the time. 2.3 Performance requirements The product can be web based and run from a web-server.Initial load time depends on the media from which the product is run.Once the product is loaded,it runs completely within the computer’s memory. 2.4 Quality Attributes The product is target towards users under the supervision of a mentor.A mentor must be able to use and understand the product as easily as a user.The product must load quickly and work well on a variety of computer systems.It must also tolerate a wide variety of input possibilities from a user,such as incorrect responses or unforeseen keystrokes and selections from a pointing device.
  • 28. 28 TOOLS AND TECHNOLOGY Why Android SDK? [3] The Android software development kit (SDK) includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. Currently supported development platforms include computers running Linux (any modern desktop Linux distribution), Mac OS X 10.5.8 or later, Windows XP or later. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) Plug- in, though developers may use any text editor to edit Java and XML files then use command line tools (Java Development Kit and Apache Ant are required) to create, build and debug Android applications as well as control attached Android devices (e.g., triggering a reboot, installing software package(s) remotely). Enhancements to Android's SDK go hand in hand with the overall Android platform development. The SDK also supports older versions of the Android platform in case developers wish to target their applications at older devices. Development tools are downloadable components, so after one has downloaded the latest version and platform, older platforms and tools can also be downloaded for compatibility testing. Android applications are packaged in .apk format and stored under /data/app folder on the Android OS (the folder is accessible only to root user for security reasons). APK package contains .dex files (compiled byte code files called Dalvik executables), resource files, etc. It also provide us to work on Multilingual function like there are many Android nase application that has a feature to show text in many language like German, Italian, English etc. [1] Java standards Obstacles to development include the fact that Android does not use established Java standards, i.e. Java SE and ME. This prevents compatibility among Java applications written for those platforms and those for the Android platform. Android only reuses the Java language syntax and semantics, but does not provide the full class libraries and APIs bundled with Java SE or ME. However, there are multiple tools in the market from companies such as Myriad Group and UpOnTek that provide J2ME to Android conversion services.
  • 29. 29 Eclipse It is a multi-language software development environment comprising an integrated development environment (IDE) and an extensible plug-in system. It is written mostly in Java. It can be used to develop applications in Java and, by means of various plug-ins, other programming languages including Ada, C, C++, COBOL, Haskell, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework), Scala, Clojure, Groovy, Android and Scheme. It can also be used to develop packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others. The initial codebase originated from IBM VisualAge. The Eclipse SDK (which includes the Java development tools) is meant for Java developers. Users can extend its abilities by installing plug-ins written for the Eclipse Platform, such as development toolkits for other programming languages, and can write and contribute their own plug-in modules. Released under the terms of the Eclipse Public License, Eclipse SDK is free and open source software. It was one of the first IDEs to run under GNU Classpath and it runs without issues under IcedTea. Server platform Eclipse supports development for Tomcat, GlassFish and many other servers and is often capable of installing the required server (for development) directly from the IDE. It supports remote debugging, allowing the user to watch variables and step through the code of an application that is running on the attached server.
  • 30. 30 Risk Analysis & Risk Mitigation Risk ID Risk Description Risk Area Probabilty (P) Impact (I) RE (P*I) Risk for M Plan M Plan C Plan 1) Entering Expenses detail fails due to Device problem Software 1 5 5 Y Display Message NA 2) Detail entered don’t get saved in database Software 1 5 5 Y Will display warning NA 3) Not able to display the Details Entered Software 3 5 15 N NA NA 4) Database may get Corrupted Software 1 5 5 Y Check the Database again NA
  • 31. 31 Debugging Sno. Bug Description Cause of the Bug Removal steps 1. Value Not entered Phone may get hanged Restart phone aor close non using Apps. 2. Unhandled memory exception Memory needed to be released for every variable Release commands and destructors for all variables 3. Not enough memory in heap/stack Need to increase memory Change linker settings 4. Class not found Utility package not imported Required packages were imported 5. Overflow Exceed the size of a regular 4 byte integer Use long long int instead 6. Eclispse encountered an unexpected error eclipse receives data in unexpected format Restarted IDE TESTING Type of test Will the test be performed Comments/Explanations Software components Requirement testing Yes This is to keep a check whether the application is developed as per requirements. It involved all the All modules
  • 32. 32 requirements of the project depending upon various factors like resources and time. Unit Yes To check whether all units are working as intended. The different modules will include the main as well as the supporting individual units Expenditure/Assests etc module Integration Yes To check if integration of all individual modules is successful. Applied to all modules. Performance Yes We execute the performance on the basis of the execution time. Calling module Stress No As of now it is a single user application. Compliance Yes To test if the new methods give similar and usable results for the existing and supporting softwares. All modules Security No No need to check if the data and functionality is protected. Test schedule Activity Start Date Completion Date Time Components Data collection 10/04/14 12/04/14 2days Completed Test planning 13/04/14 14/04/14 1days Completed
  • 33. 33 Test case planning 14/04/14 15/04/14 1days Completed Test Development 16/04/14 17/04/14 1days Completed Test execution/Evaluation 18/04/14 20/04/14 2days Completed Summary /Report 21/04/14 23/04/14 2days Completed Test team details Role Name Responsibility Tester Arvind Singh Everything Limitations of the solution  This project works properly on android 3.0 or later  Testing of project can be done only on registered devices. Conclusions This project has been a great learning experience for in the field of mobile application development. Conceptually, this project was very challenging and taught me many things. This project would help the architects and interior designers in giving a good presentation of their designs and imagination on paper. I would like to take the opportunity of thanking my supervisor Mr. Ankur Kulhari for guiding me throughout.
  • 34. 34 Future Work We plan on carrying this work forward and extend it to full body application, our future work includes-  Develop a more user Friendly graphical UI for the entire application.  To solve bugs in the existing App.  To enhance the Speed of App and try to add more feature in the App.