Mobile Insurance Agent for Android

Published on March 2017 | Categories: Documents | Downloads: 35 | Comments: 0 | Views: 191
of 70
Download PDF   Embed   Report

Comments

Content

InsuranceAgent

INSURANCEAGENT

CEC, CHIRALA

Page 1

InsuranceAgent

CEC, CHIRALA

Page 2

InsuranceAgent

CHAPTER 1
1. Introduction

The Insurance management system is a complete solution for organizations, which need to manage insurance for their vehicles, equipment, buildings, and other resources. Organizes and tracks insurance vendors and the policies provided under different coverage. We are offering a robust web based insurance solution, which has the flexibility of customizations to match the specific needs of clients for achieving their business goal of good service and revenue generation. Insurance policy administration system consists of a mathematical notation that captures the relationship between policies and objects and the entities that manage policies for those objects. Hence there is need for an automated system, which can efficiently manage the company, records, provides instant access and one that improves the productivity. As a result of this automated system, the activities of the company are performed with in the stipulated time and the reliable and efficient service is ensured to its users.

2. Overview
Hence there is need for an automated system, which can efficiently manage the company, records, provides instant access and one that improves the productivity. As a result of this automated system, the activities of the company are performed with in the stipulated time and the reliable and efficient service is ensured to its users. The insurance company needs to keep track of details of its target companies, agents, policyholders, their premium payments and the various products that are available with it. Hence it is under tremendous pressure maintaining their day-to-day activities, which is currently being done manually. Entire records have to be updated timely, even a slight mistake could complicate things. It is very difficult to handle bulk data since human memory is weaker than electronic counterpart. It is time consuming to summarize these details to produce the reports.

CEC, CHIRALA

Page 3

InsuranceAgent

3. Technology

Technologies used are

Mobile Application:



• •

Android OS Java XML

4. System Components

This is a standalone application developed for Android phones.

Mobile Application:

The mobile application has below modules

1. Show Plans This module is responsible to show the different lic plans to the insurance agent. And it’s also provide the plans adding option to the agent under a new plan or existing plan.

CEC, CHIRALA

Page 4

InsuranceAgent

2. Premium Calculator This module is responsible to the premium based on the user input data.

3. Sending SMS and Mails This module is responsible to send the plan details to the user selected member through SMS or by Mail.

4. Help This module is responsible to provide the user guide to the users who are new to this application.

5. Settings This module allows user to set some settings for the applications.

CEC, CHIRALA

Page 5

InsuranceAgent

3. Introduction:

The mobile devices are becoming more and more popular and powerful and are providing a new notion of communication that we could once only imagine. A truly wireless mobile is new to the vast majority of computer users. We know wireless mobile phones, but the idea of being able to connect to the Internet in a similar fashion is something with ramifications we've yet to fully realize. The vast majority of us are still accustomed to plugging a modem into a phone back to connect to the Internet remotely. The enhancements in the technologies help us to have the Internet accessing facilities even on the mobiles. Our project is related to in order to organize and tracks insurance vendors and the policies provided under different coverage. We are offering a robust web based insurance solution, which has the flexibility of customizations to match the specific needs of clients for achieving their business goal of good service and revenue generation. Insurance policy administration system consists of a mathematical notation that captures the relationship between policies and objects and the entities that manage policies for those objects. Hence there is need for an automated system, which can efficiently manage the company, records, provides instant access and one that improves the productivity.

CEC, CHIRALA

Page 6

InsuranceAgent

4. Technology
Software Requirements for Designing: Operating System Programming Language IDE/Workbench Database Sdk : : : : : Windows XP/above or Linux Java Eclipse SQLite Android Sdk 9 or above.

Software Requirements for Implementation: Operating System Mobile Phone : : Android 2.3 or above. Any Android Mobile phone

Hardware Requirements for Designing: Processor Hard Disk RAM : : : Pentium IV 40GB 1 GB or more,

Hardware Requirements for Implementation: Processor : Internal Memory : RAM : Screen size : Pixel Density :

ARM or above 100 Mb or more 126 Mb or more 480*320 163ppi

CEC, CHIRALA

Page 7

InsuranceAgent

CEC, CHIRALA

Page 8

InsuranceAgent

CHAPTER 2
2.1 Aim
1. This application is designed to provide the user easy to know about the

policies.
2. This project is to enable the mobile users to view the plans and calculate

premiums with premium calculator. 3. The application must consider the limitations of mobile devices.
4. The application must work properly without problems on all targeted devices,

power supply and network support.

2.2 Purpose
The purpose of this project is to explain the policies of the company in Mobile. The functionality assists independent and exclusive agents of an insurance company during the course of conducting their day-to-day business. which is currently being done manually. Entire records have to be updated timely, even a slight mistake could complicate things. It is very difficult to handle bulk data since human memory is weaker than electronic counterpart. It is time consuming to summarize these details to produce the reports.

CEC, CHIRALA

Page 9

InsuranceAgent

2.3 Feasibility Study:

All projects are feasible – given unlimited resources and infinite time! Unfortunately, the development of computer-based system or product is more likely plagued by a scarcity of resources and difficult delivery dates. It is both necessary and prudent to evaluate the feasibility of a project at the earliest possible time. Months or years of effort, thousands or millions of dollars, and untold professional embarrassment can be averted if an ill-conceived system is recognized early in the definition phase.

Feasibility and risk analysis are related in many ways. If project risk is great the feasibility of producing quality software is reduced. During product engineering, however, we concentrate our attention on four primary areas of interest:

CEC, CHIRALA

Page 10

InsuranceAgent

CHAPTER 3 SOFTWARE ENGINEERING PARADIGM APPLIED

DESIGN SPECIFICATION

Design of software involves conceiving planning out and specifying the externally observable characteristics of the software product. We have data design, architectural design and user interface design in the design process. These are explained in the following section. The goals of design process it to provide a blue print for implementation, testing, and maintenance activities.

DATA DESIGN

The primary activity during data design is to select logical representations of data objects identified during requirement analysis and software analysis. A data dictionary explicitly on the elements of the data structure. A data dictionary should be established and used to define both data and program design.

CEC, CHIRALA

