SIZING ANDROID MOBILE APPLICATIONS

Similar documents
Derived Data in Classifying an EO

APPLYING FUNCTION POINTS WITHIN A SOA ENVIRONMENT

DETERMINING THE SIZE OF ERP IMPLEMENTATION PROJECTS. Paulo Gurevitz Cunha EDS EDS --Electronic Data Systems Data Engineering West,

FUNCTION POINT ANALYSIS: Sizing The Software Deliverable. BEYOND FUNCTION POINTS So you ve got the count, Now what?

Does function point analysis change with new approaches to software development? January 2013

Calculation of the Functional Size and Productivity with the IFPUG method (CPM 4.3.1). The DDway experience with WebRatio

FUNCTION POINT ANAYSIS DETERMINING THE SIZE OF ERP IMPLEMENTATION PROJECTS By Paulo Gurevitz Cunha

Sizing Logical Data in a Data Warehouse A Consistent and Auditable Approach

Fundamentals of Function Point Analysis

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

How to Avoid Traps in Contracts for Software Factory Based on Function Metric

MOTO. Quick Start Guide

Counting Infrastructure Software

BlackBerry 10 Accessibility Solutions for People with Disabilities

Workshop on Android and Applications Development

Function Point Measurement from Java Programs

Software Development: Tools and Processes. Lecture - 16: Estimation

Information Technology Services. *** Please visit tlc.dadeschools.net/blackberry for more information on your BlackBerry model.

Full Function Points for Embedded and Real-Time Software. UKSMA Fall Conference

Premium Design Phone with Smartphone Connect

To help manage calls:

World Alarm Clock Version 1.0

Using Entity-Relationship Diagrams To Count Data Functions Ian Brown, CFPS Booz Allen Hamilton 8283 Greensboro Dr. McLean, VA USA

FAST Function Points. David Seaver Director Estimation and Measurement Fidelity Investments

Function Point Counting Practices Manual. Release 4.1.1

Measuring Software Functionality Using Function Point Method Based On Design Documentation

EPL603 Topics in Software Engineering

Introduction to Function Points

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Why SNAP? What is SNAP (in a nutshell)? Does SNAP work? How to use SNAP when we already use Function Points? How can I learn more? What s next?

CA Mobile Device Management 2014 Q1 Getting Started

Quick Start Guide: Iridium GO! Advanced Portal

Adobe Certified Expert Program

Working with Windows Movie Maker

Function Points Analysis Training Course

Smart Watch Phone. User Guide. Please read the manual before use.

STINGRAY MUSIC MOBILE APP USER GUIDE FOR MTS VERSION 1.0

Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities

User Guide. BlackBerry Storm 9530 Smartphone. Version: 4.7

Store & Share Quick Start

Extending Function Point Estimation for Testing MDM Applications

Android (Basic + Advance) Application Development

An Esri White Paper June 2010 Tracking Server 10

Back, start, and search key Lock the keys and screen Unlock the keys and screen Set the keys and screen to lock automatically...

Algo CCR2050 Call Recorder

Press 1 for How to count Press 2 for an IVR Press 3 for using Function Points

Aastra Business Communication Solution

White Paper on the Wireless Market

Amcrest 960H DVR Quick Start Guide

Quick Start Guide. U.S. Cellular Customer Care:

Manufactured under license from Dolby laboratories. Dolby and the double-d symbol are trademarks of Dolby Laboratories.

Android Mobile Phone User Manual

Automated Function Points in a Continuous Integration Environment (Agile AFP)

Update date:

Contents. New features. Getting started. Entertainment. Transferring data. Managing your phone. Tools

Milestone Edge Storage with flexible retrieval

Vodafone Plus. User Guide for Windows Mobile

OCR LEVEL 2 CAMBRIDGE TECHNICAL

User's Guide. [Home Network] app. Model No.

WIND RIVER SECURE ANDROID CAPABILITY

10 Magni Tablet User Guide

Crystal Gears. The Next Generation Personal Desktop Call Recording Solution. Why Crystal Gears

