SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Estimating Software Maintenance
          Effort from Use Cases: an
            Industrial Case Study
                                  Yan Ku, Jing Du, Ye Yang, Qing Wang
                              Institute of Software, Chinese Academy of Sciences
                                                   2011-09-29


*This work is supported by the National Natural Science Foundation of China under Grant Nos. 90718042, 60873072, 60903050 and
61073044; the National Hi-Tech Research and Development Plan of China under Grant Nos. 2007AA010303, 2007AA01Z186 and
2007AA01Z179.
Agenda
Motivation
Industrial Setting
Methodology
Case Study
Discussion
Tool Implementation




                      2
Motivation
     An anecdote in software engineering domain*:
           Elephant: Discipline
           Monkey: Agile
           Elephant & Monkey: Practical




*Barry W. Boehm, Richard Turner, Balancing Agility and Discipline: A Guide for the Perplexed, Aug, 2003
*Picture Source: www.image.baidu.com                                                                      3
Motivation
        “Speaking of the problems we are facing during software lifecycle,
        hmmm, there is no way a short list. … I hate to, but I have to say that
        effort estimation especially for maintenance project, if not totally
        impossible, is really a big challenge
                                                -----A Project Manager
        Formal estimation models: time-consuming, requiring
        enough information and data---- the elephant
        Expert Judgment: expert-dependent, easily lead to
        thumb-up---- the monkey



*Picture Source: http://www.zcool.com.cn                                          4
Industrial Setting
The industrial research is inspired by the estimation
dilemma a mentioned before.
The problem occurred in developing the leading product
of a medium-size software enterprise with CMMI ML4
in China.
The product, named QONE, is a commercial software
process management tool.
It has contributed to the process improvement for more
than 300 small and medium-sized software companies
and organizations in China.

                                                         5
Industrial Setting (Con)
Since 2004, QONE has released several major versions as well
as branches for special customized ones in succession.
Several of the evolving versions are maintenance projects.
Expert estimates were mainly used in the past effort estimation
of QONE. Versions           Begin Date       End Date
The estimation results are not so stable due2004-11-15
                 v1          2004-10-8       to the objectivity
and other issue. v2          2005-7-11      2005-11-30

The actual effortv3 other data including use case documents
                  and        2006-1-16       2007-3-30

have been accumulated by QONE itself. 2007-10-31
                 v4          2007-5-28
                v5         2007-12-10      2008-7-31
                v6         2008-3-20       2008-8-21
                v7          2008-9-1       2009-3-20
                                                                  6
Methodology
Goal: Achieving the balance of simplicity, early-
estimating and accuracy in one effort estimate .
Methodology Principles:
   Apply use cases as the size metric and introduce
  requirement elaboration factors to make the estimate in
Maintenance task type is not distinguished
  advance
due to the difficulty for effort classification
  Introduce adjusted factors as few as possible in order to
  reduce the complexity
  Take advantage of the history data to help improve the
  estimation accuracy.

                                                              7
Modeling Process
    Get the lowest level   Use the same
       requirements          data unit




                                          8
Count Data
Use case: number of use cases
   newUC: new-added
   modUC: modified
   reuUC: reused without modified
   delUC: delete




                                    9
Modeling Process




                   10
Count Data & Construct Model
Weight
  Wmod/ Wreu / Wdel :effort ratio of
  modified/reused/deleted use case to a new-added one

 Sizeadjusted = newUC + Wmod * modUC
 +Wreu * reuUC + Wdel * delUC

  Effort = A * (Sizeadjusted) B
  Where
  Effort is the maintenance effort;
  Sizeadjusted is the adjusted product size;
  A is the multiplicative calibration constant;
  B is the exponential calibration constant             11
Modeling Process




                   12
Validation
Metric Definition
  MRE = |predictive effort – actual effort| / actual effort
Referred Measures
  MMRE: mean magnitude relative erro
  MdMRE: median magnitude relative error
  PRED25: the % of the data points with RE<=0.25
  PRED30: the % of the data points with RE<=0.30




                                                              13
