Function Point Analysis for Software Maintenance Anandi Hira and - PowerPoint PPT Presentation
Function Point Analysis for Software Maintenance Anandi Hira and Barry Boehm CREST Open Workshop Predictive Models in Software Engineering: Measures, Models, and Benchmark Outline Motivation Introduction Goal Metrics Dataset Baseline
Function Point Analysis for Software Maintenance Anandi Hira and Barry Boehm CREST Open Workshop – Predictive Models in Software Engineering: Measures, Models, and Benchmark
Outline Motivation Introduction Goal Metrics Dataset Baseline SLOC Model Analyses Results Validity Considerations Conclusions 2
Motivation ❖ New development cost models > software maintenance cost models ❖ Source lines of code (SLOC) most common software size input Difficult to estimate early in lifecycle ❖ Function points (FPs) represents software size by functions or modifications to functions Easier to calculate earlier in lifecycle Widely used to estimate effort and SLOC 3
Goal Answer following questions with empirical analysis: 1. Can Function Points effectively estimate effort for software maintenance projects? 2. Does using a Function Points to SLOC ratio add a layer of uncertainty to estimates? 4
Dataset: Unified Code Count (UCC) Project Description Project Types • • Maintained at University of Add Functions Southern California (USC) o New language parsers • Code metrics tool (logical o New features, such as GUI SLOC, cyclomatic complexity) front-end • Implemented in C++ • Modify functions • 45 to 1425 logical SLOC o Cyclomatic complexity • 2010 to 2014 support (modify existing language parsers with • Modularized architecture mathematical operation • 4-month time-boxed and algorithms) increments 5
Outline Introduction Function Points Metrics Normalized Effort Baseline SLOC Model Equivalent SLOC Analyses Results Validity Considerations Conclusions 6
Function Points – 1/2 Complexity� of� Components� Multiplier� Factor� Type� of� Component� Low� Average� High� Total� External� Inputs� 3� 4� 6� � External� Outputs� 4� 5� 7� � External� Inquiries� 3� 4� 6� � Internal� Logical� Files� 7� 10� 15� � External� Interface� Files� 5� 7� 10� � Total� Number� of� Unadjusted� Function� Points� � 7
Function Points – 2/2 General System Characteristics General System Characteristics Cntd. • • Installation ease Data communications • • Operational ease Distributed data processing • • Multiple sites Performance • • Facilitate change Heavily used configuration • Transaction rate Equations: Value Adjustment Factor (VAF), Enhancement Project FP (EFP) • Online data entry å ) ( C i • End-user efficiency VAF� =� 0.65� +� 100 • Online update )� ´ � EFP� =� [� (� ADD� +� CHGA� VAFA� ]� • Complex processing ´ � � � � � � � � � � � +� (� DEL� VAFB� ) • Reusability 8
Normalized Effort COCOMO model: 17 (PM) = 2.94 ´ Size 1.0997 ´ Õ Effort� EM i i = 1 PM = 152� hours (hours) = Total� Effort� (hours) Normalized� Effort� ( ) Õ EM i 9
Equivalent SLOC (ESLOC) AAF = 0.4* DM + CM + 0.3* IM DM Design Modification ì é ù æ ö 2 ï AA + AAF + 1 - 1 - AAF ê ú CM Code ç ÷ ú * SU * UNFM ï ê è ø 100 Modification ë û ï � � ï 100 IM Integration and ï ï ï Test AAM = í AAF� £ � � � � � � � � � � � if� 100 ï SU Software ï Understanding ï AA + AAF + SU * UNFM � � � if� AAF� >� 100 ï UNFM Programmer 100 ï ï Unfamiliarity ï î AA Assessment and ESLOC = SLOC added + ( ASLOC * AAM ) Assimilation 10
Outline Introduction Metrics Baseline SLOC Model Analyses Results Validity Considerations Conclusions 11
Baseline SLOC Model æ ö 1.0997 17 Effort = 446.88 ´ ESLOC Õ ´ ç ÷ EM i è ø 1000 i = 1 R 2 90% PRED (20) 70% PRED (25) 70% PRED (30) 89% 12
Outline Introduction Metrics Baseline SLOC Model Adding Functions Analyses Results Modifying Functions Validity Considerations Conclusions 13
RESULTS: ADDING FUNCTIONS 14
FPs vs Normalized Effort Normalized Effort = 302.06 + (17.312 × EFP ) 1200 Normalized Effort (hours) 1000 R 2 80% 800 PRED (20) 82% 600 PRED (25) 82% 400 PRED (30) 100% 200 0 0 10 20 30 40 Enhancement Project Function Points (EFPs) 15
FPs vs ESLOC ESLOC = -26.081 + (13.607 × EFP) + (19.316 × # modified modules) ESLOC Estimates Effort Estimates R 2 90% PRED (20) 50% PRED (20) 63% PRED (25) 50% ESLOC estimates PRED (25) 75% PRED (30) 75% with Baseline SLOC model PRED (30) 75% 16
RESULTS: MODIFYING FUNCTIONS 17
FPs vs Normalized Effort Normalized Effort (hours) = 80.987 R 2 73% – (1.027 × CHGA) + (2.433 × CHGB) PRED (20) 21% – (22.485 × # modified files) PRED (25) 47% + (20.703 × # new modules) PRED (30) 63% + (24.909 × # modified modules) 18
FPs vs ESLOC ESLOC = 103.630+0.396 × EFP [1.336 + (-0.039 × #modified files) + (0.088 × # new modules)] ESLOC Estimates Effort Estimates R 2 71% PRED (20) 19% PRED (20) 38% PRED (25) 19% ESLOC estimates PRED (25) 38% PRED (30) 24% with Baseline SLOC model PRED (30) 62% 19
Outline Introduction Metrics Baseline SLOC Model Analyses Results Validity Considerations Conclusions 20
Validity Considerations Internal External ❖ Segregation between ❖ Reported effort may not be adding functions and accurate modifying functions Forget to update timesheets Test and verify on other Show high productivity datasets Show excessive hours ❖ Linear relationship does not account for diseconomies of Mitigation scale ❖ Members evaluated on Analyze on datasets with ability to meet deadlines, larger projects for scalable adapt to problems, results communicate clearly 21
Conclusions ❖ Function Points effective to estimate affect? Add functions: Yes! Modify functions: No (even with additional metrics) ❖ Function Points to SLOC ratio effective for effort estimates? Adds layer of uncertainty Resulting effort accuracy unsatisfactory 22
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.