Page 121 -
P. 121

92            PART TWO  MANAGING SOFTWARE PROJECTS


                       The feature point measure accommodates applications in which algorithmic complex-
                       ity is high. Real-time, process control and embedded software applications tend to have
                       high algorithmic complexity and are therefore amenable to the feature point.
                          To compute the feature point, information domain values are again counted and
                       weighted as described in Section 4.3.2. In addition, the feature point metric counts a
                       new software characteristic—algorithms. An algorithm is defined as "a bounded com-
                       putational problem that is included within a specific computer program” [JON91]. Invert-
         WebRef        ing a matrix, decoding a bit string, or handling an interrupt are all examples of algorithms.
         A useful FAQ on function  Another function point extension for real-time systems and engineered products
         points (and extended  has been developed by Boeing. The Boeing approach integrates the data dimension
         function points) can be
         obtained at   of software with the functional and control dimensions to provide a function-oriented
         http://ourworld.  measure amenable to applications that emphasize function and control capabilities.
         compuserve.com/  Called the 3D function point [WHI95], characteristics of all three software dimensions
         homepages/
         softcomp/     are “counted, quantified, and transformed” into a measure that provides an indica-
                       tion of the functionality delivered by the software. 6
                          The data dimension is evaluated in much the same way as described in Section
                       4.3.2. Counts of retained data (the internal program data structure; e.g., files) and
                       external data (inputs, outputs, inquiries, and external references) are used along with
                       measures of complexity to derive a data dimension count. The functional dimension
                       is measured by considering “the number of internal operations required to transform
                       input to output data” [WHI95]. For the purposes of 3D function point computation, a
                       “transformation” is viewed as a series of processing steps that are constrained by a
                       set of semantic statements. The control dimension is measured by counting the num-
                       ber of transitions between states. 7
                          A state represents some externally observable mode of behavior, and a transition
                       occurs as a result of some event that causes the software or system to change its
                       mode of behavior (i.e., to change state). For example, a wireless phone contains soft-
                       ware that supports auto dial functions. To enter the auto-dial state from a resting state,
                       the user presses an Auto key on the keypad. This event causes an LCD display to
                       prompt for a code that will indicate the party to be called. Upon entry of the code and
                       hitting the Dial key (another event), the wireless phone software makes a transition
                       to the dialing state. When computing 3D function points, transitions are not assigned
                       a complexity value.
                          To compute 3D function points, the following relationship is used:

                            index = I + O + Q + F + E + T + R                           (4-2)



                       6  It should be noted that other extensions to function points for application in real-time software
                          work (e.g., [ALA97]) have also been proposed. However, none of these appears to be widely used
                          in the industry.
                       7  A detailed discussion of the behavioral dimension, including states and state transitions,  is pre-
                          sented in Chapter 12.
   116   117   118   119   120   121   122   123   124   125   126