Page 156 -
P. 156

CHAPTER 5  SOFTWARE PROJECT PLANNING                               127

                                     do while subfunctions remain
                                     select subfunction k
                                     if subfunction resembles subfunction described in a historical data base
                                                               d
                                              k
                                     then   note historical cost, effort, size (LOC or FP) data for subfunction ;
                                                                                        d
                                            adjust historical cost, effort, size data based on any differences;
                                            use adjusted cost, effort, size data to derive partial estimate, E ;
                                                                                       p
                                            project estimate = sum of {E };
                                                                p
                                     else   if cost, effort, size (LOC or FP) for subfunction can be estimated
                                                                            k
                                            then derive partial estimate, E ;
                                                                p
                                            project estimate = sum of {E };
                                                                p
                                            else subdivide subfunction into smaller subfunctions;
                                                              k
                                            add these to subfunctions list;
                                            endif
                                     endif
                                     enddo
                                enddo
                              This decomposition approach assumes that all functions can be decomposed
                              into subfunctions that will resemble entries in a historical data base. If this is
                              not the case, then another sizing approach must be applied. The greater the
                              degree of partitioning, the more likely reasonably accurate estimates of LOC can
                              be developed.
                                For FP estimates, decomposition works differently. Rather than focusing on
                              function, each of the information domain characteristics—inputs, outputs, data
                For FP estimates,  files, inquiries, and external interfaces—as well as the 14 complexity adjustment
                decomposition focuses
                on information domain  values discussed in Chapter 4 are estimated. The resultant estimates can then be
                characteristics.  used to derive a FP value that can be tied to past data and used to generate an
                              estimate.
                                Regardless of the estimation variable that is used, the project planner begins by
                              estimating a range of values for each function or information domain value. Using
                              historical data or (when all else fails) intuition, the planner estimates an optimistic,
                              most likely, and pessimistic size value for each function or count for each informa-
                              tion domain value. An implicit indication of the degree of uncertainty is provided
                              when a range of values is specified.
                                A three-point or expected value can then be computed. The expected value for the
                              estimation variable (size), S, can be computed as a weighted average of the optimistic
                ?  How do I   (s opt ), most likely (s ), and pessimistic (s pess ) estimates. For example,
                                              m
                   compute the
               expected value      S = (s opt  + 4s m  + s pess )/6                            (5-1)
               for software
               size?          gives heaviest credence to the “most likely” estimate and follows a beta probability
                              distribution.  We assume that there is a very small probability the actual size result
                              will fall outside the optimistic or pessimistic values.
   151   152   153   154   155   156   157   158   159   160   161