Iwsm2014 empirical-based extension of the cosmic method (reiner dumke - robert neumann - andreas schmietendorf - cornelius wille)
1. Reiner R. Dumke, University of Magdeburg
Empirical-Based Extension of theEmpirical-Based Extension of the
COSMIC FP MethodCOSMIC FP Method
Reiner R. Dumke Robert Neumann Andreas Schmietendorf Cornelius Wille
Otto-von-Guericke
Universität Magdeburg
reiner.dumke@ovgu.de
Ultra Tendency
Magdeburg
robert.neumann@
ultratendency.com
University of Applied Science
(HWR) Berlin
schmietendorf@hwr-berlin.de
University of Applied Science
(FH) Bingen
wille@fh-bingen.de
2. 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
3. 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
4. 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
5. 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
6. 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: LOCLOC
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
7. 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
8. Reiner R. Dumke, University of Magdeburg
2. Empirical Aspects: Software Size2. Empirical Aspects: Software Size
with
SIZEproduct = 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
9. 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,
10. Reiner R. Dumke, University of Magdeburg
2. Empirical Aspects: Software Complexity2. Empirical Aspects: Software Complexity
COCOMO II empirical aspects examples
QURCOCOMO = {CPLX, DATA, DOCU, RCPX, RUSE etc.}
PURCOCOMO = {PVOL, STOR, TIME, TURN}
PORCOCOMO = {ACAP, APEX, LTEX, PCAP, FCIL etc.}
COCOMO II empirical aspects examples
QURCOCOMO = {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.}
11. 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!
12. Reiner R. Dumke, University of Magdeburg
3. COSMIC Extensions3. COSMIC Extensions
13. 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
14. Reiner R. Dumke, University of Magdeburg
3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP
COSMIC Software Product Points: CSP = CFP + COSMICNUR
same principles
any new rules
new examples
15. Reiner R. Dumke, University of Magdeburg
3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP
Quality implementation sizing: PerformanceQuality implementation sizing: Performance
Time duration test
usual
Entry & Exits
and
Reads & Writes
16. Reiner R. Dumke, University of Magdeburg
3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP
Quality implementation sizing: SecurityQuality implementation sizing: Security
usual
Entry & Exits
and
Reads & Writes Password checking
17. Reiner R. Dumke, University of Magdeburg
3. COSMIC Extensions: CSP3. COSMIC Extensions: CSP
Quality implementation sizing: UsabilityQuality implementation sizing: Usability
usual
Entry & Exits
and
Reads & Writes
GUI interaction extension
18. 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
|
19. Reiner R. Dumke, University of Magdeburg
4. COSMIC Extensions: CPP4. COSMIC Extensions: CPP
COSMIC Software Process Points:
CPP = #(EPOR
, XPOR
) i + |{RPOR
, WPOR
}j
|
same principles
any new rules
new examples
20. Reiner R. Dumke, University of Magdeburg
4. COSMIC Extensions: CPP4. COSMIC Extensions: CPP
usual
Entry & Exits
and
Reads & Writes
Process aspect implementation: MaintainabilityProcess aspect implementation: Maintainability
Use of annotations for
Testing and migration
21. Reiner R. Dumke, University of Magdeburg
4. COSMIC Extensions: CPP4. COSMIC Extensions: CPP
usual
Entry & Exits
and
Reads & Writes
Process aspect implementation: Platform informationProcess aspect implementation: Platform information
Protocolling COTS
(Java) properties
22. 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]
23. Reiner R. Dumke, University of Magdeburg
COSMIC extensionsCOSMIC extensions
Thanks for your attentionThanks for your attention!
www.smlab.de
10101001
01010011
01001111
01001100
01010011
f
10101001
01010011
01001111
01001100
01010011
f
from functional size
measurement
to
software
measurement
570 pages