Prediction Process
         Data collection
         Prediction
              To apply in different phases during lifecycle,
              elaboration factors are referred to estimate size input.
              Sizere-adjusted = EF * Sizeadjusted,where EF is the
              elaboration factor between higher and lower-level
              requirements
                   1 n NUC i whereNRi is the number of higher-
             EF = ∑
                   n i=1 NR i
           level requirements and NUCi is the number of lower-leverl
              requirements in ith data point


*Picture Source: Alistair Cockburn, Writing Effective Use Cases      14
Case Study
Historical data are the projects mentioned in
slice 6.
Requirements are described in three level:
   capability goals (CG, least detailed)
   capability requirements (CR)
   use cases (UC, most detailed)




                                                15
Number   Number of       Number of        Number of        Actual Effort
Versions    Requirements Levels
                                         of new    modified        reused           deleted         (person/hour)
                  Capability goals(CG)        0               5               13                0
  v1       Capability requirements(CR)        0               7               35                0           2284.5
                        Use cases(UC)         3           10              216                   0
                  Capability goals(CG)        0           11                   7                0
  v2       Capability requirements(CR)        0           16                  26                0              3941
                        Use cases(UC)         7           22              207                   0
                  Capability goals(CG)        4           15                   3               0
  v3       Capability requirements(CR)       12           30                  12               0               30945
                        Use cases(UC)        86           94              134                  8
                  Capability goals(CG)        1           13                   6               3
  v4       Capability requirements(CR)        3           33                  17               4           10340.1
                        Use cases(UC)        50           61              229                  17
                  Capability goals(CG)        1           12                  7                1
  v5       Capability requirements(CR)        1           18                  33               2            7477.5
                        Use cases(UC)        12           31              301                  15
                  Capability goals(CG)        1               8               12               0
  v6       Capability requirements(CR)        2           20                  32               0           14903.6
                        Use cases(UC)        37           30              311                  3
                  Capability goals(CG)        0               3               18               0
  v7       Capability requirements(CR)        3               3               51               0               7166
                                                                                                          16
                        Use cases(UC)        15               8           366                  4
Case Study
  Weight:
    Wmod = 0.2, Wreu = 0.05, Wdel = 0

Sizeadjusted = newUC + 0.2 * modUC +0.05 * reuUC
       Parameters                      Values
                        A 96.9396
                         B 1.192651
                    P-value 0.000481
                        R2 0.928219
              Adjusted R2 0.913862

      Effort = 96.9396 * (Sizeadjusted) 1.192651
                                                   17
Validation Result
            Leave-one-out cross validation is applied.
            Elaboration factors are referred from A. A. Malik’s research*
            since the data used there is the subset of our dataset.


                        Metrics               CG                 CR                UC
                        MMRE               36.87%             26.18%             26.94%
                                                                                                  UC yields the best
                       MdMRE               27.09%             24.13%             20.01%                result
                        PRED25              0.4286             0.5714            0.7143
                        PRED30              0.5714             0.7143            0.8571




*A. A. Malik, B. W. Boehm, Y. Ku, and Y. Yang, “Comparative Analysis of Requirements Elaboration of an Industrial Product,”
Proceedings of the 2nd International Conference on Software Technology and Engineering(ICSTE 2010), Oct. 2010, pp. 46-50 18
Validation Result (Cont)
Versions   Adjusted Size   Actual Effort   Predictive Effort   MRE (%)
  v1                15.8          2284.5          2916.8925       27.68
  v2               21.75           3941           3767.9859        4.39
  v3               111.5          30945          23276.7727       24.78
  v4               73.65        10340.1          19263.9780       86.30
  v5               33.25          7477.5          6136.3455       17.94
  v6               58.55        14903.6          11921.1786       20.01
  v7                34.9           7166           6628.5125        7.50
                                                    1. COTS has been used
                                                2. Increased productivity through
                                                      requirement management




                                                                             19
Method Comparison
Analogy
  Database used for analogy is from China Software
  Benchmarking Standard Group (CSBSG)
  999 software project data from 140 organizations distributed
  in 15 regions across China
