IMPROVED SIZE AND EFFORT ESTIMATION MODELS FOR SOFTWARE MAINTENANCE. Vu Nguyen

Size: px
Start display at page:

Download "IMPROVED SIZE AND EFFORT ESTIMATION MODELS FOR SOFTWARE MAINTENANCE. Vu Nguyen"

Transcription

1 IMPROVED SIZE AND EFFORT ESTIMATION MODELS FOR SOFTWARE MAINTENANCE by Vu Nguyen A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (COMPUTER SCIENCE) December 2010 Copyright 2010 Vu Nguyen

2 DEDICATION Kính tặng ba mẹ, Nguyễn Đình Hoàng, Nguyễn Thị Thiên You survived and struggled through one of the darkest chapters in the history of Vietnam to raise and love your children. ii

3 ACKNOWLEDGEMENTS I am deeply indebted to my advisor, Dr. Barry Boehm, for his encouragement, support, and constructive advice. I have learned not only from his deep knowledge and experience in software engineering but also from his remarkable personality. I would also like to thank A Winsor Brown who brought me to work on the CodeCount project and make the tool more useful for the software development community. I am grateful to Dr. Bert Steece, whom I regard as my unofficial advisor, for his statistical insights that shape my understanding of statistical analysis applied to this dissertation work. My thanks also go to other members of my qualifying exam and defense committees, Dr. Nenad Medvidović, Dr. Ellis Horowitz, and Dr. Rick Selby. Their criticism, encouragement, and suggestion effectively helped to shape my work. I am thankful to my friends and faculty for their constructive feedback on my work, including Dan Port, Tim Menzies, Jo Ann Lane, Brad Clark, Don Reifer, Supannika Koolmanojwong, Pongtip Aroonvatanaporn, and Qi Li. Other colleagues Julie Sanchez of the USC Center for Systems and Software Engineering, Marilyn A Sperka, Ryan E Pfeiffer, and Michael Lee of the Aerospace Corporation, and Lori Vaughan of Northrop Grumman also assisted me in various capacities. This work was made possible with the support for data collection from the Affiliates of Center for Systems and Software Engineering and two organizations in Vietnam and Thailand. Especially, Phuong Ngo, Ngoc Do, Phong Nguyen, Long Truong, iii

4 Ha Ta, Hoai Tang, Tuan Vo, and Phongphan Danphitsanuphan have provided me tremendous help in collecting historical data from the organizations in Vietnam and Thailand. I awe much to the Fulbright Program for financial support during my Master s program at USC, giving me an opportunity to fulfill my dream of studying abroad and doing research with remarkable researchers in the software engineering research community. My cultural and educational experiences in the United States made possible by the program are priceless. iv

5 TABLE OF CONTENTS Dedication... ii Acknowledgements...iii List of Tables... vii List of Figures... ix Abbreviations... x Abstract... xii Chapter 1. Introduction The Problem A Solution Research Hypotheses Definitions... 6 Chapter 2. Related Work Software Sizing Code-based Sizing Metrics Functional Size Measurement (FSM) Major Cost Estimation Models SLIM SEER-SEM PRICE-S KnowledgePlan (Checkpoint) COCOMO Maintenance Cost Estimation Models Phase-Level Models Release-Level Models Task-Level Models Summary of Maintenance Estimation Models Chapter 3. The Research Approach The Modeling Methodology The Calibration Techniques Ordinary Least Squares Regression The Bayesian Analysis A Constrained Multiple Regression Technique v

6 3.3 Evaluation Strategies Model Accuracy Measures Cross-Validation Chapter 4. the COCOMO II Model for Software Maintenance Software Maintenance Sizing Methods The COCOMO II Reuse and Maintenance Models A Unified Reuse and Maintenance Model COCOMO II Effort Model for Software Maintenance Chapter 5. Research Results The Controlled Experiment Results Description of the Experiment Experiment Results Limitations of the Experiment Delphi Survey Results Industry Sample Data Model Calibrations and Validation The Bayesian Calibrated Model The Constrained Regression Calibrated Models Reduced Parameter Models Local Calibration Summary Chapter 6. Contributions and Future Work Contributions Future Work Bibliography Appendix A. UFNM and AA Rating Scale Appendix B. Delphi Survey Form Appendix C. Data Collection Forms Appendix D. The COCOMO II.2000 Parameters Used in the Experiment Appendix E. Histograms for the Cost Drivers Appendix F. Correlation Matrix for Effort, Size, and Cost Drivers vi

7 LIST OF TABLES Table 2-1. COCOMO Sizing Models Table 2-2. COCOMO II Calibrations Table 2-3. Maintenance Cost Estimation Models Table 4-1. Maintenance Model s Initial Cost Drivers Table 4-2. Ratings of Personnel Experience Factors (APEX, PLEX, LTEX) Table 4-3. Ratings of RELY Table 5-1. Summary of results obtained from fitting the models Table 5-2. Differences in Productivity Ranges Table 5-3. Rating Values for Cost Drivers from Delphi Survey Table 5-4. RELY Rating Values Estimated by Experts Table 5-5. Maintenance Core Data Attributes Table 5-6. Summary Statistics of 86 Data Points Table 5-7. Differences in Productivity Ranges between Bayesian Calibrated Model and COCOMO II Table 5-8. Rating Values for Cost Drivers from Bayesian Approach Table 5-9. Estimation Accuracies Generated by the Bayesian Approach Table Estimation Accuracies of COCOMO II.2000 on the Data Set Table Retained Cost Drivers of the Constrained Models Table Estimation Accuracies of Constrained Approaches Table Estimation Accuracies of Constrained Approaches using LOOC Crossvalidation vii

8 Table Correlation Matrix for Highly Correlated Cost Drivers Table Estimation Accuracies of Reduced Calibrated Models Table Stratification by Organization Table Stratification by Program Table Stratification by Organization on 45 Releases viii

9 LIST OF FIGURES Figure 3-1. The Modeling Process Figure 3-2. A Posteriori Bayesian Update in the Presence of Noisy Data RUSE Figure 3-3. Boxplot of mean of PRED(0.3) on the COCOMO II.2000 data set Figure 3-4. Boxplot of mean of PRED(0.3) on the COCOMO 81 data set Figure 4-1. Types of Code Figure 4-2. Nonlinear Reuse Effects Figure 4-3. AAM Curves Reflecting Nonlinear Effects Figure 5-1. Effort Distribution Figure 5-2. Maintenance Project Collection Range Figure 5-3. Distribution of Equivalent SLOC Figure 5-4. Correlation between PM and EKSLOC Figure 5-5. Correlation between log(pm) and log(eksloc) Figure 5-6. Adjusted Productivity for the 86 Releases Figure 5-7. Adjusted Productivity Histogram for the 86 Releases Figure 5-8. Productivity Ranges Calibrated by the Bayesian Approach Figure 5-9. Productivity Ranges Generated by CMRE Figure Distribution of TIME Figure Distribution of STOR ix

10 ABBREVIATIONS COCOMO COCOMO II CMMI EM PM OLS MSE MAE CMSE CMAE CMRE MMRE MRE PRED ICM PR SF Constructive Cost Model Constructive Cost Model version II Capability Maturity Model Integration Effort Multiplier Person Month Ordinary Least Squares Mean Square Error Mean Absolute Error Constrained Minimum Sum of Square Errors Constrained Minimum Sum of Absolute Errors Constrained Minimum Sum of Relative Errors Mean of Magnitude of Relative Errors Magnitude of Relative Errors Prediction level Incremental Commitment Model Productivity Range Scale Factor MODEL PARAMETERS Size Parameters AA Assessment and Assimilation AAF Adaptation Adjustment Factor AAM Adaptation Adjustment Multiplier AKSLOC Kilo Source Lines of Code of the Adapted Modules CM Code Modified DM Design Modified EKSLOC Equivalent Kilo Source Lines of Code x

11 ESLOC IM KSLOC RKSLOC SLOC SU UNFM Cost Drivers ACAP APEX CPLX DATA DOCU FLEX LTEX PCAP PCON PERS PLEX PMAT PREC PREX PVOL RELY RESL SITE STOR TEAM TIME TOOL Equivalent Source Lines of Code Integration Modified Kilo Source Lines of Code Kilo Source Lines of Code of the Reused Modules Source Lines of Code Software Understanding Programmer Unfamiliarity Analyst Capability Applications Experience Product Complexity Database Size Documentation Match to Life-Cycle Needs Development Flexibility Language and Tool Experience Programmer Capability Personnel Continuity Personnel Capability Platform Experience Equivalent Process Maturity Level Precedentedness of Application Personnel Experience Platform Volatility Required Software Reliability Risk Resolution Multisite Development Main Storage Constraint Team Cohesion Execution Time Constraint Use of Software Tools xi

