You are on page 1of 35

SMART SECURE

Protecting your smart phone

Group No:

Team members:
Adarsh.T.S
Roll No: 2 S7. IT

Anuraj.R
Roll No: 4 S7. IT

Chandrakanth.M
Roll No: 8 S7. IT

Kiren.K
Roll No: 13 S7. IT

Umasankar
Roll No: 24 S7. IT

Team AUCKA

We taking this dream to reality

ORGANIZTION PROFILE

SRISHTI SYSTEMS PVT. LTD. provides software solutions to those who need a helping hand for advanced business technologies. Srishti has carved a niche for itself in the IT industry. Srishti is unique as it provides ready to use technology and services for clients to meet their utmost satisfaction. Srishti has a wide range of highly-skilled professionals with expertise spanning diverse domains.

Srishti engages with clients to understand their unique business and process need. We develop solution based on the client's business requirements and our experience across multiple projects. We architect and design models incorporating industry-wide best practices.

We keep in tune with the latest technological aspects and to offer more to our customers we always look for upgrading and updating our infrastructure, manpower and quality of service, to realize costumer dreams through efficient communication, honesty, and respect towards our team, clients and other entities our company is dealing with. We stands out in the competitive marketplace because of the innovation and depth of solution offerings.

As a global company we recognize the value and strength of a multicultural organization. This strength is the foundation of our companys culture where each of our employees has the opportunity to excel and develop.

Our team of skilled software developers with in-depth domain knowledge enables us to bring out the most innovative end-to-end benefits of our delivery potential, ensuring flexibility and technology domain applications hosted in state of the art technology environment.

SMART SECURE

Secures your mobile device and personal data in the event of loss or theft by allowing you to locate/track your device, helps prevent device misuse, and remotely locks your device and wipes your data. It enables you to back up and restore your data from the device or via an easy-to-use web portal..Android is an open source software stack operated in a heterogenic mobile environment. Thus, hackers can more easily access, manipulate, and exploit the operating system code very easily. As a counter suggestive remote management capabilities along with additional security solutions can improve security substantially. If an attacker steals a device, users could protect information remotely by turning on a defensive mechanism remotely through a SMS. The intended proposals are:-

Data encryption: Encrypting data is an excellent way to counter private data exposure. Because only the owner knows the key for deciphering data, the information is secure. Encrypting sensitive data can also be handled by core applications such as SMS messaging and that will require developing applications.

Context-aware access control: By employing context-aware access control (CAAC), users can limit access to their private data depending on the context in which the device is operating. Among the contextual factors are location, time and the cellular network. If the attack occurs while the device is in a context that allows access to information, the device will permit access and disclose information. However, if the device is stolen and transferred to a foreign location, the data would be secure and inaccessible to the attacker.

Remote management: If an attacker steals a device, users could protect information remotely by turning on a defensive mechanism through SMS messaging. Nevertheless, remotely managed protection features depend on human intervention during or prior to an attack. We intend spam filtering & antitheft concept with the implementation of remote management through SMS.

CONTENTS
TITLE PAGE NO

1.

Introduction 1.1 General Introduction 1.2 Statement Of Problem

1 1 1 2 3 3 3 4 8 8 9 9 11 12 13 16 18 18 18 19

2. System Analysis 2.1 Existing system 2.2 Drawbacks the existing system 2.3 Proposed System and its features 2.4 Feasibility Analysis 3. System Design 3.1 Introduction 3.1.1 3.1.2 Requirements of Specification Data Flow Diagram/UML

3.2 Output Design 3.3 Input Design 3.4 Database Design 3.5 Program Design (description of algorithm) 4. Software Features 4.1 Software Specification 4.2 Hardware Specification 4.3 Selection of Software

Smart Secure

Project Design 2011

1. INTRODUCTION

1.1. GENERAL INTRODUCTION


SMART SECURE is the complete mobile security service that protects data on your

phone, ensures privacy in the event of theft and enhances the possibility of recovering your phone. Android is an open source software stack operated in a heterogenic mobile environment. Thus, hackers can more easily access, manipulate, and exploit the operating system code very easily. As a counter suggestive remote management capabilities along with additional security solutions can improve security substantially. If an attacker steals a device, users could protect information remotely by turning on a defensive mechanism remotely through a SMS and web. The application is developed in ANDROID. The database is created using SQLite.

