CS4400 Project Phase I Report
CS4400 Project Phase I Report
CS4400 Project Phase I Report
(Phase I)
Spring 2015
Section A
Submitted
February 5, 2015
New User
Login Registration Profile Create
Form
Information Flow Diagram
Form
Book Search
Form
Frequent Users
Report
Request Extension
Extension Request Form
Report Frequent
Users Database
Request
Report Future Hold Future Hold
Popular Books Popular Books Request Form
Report
Track Book
Report
Damaged
Books Checkout
Penalty Book
Charge Return Book
Book Track
Damaged Form
Books Report
Book Lost/ Book Checkout
Damaged Form Form
Book Return
Form
Constraints:
1. The reserved books are not allowed to be held or checked out by users.
2. A user can only request extensions on a book that he has physically checked out from the
library. For a student, maximum of 2 extensions are allowed per issue of a book. For
faculty this number is 5.
3. A book can only be future hold requested by one user until that future requester checks
out the book.
4. One person can only register for one user account.
5. One user can hold and check out multiple books. The upper limit can be specified by the
library management.
6. The hold request is only valid for three days. If the user fails to check out the book on
hold within three days, the hold request will be dropped.
1. The entity BOOK is defined as a single copy, not a collection of copies with the same
ISBN.
2. The weak entity AVAILABILITY is defined as either “available” or “unavailable”. The
reason why we don’t include availability as an attribute of the entity BOOK is that both
“search” and “hold request for” relationships involve the use of availability.
3. The relationship of “user creates profile” is not included in our EER diagram. Instead, the
information in user profile are indicated as attributes of the entity USER.
4. All copies of the same book are placed together on the same shelf.
5. It is assumed that both hold request and future hold request shall generate an “issue_id”
associated with the request. The extension request can be done by using the “issue_id” as
an entry. The users can edit or cancel all three types of request by using the “issue_id”.
6. The reason why we have three subtypes of entity REQUEST is that entity HOLD will be
involved in two other relationships.
7. The extension of a book is only allowed if that book has not already been requested for
hold by another user. If a book is already on hold, it cannot be requested for future hold.
Such two assumptions are illustrated in the two ternary relationships of “extension
request for” and “future hold request for”, which involves the entity HOLD.
8. The ternary relationship “check out” involves the entity HOLD because the user can
check out a book only after he has requested hold on it.
9. It is assumed that the popular books report, frequent user report, and popular subject
report are generated for the months of January and February.
10. Some attributes of the four reports are multi-valued and derived from database. Therefore,
we choose to use double dotted lined ellipses.