Page 309 -
P. 309

280           PART THREE  CONVENTIONAL METHODS FOR SOFTWARE ENGINEERING


                          QFD uses customer interviews and observation, surveys, and examination of his-
                       torical data (e.g., problem reports) as raw data for the requirements gathering activ-
                       ity. These data are then translated into a table of requirements—called the customer
                       voice table—that is reviewed with the customer. A variety of diagrams, matrices, and
                       evaluation methods are then used to extract expected requirements and to attempt
                       to derive exciting requirements [BOS91].

                       11.2.4 Use-Cases
                       As requirements are gathered as part of informal meetings, FAST, or QFD, the soft-
                       ware engineer (analyst) can create a set of scenarios that identify a thread of usage
                       for the system to be constructed. The scenarios, often called use-cases [JAC92], pro-
                       vide a description of how the system will be used.
         A use-case is a  To create a use-case, the analyst must first identify the different types of people
         scenario that describes  (or devices) that use the system or product. These actors actually represent roles that
         how software is to be
         used in a given  people (or devices) play as the system operates. Defined somewhat more formally,
         situation.    an actor is anything that communicates with the system or product and that is exter-
                       nal to the system itself.
                          It is important to note that an actor and a user are not the same thing. A typical
                       user may play a number of different roles when using a system, whereas an actor
                       represents a class of external entities (often, but not always, people) that play just
                       one role. As an example, consider a machine operator (a user) who interacts with
                       the control computer for a manufacturing cell that contains a number of robots and
                       numerically controlled machines. After careful review of requirements, the software
                       for the control computer requires four different modes (roles) for interaction: pro-
             Use-Cases  gramming mode, test mode, monitoring mode, and troubleshooting mode. There-
                       fore, four actors can be defined: programmer, tester, monitor, and troubleshooter. In
                       some cases, the machine operator can play all of these roles. In others, different peo-
                       ple may play the role of each actor.
                          Because requirements elicitation is an evolutionary activity, not all actors are iden-
                       tified during the first iteration. It is possible to identify primary actors [JAC92] during
                       the first iteration and secondary actors as more is learned about the system. Primary
         Use-cases are defined  actors interact to achieve required system function and derive the intended benefit
         from an actor’s point  from the system. They work directly and frequently with the software. Secondary
         of view. An actor is a
         role that people  actors support the system so that primary actors can do their work.
         (users) or devices play  Once actors have been identified, use-cases can be developed. The use-case
         as they interact with  describes the manner in which an actor interacts with the system. Jacobson [JAC92]
         the software.  suggests a number of questions that should be answered by the use-case:

                         •  What main tasks or functions are performed by the actor?
                         •  What system information will the actor acquire, produce, or change?
                         •  Will the actor have to inform the system about changes in the external envi-
                            ronment?
   304   305   306   307   308   309   310   311   312   313   314