COCOMO2000
 Methods      MMRE       MDMRE        PRED25     PRED30

 Analogy        33.09%       31.59%     0.2857      0.2857

 COCOMO         32.47%       15.47%     0.5714      0.5714

 Use case       26.94%       20.01%     0.7143      0.8571

                                                             20
Discussion
Lessons Learned:
   Use Case Metrics
   Requirement Elaboration Factors
   Advantages of use-case based estimation
   Linear vs. Exponential relationship between effort and use case
Threats to Validity
   Internal threats:
      Weak outlier tolerance
      Complexity of use cases
   External threats:
      Use case weight


                                                                     21
Tool Implementation




                      22
Than You            !
Our Lab: http://itechs.iscas.ac.cn

Mais conteúdo relacionado

Destaque

ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical DebtICSM 2011
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...ICSM 2011
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...ICSM 2011
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...ICSM 2011
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects ICSM 2011
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ICSM 2011
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsICSM 2011
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...ICSM 2011
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11ICSM 2011
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteICSM 2011
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ICSM 2011
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...ICSM 2011
 
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM 2011
 
Faults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsFaults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsICSM 2011
 
Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindleICSM 2011
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...ICSM 2011
 
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...ICSM 2011
 
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...ICSM 2011
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsICSM 2011
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...ICSM 2011
 

Destaque (20)

ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical Debt
 
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
 
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
 
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming Conventions
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 Keynote
 
ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild ERA - Measuring Maintainability of Spreadsheets in the Wild
ERA - Measuring Maintainability of Spreadsheets in the Wild
 
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
Migration and Refactoring - Identifying Overly Strong Conditions in Refactori...
 
ICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer KoschkeICSM'01 Most Influential Paper - Rainer Koschke
ICSM'01 Most Influential Paper - Rainer Koschke
 
Faults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsFaults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussions
 
Postdoc Symposium - Abram Hindle
Postdoc Symposium - Abram HindlePostdoc Symposium - Abram Hindle
Postdoc Symposium - Abram Hindle
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
 
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
 
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API Limitations
 
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...Industry -  Relating Developers' Concepts and Artefact Vocabulary in a Financ...
Industry - Relating Developers' Concepts and Artefact Vocabulary in a Financ...
 

Semelhante a Industry - Estimating software maintenance effort from use cases an industrial case study

“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...
“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...
“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...Edge AI and Vision Alliance
 
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...Editor IJMTER
 
Comprehensive acquisition management methodology rev6
Comprehensive acquisition  management methodology   rev6Comprehensive acquisition  management methodology   rev6
Comprehensive acquisition management methodology rev6clifpt
 
ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO
ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO
ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO ecij
 
Product defect detection based on convolutional autoencoder and one-class cla...
Product defect detection based on convolutional autoencoder and one-class cla...Product defect detection based on convolutional autoencoder and one-class cla...
Product defect detection based on convolutional autoencoder and one-class cla...IAESIJAI
 
ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...
ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...
ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...IRJET Journal
 
Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...
Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...
Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...Sri Ambati
 
REVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNNREVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNNIRJET Journal
 
Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)University of Washington
 
IRJET - A Survey Paper on Efficient Object Detection and Matching using F...
IRJET -  	  A Survey Paper on Efficient Object Detection and Matching using F...IRJET -  	  A Survey Paper on Efficient Object Detection and Matching using F...
IRJET - A Survey Paper on Efficient Object Detection and Matching using F...IRJET Journal
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Lionel Briand
 
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...
IRJET- Front View Identification of Vehicles by using Machine Learning Te...IRJET Journal
 
Implementation on Quality of Control for Image Based Control Systems using Al...
Implementation on Quality of Control for Image Based Control Systems using Al...Implementation on Quality of Control for Image Based Control Systems using Al...
Implementation on Quality of Control for Image Based Control Systems using Al...YogeshIJTSRD
 
Reengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approachReengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approachIJECEIAES
 
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...Francisco (Paco) Florez-Revuelta
 