Cisco TelePresence VCR MSE 8220

User Manual. Vogue2.8-D6

Mobile Communicator for Mobile Devices

Wave 4.5. Wave ViewPoint Mobile 2.0. User Guide

App Operating Instructions Manual ES File Explorer

Modeling the Mobile Application Development Lifecycle

Adobe Certified Expert Program

Connecting your Aiki phone to a network

TABLE OF CONTENTS YOUR PHONE 3

Content Protection in Silverlight. Microsoft Corporation

Skynax. Mobility Management System. System Manual

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING

Mobile Application Development

User Manual 9.7 Tablet Android 4.0

ImagineWorldClient Client Management Software. User s Manual. (Revision-2)

Welcome to the GreatCall Family.

Mobility Manager 9.5. Installation Guide

How to setup camera with NAS

Connecting Software Connect Bridge - Mobile CRM Android User Manual

Integrated Security System

Kofax White Paper. Mobile Technology for Advanced AP Automation. Executive Summary

Domonial, le Sucre. Easy to Use Intruder Detection Systems

INT-2064 (UNIV) ISSUE 1.0. Single Line Telephone User Guide

INQ CLOUD TOUCH USER GUIDE

LabTech Mobile Device Management Overview

Define Activities Sequence Activities Estimate Activity Resources Estimate Activity Durations Develop Schedule Control Schedule

friendlyway digital signage software

CINEPAD 7 Multi-Touch Capacitive Tablet with Android 4.0 Quick Start Guide

WebSphere Business Monitor

Logitech Alert Video Security System. Getting To Know

ShoreTel 13 Conferencing User Guide. Part Number

Transcription:

SIZING ANDROID MOBILE APPLICATIONS GURUPRASATH S, CFPS Email: g.a.sethumadhavan@accenture.com Reviewed By: Purnima Jagannathan Prashanth CM Copyright 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

Agenda About ANDROID Application Determining Scope & Challenges & Approach Data Functions & Transaction Functions General System Characteristics Miscellaneous Copyright 2011 Accenture All Rights Reserved. 2

Abstract a Call it the boom in hand-held devices, there is a new genre of applications covering up IT marketplace. There is plethora of these devices released to market every year. Major players in the communications industry are also focusing on bringing up their own platforms and attracting application developers through their SDK and App Centers. If we visit these App Centers, we can clearly see few applications getting added every day. This makes it an interesting and ever growing genre of applications. This paper suggests the approaches for Sizing ANDROID mobile applications a Copyright 2011 Accenture All Rights Reserved. 3

Abstract - Key Points Exploring possibility of FP Analysis of Android Applications, to cover fast growing genre of the applications Challenges posed by coherent applications while defining boundary or identifying scope Identifying transactions among deeply nested interactions between applications, and logical grouping of data, based on these transactions Differentiating factors that impact the size of Android applications as compared to PC based applications The approach coupled with illustrations, is surely an enabler to size compact applications running on mobile devices Copyright 2011 Accenture All Rights Reserved. 4

About Android Application About Android: Android is an open source platform that allows developers to write new applications as well as enhance existing applications. Compared to other smart phone platforms Android resides in numerous handsets from various manufacturers. From a FP perspective, Android does not give any unique functionality compared to other platforms. Few differences exist on the technical side (Performance, processing optimization etc.) that leads to change in values for GSC s (Non- Functional). All mobile platforms will have common features such as Phone, Contacts, Messaging, and Calendar etc. However covering all these features for a wide variety of platforms is not feasible. What is an Android application and its characteristics? An application in Android is packaged as an.apk file Android application is made up of Activities, Services, Broadcast receivers and Content Providers and gets invoked by messages called Intents. The application can also be viewed as the features that are independently installed on an Android Device. Example of applications Messaging App, Contacts App. Copyright 2011 Accenture All Rights Reserved. 5