12 ABSTRACT Accurately estimating the cost of software projects is one of the most desired capabilities in software development organizations. Accurate cost estimates not only help the customer make successful investments but also assist the software project manager in coming up with appropriate plans for the project and making reasonable decisions during the project execution. Although there have been reports that software maintenance accounts for the majority of the software total cost, the software estimation research has focused considerably on new development and much less on maintenance. In this dissertation, an extension to the well-known model for software estimation, COCOMO II, is introduced for better determining the size of maintained software and improving the effort estimation accuracy of software maintenance. While COCOMO II emphasizes the cost estimation of software development, the extension captures various characteristics of software maintenance through a number of enhancements to the COCOMO II size and effort estimation models to support the cost estimation of software maintenance. Expert input and an industry data set of eighty completed software maintenance projects from three software organizations were used to build the model. A number of models were derived through various calibration approaches, and these models were then evaluated using the industry data set. The full model, which was derived through the Bayesian analysis, yields effort estimates within 30% of the actuals 51% of the time, outperforming the original COCOMO II model when it was used to estimate these xii

13 projects by 34%. Further performance improvement was obtained when calibrating the full model to each individual program, generating effort estimates within 30% of the actuals 80% of the time. xiii

14 Chapter 1. INTRODUCTION Software maintenance is an important activity in software engineering. Over the decades, software maintenance costs have been continually reported to account for a large majority of software costs [Zelkowitz 1979, Boehm 1981, McKee 1984, Boehm 1988, Erlikh 2000]. This fact is not surprising. On the one hand, software environments and requirements are constantly changing, which lead to new software system upgrades to keep pace with the changes. On the other hand, the economic benefits of software reuse have encouraged the software industry to reuse and enhance the existing systems rather than to build new ones [Boehm 1981, 1999]. Thus, it is crucial for project managers to estimate and manage the software maintenance costs effectively. Software cost estimation plays an important role in software engineering practice, often determining the success or failure of contract negotiation and project execution. Cost estimation s deliverables, such as effort, schedule, and staff requirements are valuable pieces of information for project formation and execution. They are used as key inputs for project bidding and proposal, budget and staff allocation, project planning, progress monitoring and control, etc. Unreasonable and unreliable estimates are a major cause of project failure, which is evidenced by a CompTIA survey of 1,000 IT respondents in 2007, finding that two of the three most-cited causes of IT-project failure are concerned with unrealistic resource estimation [Rosencrance 2007]. Recognizing the importance of software estimation, the software engineering community has put tremendous effort into developing models in order to help estimators 1

15 generate accurate cost estimates for software projects. In the last three decades, many software estimation models and methods have been proposed and used, such as COCOMO, SLIM, SEER-SEM, and Price-S. 1.1 THE PROBLEM COCOMO is the most popular non-proprietary software estimation model in literature as well as in industry. The model was built using historical data and assumptions of software (ab initio) development projects. With a few exceptions, the model s properties (e.g., forms, cost factors and constants) are supposed to be applicable to estimating the cost of software maintenance. However, inherent differences exist between software development and maintenance. For example, software maintenance depends on quality and complexity of the existing architecture, design, source code, and supporting documentation. The problem is that these differences make the model s properties less relevant in the software maintenance context, resulting in low estimation accuracies achieved. Unfortunately, there is a lack of empirical studies that evaluate and extend COCOMO or other models, in order to better estimate the cost of software maintenance. 1.2 A SOLUTION Instead of using the COCOMO model that was designed for new development, what if we build an extension that takes into account characteristics of software maintenance. Thus, my thesis is 2

16 Improved COCOMO models that allow estimators to better determine the equivalent size of maintained software and estimate maintenance effort can improve the accuracy of effort estimation of software maintenance. The goal of this study is to investigate such models. I will test a number of hypotheses testing the accuracy of alternative models that predict the effort of software maintenance projects, the explanatory power of such cost drivers as execution time and memory constraints, and potential effects on quality attributes as better determinants of the effort involved in deleting code. Using the industry dataset that I have collected, I will also evaluate the differences in the effects of the COCOMO cost drivers on the project's effort between new development and maintenance projects. Finally, COCOMO models for software maintenance will be introduced and validated using industry data sets. 1.3 RESEARCH HYPOTHESES The main research question that this study attempts to address, reflecting the proposed solution, is as follows Are there extended COCOMO models that allow estimators to better determine the equivalent size of maintained software and estimate maintenance effort that can improve the accuracy of effort estimation of software maintenance? To address this question, I implement the modeling process as described in Section 3.2. The process involves testing a number of hypotheses. The inclusion of hypothesis tests in the process helps frame the discussion and analysis of the results 3

17 obtained during the modeling process. This section summarizes the hypotheses to be tested in this dissertation. It is clear from prior work discussed in Chapter 2 that there is no common maintenance size metric used as compared to the size for new development. In software (ab initio) development, a certain level of consistency is achieved; either SLOC or Function Point is widely used. In software maintenance, on the other hand, some maintenance effort estimation models use the sum of SLOC added, modified, and deleted, others do not include the SLOC deleted. Due to this inconsistency, evidence on whether the SLOC deleted is a significant predictor of effort is desired. Thus, the following hypothesis is investigated. Hypothesis 1: The measure of the SLOC deleted from the modified modules is not a significant size metric for estimating the effort of software maintenance projects. This hypothesis was tested through a controlled experiment of student programmers performing maintenance tasks. The SLOC deleted metric was used as a predictor of effort in linear regression models, and the significance of the coefficient estimate of this predictor was tested using the typical 0.05 level of significance. Software maintenance is different from new software development in many ways. The software maintenance team works on the system of which the legacy code and documentation, thus it is constrained by the existing system s requirements, architecture, design, etc. This characteristic leads to differences in project activities to be performed, system complexity, personnel necessary skill set, etc. As a result, we expect that the impact of each cost driver on the effort of software maintenance would be significantly 4

18 different in comparison with the COCOMO II.2000 model. We, therefore, investigate the following hypothesis. Hypothesis 2: The productivity ranges of the cost drivers in the COCOMO II model for maintenance are different from those of the cost drivers in the COCOMO II.2000 model. The productivity range specifies the maximum impact of a cost driver on effort. In other words, it indicates the percentage of effort increase or decrease if the rating of a cost driver increases the lowest to the highest level. This hypothesis was tested by performing simple comparisons on the productivity ranges of the cost drivers between the two models. Finally, the estimation model must be validated and compared with other estimation approaches regarding its estimation performance. As the model for maintenance proposed in this study is an extension of the COCOMO II model, we will analyze its performance with that of the COCOMO II model and other two unsophisticated but commonly used approaches including the simple linear regression and the productivity index. Hypothesis 3: The COCOMO II model for maintenance outperforms the COCOMO II.2000 model when estimating the effort of software maintenance projects. Hypothesis 4: The COCOMO II model for maintenance outperforms the simple linear regression model and the productivity index estimation method. 5

19 Hypotheses 3 and 4 were tested by comparing the estimation performance of various models using the estimation accuracy metrics MMRE and PRED. 1.4 DEFINITIONS This section provides definitions of common terms and phrases referred to throughout this dissertation. Software maintenance or maintenance is used to refer to the work of modifying, enhancing, and providing cost-effective support to the existing software. Software maintenance in this definition has a broader meaning than the IEEE definition given in [IEEE 1999] as it includes minor and major functional enhancements and error corrections. As opposed to software maintenance, new (ab initio) development refers to the work of developing and delivering the new software product. COCOMO II is used to refer to a set of estimation models that were developed and released in [Boehm 2000b] as a major extension of COCOMO to distinguish itself from the version originally created and published in [Boehm 1981]. COCOMO II.2000 refers to the COCOMO II model whose constants and cost driver ratings were released in [Boehm 2000b]. COCOMO II model for maintenance is used to indicate the sizing method and effort estimation model for software maintenance. 6

20 Chapter 2. RELATED WORK Software cost estimation has attracted tremendous attention from the software engineering research community. A number of studies have been published to address cost estimation related problems, such as software sizing, software productivity factors, cost estimation models for software development and maintenance. This chapter presents a review of software sizing techniques in Section 2.1, major cost estimation models in Section 2.2, and maintenance cost estimation models in Section SOFTWARE SIZING Size is one of the most important attributes of a software product. It is a key indicator of software cost and time; it is also a base unit to derive other metrics for software project measurements, such as productivity and defect density. This section describes the most popular sizing metrics and techniques that have been proposed and applied in practice. These techniques can be categorized into code-based sizing metrics and functional size measurements CODE-BASED SIZING METRICS Code-based sizing metrics measure the size or complexity of software using the programmed source code. Because a significant amount of effort is devoted to programming, it is believed that an appropriate measure correctly quantifying the code 7

