Chapter 07



Chapter 7

Structuring System Process Requirements

Chapter Overview

Chapter 7 introduces students to several process modeling techniques for representing business processes. After a brief introduction to process modeling, data flow diagramming techniques are introduced in a section called “Data Flow Diagramming Mechanics.” This section demonstrates the basic DFD symbols, definitions, and rules. The Gane and Sarson symbol set is used throughout the book, and these symbols are explained in this section. Hoosier Burger’s food ordering system is used to illustrate basic data flow diagramming concepts. This section also includes explanations of decomposition and balancing.

The third major section in this chapter introduces four different types of DFDs: current physical, current logical, new logical and new physical. Hoosier Burger’s inventory control system (which is manual) is used to illustrate the first three types of DFDs. Current practice in using DFDs indicates that very little time should be spent on the current physical DFD.

The fourth major section in this chapter, “Using Data Flow Diagramming in the Analysis Process,” introduces guidelines for drawing and using DFDs. This is different from the mechanical rules presented earlier. Topics include completeness, consistency, timing, iterative development, primitive DFDs, and analyzing DFDs for system inefficiencies and discrepancies among DFDs that are supposed to be modeling the same system. A Hoosier Burger example helps illustrate these guidelines.

In the last section of this chapter, an overview of the process modeling for Internet-based electronic commerce applications is provided. It is explained that process modeling for Internet-based electronic commerce applications does not differ from more traditional applications development projects. Process modeling with use cases is covered in the Appendix to this chapter.

Instructional Objectives

Specific student learning objectives are included at the beginning of the chapter. From an instructor’s point of view, the objectives of this chapter are to:

1. Show how to logically model processes with data flow diagrams.

2. Teach students data flow diagram symbols and the mechanical rules necessary to create accurate, well-structured process models.

3. Show students how to decompose data flow diagrams into lower-level diagrams.

4. Illustrate the concept of balanced DFDs.

5. Explain and demonstrate the differences among the four levels of DFDs: current physical, current logical, new physical, and new logical.

6. Illustrate how data flow diagrams are used as tools to support systems analysis.

7. Explain and stress the importance of the DFD guidelines: completeness, consistency, timing considerations, the iterative nature of drawing DFDs, and drawing primitive DFDs.

8. Discuss processing modeling for Internet-based electronic commerce applications.

Classroom Ideas

1. Use Figures 7-2 and 7-6 to illustrate the basic DFD symbols and the correct and incorrect ways to draw data flow diagrams. Use Figure 7-3 to demonstrate the problem with trying to include sources/sinks inside the system being modeled.

2. Once you have covered the basics of drawing DFDs, have students complete Problems and Exercises 2 and 3 as in-class exercises. Once students have completed these problems, review the problems in class, reinforcing the points that you have made.

3. Use Figures 7-4, 7-5, 7-7, 7-8, and 7-9 in class to teach decomposition. Next, ask students to complete Problems and Exercises 4 and 10; these exercises should be completed in class.

4. Use Figure 7-10 to illustrate unbalanced DFDs.

5. Supplement the chapter material on DFD mechanics, decomposition, and balancing with your own examples, which you can work with your students in class. Written organizational procedure statements are a good source of such examples. Modified procedure statements also make good homework problems. See Problems and Exercises 11 and 12 for examples. It is best to devote at least one complete class period to working examples. Students can prepare these diagrams outside of class or try preparing them for the first time in class. Many issues arise that are best handled with examples. For example, students often encounter difficulties when:

• identifying when to show a direct data flow between processes and when to decouple these with a data store (emphasize that data stores allow different processes to work at different rates and at different times).

• deciding what activities to encompass with each process (emphasize the principle of cohesion and the goal of each process being of roughly equal size and complexity).

• distinguishing processes from sinks and sources (emphasize factors such as audience and the ability to change or control in making such distinctions).

• encountering logical inconsistencies or ambiguities in narrative descriptions (emphasize that this is the power of DFDs, and the typical interaction between requirements structuring and requirements determination necessary to resolve such ambiguities).

6. The Hoosier Burger inventory control system example demonstrates the differences between current physical, current logical, and new logical DFDs. Working through the entire example in class is an effective way to illustrate the differences in these three types of DFDs. Working through another example from your own experience, or having students come up with their own examples, will supplement the Hoosier Burger example.

7. Use a CASE tool in class to demonstrate ways to model processes other than DFDs. Have students compare and contrast these alternative methods with DFDs.

8. Using a CASE tool that supports DFDs, show in class how the tool provides for decomposition and balancing and how DFDs are linked to the CASE repository. Later, when teaching Chapter 8, you can show how the repository links DFDs and entity-relationship diagrams.

9. Use a CASE tool in class to show how the tool checks for completeness, consistency, and other elements of analysis as discussed in the chapter.

10. Use a data diagram tool to answer exercises done in class. There are several possible tools that would be helpful. This includes:

a. Microsoft Visio: see

b. Edraw Flowchart:

c. Open source product Graphviz:

Answers to Key Terms

Suggested answers are provided below. These answers are presented top-down, left to right.

|5. Data flow diagram (DFD) | |7. Decision table |

|1. Action Stubs | |9. DFD consistency |

|2. Balancing | |14. Level-n diagram |

|13. Level-0 diagram | |3. Condition stubs |

|18. Source/sink | |16. Process |

|12. Indifferent condition | |6. Data store |

|4. Context diagram | |11. Gap analysis |

|15. Primitive DFD | |17. Rules |

|8. DFD completeness | |10. Functional decomposition |

Answers to Review Questions

1. A data flow diagram is a picture of the movement of data between external entities and the processes and data stores within a system. Systems analysts use data flow diagrams to help model the processes internal to an information system and how data from the system’s environment enter the system, are used by the system, and are returned to the environment. DFDs help analysts understand how the organization handles information and what its information needs are or might be. Analysts also use DFDs to study alternative information handling procedures during the process of designing new information services.

2. The rules for DFDs are listed in Table 7-2 and illustrated in Figure 7-6. Table 7-3 lists advanced rules for data flow diagramming. Processes cannot have only outputs, cannot have only inputs, and must have a verb phrase label. Data can only move to a data store from a process, not from another data store or an outside source. Similarly, data can only be moved to an outside sink or to another data store by a process. Data to and from external sources and sinks can only be moved by processes. Data flows move in one direction only. Both branches of a forked or a joined data flow must represent the same data. A data flow cannot return to the process from which it originated.

3. Decomposition is the iterative process by which a system description is broken down into finer and finer detail, creating a set of diagrams in which one process on a given diagram is explained in greater detail on a lower-level diagram. Balancing is the conservation of inputs and outputs to a data flow diagram process when that process is decomposed to a lower level. You can determine if a set of DFDs are balanced or not by observing whether a process that appears in a level-n diagram has the same inputs and outputs when decomposed for a lower-level diagram.

4. The highest level DFD is a context diagram. It represents the system as a single process, with all the related entities and the data flows in and out of the system. The next level diagram, called a level-0, decomposes the one process from the context diagram into two to seven high-level processes. Each process in a level-0 diagram can be decomposed if necessary. Each resulting diagram is a level-1. Should processes in a level-1 diagram be decomposed, each resulting diagram is a level-2 diagram. Each one of these processes would be decomposed on a level-3 diagram, and so on.

5. Analysts draw multiple sets of DFDs because each type provides a different perspective on the current or proposed system. Current physical DFDs often show the people and technology used within a system, illustrating who does what and the media on which data are stored. Current logical DFDs attempt to show the essence of the system without regard to the actual physical implementation.

6. DFDs can be used as analysis tools to help determine the completeness of a system model and a model’s internal consistency, as a way to focus on when system events occur through analyzing timeliness, and, through iterative use, to develop and check models. Analysts can study DFDs to find excessive information handling, thus identifying areas for possible efficiencies.

7. You stop decomposing a DFD when the following six conditions are satisfied: (1) each process is a single decision or calculation or a single database operation, such as retrieve, update, create, delete, or read; (2) each data store represents data about a single entity, such as a customer, employee, product, or order; (3) the system user does not care to see any more detail, or when you and other analysts have documented sufficient detail to do subsequent systems development tasks; (4) every data flow does not need to be split further to show that different data are handled in different ways; (5) you believe that you have shown each business form or transaction, computer screen, and report as a single data flow; or (6) you believe there is a separate process for each choice on all lowest-level menu options for the system.

