You are on page 1of 28

ITS332 SOFTWARE REQUIREMENT

SPECIFICATION

Library Management System

GROUP MEMBERS:
1) Siti Sabariah binti Draman @ Hashim [2017872896]
2) Siti Aisyah Humairah Binti Che Mohd Yusri [2017241576]
3) Nur Aina Amirah Binti Mohd Yusof [2017693718]
4) Norhidayah Mohd Jaafar [2017294832]

5 MAY 2019
Table of Contents
1. Fact Finding Techniques 3
1.1 Questionnaires/Sampling/Interview/Document Review 3
1.2 Business Case/Rules 4
1.3 Summary of findings 6
1.4 SWOT analysis / Intangible benefits & Tangible benefits 7
2. Storyboard 8
2.1 Storyboard Diagram + Narrative 8
2.2 Storyboard Sketches + Narrative 10
3. Data Modeling 13
3.1 Normalization of ERD + Narrative 13
3.2 Entity Relationship Diagram + Narrative 14
3.3 Data Dictionary 15
Documenting the Processes 15
Documenting the Entities 16
Documenting the Data Flows 17
4. System Specification 25
4.1 Module/Function + narrative 25
4.2 Purpose of Module / Function 25
4.2.1 Lists of Input Data 25
4.2.2 Processes involved 26
4.2.3 Lists of Output Data 26
4.3 User Characteristics 27
4.4 Safety and Security 28
Software Requirement Specifications

1. Fact Finding Techniques


1.1 Questionnaires/Sampling/Interview/Document Review

The method used to collect requirements for the information system is the
interview. We’ve conducted the interview with the library staffs of UiTM Cawangan
Terengganu Kampus Kuala Terengganu. Here’s the documentation resulting from the
conducted method:

Perpustakaan Cendekiawan UiTM Kampus Kuala Terengganu


12 March 2019
Attending : Faizulkarnain Mamat, library staff
Documentation provided : Link to the department’s external website:
https://ktganu.uitm.edu.my/index.php/management/library
Interview Summary:
Strengths of previous manual system
● Doesn’t involve electricity, internet, software and server to complete the task.
● Doesn’t need proper training and workshop for the new staff to do the related job
● More job opportunities (as more staff required)

Weakness of previous manual system


● Most of data recorded on paper.
● It takes a lot of time to retrieve specific document or file.
● All the fine need to be manually calculated by the librarian.
● Inefficient for librarian to make monthly report as all of the record must be done
manually.
● Require a lot of space to save physical files.
Overview of previous library management system:
The system needs more than one staff to complete a single task especially retrieving
certain files and doing reports. A single task can take a lot of time, from half an hour to days.
Based on the interview, obviously there’s need for a new system which can increase their
productivity.
1.2 Business Case/Rules
This project is built for the library management system. This system helps the
librarian and certain user to search information of books by insert related data to the
system. The system will quickly display the information of the book which is faster than
the manual system where the librarian needs to search the book from one bookshelf to
another. This means the system stores all information about books in the library. The
member can reserve the books online using this system. This system also responsible for
the checkout and return book process, where it can generate the date, due date and also
can automatically calculate the fine if the returning date exceeds the due. For this process
each member and each book no longer need a special card for record the date.
The one who can use this system is only the registered member of the library,
where the system stores member’s information such as email address which might be
useful in case there’s fine. For manual system, it’s time consuming to retrieve member’s
information from the file located inside the cabinet while in this system the librarian only
needs to input data related to the member and the system will display the list of the
member which might related.
The most important operation of this system is to generate report based on
requirement needed by the librarian. As it is the hardest part of librarian job to do it
manually, where the process to retrieve certain information takes a lot of time and to
write a report based on the information also needs so much efforts and resources. This
system will generate report base on the inputs given by the librarian and by linking all of
the input, the system will generate list of reports needed.
The reason why we’re doing this project is to improve the previous library
management system which is completely manual. Here’s the list of problems that occur
before implementing the system:
1. It is complicated to search for the data of the specific book
2. Take time to find the status of the book
3. More staff is required to manage library manual system
4. The changes data of record may take some times to find all data in different
registers.
5. It is difficult to detect which librarian who hold accountability if there any
mistake occurs on particular time.
6. It takes a lot of time for the librarian to manually calculate the total fine for
every late submission.
7. It’s burdensome for the librarian to make the monthly report as all of the record
must be done manually.

