Estimate

xiaoxiao2021-03-06  74

The scale of the project is effective for software projects, depending on how much the original information on the scope of the project is depends. Generally, estimates should be performed in accordance with the formal demand description. The formal demand description can be a demand manual, a system specification or software requirements, and the like. If you lack some formal information at the beginning, you can start the estimate of the oral description or draft. After obtaining the formal information from the project, it is necessary to re-estimate. The two main methods estimated are:

The first method is estimated based on project features and algorithms.

For example, according to the information such as the input, output, query, file and external interface, using the function point method to estimate the size of the system. Based on functional point estimation is made according to the use case, not software functions. By studying initial application requirements to determine the number and characteristics of various input, output, calculation, and database requirements. The usual step is:

A, calculate the number of input, output, query, main control file, and interface requirements.

B. These data will be weighted. The table below is a typical weight list.

C. The estimated person can be adjusted by optimistic, possibility or pessimistic value based on the judgment of complexity.

D, use the following manner to calculate the function point:

FP = total value × [0.65 0.01 × Fi]

Among them, the "total value" is the sum of all functional point entries.

Fi (i = 1 to 14) is "complexity adjustment value" (0 ~ 5) obtained based on the answer to the problem in Table 2. The weighting factors of constants and information domain values ​​in the equation are determined by empirical.

Hereinafter, a computer-aided design (CAD) application is an example, estimate the input, output, query, file and external interface of the development of the package. In order to achieve this estimation, we assume that complexity weighting factors are average. According to the narrative of the software range, the software function is decomposed, identifying the main features: user interface and control functions, two-dimensional geometric analysis, 3D geometric analysis, database management, computer graphic display function, peripheral control, design analysis Module. Finally, the estimation table shown in Table 2 can be obtained.

The total value is 318 by Table 2.

Next, 14 complexity weighting factors (FI, the impact of the project is 0 ~ 5) according to the problem of the problem, and the factor value is given in Table 3.

FP = total value × [0.65 0.01 × Fi] = 366

The second method is to use the method of ratio, and estimated according to historical data.

If there is a previous similar item and master its scale, you can compare the respective parts of the new project to the corresponding part of the original project, and a proportional relationship is obtained, and each part is proportional to the original project scale. Add, calculate the size of the new project. If the estimate of the estimator is rich and new projects have sufficient similarity to the old project, they can get a reasonable estimate.

However, it is often solved the estimated problem of reusable code. The best way to estimate the amount of reusable code is to examine the existing code in detail by programmer or system analyst. Estimated the code percentage of code to be redesigned in new projects to reuse, and re-coding or modifying code percentages and The percentage of code required to retest. According to these three percentages, the equivalent new code line can be calculated using the following calculation formula:

Equivalent code line = [(redesign% re-encoding% re-test%) / 3] × already available line

For example: there are 10,000 lines of code, assuming 35% needs to be redesigned, 55% require re-encoding, 75% need to retest, then its equivalent code line can be calculated:

[(30% 50% 70%) / 3] × 10,000 = 5,500 equivalent code line. That is: reusing this 10000 code equivalent to writing 5500 code line workload.

转载请注明原文地址:https://www.9cbs.com/read-90693.html

New Post(0)