• No results found

SIZING ANDROID MOBILE APPLICATIONS

N/A
N/A
Protected

Academic year: 2021

Share "SIZING ANDROID MOBILE APPLICATIONS"

Copied!
30
0
0

Loading.... (view fulltext now)

Full text

(1)

Copyright © 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

SIZING ANDROID

MOBILE APPLICATIONS

GURUPRASATH S, CFPS

Email: g.a.sethumadhavan

@

accenture.com

Reviewed By:

Purnima Jagannathan

(2)

Copyright © 2011 Accenture All Rights Reserved. 2

Agenda

About ANDROID Application

Determining Counting Scope & Boundary

Challenges & Approach

Data Functions & Transaction Functions

General System Characteristics

(3)

Copyright © 2011 Accenture All Rights Reserved. 3

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

(4)

Copyright © 2011 Accenture All Rights Reserved. 4

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

(5)

Copyright © 2011 Accenture All Rights Reserved. 5

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.

(6)

Copyright © 2011 Accenture All Rights Reserved. 6

Slide title: can span two lines of the

slide and uses this font color (26pt)

COUNTING SCOPE

& BOUNDARY Function Data Transaction Function GSC’s MiscellaneouConclusion s

Determining

Counting Scope &

Boundary

Counting 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.

Boundary:

 Boundary 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 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.

(7)

Copyright © 2011 Accenture All Rights Reserved. 7

Slide title: can span two lines of the

slide and uses this font color (26pt)

COUNTING SCOPE

& BOUNDARY Function Data Transaction Function GSC’s MiscellaneouConclusion s

Determining

Counting Scope &

Boundary

List of Applications: (non exhaustive)

 Messaging App [Application used to send and receive Messages]

 Contacts App [Application that maintains Phone book entries]

 Browser App [Application used to access web]

 Map App [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]

 Music App [Application used to manage music]

 Clock App [Application that shows system Time]

 Alarm App [Application used to set Alarms/Timer alerts]

(8)

Copyright © 2011 Accenture All Rights Reserved. 8

Slide title: can span two lines of the

slide and uses this font color (26pt)

COUNTING SCOPE

& BOUNDARY Function Data Transaction Function GSC’s MiscellaneouConclusion s

Determining

Counting Scope &

Boundary

(9)

Copyright © 2011 Accenture All Rights Reserved. 9

Slide title: can span two lines of the

slide and uses this font color (26pt)

COUNTING SCOPE

& BOUNDARY Function Data Transaction Function GSC’s MiscellaneouConclusion s

Challenges &

Approach

Challenges & Approach – Counting 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.

(10)

Copyright © 2011 Accenture All Rights Reserved. 10

Slide title: can span two lines of the

slide and uses this font color (26pt)

COUNTING SCOPE

& BOUNDARY Function Data Transaction Function GSC’s MiscellaneouConclusion s

Challenges &

Approach

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

(11)

Copyright © 2011 Accenture All Rights Reserved. 11

Slide title: can span two lines of the

slide and uses this font color (26pt)

COUNTING SCOPE

& BOUNDARY Function Data Transaction Function GSC’s MiscellaneouConclusion s

Challenges &

Approach

Challenges & Approach – Boundary:

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

“Search results (Browser App) with embedded Map of the location”

(12)

Copyright © 2011 Accenture All Rights Reserved. 12

Slide title: can span two lines of the

slide and uses this font color (26pt)

DATA FUNCTION Counting Scope& Boundary Transaction

Function GSC’s MiscellaneouConclusion s

Data Function

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, 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.

(13)

Copyright © 2011 Accenture All Rights Reserved. 13

Slide title: can span two lines of the

slide and uses this font color (26pt)

DATA FUNCTION Counting Scope& Boundary Transaction

Function GSC’s MiscellaneouConclusion s

Data Function

(14)

Copyright © 2011 Accenture All Rights Reserved. 14

Slide title: can span two lines of the

slide and uses this font color (26pt)

DATA FUNCTION Counting Scope& Boundary Transaction