By developing our library management system, this system will solve the
problems which affecting the library system by:
1. Keep and store information of user, books, transaction and staff in more efficient and
effective way.
2. Cutting time taken for the librarian to retrieve specific data from 1 week to 10 minutes.
3. Automatically generate specific report required by the librarian for only around 5
minutes.
This project roughly costs RM 4264. Here we include the budget table:

ITEM PRICE (RM)

PC set X 2 unit 1300

Barcode Scanner X 1 unit 100

Unifi fiber internet installation 200

Unifi fiber internet monthly payment (for 1 1548


year)

Adobe DreamWeaver software subscription (for 1116


1 year)

TOTAL RM 4264

This system will take about 4 months to develop. Here we attach our Gantt chart:

We will suffer a productivity loss during the transition as we need to key


in and record certain data, especially all of the book information. The risk of doing this
project is, it is expensive, takes time to implement and requires technical expertise to
develop this project.
Meanwhile the risk of not doing this project is the management of the
library will never be efficient and effective, require a lot of time to complete a simple
task and it will be extremely hard to make any reports and documentation manually.

We will measure whether the project is success or fail by conducting the


survey of satisfaction of the library staff and the students who use this system and also
compare the time taken needed to do certain job using the manual and the time taken
needed to do it using our system.

1.3 Summary of findings

Even Though the previous system doesn’t involve electricity, internet, software and
server to complete the task, doesn’t need proper training and workshop for the new staff to do the
related job, and there’s more job opportunity with this system, the whole system is inefficient
that will only cause so many loss of resources and took a lot of time for a single task which
results loss of productivity.

The excessive use of papers also can lead to inefficiency as it is hard to retrieve data
recorded in the paper. And a single task can take more than one people to complete. And the time
taken to calculate fine manually is higher.

From the fact finding, the previous system needs to be upgraded by implementing a new
system which can solve their problems by:

1. Keep and store information of user, books, transaction and staff in more efficient and
effective way.
2. Cutting time taken for the librarian to retrieve specific data from 1 week to 10 minutes.
3. Automatically generate specific report required by the librarian for only around 5
minutes.

In conclusion, the system that we want to develop will help the library management to
achieve the productivity, reduce the paper usage and to cut time taken to do a single task.
1.4 SWOT analysis / Intangible benefits & Tangible benefits

STRENGTH WEAKNESS
● Easy to use the system even without ● Need constant maintenance
proper workshop training ● Takes time to implement the system
● 10 times faster than manual system ● More expensive than the manual
● Reduce paper usage system
● Easier to retrieve data and information ● Highly dependent on the electricity
of books, transaction member profile. and the internet server

OPPORTUNITY THREAT
● The system can be expand the scope ● Staff and user preference on using the
and function if needed in the future system that they used to
● Can be implemented to other library ● Competition with other system
and modified based on their system developer.
requirement

BENEFITS OF THE SYSTEM


● This System produce almost zero waste and reduce paper usage, which is
environmentally friendly compared to the manual system.
● The system will keep and store information of user, books, transaction and staff in more
efficient and effective way.
● Besides, the system will also cut time taken for the librarian to retrieve specific data from
1 week to 10 minutes.
● This system will automatically generate specific report required by the librarian for only
around 5 minutes.
2. Storyboard
2.1 Storyboard Diagram + Narrative

Member
1. Login into the system.
2. If the id and password correct, it’ll accepted but if the id and password incorrect, it’ll
rejected.
3. After the login accepted, the member will choose the option given that is request,
borrowing/checkout details, checkout and return statement and fine detail.
4. If they choose request, they’ll given the option either to update profile or search book.
5. If the member request to update profile, they will update their data information and send it to
the system. Then it’ll viewed the updated profile details.
6. If the member request to search book, they’ll search the book title as they want and then it’ll
show up the searched book detail.
7. After searched book detail show up, the member will give the option either want to reserve
book or not. If they choose yes to reserve the book, they requested to fill all the confirmation
details.
8. For the member who chooses for borrowing/checkout detail, they have to fill all the
information needed and for those who choose checkout and return confirmation, they also have to
fill all the information needed include return date.
9. Last choices are fine detail. If they choose this option, they’ll get the number of exceed due
days and the total payment that they need to pay.
Librarian
1. Login into the system.
2. If the id and password correct, it’ll accepted but if the id and password incorrect, it’ll
rejected.
3. Then the librarian will given the request to generate report.
4. After finish the report will generated to the librarian.
2.2 Storyboard Sketches + Narrative

MEMBER
1. Login into the system.
2. If the id and password correct, it’ll accepted but if the id and password incorrect, it’ll
rejected.
3. After the login accepted, the member will choose the option given that is request,
borrowing/checkout details, checkout and return statement and fine detail.
4. If they choose request, they’ll given the option either to update profile or search book.
5. If the member request to update profile, they will update their data information and send it to
the system. Then it’ll viewed the updated profile details.
6. If the member request to search book, they’ll search the book title as they want and then it’ll
show up the searched book detail.
7. After searched book detail show up, the member will give the option either want to reserve
book or not. If they choose yes to reserve the book, they requested to fill all the confirmation
details. If not they can go home or log out.
8. For the member who chooses for borrowing/checkout detail, they have to fill all the
information needed and for those who choose checkout and return confirmation, they also have to
fill all the information needed include return date.
9. Last choices are fine detail. If they choose this option, they’ll get the number of exceed due
days and the total payment that they need to pay. Then they were given the option either to go
home or log out.
10. Logout.
EXPLAIN

1. Login into the system.


2. If the id and password correct, it’ll accepted but if the id and password incorrect, it’ll
rejected.
3. After the login accepted, the librarian will given the report button to generate report in the
system.
4. Logout.
3. Data Modeling
3.1 Normalization of ERD + Narrative

1NF
LIBRARY (M_ID, M_pass, M_name, Lib_ID, Lib_name, Lib_pass, B_ISBN, B_title,
B_availability, B_noCopies, B_shelfNo, Trans_ID,
Trans_dueDate, Trans_retDate)

2NF
MEMBER (M_ID, M_pass, M_name)
LIBRARIAN (Lib_ID, Lib_pass, Lib_name, Trans_ID, Trans_dueDate, Trans_retDate, B_ISBN,
B_title, B_availability, B_noCopies, B_shelfNo)

3NF
MEMBER (M_ID, M_pass, M_name)
LIBRARIAN (Lib_ID, Lib_pass, Lib_name, Trans_ID, B_ISBN)
BOOK (B_ISBN, B_title, B_availabity, B_noCopies, B_shelfNo)
TRANSACTION (Trans_ID, Trans_dueDate, Trans_retDate)

Above shown normalization is did step by step based on the stages. In first normal form,
there are some attributes that are included such as member id, member password, member name,
librarian id, librarian name, librarian password, book ISBN, book title, book availability, number
of book, book’s shelf number, transaction id, transaction due date and transaction return date.
In second normal form, the partial dependencies are defined and the attributes are in
specific entity but there is still have transitive dependencies such as book ISBN, book title, book
availability, number of book, book’s shelf number, transaction id, transaction date, transaction
due date and transaction return date.
In this normal form which is third normal form, there is no dependencies. New entities
such as book and transaction are defined to keep the attributes in their entity and normalize it as
simple as can.
3.2 Entity Relationship Diagram + Narrative

One MEMBER can update one PROFILE.


