Page 288 -
P. 288

CHAPTER 10  SYSTEM ENGINEERING                                     259

                                The system engineer must reconcile these conflicts through a process of negotia-
                              tion. Customers, users and stakeholders are asked to rank requirements and then
               If different   discuss conflicts in priority. Risks associated with each requirement are identified and
               customers/users  analyzed (see Chapter 6 for details). Rough guestimates of development effort are
               cannot agree on  made and used to assess the impact of each requirement on project cost and deliv-
               requirements, the risk
               of failure is very high.  ery time. Using an iterative approach, requirements are eliminated, combined, and/or
               Proceed with extreme  modified so that each party achieves some measure of satisfaction.
               caution.
                              10.5.3 Requirements Specification
                              In the context of computer-based systems (and software), the term specification means
                              different things to different people. A specification can be a written document, a graph-
                              ical model, a formal mathematical model, a collection of usage scenarios, a proto-
                              type, or any combination of these.
                                Some suggest that a “standard template” [SOM97] should be developed and used
                              for a system specification, arguing that this leads to requirements that are presented
                Negotiation Techniques  in a consistent and therefore more understandable manner. However, it is sometimes
                              necessary to remain flexible when a specification is to be developed. For large sys-
                              tems, a written document, combining natural language descriptions and graphical
                              models may be the best approach. However, usage scenarios may be all that are
                              required for smaller products or systems that reside within well-understood techni-
                              cal environments.
                                The System Specification is the final work product produced by the system and
                              requirements engineer. It serves as the foundation for hardware engineering, soft-
                              ware engineering, database engineering, and human engineering. It describes the
                              function and performance of a computer-based system and the constraints that will
                              govern its development. The specification bounds each allocated system element.
                              The System Specification also describes the information (data and control) that is input
                 System Specification  to and output from the system.

                              10.5.4 System Modeling
                              Assume for a moment that you have been asked to specify all requirements for the
                              construction of a gourmet kitchen. You know the dimensions of the room, the loca-
                              tion of doors and windows, and the available wall space. You could specify all cabi-
                              nets and appliances and even indicate where they are to reside in the kitchen. Would
                              this be a useful specification?
                                The answer is obvious. In order to fully specify what is to be built, you would need
                              a meaningful model of the kitchen, that is, a blueprint or three-dimensional render-
                              ing that shows the position of the cabinets and appliances and their relationship to
                              one another. From the model, it would be relatively easy to assess the efficiency of
                              work flow (a requirement for all kitchens), the aesthetic “look” of the room (a per-
                              sonal, but very important requirement).
   283   284   285   286   287   288   289   290   291   292   293