Page 286 -
P. 286

CHAPTER 10  SYSTEM ENGINEERING                                     257

                                •  Problems of scope. The boundary of the system is ill-defined or the cus-
                ?  Why is it so    tomers/users specify unnecessary technical detail that may confuse, rather
                   difficult to
                gain a clear       than clarify, overall system objectives.
                understanding of  •  Problems of understanding. The customers/users are not completely sure of
                what the
                customer wants?    what is needed, have a poor understanding of the capabilities and limitations
                                   of their computing environment, don’t have a full understanding of the prob-
                                   lem domain, have trouble communicating needs to the system engineer, omit
                                   information that is believed to be “obvious,” specify requirements that con-
                                   flict with the needs of other customers/users, or specify requirements that
                                   are ambiguous or untestable.
                                •  Problems of volatility. The requirements change over time.

                              To help overcome these problems, system engineers must approach the requirements
                              gathering activity in an organized manner.
                                Sommerville and Sawyer [SOM97] suggest a set of detailed guidelines for require-
                              ments elicitation, which are summarized in the following steps:
                                •  Assess the business and technical feasibility for the proposed system.
                                •  Identify the people who will help specify requirements and understand their
               Be sure you’ve
               assessed overall    organizational bias.
               feasibility before you  •  Define the technical environment (e.g., computing architecture, operating
               expend effort and time  system, telecommunications needs) into which the system or product will be
               eliciting detailed
               requirements.       placed.
                                •  Identify “domain constraints” (i.e., characteristics of the business environ-
                                   ment specific to the application domain) that limit the functionality or perfor-
                                   mance of the system or product to be built.
                                •  Define one or more requirements elicitation methods (e.g., interviews, focus
                                   groups, team meetings).
                                •  Solicit participation from many people so that requirements are defined from
                                   different points of view; be sure to identify the rationale for each requirement
                                   that is recorded.
                                •  Identify ambiguous requirements as candidates for prototyping.
                                •  Create usage scenarios (see Chapter 11) to help customers/users better iden-
                 XRef              tify key requirements.
                Requirements
                elicitation methods are  The work products produced as a consequence of the requirements elicitation activ-
                presented in   ity will vary depending on the size of the system or product to be built. For most sys-
                Chapter 11.
                              tems, the work products include
                                •  A statement of need and feasibility.
                                •  A bounded statement of scope for the system or product.
   281   282   283   284   285   286   287   288   289   290   291