21 can be a perceivable indicator of software cost. Halstead s software length equation based on program s operands and operators, McCabe s Cyclometic Complexity, number of modules, source lines of code (SLOC) among others have been proposed and used as code-based sizing metrics. Of these, SLOC is the most popular. It is used as a primary input by most major cost estimation models, such as SLIM, SEER-SEM, PRICE-S, COCOMO, and KnowledgePlan (see Section 2.2). Many different definitions of SLOC exist. SLOC can be the number of physical lines, the number of physical lines excluding comments and blank lines, or the number of statements commonly called logical SLOC, etc. To help provide a consistent SLOC measurement, the SEI published a counting framework that consists of SLOC definitions, counting rules, and checklists [Park 1992]. Boehm et al. adapted this framework for use in the COCOMO models [Boehm 2000b]. USC s Center for Systems and Software Engineering (USC CSSE) has published further detailed counting rules for most of the major languages along with the CodeCount tool 1. In COCOMO, the number of statements or logical SLOC, is the standard SLOC input. Logical SLOC is less sensitive to formats and programming styles, but it is dependent on the programming languages used in the source code [Nguyen 2007]. For software maintenance, the count of added/new, modified, unmodified, adapted, reused, and deleted SLOC can be used. Software estimation models usually aggregate these measures in a certain way to derive a single metric commonly called effective SLOC or equivalent SLOC [Boehm 2000b, SEER-SEM, Jorgensen 1995, Basili 1 8

22 1996, De Lucia 2005]. Surprisingly, there is a lack of consensus on how to measure SLOC for maintenance work. For example, COCOMO, SLIM, and SEER-SEM exclude the deleted SLOC metric while KnowledgePlan and PRICE-S include this metric in their size measures. Several maintenance effort estimation models proposed in the literature use the size metric as the sum of SLOC added, modified, and deleted [Jorgensen 1995, Basili 1996]. SLOC has been widely accepted for several reasons. It has been shown to be highly correlated with the software cost; thus, they are relevant inputs for software estimation models [Boehm 1981, 2000b]. In addition, code-based metrics can be easily and precisely counted using software tools, eliminating inconsistencies in SLOC counts, given that the same counting rules are applied. However, the source code is not available in early project stages, which means that it is difficult to accurately measure SLOC until the source code is available. Another limitation is that SLOC is dependent on the programmer s skills and programming styles. For example, an experienced programmer may write fewer lines of code than an inexperienced one for the same purpose, resulting in a problem called productivity paradox [Jones 2008]. A third limitation is a lack of a consistent standard for measurements of SLOC. As aforementioned, SLOC could mean different things, physical lines of code, physical lines of code excluding comments and blanks, or logical SLOC. There is also no consistent definition of logical SLOC [Nguyen 2007]. The lack of consistency in measuring SLOC can cause low estimation accuracy as described in [Jeffery 2000]. A forth limitation is that SLOC is technology and language 9

23 dependent. Thus, it is difficult to compare productivity gains of projects of varying technologies FUNCTIONAL SIZE MEASUREMENT (FSM) Having faced these limitations, Albrecht developed and published the Function Point Analysis (FPA) method as an alternative to code-based sizing methods [Albrecht 1979]. Albrecht and Gaffney later extended and published the method in [Albrecht and Gaffney 1983]. The International Function Point Users Group (IFPUG), a non-profit organization, was later established to maintain and promote the practice. IFPUG has extended and published several versions of the FPA Counting Practices Manual to standardize the application of FPA [IFPUG 2004, 1999]. Other significant extensions to the FPA method have been introduced and widely applied in practice, such as Mark II FPA [Symons 1988] and COSMIC-FFP [Abran 1998] FUNCTION POINTS ANALYSIS (FPA) FPA takes into account both static and dynamic aspects of the system. The static aspect is represented by data stored or accessed by the system, and the dynamic aspect reflects transactions performed to access and manipulate the data. FPA defines two data function types (Logical Internal File, External Interface File) and three transaction function types (External Input, External Output, Query). Function point counts are the sum of the scores that are assigned to each of the data and the transactional functions. The score of each of the data and transaction functions is determined by its type and its 10

24 complexity. Function counts are then adjusted by a system complexity factor called Value Adjustment Factor (VAF) to obtain adjusted function point counts. The IFPUG s Function Point Counting Practices Manual (CPM) provides guidelines, rules, and examples for counting function points. The manual specifies three different types of function point counts for the Development project, the Enhancement project, and the Application count. The Development project type refers to the count of functions delivered to the user in the first installation of the new software. The Enhancement project type refers to function point counts for modifications made to the preexisting software. And the Application function point count measures the functions provided to the user by a software product and is referred to as the baseline function point count. It can be considered the actual function point count of the development project developing and delivering the system. Thus, the application function point count can be determined by applying the same process given for the development project if the user requirements can be obtained from the working software. In FPA, the enhancement project involves the changes that result in functions added, modified or deleted from the existing system. The procedure and complexity scales are the same as those of the development, except that it takes into account changes in complexity of the modified functions and the overall system characteristics. The process involves identifying added, modified, deleted functions and determining value adjustment factors of the system before and after changes. 11

25 The Effective Function Point count (EFP) of the enhancement project is computed using the formula EFP = (ADD + CHGA) * VAFA + DEL * VAFB (Eq. 2-1) Where, ADD is the unadjusted function point count of added functions. CHGA is the unadjusted function point count of functions that are obtained by modifying the preexisting ones. It is important to note that CHGA counts any function that is modified, regardless of how much the function is changed. DEL is the unadjusted function point count of deleted functions. VAFA is the Value Adjustment Factor of the application after the enhancement project is completed. VAFB is the Value Adjustment Factor of the preexisting application MARK II FUNCTION POINT ANALYSIS In 1988, Symons [1988] proposed Mark II Function Point Analysis (MkII FPA) as an extension to Albrecht s FPA. MkII FPA was later extended and published by the United Kingdom Software Metrics Association (UKSMA) in the MkII FPA Counting Practices Manual [UKSMA 1998]. The MkII FPA method is a certified ISO as an international standard FSM method [ISO 2002]. 12

26 MkII FPA measures the functionality of a software system by viewing the software system as consisting of logical transactions. Each logical transaction is a finestgrained unit of a self-consistent process that is recognizable by the user. The logical transaction consists of three constituent parts: input, processing, and output components. The input and output components contain data element types that are sent across the application boundary and processed by the processing component. The processing component handles the input and output by referencing data entity types. Conceptually, MkII FPA s definitions of data entity types and data element types are similar to those of ILFs/EIFs and DETs in Albrecht s FPA. The size of the input and output components is the count of data element types, and the size of the processing component is the count of data entity types. The MkII function point count, which is referred to as MFI, is determined by computing a weighted sum of the sizes of the input, processing, and output components of all logical transactions. That is, MFI = W i N i + W e N e + W o N o (Eq. 2-2) Where, W i, W e, W o are the weights of input data element types, data entity types, and output data element types, respectively; and N i, N e, N o are the counts of input data element types, data entity types, and output data element types, respectively. The weights W i, W e, W o are calibrated using historical data by relating MFI to the effort required to develop the respective functions. In the CPM version [UKSMA 1998], the industry average weights are as W i = 0.58, W e = 1.66, and W o =

27 For sizing the software maintenance work (referred to as changes in CPM 1.3.1), the MkII function point count includes the size of the logical transactions that are added, changed, or deleted. This involves counting all individual input/output data element types and data entity types that are added, modified, or deleted. The formula (Eq. 2-2) can be used to calculate the MkII function point count of maintenance work, where N i, N e, N o are treated as the counts of input data element types, data entity types, and output data element types that are added, modified, or deleted COSMIC FFP Full Function Point, which is often referred to as FFP 1.0, is a FSM method proposed by St-Pierre et al. [St-Pierre 1997]. FFP was designed as an extension to IFPUG FPA to better measure the functional size of real-time software. The method was later extended and renamed to COSMIC-FFP by the Common Software Measurement International Consortium (COSMIC). Several extensions have been published, and the latest version is COSMIC-FFP 2.2 [COSMIC 2003]. COSMIC-FFP has been certificated as an ISO international standard [ISO 2003]. COSMIC-FFP views the functionality of a software application as consisting of functional processes, each having sub-processes. There are two types of sub-processes, data movement type and data manipulation type. COSMIC-FFP does not handle the data manipulation type separately, but it assumes some association between the two types. It defines four types of data movement sub-processes, including Entry, Exit, Read, and Write. An Entry is a movement of the data attributes contained in one data group from 14

28 the outside to the inside of the application boundary; an Exit moves a data group in the opposite direction to that of the entry; and a Read or a Write refers to a movement of a data group from or to storage. The COSMIC-FFP measurement method determines the functional size by measuring the data movement sub-processes, each moving exactly one data group. That is, the COSMIC-FFP function point count, which is measured in cfsu (COSMIC Functional Size Unit), is computed by summing all Entries, Exits, Reads, and Writes. The complexity of the measurement procedure involves identifying application layers, application boundaries, and data groups that each sub-process handles. Detailed rules and guidelines for this process are given in the COSMIC-FFP measurement manual [COSMIC 2003]. In COSMIC-FFP, the functional size of the software maintenance work is the simple sum of all Entry, Exit, Read, and Write data movement sub-processes whose functional processes are affected by the change. By this calculation, COSMIC-FFP assumes that three different types of change to the functionality (add, modify, and delete) have the same level of complexity (e.g., the size of adding a function is counted the same as that of modifying or deleting the function). That is, the COSMIC-FFP count for the maintenance work (Sizecfsu) is computed as Size cfsu = Size added + Size modified + Size deleted (Eq. 2-3) Where, Size added, Size modified, and Size deleted are the COSMIC-FFP counts measured in csfu of the added, modified, and deleted data movements, respectively. 15

