Case Study-1 7b
Case Study-1 7b
The SE VLabs Institute has been recently setup to provide state-of-the-art research
facilities in the field of Software Engineering. Apart from research scholars (students)
and professors, it also includes quite a large number of employees who work on
different projects undertaken by the institution.
As the size and capacity of the institute is increasing with the time, it has been proposed
to develop a Library Information System (LIS) for the benefit of students and employees
of the institute. LIS will enable the members to borrow a book (or return it) with ease
while sitting at his desk/chamber. The system also enables a member to extend the
date of his borrowing if no other booking for that particular book has been made. For the
library staff, this system aids them to easily handle day-to-day book transactions. The
librarian, who has administrative privileges and complete control over the system, can
enter a new record into the system when a new book has been purchased, or remove a
record in case any book is taken off the shelf. Any non-member is free to use this
system to browse/search books online. However, issuing or returning books is restricted
to valid users (members) of LIS only.
The final deliverable would a web application (using the recent HTML 5), which should
run only within the institute LAN. Although this reduces security risk of the software to a
large extent, care should be taken no confidential information (eg., passwords) is stored
in plain text.
A robust database backend is essential for a high-quality information system. Database
schema should be efficiently modeled, refined, and normalized. In this section we would
develop a simple ER model for the Library Information System.
The first step towards ER modeling is to identify the set of relevant entities from the
given problem statement. The two primary, and obvious, entity sets in this context are
"Member" and "Book". The entity set "Member" represents all students, professors, or
employees who have registered themselves with the LIS. While registering with the LIS
one has to furnish a lot of personal and professional information. This typically includes
name (well, that is trivial), employee ID (roll # for students), email address, phone #,
age, date of joining in this institute. The system may store some not-so-important
information as well like, blood group, marital status, and so on. All these pieces of
information that an user has to provide are sufficient to describe a particular member.
These characteristics are the attributes of the entities belonging to the entity set
"Member".
It is essential for an entity to have one or more attributes that help us to distinguish it
from another entity. 'Name' can't help that -- two persons could have exactly the same
name. However, ('Name', 'Phone #') combination seems to be okay. No two persons
can have the same phone number. 'Employee ID', 'Email address' are other potential
candidates. Here, 'Employee ID', 'Email address' and ('Name', 'Phone #') are super
keys. We choose 'Employee ID' to uniquely identify an user in our implementation. So,
'Employee ID' becomes our primary key (PK) for the "Member" entity set. Figure 1
represents this set along with it's attributes and the primary key.
Identifying the Requirements from Problem Statements