8. Sources and sinks are always outside of the system being considered. They are of interest to the system being considered only because they represent sources of data coming into the system and destinations for data leaving the system. If any data processing occurs inside a source or sink, it should be of no interest to the system being modeled. If the processing is of interest, however, or if the identified source/sink has several inputs and outputs to and from the rest of the system, it may be better considered as an internal process.

9. Context diagrams have only one process that represents the entire system being modeled and show only the data flows into and out of the system. The context diagram also includes sources and sinks, which represent the system’s environmental boundaries. There are usually no data stores in a context diagram.

10. The steps to create a decision table are:

1. Name the conditions and the values each condition can assume.

Determine all of the conditions that are relevant to your problem and then determine all of the values each condition can take. For some conditions, the values will be simply “yes” or “no” (called a limited entry). For others the conditions may have more values (called an extended entry).

2. Name all possible actions that can occur.

3. List all possible rules.

When you first create a decision table, you have to create an exhaustive set of rules. Every possible combination of conditions must be represented.

4. Define the actions for each rule.

Now that all possible rules have been identified, provide an action for each rule. If an action doesn’t make sense, you may want to create an “impossible” row in the action stubs in the table to keep track of impossible actions. If you can’t tell what the system ought to do in that situation, place question marks in the action stub spaces for that particular rule.

5. Simplify the decision table.

To reduce the size and complexity of a decision table you can remove any rules with impossible actions, consult users on rules where system actions aren’t clear, and look for patterns in the rules

11. Limited entry in a decision table means that some conditions will simply have a limited set of possible values, such as “yes” or “no.”

12. Multiply the number of values for each condition by the number of values for every other condition. For example, if we have two conditions with three values each, we would need 2 X 3 or 6 rules. If we add a third condition with three values, we would need @ X 3 X 3 = 18 rules.

Answers to Problems and Exercises

1. Students can draw their data flow diagrams in several ways, depending on the level of detail they choose to capture. Students should realize that there is not one “right” data flow diagram for this or most other business processes. Relevant data flows include payment information, receipt, goods sold information, and inventory information. Three data stores are a goods sold file, an inventory file, and daily sales total file. Processes include update goods sold file, update inventory file, update daily sales total file, and produce management reports. Sources/sinks include customer and store manager. A sample context diagram and level-0 data flow diagram are provided below. In the level-0 data flow diagram, Transform Customer Purchase, Update Goods Sold File, Update Inventory File, and Update Sales Total File, were selected as processes rather than as sources/sinks because they were deemed to be central to the point of sale process. Point out why these DFDs are balanced.

Retail Store

Context Diagram

Retail Store

Level-0 Diagram

2. Sample context and level-0 data flow diagrams are provided below. As with the previous question, students can draw their data flow diagrams in several ways, depending on the level of detail they choose to capture. Students should realize that there is not necessarily one “right” data flow diagram for this or most other business processes. It is important that the diagrams be balanced, have a clear and purposeful boundary, and obey the rules for drawing DFDs.

Cap and Gown

Context Diagram

Cap and Gown

Level-0 Diagram

3. Encourage your students to review the rules presented in Table 7-2, Table 7-3, and Figure 7-6 and check each of their data flow diagrams. Alternatively, if students use a CASE tool to create their data flow diagrams, the CASE tool can automatically check for errors in the diagrams. There are no rule violations in the example DFDs, but problems that are not logical cannot be verified until the diagrams are decomposed to a primitive level. One obvious missing system capability is how to handle invalid orders; typically, processes to handle abnormal conditions, like invalid orders, are shown on primitive or at least low-level diagrams.

4. Your students may choose a variety of situations to use for the nth level data flow diagram for this answer. Basically, students should continue the process of decomposition until they have reached the point where no subprocess can logically be broken down further (i.e., each process meets the definition of a primitive process). See the level-1 data flow diagram for this exercise, which shows a sample decomposition of the process titled Finalize Order from the level-0 data flow diagram provided for Problem and Exercise 2. The (italicized) labels for processes and sources/sinks without borders represent the origin or destination of flows that pass between this subsystem and other system components. Note that the Goods Sold File is a potential black hole, or possibly should be treated as a sink.

Cap and Gown

Level-1 Diagram

5. Some errors and peculiarities in these diagrams include: (1) different names and numbers are used for apparently the same data store on the two diagrams; (2) in the level-0 diagram, the data store, Class Roster, does not have the data flow, Scheduled Classes, flowing into it, rather this data flow connects processes 2 and 3, thus these DFDs are not balanced; (3) Process 1 appears to accomplish nothing because its inflow and outflow are identical; such processes are uninteresting and probably unnecessary; it is possible that this process will become interesting when it is decomposed, where validation and error handling processes might appear; (4) Process 2 does not appear to need Course Request as input in order to perform its function, as implied by its name, and (5) some students may also wonder if Process 3 has input sufficient to produce its output. For example, where are prior class registrations kept so that Process 3 can determine when a course is full?

6. For data flow diagrams to be complete, all the necessary components of a data flow diagram should be included in the diagram and fully described in a project repository. As described in the chapter, the repository for most CASE tools is linked to the diagram. Whenever you define (or redefine) a process, data flow, source/sink, or data store on a data flow diagram, an entry is automatically created (or updated) in the repository for that element. Figure 7-17 shows a sample report of the contents of a CASE repository entry. It is this tight linkage between diagrams and the CASE repository that creates much of the value of a CASE tool. Further, you cannot have an entry in the repository that is not on some diagram. The repository is also helpful for enforcing DFD rules; for example, during decomposition, the repository remembers all of the inflows and outflows of an exploded process. The repository also keeps track of any split or joined data flows.

7. Three major errors in Figure 7-24 are: (1) Process 1.0 (P2) has only inputs, making it a black hole; (2) data flow DF5 should not move directly from source E1 to data store DS1 without first going through a process; (3) data flow DF1 should not move directly from source E1 to sink E2 without first going through a process. Other peculiarities (such as Process 1.0 has label P2 and the data store has only a label, not a number) are only that, not errors.

8. There is a general formatting issue with these DFDs because there are no numbers on processes and data stores, but student should be able to find logical errors as well. Three particular logical errors in Figure 7-25 are: (1) the data store DS1, not DS2, should be represented on the level-1 diagram; (2) data flow DF3 should be an outflow on the level-1 diagram, and data flow DF6 should not be on the level-1 diagram; (3) process P1.4.2 has no inputs and is thus a miracle process.

9. The following context and level-0 data flow diagrams represent one way to model the hiring process described in this question. Variations, based on different assumptions, are possible. For example, it is possible to include the processes performed by the Personnel Manager outside the system as a source/sink; in our diagram, we assume the way the Personnel Manager does her work might be studied in more detail, and the way this work is done is subject to change. Also, some students might show Applicant and Hired Employee as separate sources because only Hired Employees provide the information on a nondisclosure agreement.

The example assumes that there is always a successful hiring decision (that is, there is no loop between Processes 4 and 3 in the level-0 diagram); also application and job description data flows are accurate and complete, so there is no reason to explode associated processes to show error handling. Moreover, the assumption is made that all Hiring Decision Letters result in an accepted hiring offer. You may want to give your students the example answer shown and ask them to identify additional assumptions made, which may be different than what they concluded. The simplifications made mean that it is unlikely that the level-0 diagram needs to be decomposed.

The example solution also shows split data flows; be sure to emphasize that a split flow means that the same data flow at the same time, but to multiple destinations. In the example given, the Employee data store shows only on the level-0 diagram, not on the context diagram. Technically, you could show it on the context diagram, but it is assumed that this is a detail that is necessary to be known only to those looking at level-0 and lower diagrams. A frequent mistake students make is to forget to include the purge process (on level-1 or lower diagrams) to get rid of year-old applications. Related to this, since applications are retained for a year and the system operates whenever new jobs are posted (this timing cannot be seen on DFDs), there is a need to have an application data store inside the system (that is, on level-1 and lower diagrams); some students will miss this essential element of the logical system description.