29 The above-discussed functional size measurement methods measure the size of software maintenance consistently in the sense that added, modified, and deleted functions are all included in the count, and they are assigned the same weight. Thus, the number of function point counts assigned for a function is a constant regardless of whether the function is added, modified, or deleted. This calculation also implies that the effort required to add a function is expected to be the same as the effort to delete or modify the same function. 2.2 MAJOR COST ESTIMATION MODELS Many estimation models have been proposed and applied over the years. Instead of describing them all, this section provides a brief review of major estimation models that have been developed, continued to be applied, and marketed by respective developers. These models include SLIM, SEER-SEM, PRICE-S, KnowledgePlan, and COCOMO. There are several reasons for this selection. First, they represent the core set of models that was developed in the early 1980 s and 1990 s. Second, they are still being investigated and used widely in practice and literature. Their long history of extensions and adoptions is proof of their robustness and usefulness. Third, these models perform estimation for a broad range of software development and maintenance activities, covering a number of phases of software lifecycles such as requirements, architecture, implementation, testing, and maintenance. 16

30 2.2.1 SLIM SLIM is one of the most popular cost estimation models that has been in the market for decades. The model was originally developed in the late 1970s by Larry Putnam of Quantitative Software Measurement 2, and its mathematical formulas and analysis were published in [Putnam and Myers 1992]. As the model is proprietary, the subsequent upgrades of the model structures and mathematical formulas are not available in the public domain. Generally, the SLIM model assumes that the staffing profile follows a form of Rayleigh probability distribution of project staff buildup over time. The shapes and sizes of the Rayleigh curve reflect the project size, manpower buildup index, and other productivity parameters. The Rayleigh staffing level at time t is presented as 2 t K 2 2td ( t) = te 2 td p (Eq. 2-4) Where K is the total lifecycle effort and t d the schedule to the peak of the staffing K curve. The quality D = 2 t d is considered staffing complexity of the project. The total lifecycle effort is calculated using the project size S, the technology factor C, and t d, and is defined as 3 S 1 K = x 3 (Eq. 2-5) C 4 t d

31 Boehm et al. note that some assumptions of staffing profile following the Rayleigh distribution do not always hold in practice [Boehm 2000a]. For example, some development practices such as maintenance and incremental development may employ a constant level of staff. In subsequent adjustments, SLIM handles this limitation by allowing the staffing profile to be adjusted by a staffing curve parameter. There are multiple project lifecycle phases defined by the model, such as feasibility study, functional design, main build (development), and maintenance. Each lifecycle phase may have a different staffing curve parameter. In the main build phase, for example, the staffing curve parameter can specify the curve as Medium Front Load (for staff peaking at 40% of the phase), Medium Rear Load (peaking at 80% of the phase), or Rear Load (peaking at the end of the phase). In the maintenance phase, this parameter specifies a flat staffing curve. SLIM views software maintenance as a software lifecycle phase following the main build or development phase. The maintenance phase may have major enhancements, minor enhancements, and baseline support including emergency fixes, help desk support, infrastructure upgrades, operational support, small research projects, etc. The maintenance phase can be estimated independently with the other phases. The model uses the effective SLOC as a unit of project size. Function points and user-defined metrics such as the number of modules, screens, etc. can be used, but they have to be converted to effective SLOC using a gear factor. SLIM counts new code and modified code, but it excludes deleted code. Clearly, the model assumes that new code and modified code have the same influence on the maintenance effort. 18

32 2.2.2 SEER-SEM SEER-SEM is a commercial and proprietary model developed and marketed by Galorath, Inc 3. This model is an extension of the Jensen model [Jensen 1983] from which model structures and parameters are extended while sharing the same core formulas. Like SLIM, the model uses the Rayleigh probability distribution of staffing profile versus time to determine development effort. The size of the project and other parameters can change the Rayleigh curve which then gives estimates for effort, time, and peak staff accordingly. In SEER-SEM, the traditional Rayleigh staffing level at time t is calculated as 2 t K 2 2td ( t) = te 2 td p (Eq. 2-6) Where K is the total life cycle effort and t d the time to the peak of the staffing curve; these terms are calculated as K = D 0.4 S x 3 e C te 1.2 (Eq. 2-7) = S e t d D C (Eq. 2-8) te Where D is the staffing complexity, S e the effective size, and C te the effective technology. Although sharing the same meaning of D with SLIM, SEER-SEM defines D

33 K as 3, which is slightly different from that of SLIM. The derivative of the Rayleigh curve t d p(t) at t = 0 is defined as staffing rate, generally measuring the number of people added to the project per year. The effective technology C te is an aggregated factor determined by using a set of technology and environment parameters. The effective size S e is the size of the project that can be measured in source lines of code (SLOC), function points, or other units. In SEER-SEM, the software maintenance cost covers necessary maintenance activities performed to ensure the operation of the software after its delivery. These software maintenance activities involve correcting faults, changing the software to new operating environments, fine-tuning and perfecting the software, and minor enhancements. They are usually triggered by change requests and software faults that are found during the operation of the software. SEER-SEM uses a number of maintenancespecific parameters to estimate the maintenance cost for a given period of time, in addition to the development cost of the software. The maintenance cost is allocated into corrective, adaptive, perfective maintenance, and minor enhancement cost categories. Major enhancements and re-engineering are not included in the software maintenance cost, but are treated separately as a new software development project. SEER-SEM handles major enhancements and new development similarly except that their differences are reflected in the way that the effective size of the software is determined. 20

34 The effective size, S e, of the software is calculated as S e = New + [P x (0.4 A B C)] (Eq. 2-9) Where, New and P are the new size and the pre-existing software size, respectively. The size can be measured in either function points or lines of code. Discarded code is not included in calculating the effective size of the pre-existing software (P). A, B, and C are the respective percentages of code redesign, code reimplementation, and code retest required to adapt the pre-existing software. The element [P x (0.4 A B C)] in formula (Eq. 2-9) is the equivalent size of rework or reuse of the pre-existing software. The parameters A, B, and C are subjective, and their values range from 0 to 100%. The SEER-SEM user manual provides formulas and guidelines to help determine these parameters [Galorath 2002]. It does not give details, however, on how to reevaluate these parameters when the completed software is available (it is important to collect the actual size data because the actual size data is used to recalibrate the model and to measure the actual productivity, defect density, etc). The parameters A, B, and C maximum limit of 100% might potentially result in underestimation of the rework because it does not account for possible code expansion, full retest and integration of the pre-existing code. 21

35 2.2.3 PRICE-S PRICE-S was originally developed by Frank Freiman of RCA for estimating acquisition and development of hardware systems in the late 1960 s and then released as a first commercial software cost estimation model in After multiple upgrades, extensions, and changes of ownership, the current model, True S, is now implemented as a component in the TruePlanning tool marketed by PRICE Systems 4. As True S is built on the same core methodology as its predecessor, this review uses the name PRICE-S to maintain its originality. PRICE-S is an activity based estimation model that estimates the effort required for each activity. In PRICE-S, an activity represents the work that people, equipment, technologies, or facilities perform to produce a product or deliver a service [PRICE-S 2009]. As described in [IPSA 2008], the effort E of each activity is modeled in the form of Where, E = S x PB x PA (Eq. 2-10) S is the software size that can be measured in source lines of code, function points, predictive object points (POPs) or use case conversion points (UCCPs). POPs is an object oriented (OO) metric introduced by PRICE Systems to measure the size of OO projects [Minkiewicz 1998], and UCCPs is a metric used to quantify the size of use cases

36 BP is the ideal baseline productivity of an industry or an application domain. PA is the productivity adjustment factor that accounts for the overall effects of cost drivers on the productivity of the project. PRICE-S views the software maintenance phase as an activity that focuses on fixing latent defects, deployment, and changing the software release to improve performance, efficiency or portability. Thus, the maintenance cost is determined by these activities other than as a function of how much the software cost is modified. PRICE-S assumes that the maintenance cost only includes changes required to improve performance, efficiency, and portability or to correct defects. Other changes not included in the maintenance cost (i.e., functional enhancements) are estimated the same way as the development project. The model uses a number of maintenance-specific parameters to calculate the cost of software maintenance. The costs associated with functional enhancements and adaptations for preexisting software involve specifying the amount of new, adapted, reused, changed, and deleted code. Other size measures are also used such as the Percentage of Design Adapted, Percentage of Code Adapted, and Percentage of Test Adapted, which are similar to those of SEER-SEM. But unlike SEER-SEM, PRICE-S does not use the effective size aggregated from different types of code in its model calculations. Rather, it uses the different size components separately in various calculations to determine the effort. 23

