COCOMO MODEL CALCULATOR SOFTWARE
Software companies are interested in determining the software development cost in the early stages to control and plan software tasks, risks, budgets, and schedules. According to the software metrics weights values developed in this project, we can notice that MCDC, LOC, and cyclomatic complexity of the traditional metrics are still the dominant metrics that affect our classification process, while number of children and depth of inheritance are the dominant from the object-oriented metrics as a second level. A software project effort equation is created based on clustering and based on all software projects’ attributes. MCDC metric is shown to be the first metric in deciding a software project complexity. Information gain is used in order to evaluate the ability of object-oriented metrics to predict software complexity. Results showed also that games applications have higher values of the SLOCmath, coupling, cyclomatic complexity, and MCDC metrics.
COCOMO MODEL CALCULATOR CODE
Results showed that finance metrics are usually the most complex in terms of code size and some other complexity metrics. Data mining techniques are also used to study association between different software attributes and their relation to cost estimation. Several data mining techniques are used to classify software projects in terms of their development complexity.
Those projects are divided into three domains: communication, finance, and game projects. A cost estimation dataset is built from a large number of open source projects. The costs for these three components can be estimated separately, and summed up to give the overall cost of the system.In this research, a hybrid cost estimation model is proposed to produce a realistic prediction model that takes into consideration software project, product, process, and environmental elements. The database part could be semi-detached software, and the GUI part organic software.
Of these, the communication part can be considered as embedded software. A distributed Management Information System (MIS) product for an organization having offices at several places across the country can have the following sub-components: The following development project can be considered as an example application of the complete COCOMO model. This approach reduces the margin of error in the final estimate. The cost of each subsystem is estimated separately. The complete COCOMO model considers these differences in characteristics of the subsystems and estimates the effort and development time as the sum of the estimates for the individual subsystems. Not only that the inherent development complexity of the subsystems may be different, but also for some subsystems the reliability requirements may be high, for some the development team might have no previous experience of similar development, and so on. These subsystems may have widely different characteristics.įor example, some subsystems may be considered as organic type, some semi-detached, and some embedded. However, most large systems are made up of several smaller sub-systems. Team members may have limited experience on related systems but may be unfamiliar with some aspects of the system being developed.Įmbedded: A development project is considered to be of embedded type, if the software being developed is strongly coupled to complex hardware, or if the stringent regulations on the operational procedures exist.Ī major shortcoming of both the basic and intermediate COCOMO models is that they consider a software product as a single homogeneous entity. Semi-detached: A development project can be considered of semidetached type, if the development consists of a mixture of experienced and inexperienced staff. Organic: A development project can be considered of organic type, if the project deals with developing a well understood application program, the size of the development team is reasonably small, and the team members are experienced in developing similar types of projects. Organic, Semidetached and Embedded Software ProjectsĪccording to Boehm (1981), any software development project can be classified into one of the following three categories based on the development complexity: organic, semidetached, and embedded.