Students can choose to further decompose the processes; if they do, check that the decompositions are balanced and provide detail needed to show separate processing steps and unique data flows and stores. Some students also make mistakes by trying to use information in the Problem and Exercise that is meaningless for drawing DFDs (for example, there are 500 engineers of different types); this exercise is a good opportunity to emphasize to your students that any given system model, like a DFD, does not model all aspects of an organization, although these facts are relevant (the fact that there are 500 engineers is relevant for physical database design, for example).

Hiring System

Context Diagram

Hiring System

Level-0 Diagram

10. The following context and level-0 data flow diagrams represent one way to model the help desk process described in this question. This solution includes the processes performed by the consultants and operators as subsystems within the system rather than as sources/sinks; this adds detail, but allows bottlenecks in these processes to be corrected. Note that data store D1 is repeated in the level-0 diagram, to avoid excessive crossing of data flow lines. Several processes can be exploded further, but the student will need to make many assumptions to do so.

There are a number of ways that students can improve this system. For example, with the current system, a customer may have to explain their problem and/or question over and over to multiple people: an operator and possibly several consultants. The customer may begin to believe that they are getting the “run-around.” One way to avoid this potential problem is to let the initial operator have access to the customer problem database so that when the caller is handed off to a consultant the customer’s already opened problem file will go along with him. In addition, the operator could have sufficient information and the option to direct the call to the proper consultant. Alternatively, clients could call the assigned consultant directly on follow-up calls to an initial call for help.

Ask your students for characteristics of a DFD that imply areas for improvement. Possible answers are: processes that simply collect and pass on information rather than transforming data, collecting the same information in several processes, placing untransformed data into data stores thus causing unknown delays in processing this data, or cycles or loops that have no apparent termination.

Help Desk

Context Diagram

Help Desk

Level-0 Diagram

Level-0 Diagram

11. A suggested answer is provided below.

Hospital Pharmacy

Context Diagram

Hospital Pharmacy

Level-0 Diagram

12. A suggested answer is provided below.

Contracting System

Context Diagram

Contracting System

Level-0 Diagram

13. A suggested answer is provided below.

Training Logistics System

Context Diagram

Training Logistics System

Level-0 Diagram

14. Most of the processes in the DFDs created in this chapter for Hoosier Burger’s food ordering system do not lend themselves well to decision table logic; as they simply transform data from one form to another or generate reports. However process 3.0 and process 4.0 from the inventory management system are good choices to represent the decision logic of one or more of the processes as decision tables.

| |

|Decision Table for Process 3.0 Generate Orders |

|Hoosier Burger’s Inventory Control System |

|Conditions/ |Rules |

|Courses of Action | |

| |1 |2 |

|Inventory level Below Minimum Order Quantity |N |Y |

| | | |

|Place order with Vendor | |X |

|Do NOT place order with Vendor |X | |

| |

|Decision Table for Process 4.0 Generate Payments |

|Hoosier Burger’s Inventory Control System |

|Conditions/Courses of Action |Rules |

| |1 |2 |3 |

|Due Status |L |D |N |

| | | | |

|Generate Rush Payment |X | | |

|Generate Payment | |X | |

|Postpone Payment | | |X |

| |

|Due status: |

|L = Late; Date of invoice is more than 30 days before today's date. |

|D = Due; Date of invoice is 30 days before today's date. |

|N = Not due; Date of invoice is less than 30 days before today's date. |

15. Below is a list of some types of questions needed to be asked during requirements determination in order to gather the information needed for logic modeling. Student examples will vary.

• What Decisions are made during each process?

• Are there specific rules as to when certain actions take place?

• What possible conditions trigger specific actions during a decision process?

• Are there specific times or quantities that trigger actions?

• Are there levels or types of customers or products that are handled differently?

• Are there guidelines that determine which actions are taken under specific conditions?

• Are there exceptional situations that require special processes? If so what are the possible exception conditions and the resulting actions?

16. The Decision Table example below depicts the logic for the scenario.

| |

|Decision Table for Purchasing Personal Computers |

|Conditions/ |Rules |

|Courses of Action | |

| |

|Conditions/Courses of Action |Rules |

| |1 |2 |3 |4 |

| Purchase Amount |G |L |G |L |

|Vendor Approved |Y |Y |N |N |

| | | | | |

|Award Contract to Winning Vendor |X | | | |

|Issue Purchase Order |X |X | | |

|Purchase Equipment |X |X | | |