Page 11

InsuranceAgent

DESIGN METHODOLOGY

The two basic modern design strategies employed in software design are 1. 2. Top Down Design Bottom Up Design

Top down Design is basically a decomposition process, which focuses on the flow of control. At later stages it concern itself with the code production. The first step is to study the overall aspects of the tasks at hand and to break it into a number of independent modules. The second step is to break each one of these modules further into independent sub-modules. The process is Repeated one to obtain modules, which are small enough to group mentally and to code in a straightforward manner. One important feature is that at each level the details of the design at the lower level are hidden. Only the necessary data and control that must be called back and forth over the interface are defined. In a bottom-up design one first identifies and investigates parts of design that are most difficult and necessary designed decision are made the reminder of the design is tailored to fit around the design already chose for crucial part. It vaguely represents a synthesis process explained in previous section. One storage point of the top-down method is that it postpones details of the decision until the last stage of the decision. It allows making small design changes when the design is half way through. There is danger that the specifications will be incompatible and this will not be discovered until late in the design process. By contrast the bottom-up strategy first focuses on the crucial part so that feasibility of the design is tested at early stage. In mixing top-down and bottom-up design it often appears that we start in the middle of the problem and work our way both up and down there. In a complex problem, it is often difficult to decide how to modularize the various procedures in such cases one might consider a list of system inputs and decide what functions are necessary to process these inputs. This is called back to front design. Similarly one can start with the required outputs and work backwards evolving so called front-back
CEC, CHIRALA Page 12

InsuranceAgent

design. We have applied both the top down and bottom up approach in our design approach.

BUSINESS MODELING
The information flow among business function is modeled in a way that answers the following questions: what information drives the business process? What information is generated? What generate it? Where does the information go? Who process it?

DATA MODELING
The information flow defined as a process of the business modeling is refined into a set of data objects that are needed to support the business. The characteristics (called attributes) of each object are identified and relationships between these objects are defined.

PROCESS MODELING
The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing description are created for addition, modifying, deleting, or retrieving a data object.

THE LINEAR SEQUENTIAL MODEL
The linear sequential model for software engineering some times called the “classic model” or the “water fall model,” the linear sequential suggests a systematic, sequential approach to software development that begins at eth system level and process through analysis, design, coding, testing, and maintenance. The linear sequential model is the oldest and the most widely used paradigm for software engineering. Modeled after the conventional engineering cycle, the linear sequential model encompasses the following activities:

1) SYSTEM/INFORMATION ENGINEERING AND MODELLING:
CEC, CHIRALA Page 13

InsuranceAgent

 Because software is always part of a larger system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interface with other elements such as hardware, people, and databases.  System engineering and analysis encompasses requirements gathering at the system level with a small amount of top-level analysis and design. Information engineering encompasses requirements gathering at the strategic business level and at the strategic business level and at the business area level.

2) SOFTWARE REQUIREMENTS ANALYSIS:

 The requirements gathering process is intensified and focused specifically on software. To understand the nature of the programs to be built, the software Engineer must understand the information domain for the software, as well as required function, behavior, performance, and inter facing. Requirements for the both the system and the software are documented and reviewed with the customer.

3) DESIGN:

 Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations, and procedural detail. The design process translates requirements into a representation of the software that can be assessed for quality before code generation begins. Like requirements the design is documented and becomes part of the software configuration.

CEC, CHIRALA

Page 14

InsuranceAgent

4) CODE GENERATION:

 The design must be translated into a machine-readable form. The code generation step performs this task. If design is performed in a detailed manner, code generation can be accomplished mechanistically.

5) TESTING:

 Once code has been generated, program testing process focuses on the logical internals of the software, assuring that all statements have been tested, and on the functional externals that is, conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results.

CEC, CHIRALA

Page 15

InsuranceAgent

CEC, CHIRALA

Page 16

InsuranceAgent

INTRODUCTION
System design is a modeling process. It is a solution, how to approach to create a new system. It can be defined as a transition from user’s view to programmer’s or database person’s view. The design phase mainly depends on the detailed specification in the feasibility study. The system design phase acts as a bridge between the required specification and the implementation phase.

From a project management point of view software design is conducted in two steps. Preliminary design is concerned with the transformation of requirements into data and software architecture. Detailed design focuses on refinement to the architectural representation that leads to detailed data structure and algorithmic representation for software.

The major steps in the design phase are input design, output design, and dealing with coding issue. The very first step is design of input and out put screen to the client requirements. Next comes the various issues that should be dealt while coding and the code should be such that it should be compatible with the real time environment and Should be generic in nature. 4.1 OBJECTIVE IN DESIGNING AN INFORMATION SYSTEM. What does the system analyst intended to achieve during the system design stage? Following are the main objective of the system design phase:

CEC, CHIRALA

Page 17

InsuranceAgent

4.1.1 Specify the logical elements
The system design involves first, logical and then physical design. When analyst formulates a logical design and writes a detailed specification for the new system. The physical design, the activity following the logical design produces the software files and working system. The system design specification tells the programmer actually what the system does. The programmer in turn writes the program, which accepts input and produces the required output.

4.1.2Support business activities
A fundamental objective of ‘system design’ is to ensure that it supports the business activities for which it was developed. In other words, the computer and the communication technology specified in the system should always be secondary to the result the system is intended to produce.

4.1.3 Ensure that a system feature meets user requirements
User requirements are converted to system characteristics during the design. We say that an information system meets user requirements if accomplishes the following: • • • • Presents information and instructions in acceptable and effective fashion Produce the accurate result. Produces an acceptable interface and method of interface. Perceived by the user as a reliable system

CEC, CHIRALA

Page 18

InsuranceAgent

4.1.4 Provide detailed software development specification
Like the features of information system the software must also be carefully designed. System design includes formulating the software specification. The specification states input, output, the functions and algorithms used to perform them. The design specification describes the features of the system, the components and elements of the system and their appearance to the users. To many users the access of the system relates to whether they believe that it has proper features. The following are the features to be designed for the information system.

4.2 INPUT DESIGN

