-
Notifications
You must be signed in to change notification settings - Fork 2
Constraints
Saagar Arya edited this page Nov 9, 2021
·
1 revision
ID | specificationBy | Requirement |
---|---|---|
R01 | N/A | The library system shall allow members to login with either their email or username, and password. |
R02 | Nafis | The library system shall allow librarians to create new member accounts, with a unique id number, for a resident with their first name, last name, and residential address |
When an individual who lives in the town but does not have an account in the library system goes to a librarian to make a new account, they are first asked if they are a resident of the town. If the individual says that they are a resident of the town, they must show the librarian that they are in fact a resident. If they are, the librarian makes a new account for them, free of charge. The individual must provide their first name, last name as well as their residential address, to be used as contact information if they need to be contacted at some point by the library. The new user account shall then be created with a unique id number. If however, the user is unable to show proof that they are indeed a resident of the town, their new account will still be created but will not be verified, so the user will not be able to reserve and check out items using their account. The individual can come into the library at a later point to show the librarian their proof of residency, at which time the librarian will then make the user’s account verified. | ||
R03 | Arman | The library system shall allow librarians to create new member accounts, with a unique id number, for a non-resident with their first name, last name, and email address. The new member must pay a fee of $15 upfront to join. |
When an individual, who does not have an account with the Library System, goes in person to create an account with the librarian, they are asked if they live in the town. If they do not, they must pay a one-time fee of $15 and the librarian will activate their account, allowing them to browse, reserve, and checkout items. If they do not pay the fee, they will not be able to pay the fee. As well, the individual must provide an email address as a means of contact as they do not live in the town, making contacting them by post more difficult and expensive for the library. The individual’s email address is also used as an easy to remember identifier in case multiple members share the same name. The entered email will be checked to make sure that no account uses that email. If it does, the individual must provide the librarian with a different one and confirm that they have not made an account with the library. | ||
R04 | N/A | The library system shall keep track of the quantity available of each item. |
R05 | N/A | The library system shall allow members to browse books, movies, and music albums, as well as newspapers, and the archives. |
R06 | Saagar | The library system shall allow members to reserve or check out unrestricted items (books, movies, or music albums) to a maximum of 10 items at a time. |
When a patron logs into the online booking system and browses for books, movies, or music albums they will see an option to reserve an item in the library. If the item is currently checked out or reserved, it will show the next available day for that item, otherwise it will show the next business day. When the patron presses reserve, the system will check how many items the patron currently has reserved. If 10 items are already reserved or checked out, it will alert the patron that they are not allowed to reserve more than 10 items at a time. If they do not have 10 items reserved or checked out, the system will create an ItemReservation object that will create a TimeSlot with the startDate of the next available day, and an endDate of two weeks from that. If the patron has the isVerified flag as false, then the system will check if they are a resident or not. If they have isResident flag as true, then they will be told that they need to bring their proof of address with them in order to pickup the item, if they have isResident as false, then it will tell the patron that they will have to pay the $15 out-of-catchment fee in order to pick up their first item. In both scenarios, the patron will be made aware that this is the only time they will have to do so. The library staff will then get the reserved item ready for the pickup the next business day. The patron will then go to the library and ask for it from a librarian, and they will check out the item and give it to them. The patron will have three weeks with the item, starting on the day it was available for pickup. | ||
R07 | N/A | The library system shall allow librarians to check out an unrestricted item for a member, if that member does not have 10 unreturned items. |
R08 | N/A | When an unrestricted item is checked out, the library system shall assign a return date for an item, which is 2 weeks after the check out date. |
R09 | N/A | The library system shall allow the head-librarian to fire (revoke permissions) and hire (create account) librarians. |
R10 | Kevin | The library system shall allow patrons to reserve rooms during library open hours. |
When a patron logs into the Library System, they will be able to reserve a room as long as it is available within the library’s opening hours. When the time slot is taken by another patron, or if it is during library closed hours, the slots will be red. Otherwise, the slots will show as green. When the reservation is successful, the slot will turn red and the patron will get a confirmation email and a notification. | ||
R11 | Nima | The library system shall allow the head-librarian to assign schedules to other librarians |
When the head librarian logs into the library management system, the system will initially verify their identity. If their account corresponds to the HeadLibrarian type in the system (assuming there is a HeadLibrarian registered in the system), they will be prompted with the HeadLibrarian’s dashboard, which provides identical privileges, but also allows the user to access the librarian management, library information, and shift schedule tabs. Once the librarian clicks on the shift schedule tab, they will be greeted with a calendar (initially, a monthly calendar) that can be zoomed to a weekly calendar according to the user’s taste. Each calendar is capable of augmenting/accessing shift schedules, absences, in addition to holidays. Finally, if the information provided to the system is acceptable, the user can submit the changes to the system and will be returned to the HeadLibrarian dashboard, in which they can choose to make use of the other privileges that the HeadLibrarian class has access to, or to log out. | ||
R12 | N/A | The library system shall allow the head-librarian to decide the opening hours/days of the library. |
R13 | Selena | The library system shall prevent a member from reserving or checking out items if they have an item that has not been returned by its return date. |
R14 | N/A | The library system shall allow members to renew a checked out item that is not reserved by another member, by a maximum of 2 weeks. |