1.2. STATEMENT OF PROBLEM


A statement of problem is a clear description of the issue(s), it includes a vision, issue statement, and method used to solve the problem. The purpose of this project is to develop an application provides user friendly interface. The existing system provides an unrealistic interface and functioning. So that no one can easily identify the functionalities. To develop an application with user friendly interface resulting in knowing each and every usability features of the application.

Department of Information Technology

College of Engineering, Perumon

Smart Secure

Project Design 2011

2. SYSTEM ANALYSIS
System analysis is a general term that refers to an orderly, structured process for identifying and solving problems. Before designing a computer system, it is important that the nature of business and the way it currently operates are clearly understood. The detailed examination will then provide the design team with the specific data they requires in order to ensure that the clients requirements are fully met. Analysis involved a detailed study of the current system, leading to specifications of a new system. Analysis is a detailed study of various operations performed by a system and their relationships within and outside the system. During analysis, data are collected on the available files, decision points and transactions handled by the present system. Interviews, on-site observation and questionnaire are the tools used for system analysis. Using the following steps it becomes easy to draw the exact boundary of the new system under consideration: Keeping in view the problems and new requirements Workout the pros and cons including new areas of the system

All procedures, requirements must be analyzed and documented in the form of detailed data flow diagrams (DFDs), data dictionary, logical data structures and miniature specifications. System Analysis also includes sub-dividing of complex process involving the entire system, identification of data store and manual processes. The main points to be discussed in system analysis are: Specification of what the new system is to accomplish based on the user requirements. Functional hierarchy showing the functions to be performed by the new system and their relationship with each other. Function network which are similar to function hierarchy but they highlight those functions which are common to more than one procedure. List of attributes of the entities - these are the data items which need to be held about each entity (record) A System Requirement Specification (SRS) is a complete description of the behavior of the system to be developed. The SRS contain functional requirements and non-functional requirements.

Department of Information Technology

College of Engineering, Perumon

Smart Secure

Project Design 2011

2.1. EXISTING SYSTEM In the existing system, it is difficult to trace the lost phone. The only way to track phone is by the IMEI number. It is done by the help of security authorities and service providers. Also there is no security for the private datas in phone like contact numbers, credit card password, personal datas etc. It can be easily traced out by phone thief, also there is no way to store any backup of our private datas in phone. Similarly there are no functions available for avoiding the unwanted calls/sms from particular numbers.

2.2. DRABACK OF EXISTING SYSTEM There exist many disadvantages in the existing system. Some of the main problems with the conventional system are: Difficult to trace lost phone No security for private datas in phone No way to backup data No way to avoid unwanted calls/sms

2.3. PROPOSED SYSTEM AND ITS FEATURES The scope of this application is to provide user friendly working environment and more output can be generated through this. This application provides user friendly interface resulting in knowing each and every usability features of the application. This appication is the complete mobile security service that protects data on your phone, ensures privacy in the event of theft and enhances the possibility of recovering your phone.

FEATURES OF PROPOSED SYSTEM

A. Antitheft:
1) 2) 3) Set a password. Set a reporting number. If the phone is stolen and the sim card is changed, an alert text will be sent to reporting number. (So that you can get the new number of the stolen phone!) 4) After getting new number of lost phone, you can send text containing command to encrypt data, locate phone with GPS, delete data, lock phone, ring alarm etc.

Note: you can also send commands via an easy-to-use web portal. Department of Information Technology 3 College of Engineering, Perumon

Smart Secure

Project Design 2011

B. SMS filtration:
1. Set blacklist numbers (numbers you dont want to receive any sms or calls). 2. Set whitelist numbers (numbers you like to receive sms and calls). 3. Set mode: blacklist/whitelist.

C. Encryption:
1. Set a login pattern that would encrypt/hide data including images, sounds, videos & sms. 2. Set the list of datas to be encrypted (folders and files).

Note: Encryption and deletion of data is available to antitheft mode too.

D. Online data backup:


1. Providing Simple. Safe. Unlimited Online Backup Once you've installed the software, the backup process is easy because it's fully automated. Files are then encrypted and stored on a secure remote server online. There's no capacity limitation 2. If the phone is stolen you can recover all your datas from the remote server

2.4. FEASIBILITY ANALYSIS The objective of feasibility study is to determine whether the proposed system is feasible. In this stage, the aim is to provide solutions of the stated problems usually in the form of specification to meet the user requirements and to make recommendations for a new computer based system. Feasibility study is a major step in the software life cycle. It focuses on: Department of Information Technology 4 College of Engineering, Perumon

Smart Secure

Project Design 2011

Finding out whether a new system is required or not. Determine the potentials and drawbacks of the existing system Identification of user requirements and the benefits expected by the user from the resulting system.

Finding out the various alternatives available. Knowing what should be incorporated in the new system. Define the ingredients and objectives involved in the project. Feasibility study is conducted to test whether the system is beneficial to the organization. The

feasibility study analyses potential solutions against a set of requirements, evaluate their ability to meet these objectives, describe a recommended solution, and offer a justification for the selection. Considering the technical aspects of feasibility, the proposed system is very useful and helpful in finding solution as soon as they come across a problem encountered. It acts as network trouble shooting tool. It maintains computer traffics and is capable of finding whether a system is down or not, if it is working properly or not etc. Thus it is technically feasible. This software is user friendly. There is no need that should be technically skilled to use this software. Less experienced user can also use it. The commands used are user friendly. Since PHP is the language used, they give definitions and details regarding to variables, statements, functions, classes etc used for coding purpose. This helps the user to easily rectify their doubts and if an error occurs they easily find out what the problem is? Therefore it is satisfy condition for operational feasibility. The proposed system is subjected to changes, adding features to the software for increasing its use and relevance in an organization will not affect the proposed system. Thus the system is politically feasible. The system is tested in all three aspects of feasibility. Technical Feasibility Study. Financial/Economical Feasibility. Operational/Behavioral Feasibility.

Department of Information Technology

College of Engineering, Perumon

Smart Secure

Project Design 2011

2.4.1. Technical Feasibility


The main objective of feasibility study is to test the technical, social and economic feasibility of developing a system. Investing the existing system in the area under investigation and generating ideas about the new system does this. Feasibility study has been done to gather required information. Training, experience and commonsense are required for collection of the information. Data was gathered and checked for completeness and accuracy. Analyzing the data involved identification of the components of the system and their inter relationship and identifying the strength and weakness of the system. The main points that are considered to prove that the project is technically feasible are: The present technology is sufficient to develop the project. The proposed system provides adequate response to the user. The system can be expanded and developed. The project outputs given are reliable and it is easy to access.

2.4.2. Economic Feasibility


Economic and Financial analysis is used for evaluating the effectiveness of the candidate system. My project is technically and operationally feasible. Considering the financial conditions the system is cost effective also since ANDROID and SQLite both are free software. But when posting the system in the internet it may cost a little, but it could be made from the registering companies. So we can say the system is financially feasible as well. The developing system must be justified by cost and benefit. Economic feasibility is concerned with savings, increased profit and reduction. This is an ongoing effort that improves accuracy at each phase of the system life cycle. Economic feasibility is the most frequently used method for evaluating the effectiveness of the candidate system, more commonly known as cost/benefit analysis. The procedure determines the benefits that are expected from the candidate system and compare them with cost involved. If the benefit outweigh the cost then the system is economically feasible.

Department of Information Technology

College of Engineering, Perumon

Smart Secure

Project Design 2011

Proposed system is economically feasible because it uses available resources rather than special additional resources. Software development cost is much less. In the proposed system the cost of hardware and software for the class of application of web development is less.

2.4.3. Operational Feasibility


There is no difficulty in implementing the system. The proposed system is effective, user friendly and functionally reliable that the user in the company will find the new system reducing their hardship. The user of the system must be completely unaware of the internal working of the system so that the users will not face any problem running the system. The system thus reduces the responsive time of computer thereby, the system is found to be operationally feasible. Design is the only way that can accurately translate customer registration into finished software or system. Without software design, the risk of building an unstable system exists. System design provides the procedural details necessary for implementing the system recommended in the feasibility study.

Department of Information Technology

College of Engineering, Perumon

Smart Secure

Project Design 2011

3. SYSTEM DESIGN

