Iwsm2014 empirical-based extension of the cosmic method (reiner dumke - robert neumann - andreas...

23
Reiner R. Dumke, University of Magdeburg Empirical-Based Extension of the Empirical-Based Extension of the COSMIC FP Method COSMIC FP Method Reiner R. Dumke Robert Neumann Andreas Schmietendorf Cornelius Wille Otto-von-Guericke Universität Magdeburg [email protected] Ultra Tendency Magdeburg robert.neumann@ ultratendency.com University of Applied Science (HWR) Berlin [email protected] University of Applied Science (FH) Bingen [email protected]

Transcript of Iwsm2014 empirical-based extension of the cosmic method (reiner dumke - robert neumann - andreas...

Reiner R. Dumke, University of Magdeburg

Empirical-Based Extension of the Empirical-Based Extension of the COSMIC FP MethodCOSMIC FP Method

Reiner R. Dumke Robert Neumann Andreas Schmietendorf Cornelius Wille

Otto-von-Guericke Universität [email protected]

Ultra TendencyMagdeburg

[email protected]

University of Applied Science(HWR) Berlin

[email protected]

University of Applied Science(FH) Bingen

[email protected]

Reiner R. Dumke, University of Magdeburg

AgendaAgenda

1. Introduction to COSMIC FP Method1. Introduction to COSMIC FP Method

4. COSMIC Process Extension: CPP4. COSMIC Process Extension: CPP

2. Empirical Aspects2. Empirical Aspects

3. COSMIC Product Extension: CSP3. COSMIC Product Extension: CSP

5. Conclusions & Future Work5. Conclusions & Future Work

Reiner R. Dumke, University of Magdeburg

1. Introduction to COSMIC FP Method1. Introduction to COSMIC FP Method

Motivation: COSMIC German BookMotivation: COSMIC German Book

Software

Functionality

Size

Reiner R. Dumke, University of Magdeburg

1. Introduction to COSMIC FP Method1. Introduction to COSMIC FP Method

Carefulness: COSMIC German BookCarefulness: COSMIC German Book

Processes

effort

Functional size

Reiner R. Dumke, University of Magdeburg

1. Introduction to COSMIC FP Method1. Introduction to COSMIC FP Method

CFP as I/O MetricsCFP as I/O Metrics

Reiner R. Dumke, University of Magdeburg

1. Introduction to COSMIC FP Method1. Introduction to COSMIC FP Method

Software Functionality:Software Functionality:1.1. inputs (Entries) inputs (Entries) (as #inputs, not size(inputs))(as #inputs, not size(inputs))

2.2. output (Exits) output (Exits) (as #outputs, not size(outputs))(as #outputs, not size(outputs))

3.3. execution (data manipulation)execution (data manipulation) (not in COSMIC; in COSMIC local (not in COSMIC; in COSMIC local

extension)extension)4.4. involving data base (Reads, Writes)involving data base (Reads, Writes)5.5. interaction to other software piecesinteraction to other software pieces

CFP as Functional SizeCFP as Functional Size

Other Size Measurement as Total Software Size:Other Size Measurement as Total Software Size: supremum: supremum: LOC LOC

infimum:infimum: I/O metricsI/O metrics

effort aspects: usual point metrics as weighted I/O metricseffort aspects: usual point metrics as weighted I/O metrics

Reiner R. Dumke, University of Magdeburg

1. Introduction to COSMIC FP Method1. Introduction to COSMIC FP Method

CFP Measurements & Effort EstimationCFP Measurements & Effort Estimation

CFP of Embedded Systems:CFP = |{E, X }i

| + #(R, W ) j CFP of Business Applications:

CFP = #({E, X }fp1 , ... , {E, X }fpn) + |{R, W }k| etc.

CFP of Embedded Systems:CFP = |{E, X }i

| + #(R, W ) j CFP of Business Applications:

CFP = #({E, X }fp1 , ... , {E, X }fpn) + |{R, W }k| etc.

Software development effort as (PM as personal month): 1 CFPnew_development ≈ 0.07 PM

ISBSG application for effort characterization:1 CFPmaintenance ≈ 0.013 PM

Conversion of IFPUG FP to COSMIC :1 FPIFPUG ≈ 1.13 CFP

Software development effort as (PM as personal month): 1 CFPnew_development ≈ 0.07 PM

ISBSG application for effort characterization:1 CFPmaintenance ≈ 0.013 PM

Conversion of IFPUG FP to COSMIC :1 FPIFPUG ≈ 1.13 CFP

Reiner R. Dumke, University of Magdeburg

2. Empirical Aspects: Software Size2. Empirical Aspects: Software Size

withSIZEproduct = SIZEartefact SIZEempirical

SIZEartefact = {#requirements, #models, #components,

#testCases, #LOC, #docPages etc.} 

SIZEempirical = {functional size, quality -based size, paradigm-based size, platform-based size}

SIZEprocess = {#phases, #activities, #resources, #budgets, #versions, #methods etc.}

They are some different kinds of software sizes like 

SIZE = SIZEproduct SIZEprocess

Reiner R. Dumke, University of Magdeburg

2. Empirical Aspects: Software Quality2. Empirical Aspects: Software Quality

 with QURproduct = {FUR, reliability, usability, efficiency, maintainability, portability}   QURapplication = {effectiveness, productivity, safety, satisfaction}   PUR = {paradigm, architecture, programming technology,

software processors, infrastructure}   POR = {development method, life cycle, management aspects,

personal resources, CASE tools, COTS, hardware resources} and management aspects = {timeline, effort, costs, size}

REQ = FUR NFR = FUR {QUR, PUR, POR} with nonfunctional requirements (NFR) as quality user req. (QUR), platform user req. (PUR) and process organizational req. (POR) and furthermore

QURISO 9126 = QURproduct QURapplication,

Reiner R. Dumke, University of Magdeburg

2. Empirical Aspects: Software Complexity2. Empirical Aspects: Software Complexity

COCOMO II empirical aspects examplesQURCOCOMO = {CPLX, DATA, DOCU, RCPX, RUSE etc.}PURCOCOMO = {PVOL, STOR, TIME, TURN} PORCOCOMO = {ACAP, APEX, LTEX, PCAP, FCIL etc.}

COCOMO II empirical aspects examplesQURCOCOMO = {CPLX, DATA, DOCU, RCPX, RUSE etc.}PURCOCOMO = {PVOL, STOR, TIME, TURN} PORCOCOMO = {ACAP, APEX, LTEX, PCAP, FCIL etc.}

COMPL = COMPLartefact COMPLempirical

with COMPLartefact = {problem complexity, model complexity, architecture complexity,

program complexity, infrastructure complexity} and

COMPLempirical = {topological complexity, information complexity, diagnostic complexity, data complexity, flow complexity, code complexity, mnemonic complexity,cyclomatic complexity etc.}

Reiner R. Dumke, University of Magdeburg

2. Empirical Aspects: Total software size2. Empirical Aspects: Total software size

COSMIC-based effort estimation (currently)

and CFP = SIZEfunctional = #(E, X, R, W )

COSMIC-based effort estimation needs total software size!

Reiner R. Dumke, University of Magdeburg

3. COSMIC Extensions3. COSMIC Extensions

Reiner R. Dumke, University of Magdeburg

3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP

consideration of:

NUR = QUR PUR

(nonfunctional requirements: quality user req. and platform user req.) as

entries (EQUR), exits (XQUR), reads (RQUR) and writes (WQUR) and

entries (EPUR) and exits (XPUR), reads (RPUR) and writes (WPUR) 

COSMIC Software Product Points:

CSP = CFP + COSMICNUR

Reiner R. Dumke, University of Magdeburg

3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP

COSMIC Software Product Points: CSP = CFP + COSMICNUR

FUR

funktionale Ab-grenzung (Boundary)

Zweck der Messung

Messbereich

Granularitäts-niveau

Funktionsobjekte

Datenbewegungen

Datenattribute

funktionaleProzesse

Entry (E)

Exit (X)

Read (R)

Write (W)

COSMIC-Messstrategie

COSMIC-Modellzuordnung

COSMIC-Messung

COSMIC-Messbericht

Anwendung derCOSMIC-Messfunktion

Messwertaggregation

Messwertdarstellung

Messwertarchivierung

funktionsauslö-sendes Entry

funktionsauslö-sendes Ereignis

Datengruppe

same principles

any new rules

new examples

Reiner R. Dumke, University of Magdeburg

3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP

Quality implementation sizing: PerformanceQuality implementation sizing: Performance

Time duration test

usualEntry & Exits

andReads & Writes

Reiner R. Dumke, University of Magdeburg

3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP

Quality implementation sizing: SecurityQuality implementation sizing: Security

usualEntry & Exits

andReads & Writes Password checking

Reiner R. Dumke, University of Magdeburg

3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP

Quality implementation sizing: UsabilityQuality implementation sizing: Usability

usualEntry & Exits

andReads & Writes

GUI interaction extension

Reiner R. Dumke, University of Magdeburg

4. COSMIC Extensions: CPP4. COSMIC Extensions: CPP

consideration of 

POR (process organizational requirements)

as

entries (EPOR), exits (XPOR), reads (RPOR) and writes (WPOR)  

COSMIC Software Process Points:

CPP = #(EPOR, XPOR) i + |{RPOR, WPOR}j |

Reiner R. Dumke, University of Magdeburg

4. COSMIC Extensions: CPP4. COSMIC Extensions: CPP

COSMIC Software Process Points: CPP = #(EPOR, XPOR) i + |{RPOR, WPOR}j

|

FUR

funktionale Ab-grenzung (Boundary)

Zweck der Messung

Messbereich

Granularitäts-niveau

Funktionsobjekte

Datenbewegungen

Datenattribute

funktionaleProzesse

Entry (E)

Exit (X)

Read (R)

Write (W)

COSMIC-Messstrategie

COSMIC-Modellzuordnung

COSMIC-Messung

COSMIC-Messbericht

Anwendung derCOSMIC-Messfunktion

Messwertaggregation

Messwertdarstellung

Messwertarchivierung

funktionsauslö-sendes Entry

funktionsauslö-sendes Ereignis

Datengruppe

same principles

any new rules

new examples

Reiner R. Dumke, University of Magdeburg

4. COSMIC Extensions: CPP4. COSMIC Extensions: CPP

usualEntry & Exits

andReads & Writes

Process aspect implementation: MaintainabilityProcess aspect implementation: Maintainability

Use of annotations forTesting and migration

Reiner R. Dumke, University of Magdeburg

4. COSMIC Extensions: CPP4. COSMIC Extensions: CPP

usualEntry & Exits

andReads & Writes

Process aspect implementation: Platform informationProcess aspect implementation: Platform information

Protocolling COTS (Java) properties

Reiner R. Dumke, University of Magdeburg

4. Conclusions & Future Work4. Conclusions & Future Work

COSMIC Manual Extensions in order to achieve:

  effortdevelopment(SP) = (CSP + CPPdevelopment) [PM] 

effortmaintanance(SP)= (CSP + CPPmaintenance) [PM]   effortapplication(SP) = CPPapplication [PM]

Reiner R. Dumke, University of Magdeburg

COSMIC extensionsCOSMIC extensions

Thanks for your attentionThanks for your attention!

www.smlab.de

1010100101010011010011110100110001010011f

1010100101010011010011110100110001010011f

from functional sizemeasurement

to software

measurement

570 pages