Function GSC’s MiscellaneouConclusion s

Data Function

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 App, Contact details is considered as EIF.

(15)

Copyright © 2011 Accenture All Rights Reserved. 15 TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

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 .

(16)

Copyright © 2011 Accenture All Rights Reserved. 16 TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

(17)

Copyright © 2011 Accenture All Rights Reserved. 17 TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

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.

(18)

Copyright © 2011 Accenture All Rights Reserved. 18 TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

Displaying of Snooze Alert

Elapsed Time” Example of an EO
(19)

Copyright © 2011 Accenture All Rights Reserved. 19 TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

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.

(20)

Copyright © 2011 Accenture All Rights Reserved. 20 TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

Listing all Contacts

Searching of Contacts” Example of an EQ

Display of Message in Inbox

(21)

Copyright © 2011 Accenture All Rights Reserved. 21

Slide title: can span two lines of the

slide and uses this font color (26pt)

TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

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.

 Ongoing call Screen is shown is EO for Phone App.

 Navigates to Contacts from ongoing Call screen – Contact App is invoked.

X This is just navigation hence not an Elementary Process.

(22)

Copyright © 2011 Accenture All Rights Reserved. 22

Slide title: can span two lines of the

slide and uses this font color (26pt)

TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

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

 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.

(23)

Copyright © 2011 Accenture All Rights Reserved. 23 TRANSACTION FUNCTION Counting Scope& Boundary Data

Function GSC’s MiscellaneouConclusion s

Transaction

Functions

(24)

Copyright © 2011 Accenture All Rights Reserved. 24

Slide title: can span two lines of the

slide and uses this font color (26pt)

GENERAL SYSTEM CHARACTERISTICS Counting Scope& Boundary Data Function Transactio

n Function MiscellaneouConclusion s

General

System

Characteristics

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  Reusability  Installation Use

(25)

Copyright © 2011 Accenture All Rights Reserved. 25

MISCELLANEOUS Counting Scope& Boundary Data Function Transactio n Function GSC’s Conclusion

Miscellaneous

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.

(26)

Copyright © 2011 Accenture All Rights Reserved. 26

MISCELLANEOUS Counting Scope& Boundary Data Function Transactio n Function GSC’s Conclusion

Miscellaneous

Non-FP countable

Example of FP Not Countable – “Clock”

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.

(27)

Copyright © 2011 Accenture All Rights Reserved. 27

Conclusion

Counting Scope & Boundary Data Function Transaction

Function GSC’s MiscellaneouCONCLUSION s

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

(28)

Copyright © 2011 Accenture All Rights Reserved. 28

[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

References

(29)

Copyright © 2011 Accenture All Rights Reserved. 29

Questions

(30)

Copyright © 2011 Accenture All Rights Reserved. 30

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

References

Related documents

AUC: Area Under the ROC Curve; ASA: Absolute Solvent Accessibility; CASP: Critical Assessment of Techniques for Protein Structure Prediction; CDF: Cumulative Distribution

(43) Datum waarop de aanvraag ter inzage is gelegd (43) Date of publication by printing or similar process of anexamined document on which no grant has taken place on or before

The goals of this thesis is to do a software study and analysis of the performance and usability of Hadoop MapReduce running on top of virtual machines inside an Eucalyptus

However, there are many risk factors that affect micronutrient utilization negatively including: poor access to health care, low education/low literacy of the mother

3 FP From the end of Barrow Road at NE end of FP 11, NNE and N to the S side of the A34, continuing N, towards Milton Parish Boundary from the N side of the A34 and terminating

Beyond the flexible smooth transi- tion specification, our approach allows for sector specific impact of trade costs on sectoral trade while controlling for unobserved trade costs

The color can be any HTML color string, for example: hAxis.title string null hAxis property that specifies the title of the horizontal hAxis.titleTextStyle Object {color:

Data Type Defined by Key Word Input file format version number Title lines for data file five lines Program and analysis options Pile section and material properties Axial thrust