3.1 INRTRODUCTION System design refers to the description of a new system based on the information that collected during the analysis phase and the process by which it is developed. It is the most creative and challenging phase of the system life cycle. The design of the system is essentially a blue print or a plan for a solution for the system. The primary objective in this case is to design a system which delivers the functions required by the client in efficient message passing within an organization. Detail design focuses on refinement to the architectural representation that lead to detail algorithm data structure and representation of software. System design is a creative art of inventing and developing inputs, database, file, methods and procedures for processing to get a meaningful output that satisfy the organization objectives. Software design is considered as the main part of software engineering process and is applied regardless of the software process model that is used. The system design includes the database design, the requirements specification for inputs, processing and outputs. During the system design phase the designer must design how to produce an efficient and effective system. There are two levels of system design. Logical design Physical design In logical design, the designer produces a specification of the major features of the system which meet the objectives. The physical design gives the actual design of the system. The system design process encompasses the following activates. Partition the analysis model into subsystem. Identify the concurrency that is dictated by the problem. Allocates subsystems to processors and takes. Develop a design for the user interface. Choose a basic strategy for implementing data management. Identify global resources and control mechanisms required to access them. Design an appropriate control mechanism for the system, including task management. Consider how boundary conditions should be handled.

Department of Information Technology

College of Engineering, Perumon

Smart Secure

Project Design 2011

3.1.1. REQUIREMENT OF SPECIFICATION System analysts talk to a variety of persons to gather details about the data transfer and their opinions of why things as they do and their ideas for challenging the process. These can be done through detailed investigation and observation. As the details are collected, the analysts study the requirements data to identify features the new system should have, including both the information the system should produce and operational features such as processing controls, response times and inputoutput methods. Requirement specification simply means, Figuring out what to make before make it. It determines what people need before start developing a product for them. Requirement definition is the activity of translating the information gathered into a document that defines a set of requirements. These should accurately reflect what customer wants. It is an abstract description of the services that the system should provide and the constraints under which the system must operate. The notations used for requirements definition should be based on natural language, forms and simple intuitive diagrams. The requirements fall into two categories: functional and non functional The requirements of specification of the proposed system are as follows Faster response time Efficient processing Voice recognition efficiently User friendly

3.1.2. DATA FLOW DIAGRAM Analysis model helps as to understand the relationship between different components in the system. Analysis model shows the user clearly, how a system will function. This is the first technical representation of a system. The analysis modeling must achieve three primary objectives. To establish a basis for creation of software design. To describe what the user requires. To define set of requirements that can be validated once the software is built.

A data flow diagram is a graphical technique that depicts information flow and transforms that are applied as data move from input to output. The DFD is used to represent increasing information flow and functional details. A level 0 DFD also called fundamental system model Department of Information Technology 9 College of Engineering, Perumon

Smart Secure

Project Design 2011

represents the entire software elements as a single bible with input and output indicated by incoming and outgoing arrows respectively. DFD illustrates how data is processed by a system in terms of inputs and outputs. It is a picture of system processing and flow without excessive concern for details. The DFD showing the top level of the system is called Context Diagram. It should be an overview including basic inputs, processes and outputs. Then it is exploded in to more detailed lower level diagram that shows additional features of the system. The purpose of DFD is to provide a semantic bridge between users and system developers. The diagrams are graphical, eliminating thousands of words, logical representations, modeling what system does; hierarchical, showing system at any level of details; and Jargon less, allowing user interaction and reviewing. The goal of data flow diagramming is to have a commonly understood model of a system. The diagram is the basis of structured system analysis. The Data flow diagram, also known as Bubble Chart has the purpose of clarifying system requirements and identifying major transformations that will become program in system design. The bubble represents the data transformations and the lines represent data flows in the system. DFD SYMBOLS External Entity

A square defines a source or destination of system data. Data flow An arrow identifies data flow. It is pipeline through which information flow.

Data store

An open rectangle is data store, data at rest, or a temporary repository of data.

Department of Information Technology

10

College of Engineering, Perumon

Smart Secure

Project Design 2011

Process

A circle or a bubble represents a process that transforms incoming data flows into outgoing data flows.

3.2. OUTPUT DESIGN Output refers to the results and information that are generated by the system. Here determine information to be present, decide lat and select output medium, arrange presentation of information in accepted format and decide how to distribute output to intend recipients. Location characteristics and format of column headings and pagination are specified.