Determining Scope & COUNTING SCOPE & BOUNDARY Data Transaction GSC s Miscellaneous Function Function Conclusion Scope: Scope is defined as the set of functionalities to be included in the function point count. Purpose of conducting FPA is to cover all functionality given by a particular application, scope will include all the features of that application. : is the border between the application and its Users. Each application is conceptually enclosed within its boundary. An android application can be visualized as a bundle of related functionalities, encapsulated with application specific data. Each functionality or App is developed independently and will perform a Slide title: can span two lines of the slide and uses this font color (26pt) specific function that differentiates it from other applications.(for Eg: the Messaging App will be different from the Phone App and each has a specific function to perform). As each application is an independent entity, we would place an application boundary around each App within the Android platform. Copyright 2011 Accenture All Rights Reserved. 6

Determining Scope & COUNTING SCOPE & BOUNDARY Data Transaction GSC s Miscellaneous Function Function Conclusion List of Applications: (non exhaustive) Messaging App [Application used to send and receive Messages] Contacts App Browser App Map App [Application that maintains Phone book entries] [Application used to access web] [Application used to display geographic data] Bluetooth App [Application uses the Bluetooth Services] Phone App [Application used for making calls] Camera App [Application used for capturing Images] Slide title: can span two lines of the [Application used to manage music] slide and uses this font color (26pt) Music App Clock App [Application that shows system Time] Alarm App [Application used to set Alarms/Timer alerts] Copyright 2011 Accenture All Rights Reserved. 7

Determining Scope & COUNTING SCOPE & BOUNDARY Data Transaction GSC s Miscellaneous Function Function Conclusion Slide title: can span two lines of the slide and uses this font color (26pt) Android Architecture Showing Different Apps Copyright 2011 Accenture All Rights Reserved. 8

Challenges & Approach COUNTING SCOPE & BOUNDARY Data Transaction GSC s Miscellaneous Function Function Conclusion Challenges & Approach Scope: Some of the android applications use services given by other applications to fulfill their business case. In such situations associating a feature to a specific application is a challenge. Messaging App receives an SMS with a phone number embedded in it. User can save the embedded number into his Contact List, by choosing options, Save Number. The feature Save Number is supported by Contacts App. If the purpose is to size Messaging App, this feature will not be in the scope, as the feature belongs to Contacts App. Instead, if the purpose is to count Contacts Apps as well, Save Number feature must be included. Slide title: can span two lines of the slide and uses this font color (26pt) Copyright 2011 Accenture All Rights Reserved. 9

Challenges & Approach COUNTING SCOPE & BOUNDARY Data Transaction GSC s Miscellaneous Function Function Conclusion Search (Google) made on Browser App, results in a web page containing the location along with a map of the location. In this scenario, displaying the Search page should be counted in Browser App. However, displaying the map should be counted in Map App Slide title: can span two lines of the slide and uses this font color (26pt) Scope example: Saving New number embedded in SMS into Contacts Copyright 2011 Accenture All Rights Reserved. 10

Challenges & Approach COUNTING SCOPE & BOUNDARY Data Transaction GSC s Miscellaneous Function Function Conclusion Challenges & Approach : Defining boundary of an application which interacts with multiple applications is not obvious. Search (Google) made on Browser App, results in a web page containing the location along with a map of the location. In this scenario, displaying the Search page should be counted in Browser App. However, displaying the map should be counted in Map App Slide title: can span two lines of the slide and uses this font color (26pt) Search results (Browser App) with embedded Map of the location Copyright 2011 Accenture All Rights Reserved. 11

Data Function DATA FUNCTION Transaction Scope& GSC s Miscellaneous Function Conclusion Data functions are the functionality given to the user to meet internal and external data storage requirements. These are part of Base Functional Components (BFC). Internal Data Storage : Data storage internal to an application forms Internal Logical Files (ILF). ILFs correspond to data maintained within boundary of an application. In other words, data maintained by an application through processes like Create, Edit and Delete is essentially ILF. Example: Bluetooth App has an ability to sense the available devices around and list them. While this is done, Slide title: can span two lines of the slide and uses this font color (26pt) internally handshaking between Bluetooth devices is done and the Bluetooth App of the initiator device stores the available device profiles. Device data hence stored becomes ILF for the Bluetooth App. Copyright 2011 Accenture All Rights Reserved. 12