Partial half fine-tuning for object detection with unmanned aerial vehicles
Partial half fine-tuning for object detection with unmanned aerial vehiclesPartial half fine-tuning for object detection with unmanned aerial vehicles
Partial half fine-tuning for object detection with unmanned aerial vehiclesIAESIJAI
 
Democratization of NOSQL Document-Database over Relational Database Comparati...
Democratization of NOSQL Document-Database over Relational Database Comparati...Democratization of NOSQL Document-Database over Relational Database Comparati...
Democratization of NOSQL Document-Database over Relational Database Comparati...IRJET Journal
 
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdfTutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdfDuy-Hieu Bui
 
20100117US001c-3DVisualizationOfRailroadWheelFlaws
20100117US001c-3DVisualizationOfRailroadWheelFlaws20100117US001c-3DVisualizationOfRailroadWheelFlaws
20100117US001c-3DVisualizationOfRailroadWheelFlawsBen Rayner
 

Semelhante a Industry - Estimating software maintenance effort from use cases an industrial case study (20)

“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...
“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...
“Imaging Systems for Applied Reinforcement Learning Control,” a Presentation ...
 
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
 
Comprehensive acquisition management methodology rev6
Comprehensive acquisition  management methodology   rev6Comprehensive acquisition  management methodology   rev6
Comprehensive acquisition management methodology rev6
 
ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO
ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO
ASSESSMENT OF INTRICATE DG PLANNING WITH PRACTICAL LOAD MODELS BY USING PSO
 
Product defect detection based on convolutional autoencoder and one-class cla...
Product defect detection based on convolutional autoencoder and one-class cla...Product defect detection based on convolutional autoencoder and one-class cla...
Product defect detection based on convolutional autoencoder and one-class cla...
 
ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...
ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...
ANALYSIS OF LUNG NODULE DETECTION AND STAGE CLASSIFICATION USING FASTER RCNN ...
 
Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...
Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...
Marc Stein, Underwrite.ai - Driverless AI Use Cases in Finance and Cancer Gen...
 
REVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNNREVIEW ON OBJECT DETECTION WITH CNN
REVIEW ON OBJECT DETECTION WITH CNN
 
Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)Database Agnostic Workload Management (CIDR 2019)
Database Agnostic Workload Management (CIDR 2019)
 
IRJET - A Survey Paper on Efficient Object Detection and Matching using F...
IRJET -  	  A Survey Paper on Efficient Object Detection and Matching using F...IRJET -  	  A Survey Paper on Efficient Object Detection and Matching using F...
IRJET - A Survey Paper on Efficient Object Detection and Matching using F...
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
 
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...IRJET-  	  Front View Identification of Vehicles by using Machine Learning Te...
IRJET- Front View Identification of Vehicles by using Machine Learning Te...
 
Implementation on Quality of Control for Image Based Control Systems using Al...
Implementation on Quality of Control for Image Based Control Systems using Al...Implementation on Quality of Control for Image Based Control Systems using Al...
Implementation on Quality of Control for Image Based Control Systems using Al...
 
Reengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approachReengineering framework for open source software using decision tree approach
Reengineering framework for open source software using decision tree approach
 
Report
ReportReport
Report
 
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
A Multiple Kernel Learning Based Fusion Framework for Real-Time Multi-View Ac...
 
Partial half fine-tuning for object detection with unmanned aerial vehicles
Partial half fine-tuning for object detection with unmanned aerial vehiclesPartial half fine-tuning for object detection with unmanned aerial vehicles
Partial half fine-tuning for object detection with unmanned aerial vehicles
 
Democratization of NOSQL Document-Database over Relational Database Comparati...
Democratization of NOSQL Document-Database over Relational Database Comparati...Democratization of NOSQL Document-Database over Relational Database Comparati...
Democratization of NOSQL Document-Database over Relational Database Comparati...
 
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdfTutorial-on-DNN-09A-Co-design-Sparsity.pdf
Tutorial-on-DNN-09A-Co-design-Sparsity.pdf
 