One MEMBER can do one,none or many TRANSACTION.
One MEMBER can reserve one,none or many RESERVED BOOK in one time.
One MEMBER can has one,none or many FINE.
BOOK record can generate one REPORT.
FINE record can generate one REPORT.
One LIBRARIAN can update one PROFILE.
One LIBRARIAN can request one REPORT only.
3.3 Data Dictionary

Documenting the Processes

Process Number : 1
Process Name / Label : Verify Login
Process Description : To verify the ID and password given by member
and librarian

Process Number : 2
Process Name / Label : View profile and status
Process Description : To view profile and status to member

Process Number : 3
Process Name / Label : Update profile
Process Description : To update member profile and status

Process Number : 4
Process Name / Label : Search book
Process Description : To search book via online

Process Number : 5
Process Name / Label : Reserve book
Process Description : To reserve book that booked by member

Process Number : 6
Process Name / Label : Check reservation book
Process Description : To check reservation book by member

Process Number : 7
Process Name / Label : Checkout and Return
Process Description : To checkout and return book by member
Process Number : 8
Process Name / Label : Archive checkout list and member list
Process Description : To archive checkout list and member list from data
store MEMBER.

Process Number : 9
Process Name / Label : Calculate fine
Process Description : To calculate fine for each member

Process Number : 10
Process Name / Label : Generate report
Process Description : To generate report for librarian

Documenting the Entities

Entity Name : Member


Alternate Name :
Description : User which is including students and lecturer
Input Data Flows : ● ID and password
● Request to check status/profile
● Request to update
● Request to search book
● Request to reserve book
● Borrowing/Checkout information
● Return Information
Output Data Flows : ● Login accepted or rejected
● Profile status and details
● Updated profile details
● Searched book details
● Confirmation of reservation
● Fine details
Entity Name : Librarian
Alternate Name : Staff
Description : User which is staff in library
Input Data Flows : ● ID and password
● Login accepted or rejected
● Request to generate report
Output Data Flows : ● Generated report

Documenting the Data Flows

Data Flow Name / Label : ID and Password


Alternate Name : None
Description : An input from member to verify login
Origin : Member
Destination : Verify Login
Volume and Frequency : 100 per week

Data Flow Name / Label : Login accepted or rejected


Alternate Name : None
Description : An output to notify user either their ID and password
are rejected or accepted
Origin : Verify Login
Destination : Member
Volume and Frequency : 100 per week

Data Flow Name / Label : ID and password


Alternate Name : None
Description : An input from librarian to verify login
Origin : Librarian
Destination : Verify Login
Volume and Frequency : 100 per week

Data Flow Name / Label : Login accepted or rejected


Alternate Name : None
Description : Librarian accepted or rejected the password
Origin : Librarian
Destination : Verify Login
Volume and Frequency : 100 per week
Data Flow Name / Label : Member’s ID and Password
Alternate Name : None
Description : Member gives their ID and password
Origin : Member
Destination : Verify Login
Volume and Frequency : 100 per week

Data Flow Name / Label : Request to check status / profile


Alternate Name : None
Description : Member can request to check status or profile
Origin : Member
Destination : View profile / status
Volume and Frequency : 50 per week

Data Flow Name / Label : Profile status and details


Alternate Name : None
Description : View profile or status to member
Origin : View profile / status
Destination : Member
Volume and Frequency : 50 per week

Data Flow Name / Label : Member’s information and status


Alternate Name : None
Description : Member give information and status to view profile
or status
Origin : Member
Destination : View profile / status
Volume and Frequency : 50 per week

Data Flow Name / Label : Request to update profile


Alternate Name : None
Description : Member can request to update his/her profile
Origin : Member
Destination : Update profile
Volume and Frequency : 15 per week
Data Flow Name / Label : Updated profile details
Alternate Name : None
Description : Update profile will be updated and notify the
member
Origin : Update profile
Destination : Member
Volume and Frequency : 15 per week

Data Flow Name / Label : Request to search book