|Award Contract to Other Approved | | |X | |

|Vendor | | | | |

|Find Another Approved Vendor | | | |X |

|Purchase Amount: G = greater than $15,000.00 |

|L = less than or equal to $15,000.00 |

|Vendor Approved: Y = Yes; approved by Purchasing Department N = No; not approved by|

|Purchasing Department |

Another way to represent the purchase process described in this question with Structured English is provided below. Students may come up with different versions depending on their form of Structured English and their assumptions about this purchasing process. Notice the similarities between the Bid Process and the Rebid Process in this logic; your students may find a way to reduce the number of statements in this logic due to these similarities.

BEGIN IF

IF Purchase–amount is greater than $15,000.00

THEN Purchasing–Department APPROVES RFP

DO Bid Process

ELSE Purchasing–Department APPROVES Purchase

PURCHASE equipment

END IF

RETURN

(Bid Process)

SEND RFP

BEGIN IF

IF three Proposals received

AND Winning–Vendor is APPROVED by Purchasing–Department

AND no Violations

THEN AWARD contract

PURCHASE equipment

ELSE DO Rebid Process

END IF

RETURN

(Rebid Process)

SEND RFP

BEGIN IF

IF Winning–Vendor is APPROVED by Purchasing–Department

AND no Violations

THEN AWARD contract

PURCHASE equipment

END IF

ISSUE Purchase Order

RETURN

17. A suggested Structured English representation for this sales process is provided below. Your students will provide different versions, depending on their form of Structured English and their assumptions about this sales process. In fact, there are many aspects of this problem that are ambiguous, and creating structured logic models helps the analyst find these ambiguities. You should emphasize to your students this interaction between requirements structuring and requirements determination.

The Structured English representation has two routines, one for handling each purchase and one for determining end-of-year bonuses. The method for calculating the representative’s base end-of-year bonus is not specified, so only a general statement is included. These models assume that customer satisfaction is measured on a 5-point scale and all customer ratings are averaged to arrive at one number between 1 and 5 for a representative’s customer service rating. Ratings of 4 or 5 increase the bonus, and ratings of 1 or 2 lower the bonus; some sample percentages for increasing and decreasing the bonus under these circumstances are provided. Additionally, sample logic for how the annual bonus is decreased if purchases are less than orders is provided, but the exact logic would be determined from more analysis since specifics are not included in this exercise.

Sales Process Structured English Representation

(purchase–routine)

BEGIN IF

IF customer–annual–purchases greater than $100,000

THEN SUBTRACT (.1 X purchase–amount) from purchase–amount

END IF

ADD purchase–amount to customer–annual–purchases

ADD purchase–amount to rep–sales

BEGIN IF

IF purchase within rep–region AND purchase is not a shared–sale

THEN ADD ((.10) X purchase–amount) to rep–commission

END IF

BEGIN IF

IF purchase within rep-region AND purchase is a shared-sale

THEN ADD ((.08) X purchase-amount) to rep-commission

END IF

BEGIN IF

If purchase not within rep-region

THEN ADD ((.02) X purchase-amount) to rep-commission

END IF

BEGIN IF

IF rep-sales equal to or greater than rep-sales-goal

THEN ADD 5% of purchase-amount to rep-commission

END IF

(rep-bonus)

BEGIN IF

IF rep-sales equal to or greater than rep-sales-goal

THEN GRANT family vacation

END IF

CALCULATE rep-bonus based on rep-sales

BEGIN IF

IF customer-satisfaction-rating equal to or greater than 4

THEN INCREASE rep-bonus by (customer-satisfaction-rating multiplied by (.01))

END IF

BEGIN IF

If customer-satisfaction-rating equal to or less than 2

THEN DECREASE rep-bonus by ((customer-satisfaction-rating multiplied by

(.01)) minus .1) multiplied by 2)

END IF

BEGIN IF

IF rep-amount-of-orders is equal to or greater than 125% of rep-sales

THEN DECREASE rep-bonus by rep-amount-of-overage

END IF

PAY rep-commission plus rep-bonus