System analysis decides the following input design details 1. What data to be used as input? 2. What medium to be used? 3. How the data should be arranged or coded? 4. The dialogue that is used to guide the user input data. 5. Methods for performing input and error correction steps.

The input screens are designed with extreme care. If by mistake some wrong data is given as input into the system, it must be able to detect the mistakes and take effective measures to correct it, such as prompting the user of the incorrect data or rectifying the error by itself.

CEC, CHIRALA

Page 19

InsuranceAgent

4.3 OUTPUT DESIGN
In output design the emphasis is given to the design of hard copy and a soft copy of information needed for the users. Efficient, intelligent and friendly screens improve the relationship between client and the system for design making. System analysis decides the following output design details: 1. Who will receive the output? 2. What is its planned use? 3. How many details are needed? 4. When and how often the output is required? 5. by which method?

4.4 DESIGN OF PROCEDURE
Procedures specify what task is to be performed and who is responsible for carrying them out. Important procedure includes the following

4.4.1 Data entry procedure It is a set of methods for capturing transaction of data entering into the information system. Here a lot of procedures are used to get data from the user starting from the registration to the need. The procedures are designed in such a way that it will never insert any unwanted data into the database.

4.4.1.1 Runtime procedures Steps and actions are taken by the system operator and in some cases end users who are interacting with the system, to get the desired output.

CEC, CHIRALA

Page 20

InsuranceAgent

1. Error handling Actions to be taken when expected result occur. The system is capable to handle errors like invalid date, character field instead of number field etc. The system makes mistakes use of prompts to inform the user of the incorrect data entry. 2. Security and back up procedures These types of procedures are designed to prevent system and resources against damage. These types of procedures are very important since the system may get into trouble at any time. Unauthorized access is not allowed by the system. A user can only access the system by providing the correct login id and password.

CEC, CHIRALA

Page 21

InsuranceAgent

Diagrams:
Usecase Diagram for Agent Insurance

onStart name dob

insurencepolicy user1

insurencevalidity onStop Exit

ActivityDiagrams for AgentInsurence
CEC, CHIRALA Page 22

InsuranceAgent

validate

loginfa il

loginsucc ess Backup

end
policytyp e

Policy no Policy Status

policyvalid ity

end

CEC, CHIRALA

Page 23

InsuranceAgent

Class Diagram for AgentInsurence
MainActivity onStart() onStop() exit() association

Agent name : String id : int dob : Date address : String agentInfor() generalization Policy id : int bound : String type : String name : String getPolicy() setPolicy() policyType() dependency

Status id : int bound : String type : String name : String getStatus()

CEC, CHIRALA

Page 24

InsuranceAgent

Sequence Diagram for AgentInsurence
agent request process login policy status

bound request responce

CEC, CHIRALA

Page 25

InsuranceAgent

CEC, CHIRALA

Page 26

InsuranceAgent

Overview of Android
A free, open source mobile platform. A Linux-based, multiprocess, Multithreaded OS. Android is not a device or a product It’s not even limited to phones You could build a DVR, a handheld GPS, an MP3 player, etc. 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.

-

Makes mobile development easy. Full phone software stack including applications Designed as a platform for software development Android is open Android is free Community support

 July 2005 Google acquired Android Inc.


5 Nov 2007 Open HandSet Alliance formedGoogle, HTC, Intel, Motorola, Qualcomm,T-Mobile

 Android is the OHA first product  12 Nov 2007 OHA released a preview of the Android OHA  Oct-2008 First Device – T-Mobile G1 was released. Latest – Motorola Milestone released in India.

CEC, CHIRALA

Page 27

InsuranceAgent

