function point analysis for
play

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


  1. Function Point Analysis for Software Maintenance Anandi Hira and Barry Boehm CREST Open Workshop – Predictive Models in Software Engineering: Measures, Models, and Benchmark

  2. Outline Motivation Introduction Goal Metrics Dataset Baseline SLOC Model Analyses Results Validity Considerations Conclusions 2

  3. 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

  4. 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

  5. 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

  6. Outline Introduction Function Points Metrics Normalized Effort Baseline SLOC Model Equivalent SLOC Analyses Results Validity Considerations Conclusions 6

  7. 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

  8. 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

  9. 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

  10. 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

  11. Outline Introduction Metrics Baseline SLOC Model Analyses Results Validity Considerations Conclusions 11

  12. 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

  13. Outline Introduction Metrics Baseline SLOC Model Adding Functions Analyses Results Modifying Functions Validity Considerations Conclusions 13

  14. RESULTS: ADDING FUNCTIONS 14

  15. 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

  16. 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

  17. RESULTS: MODIFYING FUNCTIONS 17

  18. 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

  19. 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

  20. Outline Introduction Metrics Baseline SLOC Model Analyses Results Validity Considerations Conclusions 20

  21. 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

  22. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend