311,677 research outputs found

    Effort Estimation Methods in Software Development Using Machine Learning Algorithms

    Get PDF
    Estimation of effort for the proposed software is a standout amongst the most essential activities in project management. Proper estimation of effort is often desirable in order to avoid any sort of failures in a project and is the practice to adopted by developers at the very beginning stage of the software development life cycle. Estimating the effort and schedule with a higher accuracy is a challenge that attracts attention of researchers as well as practitioners. Predicting the effort required to develop a software to a certain level of accuracy is definitely a difficult assignment for a manager or system analyst, when the requirements are not very clearly identified. Effort estimation helps project managers to determine time and effort required for the successful completion of the project. In order to help the organization in developing qualitative products within a planned time frame, the job of appropriate software effort estimation is of primary requirement. For measuring the cost and effort of software development, traditional software estimation techniques like Constructive Cost Estimation (COCOMO) model and Function Point Analysis (FPA) have not been proved very much satisfactory, because of uncertainties associated with parameters such as Line Of Code (LOC) and Function Point (FP) respectively, used for procedural programming concept. The procedural oriented design splits the data and procedure, whereas accepted practice of present day i.e., the object-oriented design combines both of them Since class and use case are the basic logical units of an object-oriented system, the use of Class Point (CP) and Use Case Point (UCP) approach to estimate the project effort helps to get more accurate result. For projects based on the aspect of Web Engineering, effort estimation practice is identified as a critical issue Considering these facts, there is a strong need for formal estimation of web-based projects, which can be accomplished by the help of International Software Benchmarking Standards Group (ISBSG) dataset. Similarly, in case of agile projects, Story Point Approach (SPA) is used to measure the effort required to implement a user story. By adding up the estimates of user stories which were nished during an iteration (story point iteration), the project velocity is obtained. The dataset related to CP, UCP and SPA are collected from previous projects mentioned in few research articles or from industries in order to assess the results. In order to create results of estimation with more accuracy, when managing issues of complex connections in the middle of inputs as well as yields, and where, there is a distortion in the inputs by high noise levels, the application of machine learning (ML) techniques helps to bring out results with more accuracy. A number of past research studies indicate that no single technique turns out to be the best for all cases. This is because of the dependency of system's execution altogether on the predicted function types, variations in properties of collected data, number of tests, noise ratio and so on. Hence the use of ML techniques in order to cope with issues arises in real-life situation is considered to be worthwhile. The research work carried out here presents the use of various ML techniques for software effort estimation using CP, UCP, Web-based and SPA approaches. The ML techniques are implemented taking into consideration of related dataset to predict the required effort

    Estimering av Webutviklingsprosjekter : Use case poeng sammenliknet med eksperters estimater, funksjonspoeng, COCOMO II og WEBMO

    Get PDF
    This document is my master thesis at the Institute of Informatics, University of Oslo. This is a multiple case study where the focus is estimating web based software projects. For consultants in the software industry, the bidding process is one of the most important processes. At this point the costumer chooses which supplier they want to develop the planned software. Two important parts of the suppliers offer are price and time. The supplier has to make an estimate as good and realistic as possible to become the one that is chosen. When the costumer is going to choose its supplier, the estimates are studied in detail and the objective of the customer is to receive the best system as fast and cheap as possible. This may lead to incorrect estimates both when time and money are concerned because of the competition between suppliers. It is useful to study a model of estimation, to help the customer understand the price and development time of the planned software. It is also useful to discuss which estimation approach that a costumer understands. Estimates are important when starting a software project. A costumer needs to know time and costs to see if they can afford the software. For suppliers estimates are important to calculate income and how long that project will take. This way they will also know when the developers will be ready to start new projects. Estimates are often based on the experiences of the experts. One challenge with these estimates are that they have to be done early, even before the suppliers know the details about the system. It is therefore important to know how to estimate when only the functionality described in the user specification is known. It is useful to study how the user specification, specially the functional requirements, can be used when estimating. In May 2003 the Software Engineering group at Simula Research Laboratory began a research on the development of web based software. Four suppliers developed a research database, called “The Simula Database of Empirical Studies”, simultaneously as the researchers was doing a research on the development. This thesis looks at the estimation process in the development. The main focus is to study how an estimation approach, based on use case, may support both costumers and suppliers in the bidding process. The use case approach is based on a systems functional requirement written in use cases. There is a huge interest in the approach, but it is still necessary to adjust it to different kinds of projects. This thesis studies how an approach for use case based estimation may be used to estimate web based software by testing it on the projects and compare it to other more established methods. The chosen methods are Function Points, COCOMO II early design and WEBMO. The most important aspects discussed are; information requirements, how the approaches estimates compared to how experts estimates, actual effort, which quality the approaches plan and also when the approaches can be used and who to use them. This study shows that the size measure in the use case point approach is easier to use for people without any technical knowledge, for instance a costumer in software projects, than function point. This predicts well structured use cases. This study suggests guidelines for use case structuring, when the use cases are very detailed from the beginning. Further, the study shows that cost drivers bound to quality of code like maintenance, reuse, documentation, complexity and experience affects the effort to a greater extent. The study looks at how such cost drivers can be used in web projects. In this case the estimation approaches estimated as good as, or better than the experts. This indicates that the use case point approach may support both costumer and developer in a bidding process where a use case model describes the functional requirements

    Use Case Point Approach Based Software Effort Estimation using Various Support Vector Regression Kernel Methods

    Full text link
    The job of software effort estimation is a critical one in the early stages of the software development life cycle when the details of requirements are usually not clearly identified. Various optimization techniques help in improving the accuracy of effort estimation. The Support Vector Regression (SVR) is one of several different soft-computing techniques that help in getting optimal estimated values. The idea of SVR is based upon the computation of a linear regression function in a high dimensional feature space where the input data are mapped via a nonlinear function. Further, the SVR kernel methods can be applied in transforming the input data and then based on these transformations, an optimal boundary between the possible outputs can be obtained. The main objective of the research work carried out in this paper is to estimate the software effort using use case point approach. The use case point approach relies on the use case diagram to estimate the size and effort of software projects. Then, an attempt has been made to optimize the results obtained from use case point analysis using various SVR kernel methods to achieve better prediction accuracy.Comment: 13 pages, 6 figures, 11 Tables, International Journal of Information Processing (IJIP

    Feature weighting techniques for CBR in software effort estimation studies: A review and empirical evaluation

    Get PDF
    Context : Software effort estimation is one of the most important activities in the software development process. Unfortunately, estimates are often substantially wrong. Numerous estimation methods have been proposed including Case-based Reasoning (CBR). In order to improve CBR estimation accuracy, many researchers have proposed feature weighting techniques (FWT). Objective: Our purpose is to systematically review the empirical evidence to determine whether FWT leads to improved predictions. In addition we evaluate these techniques from the perspectives of (i) approach (ii) strengths and weaknesses (iii) performance and (iv) experimental evaluation approach including the data sets used. Method: We conducted a systematic literature review of published, refereed primary studies on FWT (2000-2014). Results: We identified 19 relevant primary studies. These reported a range of different techniques. 17 out of 19 make benchmark comparisons with standard CBR and 16 out of 17 studies report improved accuracy. Using a one-sample sign test this positive impact is significant (p = 0:0003). Conclusion: The actionable conclusion from this study is that our review of all relevant empirical evidence supports the use of FWTs and we recommend that researchers and practitioners give serious consideration to their adoption

    A comparative case study of programming language expansion ratios : a thesis presented in partial fulfilment of the requirements for the degree of Master of Technology in Computing Technology at Massey University

    Get PDF
    An effective size estimation tool must allow an estimate to be obtained early enough to be useful. Some difficulties have been observed in using the traditional lines of code (LOC) measure in software sizing, much of which is due to the need for more detailed design information to be available before an accurate estimate can be achieved. This does not allow the result to be obtained early in the software development process. Moreover, the inherent language-dependency of LOC tends to restrict its use. An alternative measure using Function Point Analysis, developed by Albrecht, has been found to be an effective tool for sizing purposes and allows early sizing. However, the function point measure does not have a sufficient historical base of information for it to be used successfully in all cases with existing models of the software development process. Because lines of code already have a sense of "universality" as the de facto basic measure of software size, it can serve as a useful extension to function points. Language Expansion Ratios are seen as the key in providing such an extension by bridging the gap between function point and lines of code. Several sizing models have made use of expansion ratios in an effort to provide an equivalent size in lines of code in anticipation of its use in productivity studies and related cost models. However, its use has been associated with ranges of variability. The purpose of this thesis is to study Language Expansion Ratios, and the factors affecting them, for several languages based on a standard case study. This thesis surveys the prevailing issues of software size measurement and describes the role and importance of language expansion ratios. It presents the standard case study used and the methodology for the empirical study. The experimental results of measurements of the actual system are analysed and these form the basis for appropriate conclusions on the validity and applicability of the expansion ratios studied. This research shows that the use of Language Expansion Ratios is valid but it is considered inadequate when applied in its present form. This was found to be due to the weighting factors associated with the appropriate function value obtained for the different functional categories of the system

    Investigating effort prediction of web-based applications using CBR on the ISBSG dataset

    Get PDF
    As web-based applications become more popular and more sophisticated, so does the requirement for early accurate estimates of the effort required to build such systems. Case-based reasoning (CBR) has been shown to be a reasonably effective estimation strategy, although it has not been widely explored in the context of web applications. This paper reports on a study carried out on a subset of the ISBSG dataset to examine the optimal number of analogies that should be used in making a prediction. The results show that it is not possible to select such a value with confidence, and that, in common with other findings in different domains, the effectiveness of CBR is hampered by other factors including the characteristics of the underlying dataset (such as the spread of data and presence of outliers) and the calculation employed to evaluate the distance function (in particular, the treatment of numeric and categorical data)
    corecore