In: Computer Science
Design data flow diagram (DFD) of the system: include major processes, data files, data elements, and external entities.
Background: Ms. Asma Ahmed is the new director of the Al-Ekra University library. Your team has been contacted by Ms. Asma to develop a software system for the library only. She has prepared a description of some basic functions of the library loan system currently done manually. Ms. Asma wants an automatic library system that should work as described below: “The library loan system that we have at present is mostly manual. The library has three types of items for loan to its members: Book, DVD, and Magazine. Each item is identified with a unique call number of six digit long. The item has also a title and year of publication/production. Not all items are for loan. Some items are only for the use inside the library. For a book, 4 weeks; for a DVD, one week; and for a magazine 2 weeks loan is granted if the item is available for loan. A member can borrow maximum 5 items. The library maintains three different file systems: Membership, Item, and Loan. The university has also a separate software system called UniSys that deals with students and staff. The system has three major components: Staff/Student data, Registration data, and Course data. However, our library system needs data from UniSys to check the validity of the membership of the library. The university has another software system that deals with finance and payments, called FinSys which is also independent but communicates with other systems in the university. It has three components: Financial account of the staff/student, Salary, and Expenditure. Every person at Al-Ekra University has a FinSys account called Fin_Account. The information on the salary of the staff and the tuition fee of the student are stored here. We now want a library system that can provide the following functions. The member of the library can only borrow items from the library. The person must be either staff or student of Al-Ekra University. The person first submits an online application form. The forms include the name and address of the person, and the Fin_Account of the person with Al-Ekra University. A library administrative staff is immediately informed by the system that an application has been submitted. The admin staff first checks the application, and provides input if needed. The system saves the updated information of the application, and then contacts UniSys to get the confirmation that the applicant is either staff or student. Once the library system gets the feedback from UniSys, it records the feedback. If the person is a member of the university, the application is preliminary accepted; otherwise the application is rejected without further processing. The library system then requests FinSys to transfer QR. 500 from the applicant’s Fin_Account to the library. Once the money is transferred, the system creates a library membership account, and deposits the money in this account. After transferring the money to the library system, FinSys records in the applicant’s Fin_Account that QR. 500 has been transferred to library. Finally, it produces a membership card, and assigns a unique membership number. The system finally sends the membership card to the member. If FinSys does not transfer money, the system generates an error message to enter valid Fin_Account.
In order to borrow an item from the library, a member first enters the membership card into a card reader of the library. The system retrieves the membership details and contacts the university system UniSys to find if the member is an active staff or student. If not, the system does not allow the member to borrow any item from the library and terminates the function. Otherwise, the system asks the member to place the item in the scanner. Once the member does this, the system gets the item details and its type. It also checks if the item is available for loan. The system also finds out the total items already borrowed but not returned. If the item is available for loan, and the total item borrowed but not returned is less than 5, it makes a loan for the member. The item is included in the membership account with the borrowing date and due date for return. The system then increments the total borrowed items by 1, and it makes the item unavailable for other members. The system also decrements the total items reserved of the member if the item was reserved by the member. The member has also choice to request for extended loan time for one more week. If the item was not reserved, one more week is added with the original return date. Finally, it creates a receipt of the loan, and releases the security code of the item. The receipt includes information such as membership number, item call number, loan date, and return date. A member can return a borrowed item to the library by scanning the item into the system that finds the loan details. It then checks the due date. If the due date already passed, it calculates the fine based on number late days. The system updates the member account with the fine. It then makes the item available and sets the security code of the item. The system decrements the total item borrowed by 1. It then creates a receipt of the return. The members can also extend the return date of an item if not reserved by other members. The member first inserts the membership card into the card reader. The system retrieves the list of all currently borrowed items. The member then selects the item that he/she wants to be extended. The system finds the current return date. If the return date has already passed, no extension is possible. An extension is only possible if the request is made before the return date. It also checks if the item has already been reserved. If reserved by other, the return date cannot be extended, otherwise one week extension is made. The system updates the member account with the new return date. It prepares a receipt with the new return date. A member can reserve an item if it is currently on loan with other member. The member first enters the card into the card reader. The system finds the membership details. It checks the total number of current reserved items. It the member has already reserved 3 items, no more reservation request is possible. The system asks for the call number of the item he/she wants to reserve. The system retrieves the item details once the member enters the call number of the item. If already reserved by other, it cannot be reserved by anyone. If not, the item is reserved under the member account, and increments the total reserved item by 1. The system confirms the reservation to the member. Every day at 10 am, the library system automatically checks if any item was not returned after 10 days of the due date. The system generates a list of such items and alerts the admin staff with the list. The staff then enters the call number of each item into the system which finds the loan details. It changes the status of the item as ‘lost’. The system deducts QR. 500 from the deposit money as a fine from the member account. It then requests FinSys with the Fin_Account of the applicant to transfer QR. 500 to the library. FinSys forwards the transfer information to the library that receives the advice and updates the member account with the deposit money. The member is informed about the lost item. The system should know which item was borrowed by which member, borrowing date, the return date, if the item was returned and when. It can also find out which item was lost and by which member, how many items were borrowed by one member, which item was borrowed by which members so far, etc. "
Ms. Asma wants that the managing of the above activities of the library should be automated as much as possible. There will be also possibility that the administrative staff can generate summary report of loans, returns, fines, etc. At this stage, she wants you to analysis ONLY the functionalities of the library system. She also warns you that you should not analyze any functionality of other systems in this phase. You need to define the system boundary carefully
Use case Diagram:
Let's look into the use case diagram for the Library Loan System:
Explanation for the above Use case diagram:
Sequence diagram:
Sequence diagram for the Scenario (Loan Book from the Library):
Explanation for the above sequence diagram: