CpSc 461, Software Engineering Techniques

Data-Flow Diagram Exercise

In this exercise we will return to the library circulation system and build a different kind of model. Recall the problem statement:
A library needs an information system to manage circulation. The system should allow patrons to check out books for a two-week term, with renewals for two weeks at a time. Patrons who need books that are currently checked out may request that a book be recalled. Books that have been recalled may not be renewed. If a book has not been returned by its due date, fines accrue at the rate of $0.15 per book per day, including weekends. If a book has not been returned after three weeks, the system should should send a letter to remind the patron. If books are overdue, patrons should not be allowed to check out additional books. Librarians will check out books to patrons, examine current circulation records, generate receipts when fines have been paid, and generate reminder letters to be mailed. They will also enter new books as they arrive.
This time, instead of focussing on classes in the problem domain and how users interact with the system, focus on data and how it is transformed, using pp. 277-278 of the textbook as a guide.

Level 0 DFD

Represent the library information system as a single bubble. Identify the inputs to and the outputs from the system, and draw them entering and leaving the bubble.

Level 1 DFD

Split the single bubble of the Level 0 DFD into separate bubbles for each process (e.g., checkout, renewal, recall) in the system. Show the inputs and outputs connecting each process.

Level 2 DFDs

Create one Level 2 DFD for each bubble in the Level 1 DFD. In addition to discrete steps for each process, include error checking or other data validation steps.