Features
-

Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit 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 WiFi (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 plugin for the Eclipse IDE

-

Linux Kernel Android relies on Linux version 2.6 for core system services such as security memory management process management network stack driver model The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

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 Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

CEC, CHIRALA

Page 28

InsuranceAgent

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. System C Library Media Library Surface Manager LibWebCore SGL 3D libraries Free Type SQLite

Application Framework
-

-

Being a open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers have full access to the same framework APIs used by the core applications. Views – used to build applications (lists, grid, buttons, text boxes and even embeddable web browser) Content providers – enable applications to access data from other applications or share their own data. Resource manager – provides access to non-code resources such as localized strings, graphic and layout files. Notification manager – enables applications to display custom alerts in status bar Activity manager – manages lifecycle of applications and provides navigation backstack Android ships with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.

CEC, CHIRALA

Page 29

InsuranceAgent

Architecture

Anatomy of an Android Application There are four building blocks for an Android application:
-

Activity - a single screen Broadcast Receiver- to execute in reaction to an external event(Phone Ring) Service - code that is long-lived and runs without a UI(Media Player) Content Provider - an application's data to be shared with other applications

Android Building Blocks These are the most important parts of the Android APIs: AndroidManifest.xml the control file-tells the system what to do with the top-level components

CEC, CHIRALA

Page 30

InsuranceAgent

-

Activities an object that has a life cycle-is a chunk of code that does some work

-

Views an object that knows how to draw itself to the screen

-

Intents a simple message object that represents an "intention" to do something

-

Notifications is a small icon that appears in the status bar(SMS messages) for alerting the user

-

Services is a body of code that runs in the background

Development Tools The Android SDK includes a variety of custom tools that help you develop mobile applications on the Android platform.Three of the most significant tools are:
1. Android Emulator -A virtual mobile device that runs on our computer -use to

2. 3. 4. 5.

design, debug, and test our applications in an actual Android run-time environment Android Development Tools Plugin -for the Eclipse IDE - adds powerful extensions to the Eclipse integrated environment Dalvik Debug Monitor Service (DDMS) -Integrated with Dalvik -this tool let us manage processes on an emulator and assists in debugging Android Asset Packaging Tool (AAPT) – Constructs the distributable Android package files (.apk) Android Debug Bridge (ADB) – provides link to a running emulator. Can copy files to emulator, install .apk files and run commands.

CEC, CHIRALA

Page 31

InsuranceAgent

Lifecycle of activity

Overview Of XML: XML (Extensible Markup Language) is a set of rules for encoding documents electronically. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards. XML’s design goals emphasize simplicity, generality, and usability over the Internet It is a textual data format, with strong support via Unicode for the languages of the world. Although XML’s design focuses on documents, it is widely used for the representation of arbitrary data structures, for example in web services.

Advantages: The main usage of xml Is we can store and retrieve data easily with the help of xml.
CEC, CHIRALA Page 32

InsuranceAgent

XML Introduction:

MIDP devices have memory constraints when it comes to code, both in terms of the amount of code you can store on the device, and memory available to applications at runtime. So, keeping the size of applications and features in check is of paramount importance to the J2ME developer. That’s where small-sized XML parsers come into play.

XML parsers This section describes the XML parsing process and introduces some small XML parsers for MIDP.

XML parsing process The XML parsing process operates in three phases: 1. XML input processing. In this stage, the application parses and validates the source documentrecognizes and searches for relevant information based on its location or its tagging in the source document; extracts the relevant information when it is located; and, optionally, maps and binds the retrieved information to business objects.

2. Business logic handling. This is the stage in which the actual processing of the input information takes place. It might result in the generation of output information.

3. XML output processing. In this stage, the application constructs a model of the document to be generated with the Document Object Model (DOM). It then either applies XSLT style sheets ordirectly serializes to XML.

CEC, CHIRALA

Page 33

InsuranceAgent

An application that implements such a processing model is called an XML parser. You can integrate anXML parser into your Java applications with the Java API for XML Processing (JAXP). JAXP allowsapplications to parse and transform XML documents using an API that is independent of any particularXML processor implementation. Through a plug-in scheme, developers can change XML processor implementations without altering their applications.

CEC, CHIRALA

Page 34

InsuranceAgent

Overview of GPS
The Global Positioning System (GPS) is a space-based global navigation satellite system that provides reliable location and time information in all weather and at all times and anywhere on or near the Earth where there is an unobstructed line of sight to four or more GPS satellites. It is maintained by the United States government and is freely accessible by anyone with a GPS receiver. The GPS consists of three parts: the space segment, the control segment, and the user segment. The U.S. Air Force develops, maintains, and operates the space and control segments. GPS satellites broadcast signals from space, which each GPS receiver uses to calculate its three-dimensional location (latitude, longitude, and altitude) plus the current time. The space segment is composed of 24 to 32 satellites in medium Earth orbit and also includes the boosters required to launch them into orbit. The control segment is composed of a master control station, an alternate master control station, and a host of dedicated and shared ground antennas and monitor stations. The user segment is composed of hundreds of thousands of U.S. and allied military users of the secure GPS Precise Positioning Service, and tens of millions of civil, commercial, and scientific users of the Standard Positioning Service (see GPS navigation devices).

Applications
GPS has become a widely used aid to navigation worldwide, and a useful tool for map-making, land surveying, commerce, scientific uses, tracking and surveillance, and hobbies such as geo caching and way marking. The precise time reference provided by GPS is used in many applications including the scientific study of earthquakes and as a time synchronization source for cellular network protocols. In addition, GPS has, in the words of the website gps.gov, become a mainstay of transportation systems worldwide, providing navigation for aviation, ground, and maritime operations. Disaster relief and emergency services depend upon GPS for location and timing capabilities in their life-saving missions. The accurate timing
CEC, CHIRALA Page 35

InsuranceAgent

provided by GPS facilitates everyday activities such as banking, mobile phone operations, and even the control of power grids. Farmers, surveyors, geologists and countless others perform their work more efficiently, safely, economically, and accurately using the free and open GPS signals.[2]

Using Location based services (LBS)  LBS – different technologies used to find a device’s current location  Two main LBS elements
 Location Manager – provides hooks to the LBS  Location

Providers – represents a different location-finding

technology used to determine the device’s current location. Using Location Manager,  Obtain current location  Track movement  Set proximity alerts  Find available Location Providers Selecting a Location Provider  Depending on device, there may be several technologies that Android can use to determine the current location with different capabilities(power consumption, monetary cost, accuracy and ability to determine altitude, speed etc..)  To get an instance of a specific provider, String providerName = LocationManager.GPS_PROVIDER; LocationProvider gpsProvider = locationManager.getProvider(providerName);

CEC, CHIRALA

Page 36

InsuranceAgent

This is useful to determine abilities of a particular provider.  Two common Location providers  LocationManager.GPS_PROVIDER  LocationManager.NETWORK_PROVIDER

Finding your location  Access to the location-based service is handled by Location Manager system service. LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);  Add one or more uses-permissions in manifest. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION“/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION“/>  To find the last location fix determined by a particular provider, Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);  Location object contains all the position information which can be retrieved using get methods.  getLastKnownLocation() does not ask the provider to update the current position. Using Geocoder  Geocoding lets you translate between street addresses and map coordinates.  Lookups are done on the server, so Internet permission is required.  Geocoder class provides access to two geocoding functions  Forward geocoding – finds coordinates of an address  Reverse geocoding – finds street address for given points. Geocoder gc = new Geocoder (this, Locale.getDefault());

Reverse Geocoding  Map coordinates to address Geocoder gc = new Geocoder (this, Locale.getDefault());

CEC, CHIRALA

Page 37

InsuranceAgent

try { List<Address> addresses =null; addresses = gc.getFromLocation(lat, lng, 10); StringBuilder sb = new StringBuilder(); if(addresses.size()>0) { Address address = addresses.get(0); for(int i=0; i<address.getMaxAddressLineIndex();i++) sb.append(address.getAddressLine(i)).append("\n"); sb.append(address.getLocality()).append("\n"); sb.append(address.getPostalCode()).append("\n"); sb.append(address.getCountryName()); } latLongString = sb.toString(); } catch (Exception e) { Log.d("Geocoder",e.getMessage()); }

Forward Geocoding  Address to map co-ordinates Geocoder gc = new Geocoder (this, Locale.US); String streetAddress = "160 Riverside Drive, New York, New York"; List<Address> locations =null; try { locations= gc.getFromLocationName(streetAddress, 10); } catch (IOException e) { Log.d("geocoder", e.getMessage());
CEC, CHIRALA Page 38

InsuranceAgent

}

