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.