Ibrahim Al-sharif ID:
8.1: The Use-Case Approach 8.2: Event-Response Tables
A nother way to organize and document user requirements is to identify the external events to which the system must respond An event is some change or activity that takes place in the user's environment that stimulates a response from the software system ( McMenamin and Palmer 1984; Wiley 2000 ). An event-response table (event table or an event list) lists all such events and the behavior the system is expected to exhibit in reaction to each event. There are several types of system events, as shown in Figure 8-9.Figure : Event-Response Tables
Figure 8-9: Examples of system events and responses
8.2 : Event-Response Tables Unlike use cases, T he event-response table does not describe the user's goal in using the system or state why this event-response sequence provides value to the user. E vent-response tables are particularly appropriate for real- time control systems. Table 8-1 contains a sample event- response table that partially describes the behavior of an automobile's windshield wipersTable 8-1 N ote that the expected response depends not only on the event but also on the state the system is in at the time the event takes place.
Table 8-1: Event-Response Table for an Automobile Windshield-Wiper System IDEventSystem StateSystem Response 1.1set wiper control to low speed wiper offset wiper motor to low speed 1.2set wiper control to low speed wiper on high speed set wiper motor to low speed 1.3set wiper control to low speed wiper on intermittent set wiper motor to low speed 2.1set wiper control to high speed wiper offset wiper motor to high speed Table 8-1: Event-Response Table for an Automobile Windshield-Wiper System Sample from Table 8-1
8.2 : Event-Response Tables F or instance, events 4 and 5.1 in Table 8-1 result in slightly different behaviors depending on whether the wipers were on at the time the user set the wiper control to the intermittent setting.Table 8-1 A response might simply alter some internal system information (events 4 and 7.1 in the table) or it could result in an externally visible result (most other events). 4set wiper control to intermittent wiper off1.read wipe time interval setting 2.initialize wipe timer 5.1set wiper control to intermittent wiper on high speed 1.read wipe time interval setting 2.complete current wipe cycle 3.initialize wipe timer IDEventSystem StateSystem Response
7.1change intermittent wiper interval wiper on intermittent 1.read wipe time interval setting 2.initialize wipe timer 7.2change intermittent wiper interval wiper offno response 7.3change intermittent wiper interval wiper on high speed no response 7.4change intermittent wiper interval wiper on low speed no response IDEventSystem StateSystem Response Sample from Table 8-1
T he event-response table records information at the user-requirements level. If the table defines and labels every possible combination of event, state, and response (including exception conditions), the table can also serve as part of the functional requirements for that portion of the system. H owever, the analyst must supply additional functional and nonfunctional requirements in the SRS. F or example, how many cycles per minute does the wiper perform on the slow and fast wipe settings? Do the intermittent wipes operate at the slow or fast speed? 8.2 : Event-Response Tables
Is the intermittent setting continuously variable or does it have discrete settings? What are the minimum and maximum delay times between intermittent wipes? If you stop requirements specification at the user-requirements level, the developer has to track down this sort of information himself. Remember, the goal is to specify the requirements precisely enough that a developer knows what to build. 8.2 : Event-Response Tables Cont …
8.2 : Event-Response Tables N otice that the events listed in Table 8-1 are written at the essential level (describing the essence of the event), not at the implementation level (describing the specifics of the implementation).Table 8-1 Table 8-1 shows nothing about what the windshield wiper controls look like or how the user manipulates them.Table 8-1