Output design plays a major role in providing the user with required format. The major function of the output is to convey information and so its lat and design are careful considerations. Information must be carefully considered to the needs of the user.

Standards for printed output suggest giving each output a name or title, providing a sample of the output lat, and specifying the procedure for providing the accuracy of the output data. The output devices to consider depends on the compatibility of the devices with the system, response time requirement and printed quality required.

The design output form, attention is given to proper identification and wording, readability and use, composition and lat, order of data items and clarity of instructions. A well-designed form with clarity stated captions should be self-instructing. An organizations form must be centrally controlled for efficient handling.

Computer output is the most important and direct information source to the user. Output design is a process that involves designing necessary outputs in the form of reports

Department of Information Technology

11

College of Engineering, Perumon

Smart Secure

Project Design 2011

that should be given to the users according to the requirements. Efficient, intelligible output design should improve the systems relationship with the user and help in decision making. Since the reports are directing referred by the management for taking decisions and to draw conclusions they must be designed with almost care and the details in the reports must be simple, descriptive and clear to the user. So while designing output the following things are to be considered. Determine what information to present. Arrange the presentation of information in an acceptable format. Decide how to distribute the output to intend receipts Depending on the nature and future use of output required, they can be displayed on the monitor for immediate need and for obtaining the hardcopy.

Efficient and intelligent output design should improve system relation with the user and help in decision making that is, this makes system user friendly to be displayed or printed as per the users choice. A quality output is one which meets the requirements of the end user and which presents the information in a way which is clear, easy to read and visually attractive. In order to decide on an appropriate method of presentation, and a suitable format, a number of issues to be considered like who receives the output, under what circumstances the output is received etc.

3.3. INPUT DESIGN Input design is the process of converting the user originated inputs to a computer based format. The design decisions handling input specify how data are accepted for computer processing. Input design is a part of overall system design that needs careful attention and it includes specifying the means by which actions are to be taken. What data to input? The initial step is input design is to determine what data to input. The input design of
SMART SECURE has made so as to reduce the user inputs to the process.

What medium to use? Here it determines the medium by which the user input the data. Here the mediums used for inputting the data are the keyboard and the mouse. The objectives of the input design are: Controlling amount of input. Department of Information Technology 12 College of Engineering, Perumon

Smart Secure

Project Design 2011

Avoiding delay. Avoiding errors. Avoiding extra steps. The input forms are designed, using GUI controls like Buttons, Images, Image Buttons, Text Boxes, Spinners, and Last etc.

FEATURES OF INPUT DESIGN The features of the input design are, The input designing is done so as to have most efficient way for interaction between the user and the system. Measures have been taken to minimize user inputs. Extra steps are eliminated and process is made simple.

3.4. DATABASE DESIGN A database is a collection of interrelated data stored with minimum redundancy to serve users more quickly and efficiently. The general objective of a database is to make information access easy, quick, inexpensive, integrated and shared by different applications and users. Database design is an important yet sometimes overlooked part of the application development lifecycle. An accurate and up-to-date data model can serve as an important reference tool for Database Administrators, developers, and other members of joint application development team Effective database designers will keep in mind the principles of normalization while they design a database. Normalization is a database design approach that seeks the following four objectives:

Minimization of data redundancy, Minimization of data restructuring, Minimization of I/O by reduction of transaction sizes, and Enforcement of referential integrity. The concepts and techniques used when designing an effective database includes: An entity is a logical collection of things that are relevant to r database. The physical

counterpart of an entity is a database table An attribute is a descriptive or quantitative characteristic of an entity. The physical counterpart of an attribute is a database column (or field). Department of Information Technology 13 College of Engineering, Perumon

Smart Secure

Project Design 2011

