07a : Worked Example 7a Generic DFD functions One of the ways in which to develop detailed DFD models for a proposed system is to utilise generic DFD function models. The generic LOGIN function was introduced in section 3. Produce the DFD - TOP LEVEL for LOGIN Login Function – Context Diagram ASCENT FILES genLOGIN.ASC Terms of Reference Statement of Purpose: Requirements: Login Function A generic login function 1. allow users to login 2. obtain forgotten password 3. validate login 4. register new user Context Diagram Description A user may login to the system by providing the userid and password. These details are validated against a user list. Valid users are granted access rights and invalid users are notified. Users may request a forgotten password which is emailed to the users registered email address. New users may apply for a userid and password. Context Diagram : LOGIN Events List: 1. User submits userid and password 2. user request password (forgotten) 3. New user registration Mansha Nawaz Section 07 – Worked Solution 1 07a: Worked Solution SOLUTION: DFD Top Level : LOGIN (generic) Mansha Nawaz Section 07 – Worked Solution 2 07b : Worked Example 7b The Example Library Background: The aim of the library is to provide for its members a high quality book loan service. A member may join and leave the library. Whilst a member a person may loan and renew books. A book reservation may be made and cancelled. Before leaving, the member must return any outstanding loans and cancel any reservations. The library manager obtains books from a small group of specialist suppliers. The manager can also remove books from the library, these are often given away to local charities. An automated information system is required to improve efficiency. In the first instance it should be limited to dealing with membership, book stock and recording details of reservations and loans. Statement of Purpose: The purpose of the Example Library System (ELS) is to handle all of the customer services and book control functions of the library. It is expected to give an improved desk service to customers and enable more efficient stock management. Tasks: 1. 2. 3. 4. Draft a Context Diagram and Events list. Draft the Top-Level DFD Apply leveling to derive Low-Level DFDs Explosion each of the Process’s as a result of levelling down: You will now have the following systems models: 1. 2. 3. 4. Context Diagram Events List Top-Level DFD Low-Level DFDs Mansha Nawaz Section 07 – Worked Solution 3 07b : Worked Solution 7b The Example Library Background: The aim of the library is to provide for its members a high quality book loan service. A member may join and leave the library. Whilst a member a person may loan and renew books. A book reservation may be made and cancelled. Before leaving, the member must return any outstanding loans and cancel any reservations. Books are obtained by the library manager from a small group of specialist suppliers. The manager can also remove books from the library, these are often given away to local charities. An automated information system is required to improve efficiency. In the first instance it should be limited to dealing with membership, book stock and recording details of reservations and loans. Statement of Purpose: The purpose of the Example Library System (ELS) is to handle all of the customer services and book control functions of the library. It is expected to give an improved desk service to customers and enable more efficient stock management. Context Diagram: Mansha Nawaz Section 07 – Worked Solution 4 Event List: 1. 2. 3. 4. 5. 6. 7. 8. 9. new member joins member changes details member leaves member loans book member returns book member reserves book member cancels reservation new books arrive manager deletes books DFD fragments: a Customer newCust 1 add member member 1 members 2 change member member 1 members memberInfo a Customer changedCust member 1 members 3 loans a Customer 3 delete member oldCust outLoan Mansha Nawaz Section 07 – Worked Solution loan 2 reservations 5 reservation 1 members a Customer 4 add reservation resInfo member reservation book a Customer 5 cancel reservation reservation resInfo 2 reservations 4 books 2 reservations 1 members member 3 loans a Customer newLoan 6 add loan loan reservation 2 reservations a Customer b Supplier c Manager Mansha Nawaz oldLoan 7 cancel loan loan 3 loans newBook 8 add book book 4 books oldBook 9 delete book book 4 books Section 07 – Worked Solution 6 DFD: First Draft 1 a 5 add newCust Customer 2 member cancel reservations reservation resInfo reservation memberInfo a member oldCust Customer changedCust 1 2 members member member 4 resInfo change add member reservation 3 member delete member book outLoan b reservation 2 reservations 4 books Supplier reservation loan 7 book cancel loan loan 3 newBook loans reservation book 9 loan oldLoan 8 delete add book book 6 a add c Customer loan Manager oldBook newLoan Mansha Nawaz Section 07 – Worked Solution 7 Top-Level DFD as a result of Levelling up: custInfo a 1 Customer member 1* memberInfo members 2* update members a update reservations resInfo membercheck Customer outLoan reservation book reservation memreservationcheck 4 books bookcheck 2 reservations 4 books loancheck 3 loans book bookreservationcheck b loan 4* bookInfo Supplier update books reservation 3* loanInfo update loans bookInfo 1 membercheck Mansha Nawaz c members Section 07 – Worked Solution Manager 8 Explosion of Process 1 Update Members as a result of levelling down: 1 update members 1.1 a add member custInfo Customer a memberInfo Customer custInfo 1.2 change member member member custInfo 1 members member 2 reservations memreservationcheck 1.3 delete member a outLoan Customer loancheck 3 reservation loans 4 books book 2 reservations Similar explosions of the other leveled processes would be drawn Mansha Nawaz Section 07 – Worked Solution 9