Iwsm2014 empirical-based extension of the cosmic method (reiner dumke - robert neumann - andreas...
-
Upload
cosmic-common-software-measurement-international-consortium -
Category
Software
-
view
65 -
download
0
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
University of Applied Science(HWR) Berlin
University of Applied Science(FH) Bingen
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 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]