A primary key is an attribute (or combination of attributes) that uniquely identifies each instance of an entity. A primary key cannot be null and the value assigned to a primary key should not change over time. A primary key also needs to be efficient. For example, a primary key that is associated with an INTEGER data type will be more efficient than one that is associated with a CHAR data type. A relationship is a logical link between two entities. A relationship represents a business rule and can be expressed as a verb phrase. The second type of relationship is the "many-to-many" relationship. In a "many-to-many" relationship, many instances of one entity relate to many instances of the other entity. "Many-tomany" relationships need to be resolved in order to avoid data redundancy. "Many-to-many" relationships may be resolved by creating an intermediate entity known as a cross-reference (or XREF) entity. A "foreign key" exists when the primary key of a parent entity exists in a child entity. A foreign key requires that values must be present in the parent entity before like values may be inserted in the child entity. The concept of maintaining foreign keys is known as " After create a new project in eclipse, will see the following top-level folders in package explorer. /src This folder will contain the Java source files that will be creating. In the screenshot can see the activity files that were created for the sample project. The files inside this folder will be organized according to the package structure.

/gen This is also a source folder, but will be contain Java source files that will be automatically generated by the android platform. Notable among the generated Java files is the R class, which sees in the screenshot. /Android {version Number} This is the folder, which will contain the libraries (jars) that are need for the project. In the screenshot, can see that it contains the framework jar file Department of Information Technology 14 College of Engineering, Perumon

Smart Secure

Project Design 2011

/res This directory contains all the external resources (images, data files etc) that are used by the android application. These external resources (content) will be referenced in the android application.

This contains the following sub-folders


/res/drawable /res/lat /res/Values

/res/drawable This folder contains all images, pictures etc. If want to include an image or an icon in r android application, then will be placing it in this folder. /res/lat This folder contains the UI lats that will be used in the project. These UI lats are stored as XML files. /res/Values This folder again contains XML files, which contain key values pairs that will be referenced in the application. These XML files declare Arrays, colors, dimensions, strings etc. The main idea of having these values in a separate XML file is that the values can be used based on the locale without actually changing the source code. /assets

Department of Information Technology

15

College of Engineering, Perumon

Smart Secure

Project Design 2011

This folder also contains external resources used in the application like the /res folder. But the main difference is that the resources are stored in raw format and can be read only programmatically. 3.5. PROGRAM DESIGN

The project is divided into seven modules according to the functionality. User operation. Encryption Data wipe Data backup Tracking Locating phone filtration

User operation Encryption Data Wipe Data backup Tracking Informing buddies Encrypting important personal datas Wipe important personal datas from phone. Lock phone using PIN backup important personal datas restore the backup data wipe important personal datas from phone when phone lost Encrypting important personal datas Decryption of data Login with username & password. Add buddies. Manage buddies

Department of Information Technology

16

College of Engineering, Perumon

Smart Secure

Project Design 2011

Locating phone Locating phone using GPS

Filtration SMS/Call filtration

Department of Information Technology

17

College of Engineering, Perumon

Smart Secure

Project Design 2011

4. SOFTWARE FEATURES
4.1. SOFTWARE SPECIFICATION Platform Operating System Editor

: : :

Java/Android Android OS Eclipse

4.2.

HARDWARE SPECIFICATION

Processor RAM Memory Display Card slot Phone

: : : : : :

800 MHz ARM 11 128 MB 160 MB or higher TFT capacitive touch screen microSD Android Smart phone

Department of Information Technology

18

College of Engineering, Perumon

Smart Secure

Project Design 2011

4.3. SELECTION OF SOFTWARE 4.3.1. ANDROID Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Android applications are written in the Java programming language. The Android SDK tools compile the codealong with any data and resource filesinto an Android package, an archive file with an .apk suffix. All the code in a single .apk file is considered to be one application and is the file that Android-powered devices use to install the application. Application components are the essential building blocks of an Android application. Each component is a different point through which the system can enter your application. Not all components are actual entry points for the user and some depend on each other, but each one exists as its own entity and plays a specific roleeach one is a unique building block that helps define application's overall behavior. Features Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source Web Kit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plug-in for the Eclipse IDE.

Department of Information Technology

19

College of Engineering, Perumon

Smart Secure

Project Design 2011

ANDROID ARCHITECTURE The following diagram shows the major components of the Android operating system. Each section is described in more detail below.

Department of Information Technology

20

College of Engineering, Perumon

Smart Secure

Project Design 2011

APPLICATION FRAMEWORK By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user. Underlying all applications is a set of services and systems, including:

A rich and extensible set of the views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser

Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data

A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files

A Notification Manager that enables all applications to display custom alerts in the status bar An Activity Manager that manages the lifecycle of applications and provides a common navigation back stack