Alternate Name : None
Description : Member can request to search book in the process
Search Book
Origin : Member
Destination : Search Book
Volume and Frequency : 100 per week

Data Flow Name / Label : Searched book details


Alternate Name : None
Description : Search Book searched book details in Member
Origin : Search Book
Destination : Member
Volume and Frequency : 100 per week

Data Flow Name / Label : Book info


Alternate Name : None
Description : Search Book will search the book info in data store
Book
Origin : Search Book
Destination : Book
Volume and Frequency : 100 per week
Data Flow Name / Label : Searched book details
Alternate Name : None
Description : Search Book will search the book details in data
store Book
Origin : Search Book
Destination : Book
Volume and Frequency : 100 per week

Data Flow Name / Label : Request to Reserve book


Alternate Name :
Description : Member can request to reserve book
Origin : Member
Destination : Reserve book
Volume and Frequency : 35 per week

Data Flow Name / Label : Confirmation of Reservation


Alternate Name : None
Description : Reserve book gives confirmation of reservation to
member
Origin : Reserve book
Destination : Member
Volume and Frequency : 35 per week

Data Flow Name / Label : Reserved Book detail


Alternate Name : None
Description : Book reserved book detail in reserve book
Origin : Book
Destination : Reserve book
Volume and Frequency : 35 per week

Data Flow Name / Label : Borrowing / Checkout information


Alternate Name : None
Description : Member can check borrowing information in
checkout and return
Origin : Member
Destination : Checkout and Return
Volume and Frequency : 50 per week
Data Flow Name / Label : Return information
Alternate Name : None
Description : Member can check return information in checkout
and return
Origin : Member
Destination : Checkout and Return
Volume and Frequency : 35 per week

Data Flow Name / Label : Return transaction info


Alternate Name : None
Description : Transaction get return transaction info by checkout
and Return
Origin : Checkout and Return
Destination : Transaction
Volume and Frequency : 80 per week

Data Flow Name / Label : Borrow transaction info


Alternate Name : None
Description : Checkout and Return gives borrow transaction info
to transaction
Origin : Checkout and Return
Destination : Transaction
Volume and Frequency : 50 per week

Data Flow Name / Label : Checkout list


Alternate Name : None
Description : Transaction gives input checkout list to archive
checkout list and member
Origin : Transaction
Destination : Archive checkout list and member list
Volume and Frequency : 50 per week
Data Flow Name / Label : Member list
Alternate Name : None
Description : Member gives input member list to archive checkout
and member list
Origin : Member
Destination : Archive checkout list and member list
Volume and Frequency : 100 per week

Data Flow Name / Label : Archived checkout list


Alternate Name : None
Description : Archived checkout list save in Archive
Origin : Archive checkout list and member list
Destination : Archive
Volume and Frequency : 50 per week

Data Flow Name / Label : Archived member list


Alternate Name : None
Description : Archived member list save in Archive
Origin : Archive checkout list and member list
Destination : Archive
Volume and Frequency : 100 per list

Data Flow Name / Label : Fine details


Alternate Name : none
Description : Calculate fine will give fine details to Member
Origin : Calculate fine
Destination : Member
Volume and Frequency : 15 per week

Data Flow Name / Label : Exceed due transaction detail


Alternate Name : None
Description : Transaction exceed due transaction detail to
calculate fine
Origin : Transaction
Destination : Calculate fine
Volume and Frequency : 15 per week
Data Flow Name / Label : Book detail
Alternate Name : None
Description : Book gives book details to generate report
Origin : Book
Destination : Generate report
Volume and Frequency : 100 per week

Data Flow Name / Label : Request to generate report


Alternate Name : None
Description : Librarian request to generate report
Origin : Librarian
Destination : Generate report
Volume and Frequency : 25 per week

Data Flow Name / Label : Generated report


Alternate Name : None
Description : Generate report gives generated report to librarian
Origin : Generate report
Destination : Librarian
Volume and Frequency : 25 per week

Data Flow Name / Label : Member detail


