Professional Documents
Culture Documents
Csc577 SDD 4c Group2
Csc577 SDD 4c Group2
Csc577 SDD 4c Group2
Version 0.1
Document Reference No: SDD/UML/CSC577/4C/G2/2021
CONFIDENTIAL
Committee Members:
_______________________ ________________________
Date:18/6/2021 Date:18/6/2021
CUSTOMER ACCEPTANCE:
Accepted By:
__NURRADIAH __
TABLE OF CONTENT
1. INTRODUCTION 5
1.1 Identification 5
1.2 System Overview 5
5.0 NOTES 32
5.1 Introduction 32
5.2 Definition 32
5.3 Roles 32
5.4 Abbreviations And Acronym 32
6.0 EXHIBIT 33
LIST OF FIGURES
1. INTRODUCTION
1.1 Identification
This existing system in Perpustakaan Desa PNM Kg. Tengah Layang-Layang uses manual
processes for all transaction books. So it's taking more time to settle one transaction at a time.
Therefore, our team decided to propose some solutions to make the manual library
management system to be computerized.
Library management system defined following several main components in the system.
The Software Design Document (SDD) describes the complete design of a Computer
Software Configuration Item (CSCI). It describes the CSCI as composed of Computer
Software Components (CSCs) and Computer Software Units (CSUs).
The SDD describes the allocation of requirements from a CSCI to its CSCs and CSUs. Prior
to Preliminary Design Review (PDR), the SDD is entered into the Developmental
Configuration for the CSCI.
Not Applicable
The CSCI LMS interfaces with the Library Staff and Library Member actors which are described
as Figure 3.1 below.
3.2.1.1 Member
This package allows member to view member information and search book details.
3.2.1.2 Security
This package provides system security feature which only allowed valid user to login to the
system. User is required to enter a unique user ID and user password. The system will then
checking for the accessibility of the user and related modules will be enabled according to the
user level.
3.2.1.3 Staff
This package manage all staff and member information in this system. Staff has full access to
the system.
3.2.1.4 Database
This package store all information in the system. It controls system user level for security
purpose to protect confidential data.
3.2.1.5 Book
This package manages the books in the library.
3.2.1.6 Transaction
This package manages and recorded all transaction of books made by members in the library.
For this package only staff are able to change the status of transaction.
A package is a CSC. The following details the interior of each CSC (package) and external
visibility.
The Security CSC provides the security feature for the system. The classes involved are listed
as below:-
● FrmLogin
● FrmSecurity
● clsFrmLogin
● clsLoginManager
● clsDBLogin
The Member CSC records all member information in the system. The classes involved are listed
as below:-
● FrmSearchBook
● FrmMemberDetails
● clsMemberManager
● clsDBMember
● clsSearchManager
● clsDBBook
The Staff CSC records all staff information in the system. The classes involved are listed as
below:-
● FrmViewReport
● FrmSearchBooks
● FrmRegisterMember
● FrmUpdateMember
● clsReportManager
● clsDBTransaction
● clsSearchManager
● clsDBBook
● clsRegisterMemberManager
● clsDBMember
The Transaction CSC manage the transaction of issue and return book in the system. The
classes involved are listed as below:-
● FrmTransactionList
● FrmUpdateStatus
● FrmRegisterTransaction
● clsTransactionManager
● clsDBTransaction
● clsDBMember
● DBBook
● DBTransaction
● DBMember
● DBLogin
● DBStaff
The Book CSC manage book information in the system. The classes involved are listed as
below:-
● FrmAddNewBooks
● FrmDeleteBooks
● FrmUpdateBookDetails
● FrmDisplayBookDetails
● clsBookManager
● clsDbBook
ISBN : String
Title : String
Author : String
NoCopies : Integer
ShelfNo : Integer
Category : String
Methods:
4.1.1 AddNewBooks()
Responsibility: To add new book
Input: strISBN : String
strTitle : String
strAuthor : String
intNoCopies : Integer
intShelfNo : Integer
strCategory : String
Output: None
Precondition: The form need to be inserted with all the input
Postcondition: Book details will be inserted into database
Algorithm:
BEGIN
objBook : clsBook
objBook.ISBN = strISBN
objBook.Title = strTitle
objBook.Author = strAuthor
objBook.NoCopies = intNoCopies
objBook.ShelfNo = intShelfNo
objBook.Category = strCategory
CALL AddNewBooks(objBook)
END
4.1.2 DeleteBooks()
Responsibility: To delete old book
Input: None
Output: None
Precondition: Record is selected.
Postcondition: Record will be deleted from database.
Algorithm:
BEGIN
objBook : clsBook
blnCheck : Boolean
strConfirm : String
selectedData : clsBook
selectedData := selected(Row) of the list
blnCheck := objBook.isExist(selectedData)
IF(blnCheck == TRUE)
MESSAGE(“Confirm to delete?”)
IF(strConfirm == YES)
DeleteBooks(selectedData)
END IF
END IF
END
4.1.3 UpdateBooksDetails()
Responsibility: To update book details
Input:intShelfNo : Integer
Output: None
Precondition: Book details already recorded in the system.
Postcondition: Book details will be updated.
Algorithm:
BEGIN
objBook : clsBook
blnCheck : Boolean
selectedData := selected(Row) of the list
blnCheck := objBook.isExist(selectedData)
IF(blnCheck == TRUE)
objBook.ShelfNo = intShelfNo
CALL UpdateBooksDetails(objBook)
END IF
END
4.1.4 DisplayBookDetails()
Responsibility: To display book details
Input: None
Output: None
Precondition: Book detail is stored in the database.
Postcondition: Book details will be displayed.
Algorithm:
BEGIN
objBook : clsBook
blnCheck : Boolean
selectedData := selected(Row) of the list
blnCheck := objBook.isExist(selectedData)
IF(blnCheck == TRUE)
CALL DisplayBookDetails(selectedData)
END IF
END
ID : String
Name : String
Methods:
4.2.1 ViewReport()
Responsibility: To show report of transaction
Input: strDate : String
Output: none
Precondition: Authorized user is a staff registered in the system.
Postcondition: Report details will be displayed.
Algorithm:
BEGIN
objTransaction : clsTransaction
strDate : String
IF(objTransaction.dateOfTransaction == strDate)
CALL ViewReport()
END IF
END
4.2.2 SearchBooks()
Responsibility: To search book
Input: strTitle : String
Output: blnDbSearch : Boolean
Precondition: Form is loaded and data is available in the system.
Postcondition: Book details found will be displayed.
Algorithm:
BEGIN
objBook : clsBook
blnDbBook : Boolean
blnDbSearch : Boolean
blnSearchFound : Boolean
blnDbBook := objBook.LoadData(strTitle)
IF(blnDbBook == TRUE) THEN
blnDbSearch := TRUE
RETURN blnDbSearch
blnSearchFound := objBook.Search(strTitle)
IF (blnDbFound == TRUE) THEN
CALL BookRecord
ELSE
MESSAGE (“The selected book not found”)
END IF
ELSE
MESSAGE (“There’s no data in the database”)
END IF
END
4.2.3 RegisterMembers()
Responsibility: To register new member
Input: strID : String
strName : String
strIC : String
strPhoneNo : String
strAddress : String
strEmail : String
charGender : String
Output: None
Precondition: A form register has entered.
Postcondition: The new member will be registered into the database.
Algorithm:
BEGIN
objMember : clsMember
objMember.ID := strID
objMember.Name := strName
objMember.IC := strIC
objMember.PhoneNo := strPhoneNo
objMember.Email := strEmail
objMember.Gender := charGender
CALL RegisterMember(objMember)
END
4.2.4 UpdateMembers()
Responsibility: To update member detail
Input: strPhoneNo : String
strAddress : String
strEmail : String
Output: None
Precondition: Member information already recorded in the system.
Postcondition: Member information will be updated.
Algorithm:
BEGIN
objMember : clsMember
blnCheck : Boolean
selectedData := selected(Row) of the list
blnCheck := objMember.isExist(selectedData)
IF(blnCheck == TRUE)
objMember.PhoneNo := strPhoneNo
objMember.Address := strAddress
objMember.Email := strEmail
CALL UpdateMembers(objMember)
END IF
END
Methods:
4.3.1 RetrieveTransaction()
Responsibility: To retrieve transaction in the database
Input: None
Output: None
Precondition: Authorized user has successfully registered into the system.
Postcondition: Transaction record list displayed in the system.
Algorithm:
BEGIN
objTransaction : clsDBTransaction
objMember : clsDBMember
strID : String
retrieveTransaction();
END
4.3.2 UpdateStatus()
Responsibility: To update transaction status
Input: None
Output: None
Precondition: Authorized user is a staff registered in the system.
Postcondition: Display new status.
Algorithm:
BEGIN
objTransaction:clsDBTransaction
GET selectedData
SET status=new_status
updateStatus();
END
4.3.3 RegisterTransaction()
Responsibility: To register new transaction
Input: strISBN : String
strDateofTransaction : String
strDueDate : String
strStatus :String
Output: None
Precondition: Authorized user already registered in the system.
Postcondition: Transaction submitted and being recorded.
Algorithm:
BEGIN
objTransaction : clsDBTransaction
GET strISBN,strDateofTransaction,strDueDate,strStatus
registerTransaction();
END
ID : String
Name : String
IC : String
PhoneNo : String
Address : String
Email : String
Gender : Char
Methods:
4.4.1 SearchBook()
Responsibility : To search book details
Input : strTitle : String
Output : blnDbBook : Boolean
Precondition : Authorized user logged in to the system as a member. Book
list available in the database.
Postcondition : Book details found will be displayed.
Algorithm :
BEGIN
objBook : clsBook
blnDbBook : Boolean
blnDbSearch : Boolean
blnSearchFound : Boolean
blnDbBook := objBook.LoadData(strTitle)
IF(blnDbBook == TRUE) THEN
blnDbSearch := TRUE
RETURN blnDbSearch
blnSearchFound := objBook.Search(strTitle)
IF (blnDbFound == TRUE) THEN
CALL BookRecord
ELSE
MESSAGE (“The selected book not found”)
END IF
ELSE
Methods:
4.5.1 AuthenticateUser()
Responsibility: To verify user identity.
Input: strID : String
strPassword : String
Output: None
Precondition: Authorized user has successfully registered into the system.
Postcondition: Authorized user has successfully logged in to the system.
Algorithm:
BEGIN
blnAuthorize : Boolean
objLogin : clsLogin
IF (objLogin.ID == strID AND objLogin.Password == strPassword)
blnAuthorize := TRUE
ELSE
MESSAGE(“Wrong input”)
END IF
IF (blnAuthorize == TRUE AND objLogin.Type == “Member”)
RELOAD MemberMainPage
ELSE
RELOAD StaffMainPage
END IF
END
5.0 NOTES
5.1 Introduction
This glossary will be expanded throughout the life of the project.
5.2 Definition
This section describes definitions for all terms used in this document.
PNM A library established under the National Library Act 1972. PNM role
is to preserve and expand the use of published collections from
within a respective country as well as collections published in other
countries that relate to it.
5.3 Roles
This chapter describes the roles definition from user point of view.
Staff A person who keys in new book info and does the borrow and return
process.
6.0 EXHIBIT
APPENDIX 1
Member Interface
Staff Interfaces