Also presented is a sample decision table corresponding to the Structured English purchase-routine. As there are four limited entry conditions, there are 16 rules in one complete decision table. To save space, the three separate, 16-rule condensed tables are combined into one. The first section of rules addresses whether to reduce the purchase amount for large cumulative sales; the second section shows the logic for calculating commission; and the third section indicates when a bonus is due. The table is presented in this way to show students that they can adapt the basic decision table notation in creative ways to depict, in very compact form, some complicated logic. Note that each section covers all 16 rules due to indifferent responses to some conditions; numbers are used in the action portion of each section to show the sequence in which actions should be performed.

| |

|Decision Table for Electronic Keypad and Switch Sales Process |

|Conditions/ |Rules |

|Courses of Action | |

|Section | |(2( | |

| |1 |2 |3 |4 |5 |6 |7 |

|Purchase within rep region |- |- |Y |Y |N |- |- |

|Shared Sale |- |- |N |Y |- |- |- |

|Rep–sales => rep–sales–goal |- |- |- |- |- |Y |N |

| | | | | | | | |

|Subtract 10% from purchase–amount |1 | | | | | | |

|Add purchase–amount to customer–annual–purchases | | |2 |2 |2 | | |

|Add purchase–amount to rep–sales | | |3 |3 |3 | | |

|Add 10% of purchase–amount to rep–commission | | |4 | | | | |

|Add 8% of purchase–amount to rep–commission | | | | |4 | | |

|Add 2% of purchase–amount to rep–commission | | | | | |4 | |

|Add 5% of purchase–amount to rep–commission | | | | | |5 | |

18. This problem narrative describes a process of handling information rather than a decision process, so logic modeling is not as useful as process modeling. This exercise emphasizes the different purposes for the different forms of requirements structuring models. Students will provide different versions, depending on their form of Structured English and their assumptions about the tenure process.

For this answer it is assumed that all possible levels participate in the review. Also presented is a sample decision table for one piece of this process, the decision whether a faculty member should go up for tenure. The Structured English model helps you see the “line by line” logic that will later translate into code (can be inferred from given DLT). The table helps you see particular pieces of the logic that are difficult to decipher from the lines of text with the Structured English approach.

| |

|Decision Table for Electronic Keypad and Switch Sales Process |

|Conditions/ |Rules |

|Courses of Action | |

| |1 |2 |3 |4 |

|Length of Service |S |N |S |N |

|Special Permission |Y |Y |N |N |

| | | | | |

|Go up for Tenure |X |X |X | |

|Postpone Tenure Review | | | |X |

| | | | | |

|Length of Service: S = sufficient; at least six years of service. |

|N = not sufficient; fewer than six years of service. |

|Special Permission: Y = yes; special permission of come up for tenure review. |

|N = no; no special permission. |

19. A suggested answer is provided below. Student answers will vary, depending on their form of Structured English and their assumptions. For example, the rules for additional hardware and software are imprecise in the description. A sample decision table for one piece of this process is provided below. As discussed in previous answers, both of these models are useful in their own way. The Structured English model helps to see the “line by line” logic that will later translate into code. The table and tree help to see particular pieces of the logic that are hard to decipher from the lines of text with the Structured English approach.

Microcomputer Upgrade Structured English Representation

BEGIN IF

IF user-status equals light

OR IF user-status equals moderate AND user has approval-for-standard

THEN ISSUE standard-hardware-complement

END IF

BEGIN IF

IF user-status equals heavy

OR IF user-status equals moderate AND user has approval-for-upgrade

THEN ISSUE upgrade-hardware-complement

END IF

BEGIN IF

IF user-status equals mobile

THEN ISSUE mobile-hardware-complement

END IF

BEGIN IF

IF user-hardware-needs equal special

THEN ISSUE additional-hardware

END IF

BEGIN IF

IF user-software-needs equal special

THEN ISSUE special-software complement

ELSE ISSUE standard-software-complement

END IF

| |

|Decision Table for Microcomputer HW/SW Upgrade |

|Conditions/ |Rules |

|Courses of Action | |

| |

20. Decision table example solutions are provided below for parts a and b. The Structured English can be inferred from these tables and would follow the same guidelines as the prior examples.

20 a.

| |

|Decision Table for Courses based on work Hours |

|Conditions/ |Rules |

|Courses of Action | |

| |1 |2 |

|Hours worked ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download