20100117US001c-3DVisualizationOfRailroadWheelFlaws
20100117US001c-3DVisualizationOfRailroadWheelFlaws20100117US001c-3DVisualizationOfRailroadWheelFlaws
20100117US001c-3DVisualizationOfRailroadWheelFlaws
 

Último

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Último (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Industry - Estimating software maintenance effort from use cases an industrial case study

  • 1. Estimating Software Maintenance Effort from Use Cases: an Industrial Case Study Yan Ku, Jing Du, Ye Yang, Qing Wang Institute of Software, Chinese Academy of Sciences 2011-09-29 *This work is supported by the National Natural Science Foundation of China under Grant Nos. 90718042, 60873072, 60903050 and 61073044; the National Hi-Tech Research and Development Plan of China under Grant Nos. 2007AA010303, 2007AA01Z186 and 2007AA01Z179.
  • 3. Motivation An anecdote in software engineering domain*: Elephant: Discipline Monkey: Agile Elephant & Monkey: Practical *Barry W. Boehm, Richard Turner, Balancing Agility and Discipline: A Guide for the Perplexed, Aug, 2003 *Picture Source: www.image.baidu.com 3
  • 4. Motivation “Speaking of the problems we are facing during software lifecycle, hmmm, there is no way a short list. … I hate to, but I have to say that effort estimation especially for maintenance project, if not totally impossible, is really a big challenge -----A Project Manager Formal estimation models: time-consuming, requiring enough information and data---- the elephant Expert Judgment: expert-dependent, easily lead to thumb-up---- the monkey *Picture Source: http://www.zcool.com.cn 4
  • 5. Industrial Setting The industrial research is inspired by the estimation dilemma a mentioned before. The problem occurred in developing the leading product of a medium-size software enterprise with CMMI ML4 in China. The product, named QONE, is a commercial software process management tool. It has contributed to the process improvement for more than 300 small and medium-sized software companies and organizations in China. 5
  • 6. Industrial Setting (Con) Since 2004, QONE has released several major versions as well as branches for special customized ones in succession. Several of the evolving versions are maintenance projects. Expert estimates were mainly used in the past effort estimation of QONE. Versions Begin Date End Date The estimation results are not so stable due2004-11-15 v1 2004-10-8 to the objectivity and other issue. v2 2005-7-11 2005-11-30 The actual effortv3 other data including use case documents and 2006-1-16 2007-3-30 have been accumulated by QONE itself. 2007-10-31 v4 2007-5-28 v5 2007-12-10 2008-7-31 v6 2008-3-20 2008-8-21 v7 2008-9-1 2009-3-20 6
  • 7. Methodology Goal: Achieving the balance of simplicity, early- estimating and accuracy in one effort estimate . Methodology Principles: Apply use cases as the size metric and introduce requirement elaboration factors to make the estimate in Maintenance task type is not distinguished advance due to the difficulty for effort classification Introduce adjusted factors as few as possible in order to reduce the complexity Take advantage of the history data to help improve the estimation accuracy. 7
  • 8. Modeling Process Get the lowest level Use the same requirements data unit 8
  • 9. Count Data Use case: number of use cases newUC: new-added modUC: modified reuUC: reused without modified delUC: delete 9
  • 11. Count Data & Construct Model Weight Wmod/ Wreu / Wdel :effort ratio of modified/reused/deleted use case to a new-added one Sizeadjusted = newUC + Wmod * modUC +Wreu * reuUC + Wdel * delUC Effort = A * (Sizeadjusted) B Where Effort is the maintenance effort; Sizeadjusted is the adjusted product size; A is the multiplicative calibration constant; B is the exponential calibration constant 11
  • 13. Validation Metric Definition MRE = |predictive effort – actual effort| / actual effort Referred Measures MMRE: mean magnitude relative erro MdMRE: median magnitude relative error PRED25: the % of the data points with RE<=0.25 PRED30: the % of the data points with RE<=0.30 13
  • 14. Prediction Process Data collection Prediction To apply in different phases during lifecycle, elaboration factors are referred to estimate size input. Sizere-adjusted = EF * Sizeadjusted,where EF is the elaboration factor between higher and lower-level requirements 1 n NUC i whereNRi is the number of higher- EF = ∑ n i=1 NR i level requirements and NUCi is the number of lower-leverl requirements in ith data point *Picture Source: Alistair Cockburn, Writing Effective Use Cases 14
  • 15. Case Study Historical data are the projects mentioned in slice 6. Requirements are described in three level: capability goals (CG, least detailed) capability requirements (CR) use cases (UC, most detailed) 15
  • 16. Number Number of Number of Number of Actual Effort Versions Requirements Levels of new modified reused deleted (person/hour) Capability goals(CG) 0 5 13 0 v1 Capability requirements(CR) 0 7 35 0 2284.5 Use cases(UC) 3 10 216 0 Capability goals(CG) 0 11 7 0 v2 Capability requirements(CR) 0 16 26 0 3941 Use cases(UC) 7 22 207 0 Capability goals(CG) 4 15 3 0 v3 Capability requirements(CR) 12 30 12 0 30945 Use cases(UC) 86 94 134 8 Capability goals(CG) 1 13 6 3 v4 Capability requirements(CR) 3 33 17 4 10340.1 Use cases(UC) 50 61 229 17 Capability goals(CG) 1 12 7 1 v5 Capability requirements(CR) 1 18 33 2 7477.5 Use cases(UC) 12 31 301 15 Capability goals(CG) 1 8 12 0 v6 Capability requirements(CR) 2 20 32 0 14903.6 Use cases(UC) 37 30 311 3 Capability goals(CG) 0 3 18 0 v7 Capability requirements(CR) 3 3 51 0 7166 16 Use cases(UC) 15 8 366 4
  • 17. Case Study Weight: Wmod = 0.2, Wreu = 0.05, Wdel = 0 Sizeadjusted = newUC + 0.2 * modUC +0.05 * reuUC Parameters Values A 96.9396 B 1.192651 P-value 0.000481 R2 0.928219 Adjusted R2 0.913862 Effort = 96.9396 * (Sizeadjusted) 1.192651 17
  • 18. Validation Result Leave-one-out cross validation is applied. Elaboration factors are referred from A. A. Malik’s research* since the data used there is the subset of our dataset. Metrics CG CR UC MMRE 36.87% 26.18% 26.94% UC yields the best MdMRE 27.09% 24.13% 20.01% result PRED25 0.4286 0.5714 0.7143 PRED30 0.5714 0.7143 0.8571 *A. A. Malik, B. W. Boehm, Y. Ku, and Y. Yang, “Comparative Analysis of Requirements Elaboration of an Industrial Product,” Proceedings of the 2nd International Conference on Software Technology and Engineering(ICSTE 2010), Oct. 2010, pp. 46-50 18
  • 19. Validation Result (Cont) Versions Adjusted Size Actual Effort Predictive Effort MRE (%) v1 15.8 2284.5 2916.8925 27.68 v2 21.75 3941 3767.9859 4.39 v3 111.5 30945 23276.7727 24.78 v4 73.65 10340.1 19263.9780 86.30 v5 33.25 7477.5 6136.3455 17.94 v6 58.55 14903.6 11921.1786 20.01 v7 34.9 7166 6628.5125 7.50 1. COTS has been used 2. Increased productivity through requirement management 19
  • 20. Method Comparison Analogy Database used for analogy is from China Software Benchmarking Standard Group (CSBSG) 999 software project data from 140 organizations distributed in 15 regions across China COCOMO2000 Methods MMRE MDMRE PRED25 PRED30 Analogy 33.09% 31.59% 0.2857 0.2857 COCOMO 32.47% 15.47% 0.5714 0.5714 Use case 26.94% 20.01% 0.7143 0.8571 20
  • 21. Discussion Lessons Learned: Use Case Metrics Requirement Elaboration Factors Advantages of use-case based estimation Linear vs. Exponential relationship between effort and use case Threats to Validity Internal threats: Weak outlier tolerance Complexity of use cases External threats: Use case weight 21
  • 23. Than You ! Our Lab: http://itechs.iscas.ac.cn