Creating Map Based activities  MapView provides an ideal user interface option for presenting geographical data.  Using MapView, we can create Activities that feature an interactive map.  Map views offer full programmatic control of map display (zoom, location and display modes-satellite, street and traffic views)  Classes to support Android maps
 MapView – the Map View control.  MapActivity – base class to create a new Activity that can include

Map View.
 OverLay – to annotate maps. Provides Canvas to draw on MapView.  MapController – to control map (center location and zoom levels)  MyLocationOverlay – special Overlay used to display the current

position and orientation of device. ItemizedOverlays and OverlayItems – together used to create a layer of map markers, displayed using Drawables and text.

CEC, CHIRALA

Page 39

InsuranceAgent

CEC, CHIRALA

Page 40

InsuranceAgent

System Components The mobile application has below modules

1. Show Plans This module is responsible to show the different lic plans to the insurance agent. And it’s also provide the plans adding option to the agent under a new plan or existing plan.

2. Premium Calculator This module is responsible to the premium based on the user input data.

3. Sending SMS and Mails This module is responsible to send the plan details to the user selected member through SMS or by Mail.

4. Help This module is responsible to provide the user guide to the users who are new to this application.

5. Settings This module allows user to set some settings for the applications.

CEC, CHIRALA

Page 41

InsuranceAgent

CEC, CHIRALA

Page 42

InsuranceAgent

package net.pms.insagent; import import import import import import import import import import import android.app.Activity; android.app.AlertDialog; android.content.ContentValues; android.content.DialogInterface; android.content.Intent; android.database.Cursor; android.database.sqlite.SQLiteDatabase; android.os.Bundle; android.view.View; android.widget.EditText; android.widget.Toast;

public class UpdatePlan extends Activity { private String planId; private EditText editPlanId, editPlanName, editPlanSummary, editPlanGroupId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.updateplan); editPlanId = (EditText) findViewById(R.id.editPlanId); editPlanName = (EditText) findViewById(R.id.editPlanName); editPlanSummary = (EditText) findViewById(R.id.editPlanSummary); editPlanGroupId = (EditText) findViewById(R.id.editPGroupId); } @Override protected void onStart() { super.onStart(); planId = this.getIntent().getStringExtra("planid"); try { DBHelper dbhelper = new DBHelper(this); SQLiteDatabase db = dbhelper.getReadableDatabase(); Cursor plan = db.query(Database.PLANS_TABLE_NAME, null, " planid = ?", new String[] {planId}, null, null, null); if(plan.moveToFirst()){ editPlanId.setText(plan.getString(plan.getColumnIndex(Database.PLAN_I D))); editPlanName.setText(plan.getString(plan.getColumnIndex(Database.PLAN _NAME))); editPlanSummary.setText(plan.getString(plan.getColumnIndex(Database.P LAN_SUMMARY))); editPlanGroupId.setText(plan.getString(plan.getColumnIndex(Database.P LAN_GROUP_ID))); }

CEC, CHIRALA

Page 43

InsuranceAgent

plan.close(); db.close(); dbhelper.close(); } catch (Exception e) { Toast.makeText(this, "Error.."+e.getMessage(), Toast.LENGTH_LONG).show(); } } public void updatePlan(View view) { try { DBHelper dbhelper = new DBHelper(this); SQLiteDatabase db = dbhelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(Database.PLAN_NAME, editPlanName.getText().toString()); values.put(Database.PLAN_SUMMARY, editPlanSummary.getText().toString()); long rows = db.update(Database.PLANS_TABLE_NAME, values, " planid = ?", new String[] {planId}); db.close(); if (rows > 0) Toast.makeText(this, "Updated Group Successfully!", Toast.LENGTH_LONG).show(); else Toast.makeText(this, "Sorry! Could not update Group!", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(this, "Error..Update Plan Group "+e.getMessage(), Toast.LENGTH_LONG).show(); } } public void deletePlan(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Are you sure you want to delete this Plan?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { deleteCurrentPlan(); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); } public void deleteCurrentPlan() { try {

CEC, CHIRALA

Page 44

InsuranceAgent

DBHelper dbhelper = new DBHelper(this); SQLiteDatabase db = dbhelper.getWritableDatabase(); int rows = db.delete(Database.PLANS_TABLE_NAME, " planid=?", new String[] { planId}); dbhelper.close(); if ( rows == 1) { Toast.makeText(this, "Plan Deleted Successfully!", Toast.LENGTH_LONG).show(); this.finish(); } else Toast.makeText(this, "Could not delete Plan!", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(this, "Delete Plan Error.."+e.getMessage(), Toast.LENGTH_LONG).show(); } } public void viewPlanDetails(View view) { //Toast.makeText(this, "List All Plans...", Toast.LENGTH_LONG).show(); Intent intent = new Intent(this,ListPlanDetails.class); intent.putExtra("planid", planId); startActivity(intent); } }

CEC, CHIRALA

Page 45

InsuranceAgent

package net.pms.insagent; import import import import import import import import import import import android.app.Activity; android.app.AlertDialog; android.content.ContentValues; android.content.DialogInterface; android.content.Intent; android.database.Cursor; android.database.sqlite.SQLiteDatabase; android.os.Bundle; android.view.View; android.widget.EditText; android.widget.Toast;

public class UpdatePlanGroup extends Activity { private String groupId; private EditText editGroupId, editGroupName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.updateplangroup); editGroupId = (EditText) findViewById(R.id.editGroupId); editGroupName = (EditText) findViewById(R.id.editGroupName); } @Override protected void onStart() { super.onStart(); groupId = this.getIntent().getStringExtra("groupid"); try { DBHelper dbhelper = new DBHelper(this); SQLiteDatabase db = dbhelper.getReadableDatabase(); Cursor group = db.query(Database.PLANGROUPS_TABLE_NAME, null, " groupid = ?", new String[] {groupId}, null, null, null); if(group.moveToFirst()){ //editAcno.setText(account.getString(account. getColumnIndex(Database.ACCOUNTS_ACNO))); editGroupId.setText(group.getString(group.getColumnIndex(Database.PLA NGROUP_ID))); editGroupName.setText(group.getString(group.getColumnIndex(Database.P LANGROUP_NAME))); } group.close(); db.close(); dbhelper.close(); } catch (Exception e) { Toast.makeText(this, "Error.."+e.getMessage(), Toast.LENGTH_LONG).show(); } } public void updatePlanGroup(View view) { try {

CEC, CHIRALA

Page 46

InsuranceAgent

DBHelper dbhelper = new DBHelper(this); SQLiteDatabase db = dbhelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(Database.PLANGROUP_NAME, editGroupName.getText().toString()); long rows = db.update(Database.PLANGROUPS_TABLE_NAME, values, " groupid = ?", new String[] {groupId}); db.close(); if (rows > 0) Toast.makeText(this, "Updated Group Successfully!", Toast.LENGTH_LONG).show(); else Toast.makeText(this, "Sorry! Could not update Group!", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(this, "Error..Update Plan Group "+e.getMessage(), Toast.LENGTH_LONG).show(); } } public void deletePlanGroup(View view) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Are you sure you want to delete this Group?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { deleteCurrentGroup(); } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); } public void deleteCurrentGroup() { try { DBHelper dbhelper = new DBHelper(this); SQLiteDatabase db = dbhelper.getWritableDatabase(); int rows = db.delete(Database.PLANGROUPS_TABLE_NAME, " groupid=?", new String[] { groupId}); dbhelper.close(); if ( rows == 1) { Toast.makeText(this, "Group Deleted Successfully!", Toast.LENGTH_LONG).show(); this.finish(); } else

CEC, CHIRALA

Page 47

InsuranceAgent

Toast.makeText(this, "Could not delete Group!", Toast.LENGTH_LONG).show(); } catch (Exception e) { Toast.makeText(this, "Delete Plan Group Error.."+e.getMessage(), Toast.LENGTH_LONG).show(); } } public void listAllPlans(View view) { //Toast.makeText(this, "List All Plans...", Toast.LENGTH_LONG).show(); Intent intent = new Intent(this,ListAllPlans.class); intent.putExtra("groupid", groupId); startActivity(intent); } }

CEC, CHIRALA

Page 48

InsuranceAgent

package net.pms.insagent; import import import import android.content.Context; android.database.sqlite.SQLiteDatabase; android.database.sqlite.SQLiteOpenHelper; android.util.Log;

public class DBHelper extends SQLiteOpenHelper { public static final int DB_VERSION = 1; public static final String DB_NAME = "myinsagent.db"; public DBHelper(Context ctx) { super(ctx, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { createTables(db); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) } public void createTables(SQLiteDatabase database) { String groups_table_sql = "create table " + Database.PLANGROUPS_TABLE_NAME + " ( " + Database.PLANGROUPS_ID + " integer primary key autoincrement," + Database.PLANGROUP_ID + " TEXT," + Database.PLANGROUP_NAME + " TEXT)"; String plans_table_sql = "create table " + Database.PLANS_TABLE_NAME + " ( " + Database.PLANS_ID + " integer key autoincrement," + Database.PLAN_ID + " TEXT," + Database.PLAN_NAME + " TEXT," + Database.PLAN_SUMMARY + " TEXT," + Database.PLAN_GROUP_ID+ " TEXT)"; try { database.execSQL(groups_table_sql); database.execSQL(plans_table_sql); Log.d("DB Helper","Tables created!"); } catch(Exception ex) { Log.d("DB Helper", "Error in DBHelper.onCreate() : " + ex.getMessage()); } } }

{

primary

CEC, CHIRALA

Page 49

InsuranceAgent

package net.pms.insagent; import java.util.ArrayList; import import import import import import import import import android.R.string; android.content.ContentValues; android.content.Context; android.database.Cursor; android.database.sqlite.SQLiteDatabase; android.util.Log; android.widget.ArrayAdapter; android.widget.DatePicker; android.widget.Spinner; String PLANGROUPS_TABLE_NAME = String PLANGROUPS_ID="_id"; String PLANGROUP_ID = "groupid"; String PLANGROUP_NAME = "groupname"; String String String String String String PLANS_TABLE_NAME = "plans"; PLANS_ID="_id"; PLAN_ID = "planid"; PLAN_NAME = "planname"; PLAN_SUMMARY = "summary"; PLAN_GROUP_ID = "groupid";

public class Database { public static final "plangroups"; public static final public static final public static final public public public public public public static static static static static static final final final final final final

public static PlanGroups cursorToPlanGroups(Cursor groups) { PlanGroups group = new PlanGroups(); group.setGroupId(groups.getString(groups.getColumnIndex(PLANGROUP_ID) )); group.setGroupName(groups.getString(groups.getColumnIndex(PLANGROUP_N AME))); return group; } static void populateGroups(Spinner spinnerGroups) { Context context = spinnerGroups.getContext(); DBHelper dbhelper = new DBHelper(context); SQLiteDatabase db = dbhelper.getReadableDatabase(); Cursor groups = db.query(Database.PLANGROUPS_TABLE_NAME, null, null,null, null, null, null); ArrayList<PlanGroups> list = new ArrayList<PlanGroups>(); // adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropd own_item); while (groups.moveToNext()) { PlanGroups group = Database.cursorToPlanGroups(groups); list.add(group); } groups.close(); db.close(); dbhelper.close(); public

CEC, CHIRALA

Page 50

InsuranceAgent

ArrayAdapter<PlanGroups> adapter = new ArrayAdapter<PlanGroups>(context, android.R.layout.simple_spinner_item,list); spinnerGroups.setAdapter(adapter); } public static boolean updatePlan(SQLiteDatabase db, String planId, String planName, String summary, String groupId) { try { db.execSQL( " update " + Database.PLANS_TABLE_NAME + " set planname = '" + planName + "', summary = '" + summary +"' where " + Database.PLAN_ID + " = " + planId); return true; } catch(Exception ex) { Log.d("Plans", "Error in Update Plans " + ex.getMessage()); return false; } } public static String getPlanGroupId(Spinner spinnerGroups) { PlanGroups group = (PlanGroups) spinnerGroups.getSelectedItem(); return group.getGroupId(); } public static String getDateFromDatePicker(DatePicker dp) { return dp.getYear() + "-" + dp.getMonth() + 1 + "-" + dp.getDayOfMonth(); } public static boolean addPlan(Context context, String planId, String planName, String summary, String groupId) { DBHelper dbhelper = null; SQLiteDatabase db = null; try { dbhelper = new DBHelper(context); db = dbhelper.getWritableDatabase(); db.beginTransaction(); // execute insert command ContentValues values = new ContentValues(); values.put(Database.PLAN_ID, planId); values.put(Database.PLAN_NAME, planName); values.put(Database.PLAN_SUMMARY, summary); values.put(Database.PLAN_GROUP_ID, groupId); null, values); long rowid = db.insert(Database.PLANS_TABLE_NAME,

Log.d("Plans","Inserted into PLANS " + rowid); if ( rowid != -1) { // update Plans Table boolean done = Database.updatePlan(db, planId, planName, summary, groupId); Log.d("Plans","Updated Plans Table"); if ( done ) { db.setTransactionSuccessful();

CEC, CHIRALA

Page 51

InsuranceAgent

db.endTransaction(); return true; } else { db.endTransaction(); return false; } else } } return false;

catch(Exception ex) { Log.d("Account", "Error in addTransaction -->" + ex.getMessage()); return false; } finally { if ( db != null && db.isOpen()) { db.close(); } } // addPlan }

}

CEC, CHIRALA

Page 52

InsuranceAgent

package net.pms.insagent; import import import import import import import import import public { android.app.Activity; android.app.AlertDialog; android.content.Context; android.content.DialogInterface; android.content.DialogInterface.OnClickListener; android.content.Intent; android.view.Menu; android.view.MenuItem; android.widget.Toast; class BaseActivity extends Activity implements OnClickListener final Context context = this; public boolean onCreatePanelMenu(int featureId, Menu menu) { menu.add("Start"); menu.add("About Us"); menu.add("Help"); menu.add("Quit"); return super.onCreatePanelMenu(featureId, menu);} @Override public boolean onOptionsItemSelected(MenuItem item) { String selectedMenu = item.getTitle().toString(); //Toast.makeText(getApplicationContext(), " "+selectedMenu, 10).show(); if(selectedMenu.equals("Start")){ finish(); startActivity(new Intent(getApplicationContext(), FirstActivity.class)); } else if(selectedMenu.equals("About Us")) { startActivity(new Intent(getApplicationContext(), AboutActivity.class)); } else if(selectedMenu.equals("Help")) { startActivity(new Intent(getApplicationContext(), HelpActivity.class)); } else if(selectedMenu.equals("Quit")) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); alertDialogBuilder.setTitle("Insurance Agent"); alertDialogBuilder.setMessage("Really to Exit?").setCancelable(false).setPositiveButton("Yes", this).setNegativeButton("No", this); AlertDialog dialog = alertDialogBuilder.create(); dialog.show(); } return super.onOptionsItemSelected(item); } @Override public void onClick(DialogInterface arg0, int arg1) { //Toast.makeText(context, "Selected is " + arg1, Toast.LENGTH_LONG).show(); if(arg1 == -1) this.finish(); } }

CEC, CHIRALA

Page 53

InsuranceAgent

CEC, CHIRALA

Page 54

InsuranceAgent

SYSTEM TESTING AND IMPLEMENTATION
7.1 SYSTEM TESTING

Taking various kinds of data plays a vital role in system testing. After preparing the test data, the system under steady is tested using the test data. While testing errors are again uncovered and corrected by using the above steps and corrections are also noted for future use. The system has been verified and validated by running the test data and live data. First the system is tested with some sample test data that are generated with knowledge of the possible range of values that are required to hold by the field’s the system runs successfully for the given test data and for the live data.

Types of Testing Unit Testing Here we test each module individually and integrate the overall system. Unit testing focuses verification efforts even in the smallest unit of software design in each module. This is also known as “module testing.”. The modules of the system are tested separately. This testing is carried out in the programming style itself. In this testing each module is focused to work satisfactorily as regard to expected output from the module there are some validation checks for the fields. Integration testing Data can be lost across an interface, one module can have an adverse effect on the other sub functions, when combined may not produce the desired functions. Integrated testing is the systematic testing to uncover the errors with an interface. This testing is done with simple data and developed system has run successfully with this simple data. The need for integrated system is to find the overall system performance.

CEC, CHIRALA

Page 55

InsuranceAgent

Types of Integration Testing 1. Top Down Integration Modules are integrated by moving downward through the control hierarchy, beginning with the main program module.

2. Bottom up Integration Bottom up Integration is implemented with the following steps:  Low-level modules are combined into clusters into clusters that perform a specific Software sub-function.  A driver (i.e.,) the control program for testing is written to coordinate test case input and output.  The cluster is tested.  Drivers are removed and clusters are combined moving upward in the program structure.

Validation testing At the culmination of black box testing, software is completely assembled s a package. Interfacing errors have been uncovered and the correct and final series of tests, i.e., validation tests begins. Validation test is defined with a simple definition that validation succeeds when the software function in a manner that can be reasonably accepted by the customer.

Output Testing After performing validation testing, the next step is output testing of the proposed system. Since the system cannot be useful if it does not produce the required output. Asking the user about the format in which the system s required tests the output displayed or generated by the system under consideration. Here the output
CEC, CHIRALA Page 56

InsuranceAgent

format is considered in two ways one is on screen format and the other one is a printed format the output format on the screen is found to be corrected as the format was designed in the system has according to the user needs. As for the hard copy the output comes according to the specification requested by the user. Here the output testing does not result in any correction in the system.

Test data and Output: Taking various kind soft data plays a vital role in system testing. After preparing the test data system under study is tested using the test data. While testing, errors are again uncovered and corrected by using the above steps and corrections are also noted for future use. The system has been verified and validated by running test data and live data. User acceptance testing: User acceptance testing of the system is the key factor for the success of any system. A system under consideration is tested for user acceptance by constantly keeping in touch with the prospective system at the time of development and making change whenever required. This is done with regard to the input screen design and output screen design.

7.2 SYSTEM IMPLEMENTATION Implementation is the stage of the project where the theoretical design is turned into a working system. At this stage the main work load, the greatest upheaval and the major impact on the existing system shifts to the user department. If the implementation is not carefully planned an controlled it can cause chaos and confusion.

CEC, CHIRALA

Page 57

InsuranceAgent

Implementation includes all those activities that take place to convert from the old system to the new one. The new system may be totally new, replacing an existing manual or automated system or it may be a major modification to an existing system. Proper implementation is essential to provide a reliable system to meet the organization requirements. Successful implementation may not guarantee improvement in the organization using the new system, but improper installation will prevent it. The process of putting the developed system in actual use is called system implementation. This includes all those activities that take place to convert from the old system to the new system. The system can be implemented only after thorough testing is done and if it is found to be working according to the specifications. The system personnel check the feasibility of the system.

The implementation stage involves following tasks.  Careful planning.  Investigation of system and constraints.  Design of methods to achieve the changeover.  Training of the staff in the changeover phase.  Evaluation of the changeover method. The most crucial stage is achieving a new successful system and giving confidence on the new system for the user that it will work efficiently and effectively. It involves careful planning, investigation of the current system and its constraints on implementation, design of methods to achieve the changeover. The more complex the system being implemented, the more involved will be the system analysis an the design effort required just for implementation. The system implementation has three main aspects. They are education and training, system testing and changeover.

Implementation Procedures Implementation of software refers to the final installation of the package in its real environment, to the satisfaction of the intended users and the operation of the system. In many organizations some one who will not be operating it, will
CEC, CHIRALA Page 58

InsuranceAgent

commission the software development project. The people who are not sure that the software is meant to make their job easier. In the initial stage, they doubt about the software but we have to ensure that the resistance does not build up as one has to make sure that

 The active user must be aware of the benefits of using the system  Their confidence in the software is built up  Proper guidance is imparted to the user so that he is comfortable in using the application.

Before going ahead and viewing the system, the user must know that for viewing the result, the server program should be running in the server. If the server object is not up running on the server, the actual processes won’t take place.

User Training To achieve the objectives and benefits expected from computer based system, it is essential for the people who will be involved to be confident of their role in the new system. As systems become more complex, the need for education an training is more and more important.

Education is complementary to training. It brings life to formal training by explaining the background to the resources for them. Education involves creating the right atmosphere and motivating user staff. Education sections should encourage participation from all staff with protection for individuals for group criticism. Education should start will before any development work to enable users to maintain or to regain the ability to participate in the development of their system.

Education information can make training more interesting and more understandable. The aim should always be to make individual feel that they can still
CEC, CHIRALA Page 59

InsuranceAgent

make all important contributions, to explain how they participate in making system changes, and to show that the computer and computer staff do not operate in isolation, but are of the same organization.

Training on the Application After providing the necessary basic training on the computer awareness the users will have to be trained on the new application software. This will give the underlying philosophy of the use of the new system such as the screen flow, screen design, type of help on the screen, type of errors while entering the data the corresponding validation check at each entry and the ways to correct the data entered. It should then cover information needed by the specific user/groups to use the system or part of the system while imparting the training of the program on the application. This training may be different across different user groups and across different levels of hierarchy.

Operational Documentation Once the implementation plan is decided, it is essential that the user of the system is made familiar and comfortable with the environment. Education involves right atmosphere & motivating the user. A documentation providing the whole operations of the system is being developed. The system is developed in such a way that the user can work with it in a well consistent way. The system is developed user friendly so that the user can work the system from the tips given in the application itself. Useful tips and guidance is given inside the application itself to help the user. Users have to be made aware that what can be achieved with the new system and how it increases the performance of the system. The user of the system should be given a general idea of the system before he uses the system. System Maintenance
CEC, CHIRALA Page 60

InsuranceAgent

The maintenance phase of the software cycle is the time in which a Software product performs useful work. After a system is successfully implemented, it should be maintained in a proper manner. System maintenance is an important aspect in the software development life cycle. The need for system maintenance is for it to make adaptable to the changes in the system environment. There may be social, technical and other environmental changes, which affects a system, which is being implemented. Software product enhancements may involve providing new functional capabilities, improving user displays and mode of interaction, upgrading the performance characteristics of the system. So only through proper system maintenance procedures, the system can be adapted to cope up with these changes.

Software maintenance is of course, far more than “finding mistakes”. We may define maintenance by describing four activities that are undertaken to after a program is released for use. The first maintenance activity occurs because it is unreasonable to assume that software testing will uncover all latent errors in a large software system. During the use of any large program, errors will occur and be reported to the developer. The process that includes the diagnosis and correction of one or more errors is called corrective maintenance. The second activity that contributes to a definition of maintenance occurs because of the rapid change that is encountered in every aspect of computing. and commonplace. Therefore, adaptive maintenance- an activity that modifies software to properly interfere with a changing environment is both necessary

The third activity that may be applied to a definition of maintenance occurs when a software package is successful. As the software is used, recommendations for new capabilities, modifications to existing functions, and general enhancements are received from users. To satisfy requests in this category, perfective maintenance is performed. This activity accounts for the majority of all effort expended on software maintenance. The fourth maintenance activity occurs when software is changed to improve future maintainability or reliability, or to provide a better basis for future

CEC, CHIRALA

Page 61

InsuranceAgent

enhancements. Often called preventive maintenance, this activity is characterized by reverse engineering and re-engineering techniques.

CEC, CHIRALA

Page 62

InsuranceAgent

CEC, CHIRALA

Page 63

InsuranceAgent

CEC, CHIRALA

Page 64

InsuranceAgent

CEC, CHIRALA

Page 65

InsuranceAgent

CEC, CHIRALA

Page 66

InsuranceAgent

CEC, CHIRALA

Page 67

InsuranceAgent

CEC, CHIRALA

Page 68

InsuranceAgent

Images used in this Application are:

CEC, CHIRALA

Page 69

InsuranceAgent

Bibilograpy:

http://developer.android.com/sdk/api_diff/9/changes/android.location.LocationManag er.html http://java.sun.com/javase/downloads/index.jsp http://www.eclipse.org/downloads/Eclipse http://www.forum.nokia.com/

CEC, CHIRALA

Page 70

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close