37 2.2.4 KNOWLEDGEPLAN (CHECKPOINT) KnowledgePlan is a commercial software estimation tool developed and first released by Software Productivity Research (SPR 5 ) in KnowledgePlan is an extension of several previous tools, Checkpoint and SPQR/20, which were originally based on Capers Jones works [Jones 1997]. According to the KnowledgePlan user s guide, the model relies on knowledge bases of thousands of completed projects to provide estimation and scheduling capabilities [KnowledgePlan 2005]. KnowledgePlan estimates effort at project, phase, and task levels of granularity. In addition to the effort, the model main outputs include resources, duration, defects, schedules and dependencies. Estimating and scheduling project tasks are enabled through the knowledge bases containing hundreds of standard task categories to represent typical activities in software projects. These standard task categories cover planning, management, analysis, design, implementation, testing, documentation, installation, training, and maintenance. Each of these task categories is associated with predefined inclusion rules and algorithms that are used to suggest relevant tasks and determine the size of deliverables and productivity for the given size of the project being estimated. The KnowledgePlan tool supports different project types such as new development, enhancement, reengineering, reverse engineering, and maintenance and support of a legacy system. KnowledgePlan uses eight sizing categories called code types, including New, Reused, Leveraged, Prototype, Base, Changed, Deleted, and System Base. Differences in project types may be reflected in the distribution of size

38 estimates of these categories. For example, a new development project typically has a high proportion of New code while enhancement may have a high value of Base code COCOMO The Constructive Cost Model (COCOMO), a well-known cost and schedule estimation model, was originally published in the text Software Engineering Economics [Boehm 1981]. This original model is often referred to as COCOMO 81. The model was defined based on the analysis of 63 completed projects from different domains during the 1970s and the early 1980s. To address the issues emerging from advancements and changes in technologies and development processes, the USC Center for Systems and Software Engineering has developed and published COCOMO II. The model was initially released in [Boehm 1995] and then published in the definitive book [Boehm 2000b]. Among the main upgrades are the introduction of new functional forms that use scale factors, new cost drivers, and a new set of parameters values. COCOMO II comprises three sub-models, Applications Composition, Early Design, and Post-Architecture. The Applications Composition model is used to compute the effort and schedule to develop the system that is integrated from reusable components and other reusable assets using integrated development tools for design, construction, integration, and test. The Applications Composition model has a different estimation form from the other models. It uses a size input measured in terms of Application Points or Object Points [Kauffman and Kumar 1993, Banker 1994] and a productivity rate to calculate effort. The Early Design model is used in the early stages of the project when 25

39 the project information is not detailed enough for a fine-grained estimate. When the detailed information is available (i.e., the high level design is complete, development environment is determined), the Post-Architecture model is used alternatively. The Early Design and Post-Architecture models use source lines of code as the basic size unit and follow the same arithmetic form. The general form of the effort formulas of the COCOMO 81, Early Design, and Post-Architecture models can be written as Where, p B PM = A* Size * EM (Eq. 2-11) i i PM is effort estimate in person months. A is a multiplicative constant, which can be calibrated using historical data. Size is an estimated size of the software, measured in KSLOC. B is an exponential constant (COCOMO I) or scale factors (COCOMO II). EM specifies effort multipliers, which represent the multiplicative component of the equation. In COCOMO 81, the B term is an exponential constant, which is usually greater than 1.0, indicating diseconomies of scale. In COCOMO II, B is defined as a function of scale factors, in form of B = β + β i= 1 SF i where β 0 and β 1 are constants, and SF i is one of the five scale factors. The COCOMO 81 model identifies 15 effort multipliers. 26

40 COCOMO II uses 7 in the Early Design model and 17 in the Post-Architecture model. The effort multipliers are the cost drivers that have multiplicative impact on the effort of the project while the scale factors have exponential impact. The Early Design and Post- Architecture models have the same set of scale factors while the cost drivers in the Early Design model were derived from those of the Post-Architecture model by combining drivers that were found to be highly correlated. The COCOMO II Post-Architecture model s rating values of the model cost drivers were calibrated using the Bayesian technique on a database of 161 project data points [Chulani 1999a]. Table 2-1. COCOMO Sizing Models Development Type Source Code Types Sizing Model New System New New/Added New SLOC Pre-existing Adapted, Reused Reuse Major enhancements Pre-existing Adapted, Reused Reuse Maintenance (repairs and minor updates) Pre-existing Added, Modified Maintenance COCOMO II provides different models to determine the source code size of the project, dependent on the origin of the code (new, pre-existing) and types of change (addition, modification, reuse, automatic translation). Table 2-1 shows the sizing models for various development types. In COCOMO, software maintenance involves repairs and minor updates that do not change its primary functions [Boehm 1981]. Major enhancements, which include changes that are not considered as maintenance, are 27

MTAT.03.244 Software Economics. Lecture 5: Software Cost Estimation

MTAT.03.244 Software Economics. Lecture 5: Software Cost Estimation MTAT.03.244 Software Economics Lecture 5: Software Cost Estimation Marlon Dumas marlon.dumas ät ut. ee Outline Estimating Software Size Estimating Effort Estimating Duration 2 For Discussion It is hopeless

More information

CSSE 372 Software Project Management: Software Estimation With COCOMO-II

CSSE 372 Software Project Management: Software Estimation With COCOMO-II CSSE 372 Software Project Management: Software Estimation With COCOMO-II Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Estimation Experience and Beware of the

More information

Effect of Schedule Compression on Project Effort

Effect of Schedule Compression on Project Effort Effect of Schedule Compression on Project Effort Ye Yang, Zhihao Chen, Ricardo Valerdi, Barry Boehm Center for Software Engineering, University of Southern California (USC-CSE) Los Angeles, CA 90089-078,

More information

Software cost estimation. Predicting the resources required for a software development process

Software cost estimation. Predicting the resources required for a software development process Software cost estimation Predicting the resources required for a software development process Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Objectives To introduce the fundamentals

More information

Cost Estimation Driven Software Development Process

Cost Estimation Driven Software Development Process Cost Estimation Driven Software Development Process Orsolya Dobán, András Pataricza Budapest University of Technology and Economics Department of Measurement and Information Systems Pázmány P sétány 1/D

More information

Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler.

Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler. Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler. -Albert Einstein Overview There are a number of simple software cost analysis methods,

More information

COCOMO-SCORM Interactive Courseware Project Cost Modeling

COCOMO-SCORM Interactive Courseware Project Cost Modeling COCOMO-SCORM Interactive Courseware Project Cost Modeling Roger Smith & Lacey Edwards SPARTA Inc. 13501 Ingenuity Drive, Suite 132 Orlando, FL 32826 Roger.Smith, Lacey.Edwards @Sparta.com Copyright 2006

More information

The COCOMO II Estimating Model Suite

The COCOMO II Estimating Model Suite The COCOMO II Estimating Model Suite Barry Boehm, Chris Abts, Jongmoon Baik, Winsor Brown, Sunita Chulani, Cyrus Fakharzadeh, Ellis Horowitz and Donald Reifer Center for Software Engineering University

More information

Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling

Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling Alexander Hjalmarsson 1, Matus Korman 1 and Robert Lagerström 1, 1 Royal Institute of Technology, Osquldas

More information

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan. Project Cost Adjustments This article describes how to make adjustments to a cost estimate for environmental factors, schedule strategies and software reuse. Author: William Roetzheim Co-Founder, Cost

More information

Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase

Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase NAZRI KAMA, MEHRAN HALIMI Advanced Informatics School Universiti Teknologi Malaysia 54100, Jalan

More information

Chapter 23 Software Cost Estimation

Chapter 23 Software Cost Estimation Chapter 23 Software Cost Estimation Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Software cost estimation Predicting the resources required for a software development process

More information

A Comparative Evaluation of Effort Estimation Methods in the Software Life Cycle

A Comparative Evaluation of Effort Estimation Methods in the Software Life Cycle DOI 10.2298/CSIS110316068P A Comparative Evaluation of Effort Estimation Methods in the Software Life Cycle Jovan Popović 1 and Dragan Bojić 1 1 Faculty of Electrical Engineering, University of Belgrade,

More information

COCOMO II and Big Data

COCOMO II and Big Data COCOMO II and Big Data Rachchabhorn Wongsaroj*, Jo Ann Lane, Supannika Koolmanojwong, Barry Boehm *Bank of Thailand and Center for Systems and Software Engineering Computer Science Department, Viterbi

More information

Software project cost estimation using AI techniques

Software project cost estimation using AI techniques Software project cost estimation using AI techniques Rodríguez Montequín, V.; Villanueva Balsera, J.; Alba González, C.; Martínez Huerta, G. Project Management Area University of Oviedo C/Independencia

