iwsm2014 measuring the functional size of mobile apps with cosmic (harold van heeringen &...

32
Measure the functional size of a mobile app Harold van Heeringen & Edwin van Gorp

Upload: nesma

Post on 29-Jun-2015

160 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

Measure the functional

size of a mobile app

Harold van Heeringen & Edwin van

Gorp

Page 2: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Measure the functional

size of a mobile app

Using the COSMIC functional size measurement

methodHarold van HeeringenSenior consultant software metrics

Department Sizing, Estimating & Control

Sogeti Nederland B.V.

[email protected]

@haroldveendam Rotterdam, October 6th, 2014

2IWSM-Mensura 2014

Page 3: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Overview

Reasons for this paper/presentation; Mobile apps – why are they different?; Why measure apps using COSMIC?; Short COSMIC overview; The proposed approximate method; Conclusions.

IWSM-Mensura 2014 3

Page 4: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Beware!

This is a technical paper/presentation! Knowledge of the COSMIC method is required!

IWSM-Mensura 2014 4

Page 5: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Reasons for this paper/presentation

5IWSM-Mensura 2014

Page 6: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Why?

IT industry is changing – new types of applications and ways to interact with software arise, for example: Cloud computing; Google glass; Mobile apps.

Software sizing, estimation and benchmarking challenges: Fixed price/fixed date app development.

Need for methods and guidelines to apply standards to sizing, estimating and benchmarking. IWSM-Mensura 2014 6

Page 7: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Mobile apps

Do I really have to introduce these?

IWSM-Mensura 2014 7

Page 8: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Some characteristics

Downloaded on a mobile device, like phone or tablet;

Connects to the internet (Wi-Fi/cellular); Many different application types; Touch screen; Use of GPS: content and functionality change,

depending on location; Use of motion sensor: motion of device can

result in different display; Content updates automatically; Functionality may be updated periodically.

IWSM-Mensura 2014 8

Page 9: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Mobile apps – why are they different?

More ways of user interaction: Changing position of device: toggling; Voice input, e.g. Siri;

Reaction to real-time events: Reach a certain location: message ‘flasher’;

Unclear where data is stored: On device/on backend/in cloud;

Functionality to handle disruptions: E.g. an incoming call;

Specific non-functional requirements: Security, performance, data traffic, battery use.

IWSM-Mensura 2014 9

Page 10: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Why measure apps using COSMIC?

Measuring mobile apps with the IFPUG method has already been published (the IFPUG guide to IT and software measurement).

Using COSMIC may produce even better results: More accurate measurement due to ratio scale; Concepts of layers and peer components fits

mobile app architectures; Lack of knowledge of the data model is no show

stopper for COSMIC.

Objective: create an approximate method to accurately size mobile apps using COSMIC.

IWSM-Mensura 2014 10

Page 11: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Short COSMIC overview

11IWSM-Mensura 2014

Page 12: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Entries functional process

12IWSM-Mensura 2014

Triggeringevent

is sensed by

TriggeringEntry

Boundary

Functionaluser

Functionalprocess

Triggeringevent

is sensed by

TriggeringEntry

Boundary

Functionaluser

Functionalprocess

Page 13: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Functional processes and data movements

13IWSM-Mensura 2014

Functional UserRequirements

Data movement Data manipulation

Sub-processes

Software

Functionalprocesses

Functional UserRequirements

Data movement Data manipulation

Sub-processes

Software

Functionalprocesses

Page 14: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

COSMIC overview

14IWSM-Mensura 2014

Users Functional process Data

W

X R

E

Page 15: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

The proposed approximate method

15IWSM-Mensura 2014

Page 16: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Basic assumptions

A mobile app is an application layer, developed on top of one ore more data layers: The physical location of the data layer is

irrelevant; Logically, no persistent data is stored in the

application layer: No Reads/Writes are measured, only

Entries/eXits; The app can use certain process data that is

spontaneously present: E.g. date + time and GPS location;

Mobile apps are considered business applications: One eXit for all (error) messages; (Error) messages come from data layer: 1 Entry.

IWSM-Mensura 2014 16

Page 17: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Measurement strategy

Equal to ‘standard’ COSMIC measurements, identify: Purpose, e.g. estimate realisation phase; Scope, e.g. a set of functional requirements; Functional users, e.g. the end users that

download the app from the app store; Level of granularity, e.g. functional process level.

Keep basic assumptions in mind when doing so.

IWSM-Mensura 2014 17

Page 18: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Mapping phase

Equal to ‘standard’ COSMIC measurements, identify: Functional processes; Objects of interest; Data groups.

Keep basic assumptions in mind when doing so.

IWSM-Mensura 2014 18

Page 19: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Measurement phase: approximate method

Two steps:1. Indentify the type of functional process;2. Quantify the parameters involved.

IWSM-Mensura 2014 19

Page 20: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Functional process types

Looking at the primary intent of a functional process:1. View functionality;2. Data manipulation (add, change, delete);3. Enquiry (before update);4. User supporting functionality, e.g. list box,

selection screen, pop-up function);5. Special functionality:

• Dynamically generated menus;• Log in/log out functionality;• Help functionality;• Invoking external functionality.

IWSM-Mensura 2014 20

Page 21: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

View functionality

21IWSM-Mensura 2014

Page 22: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

View functionality

Basic view functional process: 6 CFP; 1 OOI/1 data group:

For each additional OOI/data group:

For each calculated/derived data group: 1 eXit.

IWSM-Mensura 2014 22

E Start entryX Question for information to the data layerE Receiving dataE Receiving application error messagesX Show dataX Show application error messages

E Receiving dataX Show data

Page 23: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Data Layer

View functional process

IWSM-Mensura 2014 23

E

X

E

X

6 CFP

Application layer

X

E

OOI / data group

Messages

Page 24: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Measurement phase: approximate method

For each functional process with primary intent to present data to at least one of the functional users:

4 CFP+ (2 CFP * number of data groups derived from the data layer) + (1 CFP * number of data groups with calculated and/or determined data)

IWSM-Mensura 2014 24

Page 25: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Data manipulation functionality

Basic add/change/delete functional process: 4 CFP:

For each additional OOI/data group manipulated:

For each data group shown to the user:

For each validation for which referential data is needed:

IWSM-Mensura 2014 25

E Start entryX Providing information to the data layerE Receiving application error messagesX Show application error messages

E Entering dataX Providing information to the data layer

X Questions for information to the data layerE Receiving data

X Question for information to the data layerE Receiving dataX Show data

Page 26: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Measurement phase: approximate method

For each functional process with primary intent to manipulate data for at least one of the functional users:

2 CFP+ (2 CFP * number of data groups manipulated) + (3 CFP * number of displayed data groups)+ (2 CFP * number of validations with referential data)

IWSM-Mensura 2014 26

Page 27: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Enquiry / user supporting functionality

Enquiry functionality (before update): Identical to view functionality.

User supporting functionality (non mandatory): Identical to view functionality.

IWSM-Mensura 2014 27

Page 28: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Special functionality - help

One functional process per help functionality type;

Identical to view functionality.

IWSM-Mensura 2014 28

4 occurrences of the same output-type

Page 29: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Special functionality – Login / Logout

Standard log in: 5 CFP.

Log status is process data spontaneously present in all functional processes.

Standard Log out: 2 CFP.

IWSM-Mensura 2014 29

E Start entryX Providing credentials to the data layerE Receiving log statusE Receiving application error messagesX Show application error messages

E Start entryX Show application error messages

Page 30: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

|

Conclusions

This approximate method is intended to be a guideline to apply the COSMIC FSM quickly and correctly when measuring mobile apps;

Based on a few simple steps, the size measurement can be easily generated:1. Indentify the type of functional process;2. Quantifying the parameters involved.

Please read the paper if you are interested in a more detailed explanation of the method.

30IWSM-Mensura 2014

Page 31: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

Thank you for your attention.

Page 32: Iwsm2014   measuring the functional size of mobile apps with cosmic (harold van heeringen & edwin van gorp)

Harold van Heeringen Senior Consultant Software Metrics /Software Cost Engineer

Sogeti Sizing, Estimating & Control (SEC)

@[email protected]

President ISBSG (International Software Benchmarking Standards Group (www.isbsg.org))Board member NESMA (Netherlands Software Metrics Association (www.nesma.org))IAC member COSMIC (www.cosmicon.com)