Data Function DATA FUNCTION Transaction Scope& GSC s Miscellaneous Function Conclusion Slide title: can span two lines of the slide and uses this font color (26pt) Storing Device data upon Bluetooth Connection Establishment Copyright 2011 Accenture All Rights Reserved. 13

Data Function DATA FUNCTION Transaction Scope& GSC s Miscellaneous Function Conclusion External Data Reference : External data storage corresponds to EIFs (External Interface File), data referenced by application under discussion, but maintained outside its boundary. Example: Phone App owns incoming call; however Name of the calling person and image shown as part of incoming call screen are referred from Contacts App. Hence, for Phone Slide title: can span two lines of the slide and uses this font color (26pt) App, Contact details is considered as EIF. Display of Incoming call referring Contacts Copyright 2011 Accenture All Rights Reserved. 14

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion Transaction Functions are functionality given to the user to process data. There are three types of transaction functions, which are also part of Base Functional Components (BFC). Transaction functions can be visualized as data under motion, while data functions corresponding to stationary data of the application. External Input: External Inputs are transaction functions that accept data from user and maintain ILFs. Example: Capturing of an image using the Camera App. While an image is being captured via user action, shutter tone is heard and flash is used, and image is stored in Image ILF. Error message is displayed if anything goes wrong. Hence, upon counting Image Capture transaction, Image, shutter tone and Flash can be seen as DETs along with Capture action and Error Message (Memory Full, Low Battery, closed shutter etc.). Deleting the captured image is also an EI. Copyright 2011 Accenture All Rights Reserved. 15

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion Capture Image transaction to store Images Copyright 2011 Accenture All Rights Reserved. 16

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion External Outputs: External Outputs are transaction functions that present information to the user with help of additional processing logic like Calculations and generation of derived data. Example: Snoozed Alarm Alert of Alarm App is an example of EO. the calculation involves stored alarm time, snooze duration and current time. Alert displays message to the user along with Alert Tone Listing Call Log is an EO, as it lists the call records along with the count of calls made to a specific number or calls from specific number. Copyright 2011 Accenture All Rights Reserved. 17

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion Examples of an EO Elapsed Time Example of an EO Displaying of Snooze Alert Copyright 2011 Accenture All Rights Reserved. 18

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion External Enquiries: External Enquiries are transaction functions that present information to the user with retrieval of data from logical data. EQ examples include listing the contacts, searching for contacts in Contacts App, list of music files in Music App etc. Example: Listing of Contacts in Contacts App is one of the examples for EQ. Here entries stored in Contacts file are retrieved and displayed to user in alphabetical order for ease of usage. Searching specific contacts in Contacts List can also be seen as EQ. User enters search key, based on which entries matching the key are retrieved and displayed. List of music files in Music App is an EQ as well. Viewing Inbox, which shows a list of messages, is another interesting example of EQ. Copyright 2011 Accenture All Rights Reserved. 19

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion Searching of Contacts Example of an EQ Listing all Contacts Examples of an EQ Display of Message in Inbox Copyright 2011 Accenture All Rights Reserved. 20

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion Challenges in identifying transactions among deeply nested interactions It is very common to see complicated interactions spanning multiple applications in smart phones. A common use case of sending a message while user is on an ongoing call has been explained below. This shows a user interaction stepwise, indicating the applications that involve in each step. Phone gets a signal of incoming call - Phone App is invoked and incoming call screen is shown One EO for Showing incoming call screen in Phone App. For Ringtone playback, ringer and audio manger services are used. - Ringtone Manager is invoked. This process belongs to Ringtone Manager, and doesn't contribute to Phone App One EQ for Ringtone manager. User Accepts the incoming call Ringtone App ceases, ongoing call screen is shown by Phone App. Slide Ongoing title: call can Screen span is shown is two EO for lines Phone App. of the slide and uses this font color (26pt) Navigates to Contacts from ongoing Call screen Contact App is invoked. X This is just navigation hence not an Elementary Process. Copyright 2011 Accenture All Rights Reserved. 21

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion Challenges in identifying transactions among deeply nested interactions Contact list is shown - Contacts App elementary process to show contact list Contact List is considered as EQ for Contacts App. Selects a contact, contact detail is shown - Contacts App elementary process to show contact details. Contact details are considered as EQ for Contacts App. 'Compose Message' screen is shown - Messaging App Invoked. X Compose screen displays a blank screen. Hence not Counted. User composes message and sends it Messaging App elementary process to send message; Composing a Message is an EI for Messaging App Slide title: can span two lines of the slide and uses this font color (26pt) Sending message is an EO for Messaging App, as Time sent' is recorded in ILF. Navigates back to ongoing call screen Contact App ceases; Ongoing call is Phone App s elementary process and User Ends the call. Copyright 2011 Accenture All Rights Reserved. 22

