O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Measure the functional size 
of a mobile app 
Harold van Heeringen & Edwin van Gorp
| 
Measure the functional size 
of a mobile app 
Using the COSMIC functional size measurement method 
Harold van Heeringen...
| 
Overview 
 Reasons for this paper/presentation; 
 Mobile apps – why are they different?; 
 Why measure apps using CO...
| 
Beware! 
 This is a technical paper/presentation! 
 Knowledge of the COSMIC method is required! 
IWSM-Mensura 2014 4
| 
Reasons for this paper/presentation 
IWSM-Mensura 2014 5
| 
Why? 
 IT industry is changing – new types of applications and 
ways to interact with software arise, for example: 
 ...
| 
Mobile apps 
 Do I really have to introduce these? 
IWSM-Mensura 2014 7
| 
Some characteristics 
 Downloaded on a mobile device, like phone or tablet; 
 Connects to the internet (Wi-Fi/cellula...
| 
Mobile apps – why are they different? 
 More ways of user interaction: 
 Changing position of device: toggling; 
 Vo...
| 
Why measure apps using COSMIC? 
 Measuring mobile apps with the IFPUG method has 
already been published (the IFPUG gu...
| 
Short COSMIC overview 
IWSM-Mensura 2014 11
| 
Entries  functional process 
IWSM-Mensura 2014 12 
Triggering 
event 
is sensed 
by 
Triggering 
Entry 
Functional 
Bo...
| 
Functional processes and data movements 
IWSM-Mensura 2014 13 
Functional User 
Requirements 
Functional 
processes 
Su...
| 
COSMIC overview 
Users Functional process Data 
IWSM-Mensura 2014 14 
W 
E 
X R
| 
The proposed approximate method 
IWSM-Mensura 2014 15
| 
Basic assumptions 
 A mobile app is an application layer, developed on 
top of one ore more data layers: 
 The physic...
| 
Measurement strategy 
 Equal to ‘standard’ COSMIC measurements, identify: 
 Purpose, e.g. estimate realisation phase;...
| 
Mapping phase 
 Equal to ‘standard’ COSMIC measurements, identify: 
 Functional processes; 
 Objects of interest; 
...
Measurement phase: approximate method 
| 
 Two steps: 
1. Indentify the type of functional process; 
2. Quantify the para...
| 
Functional process types 
 Looking at the primary intent of a functional process: 
1. View functionality; 
2. Data man...
| 
View functionality 
IWSM-Mensura 2014 21
| 
View functionality 
 Basic view functional process: 6 CFP; 
 1 OOI/1 data group: 
 For each additional OOI/data grou...
Data Layer 
| 
View functional process 
IWSM-Mensura 2014 23 
Application layer 
E 
X 
E 
X 
6 CFP 
X 
E 
OOI / data group...
Measurement phase: approximate method 
| 
 For each functional process with primary intent to 
present data to at least o...
| 
Data manipulation functionality 
 Basic add/change/delete functional process: 4 CFP: 
 For each additional OOI/data g...
Measurement phase: approximate method 
| 
 For each functional process with primary intent to 
manipulate data for at lea...
| 
Enquiry / user supporting functionality 
 Enquiry functionality (before update): 
 Identical to view functionality. 
...
| 
Special functionality - help 
 One functional process per help functionality type; 
 Identical to view functionality....
| 
Special functionality – Login / Logout 
 Standard log in: 5 CFP. 
 Log status is process data spontaneously present i...
| 
Conclusions 
 This approximate method is intended to be a guideline 
to apply the COSMIC FSM quickly and correctly whe...
Thank you for your attention.
Harold van Heeringen 
Senior Consultant Software Metrics /Software Cost Engineer 
Sogeti Sizing, Estimating & Control (SEC...
Próximos SlideShares
Carregando em…5
×

Measuring the functional size of mobile apps with COSMIC FP

513 visualizações

Publicada em

This presentation shows the way the functional size measurement method COSMIC can be used to measure the functional size of mobile apps.

Publicada em: Negócios
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Measuring the functional size of mobile apps with COSMIC FP

  1. 1. Measure the functional size of a mobile app Harold van Heeringen & Edwin van Gorp
  2. 2. | Measure the functional size of a mobile app Using the COSMIC functional size measurement method Harold van Heeringen Senior consultant software metrics Department Sizing, Estimating & Control Sogeti Nederland B.V. harold.van.heeringen@sogeti.nl @haroldveendam Rotterdam, October 6th, 2014 IWSM-Mensura 2014 2
  3. 3. | 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
  4. 4. | Beware!  This is a technical paper/presentation!  Knowledge of the COSMIC method is required! IWSM-Mensura 2014 4
  5. 5. | Reasons for this paper/presentation IWSM-Mensura 2014 5
  6. 6. | 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
  7. 7. | Mobile apps  Do I really have to introduce these? IWSM-Mensura 2014 7
  8. 8. | 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
  9. 9. | 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
  10. 10. | 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
  11. 11. | Short COSMIC overview IWSM-Mensura 2014 11
  12. 12. | Entries  functional process IWSM-Mensura 2014 12 Triggering event is sensed by Triggering Entry Functional Boundary user Functional process
  13. 13. | Functional processes and data movements IWSM-Mensura 2014 13 Functional User Requirements Functional processes Sub-processes Software Data movement Data manipulation
  14. 14. | COSMIC overview Users Functional process Data IWSM-Mensura 2014 14 W E X R
  15. 15. | The proposed approximate method IWSM-Mensura 2014 15
  16. 16. | 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
  17. 17. | 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
  18. 18. | 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
  19. 19. Measurement phase: approximate method |  Two steps: 1. Indentify the type of functional process; 2. Quantify the parameters involved. IWSM-Mensura 2014 19
  20. 20. | 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
  21. 21. | View functionality IWSM-Mensura 2014 21
  22. 22. | 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 entry X Question for information to the data layer E Receiving data E Receiving application error messages X Show data X Show application error messages E Receiving data X Show data
  23. 23. Data Layer | View functional process IWSM-Mensura 2014 23 Application layer E X E X 6 CFP X E OOI / data group Messages
  24. 24. 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
  25. 25. | 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: X Question for information to the data layer E Receiving data X Show data  For each validation for which referential data is needed: IWSM-Mensura 2014 25 E Start entry X Providing information to the data layer E Receiving application error messages X Show application error messages E Entering data X Providing information to the data layer X Questions for information to the data layer E Receiving data
  26. 26. 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
  27. 27. | 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
  28. 28. | 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
  29. 29. | 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 entry X Providing credentials to the data layer E Receiving log status E Receiving application error messages X Show application error messages E Start entry X Show application error messages
  30. 30. | 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. IWSM-Mensura 2014 30
  31. 31. Thank you for your attention.
  32. 32. Harold van Heeringen Senior Consultant Software Metrics /Software Cost Engineer Sogeti Sizing, Estimating & Control (SEC) @haroldveendam harold.van.heeringen@sogeti.nl 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)

×