For more details and a walkthrough of an application, see the Notepad Tutorial. Libraries Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:

System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices Media Libraries - based on Packet Videos Open CORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

Department of Information Technology

21

College of Engineering, Perumon

Smart Secure

Project Design 2011

Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications

LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view

SGL - the underlying 2D graphics engine 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer

FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications

Android Runtime Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

Linux Kernel Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. Activity Lifecycle Activities in the system are managed as an activity stack. When a new activity is started, it is placed on the top of the stack and becomes the running activity -- the previous activity always remains below it in the stack, and will not come to the foreground again until the new activity exits. An activity has essentially four states:

If an activity in the foreground of the screen (at the top of the stack), it is active or running.

Department of Information Technology

22

College of Engineering, Perumon

Smart Secure

Project Design 2011

If an activity has lost focus but is still visible (that is, a new non-full-sized or transparent activity has focus on top of your activity), it is paused. A paused activity is completely alive (it maintains all state and member information and remains attached to the window manager), but can be killed by the system in extreme low memory situations.

If an activity is completely obscured by another activity, it is stopped. It still retains all state and member information, however, it is no longer visible to the user so its window is hidden and it will often be killed by the system when memory is needed elsewhere.

If an activity is paused or stopped, the system can drop the activity from memory by either asking it to finish, or simply killing its process. When it is displayed again to the user, it must be completely restarted and restored to its previous state.

The following diagram shows the important state paths of an Activity. The square rectangles represent callback methods you can implement to perform operations when the Activity moves between states. The colored ovals are major states the Activity can be in.

Department of Information Technology

23

College of Engineering, Perumon

Smart Secure

Project Design 2011

4.3.2. SQLite
SQLite is a lightweight relational database engine. SQLite is fast and has a small footprint, making it perfect for Android devices. Instead of the heavyweight server-based databases like Oracle and Microsoft SQL Server, each SQLite database is stored within a single file on disk. Android applications can choose to store private application data in a SQLite database. SQLite is a software library that implements a self-contained, server less, zero-configuration, transactional SQL database Department of Information Technology 24 College of Engineering, Perumon

Smart Secure

Project Design 2011

engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain. Features of SQLite Application File Format. Rather than using fopen () to write XML or some proprietary format into disk files used by your application, use an SQLite database instead. To avoid having to write and troubleshoot a parser, your data will be more easily accessible and cross-platform and your updates will be transactional. Database for Gadgets. SQLite is popular choice for the database engine in cell phones, PDAs, MP3 players, set-top boxes, and other electronic gadgets. SQLite has a small code footprint, makes efficient use of memory, disk space, and disk bandwidth, is highly reliable, and requires no maintenance from a Database Administrator. Website Database. Because it requires no configuration and stores information in ordinary disk files, SQLite is a popular choice as the database to back small to medium-sized websites. Stand-in for an Enterprise RDBMS. SQLite is often used as a surrogate for an enterprise RDBMS for demonstration purposes or for testing. SQLite is fast and requires no setup, which takes a lot of the hassle out of testing and which makes demos perky and easy to launch.

Department of Information Technology

25

College of Engineering, Perumon

Smart Secure

Project Design 2011

APPENDIX A DFD

Level 0 (Context Level)

User

Request

Login

Response

User

Level 1 of user

Login

User

Add buddies

User

Manage buddies

Department of Information Technology

26

College of Engineering, Perumon

Smart Secure

Project Design 2011

Level 1 of filtration

Add blacklist numbers

filtration

Manage blacklist numbers Filter sms/call numbers

blacklist

Level 2 of Backup process

Select data

Backup

Backup data Backup

Restore data

Department of Information Technology

27

College of Engineering, Perumon

Smart Secure

Project Design 2011

Level 2 of Encryption process

Select data

Encryption

Encrypt

Encryption Backup
Decrypt

Level 2 of Tracker process

Informing buddies Tracking

user

Encrypting data

Encryption

Lock the phone use pin

Department of Information Technology

28

College of Engineering, Perumon

Smart Secure

Project Design 2011

Level 2 of Wipe process

Select data

Tracking
Wipe phone data

user

Level 2 of locating process

Tracking

Find gps data

GPS_Data

Inform to buddy

Department of Information Technology

29

College of Engineering, Perumon

You might also like