More information

Software cost estimation

Software cost estimation Software cost estimation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 26 Slide 1 Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for

More information

COCOMO II Model Definition Manual

COCOMO II Model Definition Manual COCOMO II Model Definition Manual Acknowledgments COCOMO II is an effort to update the well-known COCOMO (Constructive Cost Model) software cost estimation model originally published in Software Engineering

More information

Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4

Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4 MACIASZEK, L.A. and LIONG, B.L. (2005): Practical Software Engineering. A Case Study Approach Addison Wesley, Harlow England, 864p. ISBN: 0 321 20465 4 Chapter 4 Software Project Planning and Tracking

More information

Software Intensive Systems Cost and Schedule Estimation

Software Intensive Systems Cost and Schedule Estimation Software Intensive Systems Cost and Schedule Estimation Final Technical Report SERC 2013-TR-032-2 June 13, 2013 Dr. Barry Boehm, Principal Investigator - University of Southern California Dr. Jo Ann Lane

More information

How to Decide which Method to Use

How to Decide which Method to Use Methods for Software Sizing How to Decide which Method to Use 1 Why Measure Software Size? Software is the output product from the software development and/or enhancement activity that is delivered and/or

More information

Software Engineering. Dilbert on Project Planning. Overview CS / COE 1530. Reading: chapter 3 in textbook Requirements documents due 9/20

Software Engineering. Dilbert on Project Planning. Overview CS / COE 1530. Reading: chapter 3 in textbook Requirements documents due 9/20 Software Engineering CS / COE 1530 Lecture 4 Project Management Dilbert on Project Planning Overview Reading: chapter 3 in textbook Requirements documents due 9/20 1 Tracking project progress Do you understand

More information

Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model

Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model Iman Attarzadeh and Siew Hock Ow Department of Software Engineering Faculty of Computer Science &

More information

Comparative Analysis of COCOMO II, SEER-SEM and True-S Software Cost Models

Comparative Analysis of COCOMO II, SEER-SEM and True-S Software Cost Models Comparative Analysis of COCOMO II, SEER-SEM and True-S Software Cost Models Raymond Madachy, Barry Boehm USC Center for Systems and Software Engineering {madachy, boehm}@usc.edu 1. Abstract We have been

More information

Keywords Software Cost; Effort Estimation, Constructive Cost Model-II (COCOMO-II), Hybrid Model, Functional Link Artificial Neural Network (FLANN).

Keywords Software Cost; Effort Estimation, Constructive Cost Model-II (COCOMO-II), Hybrid Model, Functional Link Artificial Neural Network (FLANN). Develop Hybrid Cost Estimation For Software Applications. Sagar K. Badjate,Umesh K. Gaikwad Assistant Professor, Dept. of IT, KKWIEER, Nasik, India sagar.badjate@kkwagh.edu.in,ukgaikwad@kkwagh.edu.in A

More information

Software cost estimation

Software cost estimation Software cost estimation Sommerville Chapter 26 Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for software productivity assessment To explain why different

More information

Fuzzy Expert-COCOMO Risk Assessment and Effort Contingency Model in Software Project Management

Fuzzy Expert-COCOMO Risk Assessment and Effort Contingency Model in Software Project Management Western University Scholarship@Western Electronic Thesis and Dissertation Repository April 2013 Fuzzy Expert-COCOMO Assessment and Effort Contingency Model in Software Project Management Ekananta Manalif

More information

Project Planning and Project Estimation Techniques. Naveen Aggarwal

Project Planning and Project Estimation Techniques. Naveen Aggarwal Project Planning and Project Estimation Techniques Naveen Aggarwal Responsibilities of a software project manager The job responsibility of a project manager ranges from invisible activities like building

More information

The software maintenance project effort estimation model based on function points

The software maintenance project effort estimation model based on function points JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE J. Softw. Maint. Evol.: Res. Pract. 2003; 15:71 85 (DOI: 10.1002/smr.269) Research The software maintenance project effort estimation

More information

Web Development: Estimating Quick-to-Market Software

Web Development: Estimating Quick-to-Market Software Web Development: Estimating Quick-to-Market Software Donald J. Reifer 15 th International Forum on COCOMO and Software Estimation 10/25/00 Copyright 2000, RCI 1 Setting the Stage Business and government

More information

Using Productivity Measure and Function Points to Improve the Software Development Process

Using Productivity Measure and Function Points to Improve the Software Development Process Using Productivity Measure and Function Points to Improve the Software Development Process Eduardo Alves de Oliveira and Ricardo Choren Noya Computer Engineering Section, Military Engineering Institute,

More information

The ROI of Systems Engineering: Some Quantitative Results

The ROI of Systems Engineering: Some Quantitative Results The ROI of Systems Engineering: Some Quantitative Results Barry Boehm Center for Systems and Software Engineering University of Southern California boehm@usc.edu Ricardo Valerdi Lean Aerospace Initiative,

More information

Software Engineering. Reading. Effort estimation CS / COE 1530. Finish chapter 3 Start chapter 5

Software Engineering. Reading. Effort estimation CS / COE 1530. Finish chapter 3 Start chapter 5 Software Engineering CS / COE 1530 Lecture 5 Project Management (finish) & Design CS 1530 Software Engineering Fall 2004 Reading Finish chapter 3 Start chapter 5 CS 1530 Software Engineering Fall 2004

More information

COCOMO II Model Definition Manual

COCOMO II Model Definition Manual COCOMO II Model Definition Manual Version 1.4 - Copyright University of Southern California Acknowledgments This work has been supported both financially and technically by the COCOMO II Program Affiliates:

More information

Software cost estimation

Software cost estimation CH26_612-640.qxd 4/2/04 3:28 PM Page 612 26 Software cost estimation Objectives The objective of this chapter is to introduce techniques for estimating the cost and effort required for software production.

More information

Software Cost Estimation Metrics Manual for Defense Systems

Software Cost Estimation Metrics Manual for Defense Systems Software Cost Estimation Metrics Manual for Defense Systems Brad Clark USC Ray Madachy Naval Postgraduate School 29 th International Forum on COCOMO and Systems/Software Cost Modeling October 22, 2014

More information

Using COSMIC-FFP to Quantify Functional Reuse in Software Development

Using COSMIC-FFP to Quantify Functional Reuse in Software Development Using COSMIC-FFP to Quantify Functional Reuse in Software Development Vinh T. Ho, Alain Abran, Serge Oligny Dept. of Computer Science, Université du Québec à Montréal, Canada vho@lrgl.uqam.ca, abran.alain@uqam.ca,

More information

University of Southern California COCOMO Reference Manual

University of Southern California COCOMO Reference Manual USC COCOMOII Reference Manual University of Southern California COCOMO Reference Manual 1 This manual is compatible with USC-COCOMOII.1999 version 0. Copyright Notice This document is copyrighted, and

More information

Software Development Cost Estimation Approaches A Survey 1. Barry Boehm, Chris Abts. University of Southern California. Los Angeles, CA 90089-0781

Software Development Cost Estimation Approaches A Survey 1. Barry Boehm, Chris Abts. University of Southern California. Los Angeles, CA 90089-0781 Software Development Cost Estimation Approaches A Survey 1 Barry Boehm, Chris Abts University of Southern California Los Angeles, CA 90089-0781 Sunita Chulani IBM Research 650 Harry Road, San Jose, CA

More information

FUNCTION POINT ANALYSIS: Sizing The Software Deliverable. BEYOND FUNCTION POINTS So you ve got the count, Now what?

FUNCTION POINT ANALYSIS: Sizing The Software Deliverable. BEYOND FUNCTION POINTS So you ve got the count, Now what? FUNCTION POINT ANALYSIS: Sizing The Software Deliverable BEYOND FUNCTION POINTS So you ve got the count, Now what? 2008 Course Objectives The primary webinar objectives are to: Review function point methodology

More information

Accounting for Non-Functional Requirements in Productivity Measurement, Benchmarking & Estimating

Accounting for Non-Functional Requirements in Productivity Measurement, Benchmarking & Estimating Accounting for Non-Functional Requirements in Productivity Measurement, Benchmarking & Estimating Charles Symons President The Common Software Measurement International Consortium UKSMA/COSMIC International

More information

Software Estimation Experiences at Xerox

Software Estimation Experiences at Xerox 15th lntemational Forum on COCOMO and Software Cost Modeling Software Estimation Experiences at Xerox Dr. Peter Hantos OfJice Systems Group, Xerox No, but it is certainly not victimless... CROW By Bill

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

How To Reduce Total Ownership Costs In Software

How To Reduce Total Ownership Costs In Software Software Total Ownership Costs: Development Is Only Job One The 10 step process includes rigorous estimation, measurement and lessons learned rather than the haphazard estimation that is all too often

More information

APPLYING FUNCTION POINTS WITHIN A SOA ENVIRONMENT

