Software development cost estimation refers primarily to the cost of the software development process and the corresponding cost of the workload. Different from traditional industrial products, the software does not include the cost of raw materials and energy consumption, mainly the consumption of human labor. In addition, the software does not have a significant manufacturing process, its development cost is spent on one-time cost of the development process calculated. Therefore, software development cost estimates, should be from the software plans, requirements analysis, design, coding, unit testing, integration testing to the certification test, it takes the entire development process as the basis of price.
Experience in software development cost estimation model
Putnam model
Putnam put forward in 1978, a dynamic multi-variable model.
L = Ck backup bin conf config data eshow_sitemap.html generate.sh log maint sitemap.html svn tmp K1 / 3 backup bin conf config data eshow_sitemap.html generate.sh log maint sitemap.html svn tmp td4 / 3
Where: L ----------- source lines of code (in LOC dollars)
K ----------- spent the entire development process, the workload (in man-years total)
td ----------- development duration (years)
Ck ---------- technical state of constant, which reflects "the restrictions hinder development progress," values vary because of the development environment
Ck typical example, the value of the development environment Development Environment
2000, no systematic difference between the development of methods, lack of documentation and review
8000 good and appropriate systems development methodology, adequate documentation and review
11000 You have automated tools and techniques'
To transform from the above equation, can be estimated workload formula: K = L3 / (Ck3 * td4)
You can also estimate the development time: td = [L3 / (Ck3 * K)] 1 / 4
COCOMO model (constructive cost model)
It is developed by the TRW, Boehm proposed structure of the cost estimation model. Is an accurate, easy to use cost estimation methods.
COCOMO model uses the following variables:
DSI ------- number of source instructions section. Does not include comments. 1KDSI = 1000DSI.
MM ------- development effort (in person-months total) 1MM = 19 man-days = 152 hours = 1 / 12 person years
TDEV ----- development progress. (In months)
COCOMO model, consider the development environment, software development, the type of project can be divided into three kinds:
Tissue type (organic): relatively small, simple software projects. Development staff to understand more fully the development objectives, and software-related work experience, the software's use of the environment is familiar, less constrained by the hardware, procedural size is not large (<50000 rows)
Embedded (embedded): requires close contact with the hardware, software and operating restrictions run, usually with some kind of complex hardware devices close together. On the interfaces, data structures, algorithms demanding. The scale of any software. Such as large and complex transaction processing systems, large / very large operating system, aerospace control systems, large-scale command system.
Semi-independent type (semidetached): range between these two software. Size and complexity are moderate or higher. Up to 300,000 lines.
Estimation formula:
Basic COCOMO model to estimate the workload and progress of the following formula
Workload: MM = r * (KDSI) c
Progress: TDKV = a (MM) b
Which experience constant r, c, a, b depends on the project's overall type.
COCOMO model according to their level of detail can be divided into three levels: basic COCOMO model, intermediate COCOMO model, detailed COCOMO model. One basic COCOMO model is a static single-variable model, it has been estimated using an out of the original lines of code (LOC) as the independent variable function to calculate the amount of software development experience. Intermediate COCOMO model based on the basic COCOMO model, and then to products, hardware, personnel, and project the impact of factors such as adjustment of workload estimates. Detailed COCOMO model includes all the features intermediate COCOMO model, but further consideration of each step in software engineering (such as analysis, design) effects.
Basic COCOMO Model
63 History Project through the statistical historical data, the following formula.
The progress of the overall type of workload
Tissue-type MM = 10.4 * (KDSI) 1.05 TDKV = 10.5 (MM) 0.38
Semi-independent MM = 3.0 * (KDSI) 1.12 TDKV = 10.5 (MM) 0.35
Embedded MM = 3.0 * (KDSI) 1.20 TDKV = 10.5 (MM) 0.32
Schedule from the perspective of time planning the project, while the cost estimate is from the perspective of the cost of the project planning. The cost here should be understood as an abstract concept, it can be hours of work, materials or personnel.
Cost estimate is the estimated cost to complete the project and plans for the project plan is an important component. To implement cost control, we must first carry out cost estimates. Ideally, the cost to complete a task can be estimated by historical standards. But for many industries, because of varied projects and programs, the activities of the former compared with the reality of it is almost impossible. Cost information, whether by historical standards, can only be as an estimate. Moreover, longer time-consuming large-scale projects, should also take into account the wages of workers in the next few years whether the structure will change, the rising cost of raw materials the next few years how the operation of the infrastructure and management costs of the project life cycle will change issues. Therefore, the cost estimate is clearly a high degree of reliability can not be expected environment. In the project management process in order to make time, 费用 and work best within the resources used, have been developed out of a great deal of capital Gusuan way, to try to get better the estimate. Here briefly the following. 1. Experience estimation method
Estimate of the people should have expertise and experience, and then proposed an approximate figure. This method is the most primitive method of estimation can not be called just an approximate guess. Asked about it soon come up with a number of projects is possible, but requested a detailed estimate is clearly not meet the requirements.
2. Factor estimation method
This is a more scientific method of the traditional estimates. It is based on the past to predict the future, and use of mathematical knowledge. Its basic approach is to use the scale and cost plans. As shown, the map of the line represents the relationship between size and cost, on the map is based on past data and describe similar projects, according to the lines describing these points reflects the size and cost of the basic relationship between. Here is the line drawn, but there may be curves. Costs include various components such as materials, labor and freight. These can have a different curve. The scale of that later, you can use these lines to identify the various components of the cost of the approximate figure.
It should be noted here is to find these points have a "base year", the purpose is to eliminate the effects of inflation. Point in the map drawing should be adjusted figures. For example, in 1980 as the base year figures for other years to 1980, subject to adjustment, before tracing dotted lines. The scale is determined, to find the corresponding points from the line, but the point is that the figures in 1980 as the base, need further adjustment to the year, is the estimate of the cost figures. In addition, if the project cycle is longer, the next few years should also take into account possible inflation, material prices and other factors.
To do this cost estimate, provided there is information on past similar projects, and such information should be on the same basis, comparable.
3.WBS comprehensive and detailed estimate based on
Namely the use of WBS method, a reasonable first subdivision project tasks, assigned to confirm the extent of such a material, certain equipment, such as an activity unit. Then estimate the cost of each WBS element. Prerequisite for this approach or a pre-step is:
① The project needs a complete qualification.
② to develop the logic necessary to complete the task steps.
③ preparing WBS table.
Limited demand for the complete project work report should include, specification and overall schedule. Report is required for the implementation of the project's narrative description of the work, it should confirm to achieve. If you have limited funds, this information should also be included. Specification is a working hours, equipment and material price basis. It should enable the project staff and users understand the working hours, equipment and materials basis for valuation. The total project implementation schedule should be clearly the main stage and the demarcation point, which should include long-term orders, prototype testing, design review meetings and any other key decision points. If possible, used to guide the overall cost estimate the project schedule should contain the start and end of the calendar time.
Once the project requirements are outlined them, it should be done to develop the necessary logical steps. In modern large and complex projects, often using the arrow diagram to show the logic program project tasks, and as a next step in CPM or PERT diagram and draw the WBS under the table. WBS form prepared easiest way is based on the arrow diagram. Arrow on the map to each activity as a task, based on this description in the sub-tasks.
Schedule and WBS form is completed, a cost can be estimated. In large projects, cost estimates of the results of the final report form should be expressed through the following:
① WBS elements for each detailed cost estimates. One of the points should also work, the cost of sub-task matrix, and project and the cumulative statements of the plans.
② curve of each sector plan working hours. If the department man-hours curve with "peak" and "Valley", should be considered to make some changes to the schedule in order to obtain the equilibrium working hours.
③ working hours monthly cost summary. In order to cut cost of the project, the project manager can use this form to make trade-off curve and study hours.
④ annual cost allocation table. WBS elements to the table to divide that year (or quarterly) cost. This table is essentially the project cash flows for each activity summary.
⑤ raw materials and expenditure projections, which show that the supplier delivery time, payment, obligation and payment of the cash flow of the raw materials.
Estimated cost of this approach requires a large number of calculations, the workload is high, only the calculation itself takes some time and costs. However, the higher the accuracy of this method, use this method to estimate the cost of these statements is not only the expression can also be used as the basis for project control. Top management can use these reports to select and approve the project, assessed the project's priority. Introduced more than three cost estimation methods. In addition, in practice, several methods can be used in combination. For example, the major part of the detailed project estimates, and other parts according to past experience or estimation method used to estimate the factors.
FunctionPoing aims to produce software based on software size estimates of demand. Feature is application software based on external and internal features and software performance, an indirect measure of software size. Function point and software costs have a significant relationship between the cost estimates (CER: Cost EstimatingRelationship). Function Points can be used as the experience of the software cost estimate statistical parameters and models of the input formula to estimate the cost of the software. Function point method has been widely recognized in the information systems, database-intensive, 4GL application development, the scale of measurement.