4.5. Solutions: Leveled Data Flow Diagrams

Exercise 1: Find the Leveling Problems

Here are the problems with the parent and child diagrams:

1. The child diagram should be called Diagram 3, not Diagram 1.

2. G is an output in the child, but an input in the parent diagram. It is either incorrectly drawn in one of the diagrams, or the analyst is confused about the use of this piece of data.

3. B is shown as an input to the child Diagram 3, but the parent diagram shows it as an input to bubble 2.

4. Bubble 3.5 is missing. A missing bubble is not necessarily an error because the only significance of the number is as a tag for referencing the bubble, but it is confusing to a user. It may also indicate that the diagram has been incorrectly drawn.

5. There is an unnamed, unbalanced data flow out of process 3.6. However, if you remove it, that bubble has no output. This could indicate a problem at the parent level.

Exercise 2: Balancing Data Stores

The data store problems in the three diagrams are

1. The data store XXX is not shown as an output in Diagram 1, although both the parent Diagram 0 and the grandchild Diagram 1.1 show it.

2. YYY is an output from bubble 1.1 in Diagram 1, but an input to bubble 1.1.2 in the child Diagram 1.1.

3. This is a sneaky one. You were asked to check the data stores, but you can claim bonus points if you spotted that data flow E is missing from Diagram 1.1.

4. Note that data store zzz is shown correctly. It was hidden until the leveling reached down to Diagram 1.1, the highest level where it is used by more than one bubble.

Exercise 3: Draw the Parent Bubble

The system can be leveled upward to form the diagram in Figure 4.5.1.

Image

Figure 4.5.1: Context diagram for the hotel room exercise.

The input data flow is fragmented in the lower-level diagram because it is used by several bubbles. However, any customer wishing to make a reservation at this hotel would supply all the information at the time of booking. So it is reasonable to group it together in the higher-level model. The RESERVATION REQUEST would contain the ARRIVAL DATE, ARRIVAL TIME, LENGTH OF STAY, ROOM PREFERENCES, the customer’s NAME & ADDRESS, and CREDIT CARD DETAILS. The RESERVATION CONFIRMATION would confirm the customer’s NAME & ADDRESS, the ARRIVAL DATE, LENGTH OF STAY, SELECTED ROOM NUMBER if applicable, and a GUARANTEED STATUS. The RESERVATION DENIAL is simply a message saying, “Sorry, no room available.”

Exercise 4: Repartition the Model

The model in this exercise is poorly leveled. It has only three bubbles at each of its two levels. Additionally, process 1 has far too many interfaces for it to be functionally partitioned. By replacing bubble 1 with its child level, we made the expanded diagram shown in Figure 4.5.2. In this case, the expanded diagram is a better model. It does not contain too many bubbles, so we stopped there.

Keep in mind that leveling allows you to decompose, recompose, and generally manipulate your bubbles to give you whatever view of the system you need.

Image

Figure 4.5.2: Revised Diagram 0 for the exercise.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.193.108