APPLYING FUNCTION POINTS WITHIN A SOA ENVIRONMENT APPLYING FUNCTION POINTS WITHIN A SOA ENVIRONMENT Jeff Lindskoog EDS, An HP Company 1401 E. Hoffer St Kokomo, IN 46902 USA 1 / 16 SEPTEMBER 2009 / EDS INTERNAL So, Ah, How Big is it? 2 / 16 SEPTEMBER 2009

More information

Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement

Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement Incorporating Data Mining Techniques on Software Cost Estimation: Validation and Improvement 1 Narendra Sharma, 2 Ratnesh Litoriya Department of Computer Science and Engineering Jaypee University of Engg

More information

DOMAIN-BASED EFFORT DISTRIBUTION MODEL FOR SOFTWARE COST ESTIMATION. Thomas Tan

DOMAIN-BASED EFFORT DISTRIBUTION MODEL FOR SOFTWARE COST ESTIMATION. Thomas Tan DOMAIN-BASED EFFORT DISTRIBUTION MODEL FOR SOFTWARE COST ESTIMATION by Thomas Tan A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment

More information

The Challenge of Productivity Measurement

The Challenge of Productivity Measurement Proceedings: Pacific Northwest Software Quality Conference, 2006 The Challenge of Productivity Measurement David N. Card Q-Labs, Inc dca@q-labs.com Biography- David N. Card is a fellow of Q-Labs, a subsidiary

More information

Knowledge-Based Systems Engineering Risk Assessment

Knowledge-Based Systems Engineering Risk Assessment Knowledge-Based Systems Engineering Risk Assessment Raymond Madachy, Ricardo Valerdi University of Southern California - Center for Systems and Software Engineering Massachusetts Institute of Technology

More information

CHAPTER 1 OVERVIEW OF SOFTWARE ENGINEERING

CHAPTER 1 OVERVIEW OF SOFTWARE ENGINEERING 1 CHAPTER 1 OVERVIEW OF SOFTWARE ENGINEERING 1.1 INTRODUCTION Software Engineering is a discipline which is majorly concerned about development of systematic large software applications that are used in

More information

Modern Empirical Cost and Schedule Estimation Tools

Modern Empirical Cost and Schedule Estimation Tools Modern Empirical Cost and Schedule Estimation Tools A DACS State-of-the-Art Report Contract Number F30602-89-C-0082 (Data & Analysis Center for Software) Prepared for: Air Force Research Laboratory - Information

More information

Identifying Factors Affecting Software Development Cost

Identifying Factors Affecting Software Development Cost Identifying Factors Affecting Software Development Cost Robert Lagerström PhD Student at Industrial Information and Control Systems School of Electrical Engineering KTH Royal Institute of Technology Stockholm,

More information

AN ENHANCED MODEL TO ESTIMATE EFFORT, PERFORMANCE AND COST OF THE SOFTWARE PROJECTS

AN ENHANCED MODEL TO ESTIMATE EFFORT, PERFORMANCE AND COST OF THE SOFTWARE PROJECTS M PAULINE et. al.: AN ENHANCED MODEL TO ESTIMATE EFFORT, PERFORMANCE AND COST OF THE SOFTWARE PROJECTS AN ENHANCED MODEL TO ESTIMATE EFFORT, PERFORMANCE AND COST OF THE SOFTWARE PROJECTS M. Pauline 1,

More information

A DIFFERENT KIND OF PROJECT MANAGEMENT

A DIFFERENT KIND OF PROJECT MANAGEMENT SEER for Software SEER project estimation and management solutions improve success rates on complex software projects. Based on sophisticated modeling technology and extensive knowledge bases, SEER solutions

More information

Article 3, Dealing with Reuse, explains how to quantify the impact of software reuse and commercial components/libraries on your estimate.

Article 3, Dealing with Reuse, explains how to quantify the impact of software reuse and commercial components/libraries on your estimate. Estimating Software Costs This article describes the cost estimation lifecycle and a process to estimate project volume. Author: William Roetzheim Co-Founder, Cost Xpert Group, Inc. Estimating Software

More information

Fundamentals of Measurements

Fundamentals of Measurements Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role

More information

Deducing software process improvement areas from a COCOMO II-based productivity measurement

Deducing software process improvement areas from a COCOMO II-based productivity measurement Deducing software process improvement areas from a COCOMO II-based productivity measurement Lotte De Rore, Monique Snoeck, Geert Poels, Guido Dedene Abstract At the SMEF2006 conference, we presented our

More information

Software Cost Estimation: A Tool for Object Oriented Console Applications

Software Cost Estimation: A Tool for Object Oriented Console Applications Software Cost Estimation: A Tool for Object Oriented Console Applications Ghazy Assassa, PhD Hatim Aboalsamh, PhD Amel Al Hussan, MSc Dept. of Computer Science, Dept. of Computer Science, Computer Dept.,

More information

Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 *

Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 * Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 * Barry Boehm, Bradford Clark, Ellis Horowitz, Chris Westland USC Center for Software Engineering Ray Madachy USC Center for Software Engineering

More information

A HYBRID INTELLIGENT MODEL FOR SOFTWARE COST ESTIMATION

A HYBRID INTELLIGENT MODEL FOR SOFTWARE COST ESTIMATION Journal of Computer Science, 9(11):1506-1513, 2013, doi:10.3844/ajbb.2013.1506-1513 A HYBRID INTELLIGENT MODEL FOR SOFTWARE COST ESTIMATION Wei Lin Du 1, Luiz Fernando Capretz 2, Ali Bou Nassif 2, Danny

More information

Integrated Modeling of Business Value and Software Processes

Integrated Modeling of Business Value and Software Processes Integrated Modeling of Business Value and Software Processes Raymond Madachy, USC Center for Software Engineering Department of Computer Science, SAL 8 University of Southern California Los Angeles, CA

More information

IPA/SEC Data entry form Version 3.0 for IPA/SEC White Paper 20xx on software development projects in Japan

IPA/SEC Data entry form Version 3.0 for IPA/SEC White Paper 20xx on software development projects in Japan IPA/SEC Data entry form Version 3.0 for IPA/SEC White Paper 20xx on software development projects in Japan Information-Technology Promotion Agency, Japan(IPA) Software Engineering Center(SEC) Contents

More information

risks in the software projects [10,52], discussion platform, and COCOMO

risks in the software projects [10,52], discussion platform, and COCOMO CHAPTER-1 INTRODUCTION TO PROJECT MANAGEMENT SOFTWARE AND SERVICE ORIENTED ARCHITECTURE 1.1 Overview of the system Service Oriented Architecture for Collaborative WBPMS is a Service based project management

More information

Simulation for Business Value and Software Process/Product Tradeoff Decisions

Simulation for Business Value and Software Process/Product Tradeoff Decisions Simulation for Business Value and Software Process/Product Tradeoff Decisions Raymond Madachy USC Center for Software Engineering Dept. of Computer Science, SAL 8 Los Angeles, CA 90089-078 740 570 madachy@usc.edu

More information

SOFTWARE COST DRIVERS AND COST ESTIMATION IN NIGERIA ASIEGBU B, C AND AHAIWE, J

SOFTWARE COST DRIVERS AND COST ESTIMATION IN NIGERIA ASIEGBU B, C AND AHAIWE, J SOFTWARE COST DRIVERS AND COST ESTIMATION IN NIGERIA Abstract ASIEGBU B, C AND AHAIWE, J This research work investigates the effect of cost drivers on software cost estimation. Several models exist that

More information

Sizing Application Maintenance and Support activities

Sizing Application Maintenance and Support activities October 2014 Sizing Application Maintenance and Support activities Anjali Mogre anjali.mogre@atos.net Penelope Estrada Nava penelope.estrada@atos.net Atos India www.atos.net Phone: +91 9820202911 Copyright

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

A DIFFERENT KIND OF PROJECT MANAGEMENT: AVOID SURPRISES

A DIFFERENT KIND OF PROJECT MANAGEMENT: AVOID SURPRISES SEER for Software: Cost, Schedule, Risk, Reliability SEER project estimation and management solutions improve success rates on complex software projects. Based on sophisticated modeling technology and

More information

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING 03-23-05 Christine Green, PMI PMBOK and Estimating EDS, Delivery

More information

2 Evaluation of the Cost Estimation Models: Case Study of Task Manager Application. Equations

2 Evaluation of the Cost Estimation Models: Case Study of Task Manager Application. Equations I.J.Modern Education and Computer Science, 2013, 8, 1-7 Published Online October 2013 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijmecs.2013.08.01 Evaluation of the Cost Estimation Models: Case

More information

Process Management and Budgeting in COSMIC-FFP

Process Management and Budgeting in COSMIC-FFP Using COSMIC-FFP for sizing, estimating and planning in an ERP environment Abstract Using COSMIC-FFP for sizing, estimating and planning in an ERP environment Frank Vogelezang Sogeti Nederland B.V. frank.vogelezang@sogeti.nl

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Certified Software Quality Engineer (CSQE) Body of Knowledge

Certified Software Quality Engineer (CSQE) Body of Knowledge Certified Software Quality Engineer (CSQE) Body of Knowledge The topics in this Body of Knowledge include additional detail in the form of subtext explanations and the cognitive level at which the questions

More information

11.04 Lo M Khu CC Bàu Cát II, P.10 Quận Tân Bình, Tp. Hồ Chí Minh Emails: nguyenvu@usc.edu nvu@fit.hcmus.edu.vn

11.04 Lo M Khu CC Bàu Cát II, P.10 Quận Tân Bình, Tp. Hồ Chí Minh Emails: nguyenvu@usc.edu nvu@fit.hcmus.edu.vn Education VU NGUYEN 11.04 Lo M Khu CC Bàu Cát II, P.10 Quận Tân Bình, Tp. Hồ Chí Minh Emails: nguyenvu@usc.edu nvu@fit.hcmus.edu.vn Doctor of Philosophy (Ph.D.) (Dec 2010) Department of Computer Science

More information

Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?

Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management? Contents Introduction Software Development Processes Project Management Requirements Engineering Software Construction Group processes Quality Assurance Software Management and Evolution Last Time - Software

More information

MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS

MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS International Journal of Software Engineering and Knowledge Engineering World Scientific Publishing Company MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS CARLOS MONSALVE CIDIS-FIEC, Escuela

More information

Cost Estimation for Secure Software & Systems

Cost Estimation for Secure Software & Systems Background Cost Estimation for Secure Software & Systems Ed Colbert Dr. Barry Boehm Center for Systems & Software Engineering, University of Southern California, 941 W. 37th Pl., Sal 328, Los Angeles,

More information

Identifying Factors Affecting Software Development Cost

Identifying Factors Affecting Software Development Cost Identifying Factors Affecting Software Development Cost Robert Lagerström, Liv Marcks von Würtemberg, Hannes Holm and Oscar Luczak Industrial Information and Control Systems The Royal Institute of Technology

More information

How to Avoid Traps in Contracts for Software Factory Based on Function Metric

How to Avoid Traps in Contracts for Software Factory Based on Function Metric How to Avoid Traps in Contracts for Software Factory Based on Function Metric Claudia Hazan Serviço Federal de Processamento de Dados (SERPRO) SGAN Quadra 601 Modulo V Brasilia, DF, CEP: 70836-900 BRAZIL

More information

Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 *

Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 * Cost Models for Future Software Life Cycle Processes: COCOMO 2.0 * Barry Boehm, Bradford Clark, Ellis Horowitz, Chris Westland USC Center for Software Engineering Ray Madachy USC Center for Software Engineering

More information

A SHORT HISTORY OF SOFTWARE ESTIMATION TOOLS. Version 12.0 August 26, 2013

A SHORT HISTORY OF SOFTWARE ESTIMATION TOOLS. Version 12.0 August 26, 2013 A SHORT HISTORY OF SOFTWARE ESTIMATION TOOLS Version 12.0 August 26, 2013 Keywords Activity-based costs, Capers Jones data, function points, Namcook Analytics data, software costs, software development,

More information

Safety critical software and development productivity

Safety critical software and development productivity Preprint for conference proceedings for The Second World Congress on Software Quality, Yokohama, Sept 25.- 29, 2000. http://www.calpoly.edu/~pmcquaid/2wcsq Safety critical software and development productivity

More information

Function Point Measurement from Java Programs

Function Point Measurement from Java Programs Function Point Measurement from Java Programs Shinji Kusumoto, Masahiro Imagawa, Katsuro Inoue Graduate School of Engineering Science Osaka University Toyonaka, Osaka, Japan {kusumoto, imagawa, inoue}@icsesosaka-uacjp

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,

More information

Multinomial Logistic Regression Applied on Software Productivity Prediction

Multinomial Logistic Regression Applied on Software Productivity Prediction Multinomial Logistic Regression Applied on Software Productivity Prediction Panagiotis Sentas, Lefteris Angelis, Ioannis Stamelos Department of Informatics, Aristotle University 54124 Thessaloniki, Greece

More information

SOFTWARE ESTIMATING RULES OF THUMB. Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007

SOFTWARE ESTIMATING RULES OF THUMB. Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007 SOFTWARE ESTIMATING RULES OF THUMB Version 1 - April 6, 1997 Version 2 June 13, 2003 Version 3 March 20, 2007 Abstract Accurate software estimating is too difficult for simple rules of thumb. Yet in spite

More information

Software Metrics & Software Metrology. Alain Abran. Chapter 4 Quantification and Measurement are Not the Same!

Software Metrics & Software Metrology. Alain Abran. Chapter 4 Quantification and Measurement are Not the Same! Software Metrics & Software Metrology Alain Abran Chapter 4 Quantification and Measurement are Not the Same! 1 Agenda This chapter covers: The difference between a number & an analysis model. The Measurement

More information

QSM. How to Quote Small In-Process Modifications to Software. by Michael A. Ross

QSM. How to Quote Small In-Process Modifications to Software. by Michael A. Ross QSM Quantitative Software Management, Phoenix Office 5013 West Vogel Avenue Glendale, Arizona 85302 (602) 435-9863 (602) 915-3351 FAX 102121.434@compuserve.com or Michael_A_Ross@msn.com Quoting Small Changes

More information

Assessing and Estimating Corrective, Enhancive, and Reductive Maintenance Tasks: A Controlled Experiment

Assessing and Estimating Corrective, Enhancive, and Reductive Maintenance Tasks: A Controlled Experiment Assessing and Estimating Corrective, Enhancive, and Reductive Maintenance Tasks: A Controlled Experiment Vu Nguyen, Barry Boehm Computer Science Department University of Southern California Los Angeles,

More information

Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects

Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects UDC 65.01 Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects Radoslav M. Rakovic Energoprojekt-Entel Co.Ltd., Bulevar Mihaila Pupina 12, 11070 Belgrade, Serbia and

More information

Introduction to Function Points www.davidconsultinggroup.com

Introduction to Function Points www.davidconsultinggroup.com By Sheila P. Dennis and David Garmus, David Consulting Group IBM first introduced the Function Point (FP) metric in 1978 [1]. Function Point counting has evolved into the most flexible standard of software

More information

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture Lecture 20: Software Cost Estimation 2 Emad Shihab Slides adapted from Ian Sommerville and Ahmed E. Hassan Estimation Techniques There is no simple way to make accurate estimates

More information

A Review of Comparison among Software Estimation Techniques

A Review of Comparison among Software Estimation Techniques A Review of Comparison among Software Estimation Techniques Abstract- Software estimation process is still a complicated procedure for estimators. It is the responsibility of software project manager;

More information

Agile Inspired Risk Mitigation Techniques for Software Development Projects

Agile Inspired Risk Mitigation Techniques for Software Development Projects Agile Inspired Risk Mitigation Techniques for Software Development Projects Presented at GTISLIG, Toronto November 15 th 2007 Michael Bica, Sogard Inc. 1 Roadmap I. Risks Heuristics Risks & Estimation

More information

Lessons Learned From Collecting Systems Engineering Data

Lessons Learned From Collecting Systems Engineering Data 2 nd Annual Conference on Systems Engineering Research, April 2004, Los Angeles, CA. Lessons Learned From Collecting Systems Engineering Data Ricardo Valerdi Center for Software Engineering University

More information

Hathaichanok Suwanjang and Nakornthip Prompoon

Hathaichanok Suwanjang and Nakornthip Prompoon Framework for Developing a Software Cost Estimation Model for Software Based on a Relational Matrix of Project Profile and Software Cost Using an Analogy Estimation Method Hathaichanok Suwanjang and Nakornthip

More information

Project Plan 1.0 Airline Reservation System

Project Plan 1.0 Airline Reservation System 1.0 Airline Reservation System Submitted in partial fulfillment of the requirements of the degree of Master of Software Engineering Kaavya Kuppa CIS 895 MSE Project Department of Computing and Information

More information

COCOMO (Constructive Cost Model)

COCOMO (Constructive Cost Model) COCOMO (Constructive Cost Model) Seminar on Software Cost Estimation WS 2002 / 2003 presented by Nancy Merlo Schett Requirements Engineering Research Group Department of Computer Science University of

More information

Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation

Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation Jo Ann Lane and Barry Boehm University of Southern California Center for Systems and Software Engineering Abstract Many

More information

SoftwareCostEstimation. Spring,2012

SoftwareCostEstimation. Spring,2012 SoftwareCostEstimation Spring,2012 Chapter 3 SOFTWARE COST ESTIMATION DB Liu Software Cost Estimation INTRODUCTION Estimating the cost of a software product is one of the most difficult and error-prone

More information

Implementing a Metrics Program MOUSE will help you

Implementing a Metrics Program MOUSE will help you Implementing a Metrics Program MOUSE will help you Ton Dekkers, Galorath tdekkers@galorath.com Just like an information system, a method, a technique, a tool or an approach is supporting the achievement

More information