Alternate Name : None
Description : Member gives member detail to generate report
Origin : Member
Destination : Generate report
Volume and Frequency : 25 per week

Data Flow Name / Label : Archive


Alternate Name : None
Description : Archive gives detail to generate report
Origin : Archive
Destination : Generate report
Volume and Frequency : 25 per week
Data Flow Name / Label : Transaction detail
Alternate Name : None
Description : Transaction gives transaction detail to generate
report
Origin : Transaction
Destination : Generate report
Volume and Frequency : 25 per week
4. System Specification
4.1 Module/Function + narrative

This system is entitled as ‘Library System Management’. The system is improved


the current system because we want the user which is the librarian and the member easy
to access the system and help them to solve the problem occurs. This system is developed
to keep and store information of user, books, transaction and staff in more efficient and
effective way. Besides, this system can cut time taken for the librarian to access specific
data from one week to 10 minutes. By developing this system, the specific required will
automatically generate by the librarian in about 5 minutes only.

4.2 Purpose of Module / Function


4.2.1 Lists of Input Data
● ID and password
● Requesting check status or profile
● Requesting to update profile
● Requesting to search book
● Requesting to reserve book
● Member book detail
● Borrowing and returning information
● Updated profile details
● Reserved book details
● Archived member list and checkout list
● Requesting to generate report
4.2.2 Processes involved
● Verify Login - This system can do login which is needed the user to enter their id
and password. Then it will verify the id and password then it will notify the user
either the id and password are accepted or rejected.
● View profile / status - Member can request to check status or profile and this
process will view the profile or status by accepting the data from data store
Member and then the member can able to see the current profile or status.
● Update profile - Member also can request to update their current profile, can
update the current profile and able to view the new profile or status.
● Search book - Identify the book based on the details given by member.
● Reserve book - Keep the book that reserved by the member.
● Check reservation book - Notify the reserved book.
● Checkout and return book - Process the checkout and return book based on
member wants and notify them.
● Archive checkout list and member list - Data that does not important but has to
keep it as it useful for future used.
● Calculate fine - The system will calculate the total fine without using manually.
● Generate report - The librarian just click generate report and it will produce the
generated report without wasting their time.

4.2.3 Lists of Output Data


● Notifying Member’s ID and password
● Generated report
● Preview the current and the new profile or status
● Preview the fine details
● Notifying the confirmation of reservation.
● Preview the searched book details
4.3 User Characteristics

This system has two users which are members and librarian. As we know, the library need
librarian to help user on borrowing and returning book which means the librarian frequently use
the system to key-in information of members and book. They also need to update the current
availability of book to ease members on keep updated of the book. The members only borrowing
and returning book through librarian who are using the system. Basically, the librarian know better
and more experience on the system compare to members because they always use it every single
time when the members want to deal at library.

For members, they have to tell the librarian about their personal information details such
as name and id number to keep it into the system for current use. After that, they are allowed to
search the book or any reading material for their study or task. It’s up to members if they want to
borrow the book and they have to deal it with the librarian there. Same situation if they want to
return the book at library.

Librarian who are in the library always know about the flow of the book and the library.
As usually, librarian need to manage every members who want to borrow or return the book by
key-in members information into the system.
4.4 Safety and Security

The server and desktop computer will have its own security to prevent an intruder
from modifying the hardware configuration of a server, damaging the equipment or
removing a disk drive. Server racks should be locked to avoid the unauthorized
placement and retrieval of keystroke loggers.
The portable computer are tempting targets for thieves and industrial spies. So, we
need to select an operating system that allows secure logons, BIOS-level passwords and
strong firewall protection. Then, we also can mark or engrave the computer’s case with
the computer name and address or attach a tamper-proof asset ID tag.
Other than that, wireless network security is a vital concern because wireless
transmission is much more vulnerable than traffic on a wired network. Example, Wi-Fi
Protected Access (WPA), which offered major security improvements. The most recent
wireless security enhancement, called WPA2, further strengthens the level of wireless
protection.

You might also like