Transaction Functions TRANSACTION FUNCTION Data Scope& GSC s Miscellaneous Function Conclusion Flow diagram for the interaction with indicated EPs Copyright 2011 Accenture All Rights Reserved. 23

General System Characteristics GENERAL SYSTEM CHARACTERISTICS Data Transactio Scope& Miscellaneous Conclusion Function n Function The current set of GSC s might look very far from the view point of applications designed for Android. These applications are light (less memory, less functionality) and will not have complex scenarios compared to PC counter parts. Only GSC s, that hold to a better extent for these applications are: Data communication Performance Online Data Entry End-User Efficiency Online Update Slide title: can span two lines of the Reusability slide and uses this font color (26pt) Installation Use Copyright 2011 Accenture All Rights Reserved. 24

Miscellaneous MISCELLANEOUS Data Transactio Scope& Function n Function GSC s Conclusion Differentiating factors - Android applications Vs PC based Applications Applications running on handheld have limitations due to power and resource constraints. Limited memory size and greedy power strategies limit application s size and functionalities Thereby, handheld devices will offer minimal functionalities compared to their PC counterparts. Due to this, the FP size of the functionality in mobile application will be very small compared to the FP size of its PC counterparts. Example: Adobe Reader gives Saving, Adding notes, extracting, printing and many such features in the PC version. In the Android version, it just gives view PDF option. Hence Android version of Adobe reader will be very small in FP size compared to PC based version. Copyright 2011 Accenture All Rights Reserved. 25

Miscellaneous MISCELLANEOUS Data Transactio Scope& Function n Function GSC s Conclusion Non-FP countable Some transactions in applications might be handling static and system data. Such functionalities might not be countable from FP perspective. As an example, we see Clock utility which part of platform. It s just a wrapper around System Clock and gives functionality to view current time. Example of FP Not Countable Clock Copyright 2011 Accenture All Rights Reserved. 26

Conclusion Scope & Data Transaction GSC s Miscellaneous Function Function CONCLUSION An Effort has been made to demonstrate function point analysis concepts as applied to Android Applications. It addresses the challenges posed and suggests the approach to be followed while Sizing such applications. This serves as a guide for applying FPA on Android Mobile applications. Any specific applications needing additional considerations, then the approaches discussed in this paper need to be considered as an extension. Copyright 2011 Accenture All Rights Reserved. 27

References [1] http://developer.android.com/index.html [2] http://www.ifpug.org/ [3] IFPUG CPM - 4.3 [4] www.talkandroid.com/google-android-application- guide Copyright 2011 Accenture All Rights Reserved. 28

Questions Copyright 2011 Accenture All Rights Reserved. 29

About Author Guruprasath is holder of M.Sc Software Engineering Degree from Bharathiar University. He has total 5 years of experience in IT industry, predominantly worked on Finance and Banking Domain. He has been with Accenture for last 1 year and in his current assignment owns a responsibility of Function Point Analysis for a Major Telecom Client. Guruprasath is Certified Function Point Specialist (CFPS, 4.3) and an active contributor in IFPUG Bulletin Board Discussions. Copyright 2011 Accenture All Rights Reserved. 30