Page 150 -
P. 150

CHAPTER 5  SOFTWARE PROJECT PLANNING                               121

               FIGURE 5.2
               Project
               resources
                                              People


                                          Reusable software
                                            components


                                        Hardware/software tools




                              ment of availability, time when the resource will be required; duration of time that
                              resource will be applied. The last two characteristics can be viewed as a time win-
                              dow. Availability of the resource for a specified window must be established at the
                              earliest practical time.

                              5.4.1  Human Resources
                 XRef
                The roles software  The planner begins by evaluating scope and selecting the skills required to complete
                people play and the  development. Both organizational position (e.g., manager, senior software engineer)
                team organizations
                that they populate are  and specialty (e.g., telecommunications, database, client/server) are specified. For
                discussed in Chapter 3.  relatively small projects (one person-year or less), a single individual may perform
                              all software engineering tasks, consulting with specialists as required.
                                The number of people required for a software project can be determined only after
                              an estimate of development effort (e.g., person-months) is made. Techniques for esti-
                              mating effort are discussed later in this chapter.

                              5.4.2  Reusable Software Resources
                                                                     5
                              Component-based software engineering (CBSE) emphasizes reusability—that is, the
                              creation and reuse of software building blocks [HOO91]. Such building blocks, often
                To be reused
                effectively, software  called components, must be cataloged for easy reference, standardized for easy appli-
                components must be  cation, and validated for easy integration.
                cataloged,      Bennatan [BEN92] suggests four software resource categories that should be con-
                standardized, and  sidered as planning proceeds:
                validated.
                                   Off-the-shelf components. Existing software that can be acquired from a
                                   third party or that has been developed internally for a past project. COTS
                                   (commercial off-the-shelf) components are purchased from a third party, are
                                   ready for use on the current project, and have been fully validated.
                                   Full-experience components. Existing specifications, designs, code, or
                                   test data developed for past projects that are similar to the software to be

                              5  Component-based software engineering is considered in detail in Chapter 27.
   145   146   147   148   149   150   151   152   153   154   155