Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

1

CPSY200 – Analysis and Design


Southern Alberta Institute of Technology
Winter 2024

ASSIGNMENT 2 – Analysis of a Library System Scenario

Group Number: 10

Note: Do NOT delete or rearrange the sections as given in this template.

Complete them as given here.

Introduction
Global Library Inc. is embarking on a transformative journey to modernize its library
management System (LMS) to remain competitive and meet the evolving needs of their patrons. In
order to enhance the operational efficiency and improve user experience, Global Library Inc. aims to
enhance operational efficiency, streamline book management and elevate user experience.

The existing LMS at Global Library Inc. has served the company well over the years but is now
showing signs of age, leading to inefficiencies in book management, member services and data
reporting. To overcome these challenges, Global Inc has tasked us with developing a new LMS that uses
the principle of object-oriented analysis and design.

To develop a software solution for the new LMS, this project focuses on applying object-
oriented analysis and design principles that aligns with Global Library Inc.’s requirements and vision. The
system will support functionalities such as book management, member services, borrowing and returns,
search functionality and reporting. This report outlines the object-oriented analysis and design process.
This includes the identification of use case and candidate classes as well as the creation of class diagram
and sequence diagrams to illustrate the system’s architecture and interaction.

The proposed solution will provide Global Library Inc. with a robust and user-friendly LMS that
meets its current and future needs.
2

Object-Oriented Analysis
Use Case Diagram
3

Use Case Descriptions

Search Catalog:
Preconditions: Must have access to the book class.
To find a book, the library user or librarian will select the "Find Books" option. Then,
they'll input either the title, author, or ISBN of the desired book and click "Find" to
initiate the search.
Postconditions: After the search, the user will be presented with the option to borrow
the book or conduct another search.
Add User Membership:
Preconditions: The user must not already be a member of the library.
To add a new member, the library user or staff will choose the "Add Member" option.
They will input the new member's name, address, phone number, and email address.
Upon completion, they will click "Add Member" to finalize. Further, a confirmation
message will prompt the user to review the details. Upon confirmation, the membership
process will be completed.
Postconditions: System will send confirmation email member ID to the member’s email
address along with the confirmation for membership.
Return book:
Preconditions: Users must have borrowed one or more books from the library.
The user will log in to the library account and navigate to the return section. They will
enter the book's ISBN in the return form. After submission, a confirmation message will
prompt the user to review the details. Upon confirmation, the return process will be
completed.
Postconditions: The user will receive an email notification confirming the successful
return of the book(s). The returned book will be reintegrated into the library inventory,
no longer associated with the borrower.
Add book:
Preconditions: The book's ISBN should not be currently available in the library inventory.
4

The librarian will log in using their credentials and select the "Add Books" option. He /
She will input the book's title, publisher, author's name, ISBN, and the language. After
entering the details, they will confirm the addition of the book to the library catalog.
Postconditions: Once added, the book will be available for borrowing from the library.
Set of Candidate Classes

Based on the system requirements, the classes that we identified are Library, User, Book
and BookReservation.

The Book Class is tasked with storing various details about the book, including its title,
ISBN, author, language, and publisher. It will include methods for accessing and
modifying these attributes. Additionally, it will manage attributes and methods for
tracking the book's presence in the library catalog, its availability, reservation count, as
well as functionality for checking out, checking in and removing the book.

The User Class will manage information about members, such as their name, ID,
password, email address, userType, isActive status, and numOfBorrowings. It will
provide methods for accessing and updating these attributes, along with functionality to
deactivate users by setting their isActive attribute to False.

The Book Reservation Class is designed to hold data concerning reservation details,
including reservation ID, associated book, user, due date, and borrow date. Its main
purpose is to manage reservation-related information. The class will feature methods
for creating reservations and extending them when necessary.

The library class serves as a superclass to facilitate methods and data from various other
classes mentioned earlier. It serves as a central repository for library-related
information, including details such as name, address, and phone number. Additionally, it
maintains lists of books, users, and reservations within the library. This class is equipped
with methods to generate reports and to search for books based on criteria such as title,
ISBN, and author.
5

Object-Oriented Design
Class Diagram
6

Sequence Diagrams
<Show sequence diagrams here, one for each of the two use cases you have selected. Make sure each
sequence diagram is labelled so that it is clear which use case it belongs to>

Add User Sequence Diagram: This Sequence diagram illustrates the process of getting
new membership for a library user.

Add Book Sequence Diagram: This Sequence diagram illustrates the process of adding
new book by librarian.
7

Summary
<Provide a summary here of your findings in this report. Include details of how accurate and thorough
you believe the content in this report to be, and what your proposed next steps will be>
8

Contribution Attribution List

Group member name (Use full name Level of Contribution (0 to 3)


here)
Sukhpreet Singh 3
Divya Viral Kumar Shah
Dipanshu Bagga
Aryan Rattan

Contribution Level Values:

0 – no contribution

1 – small contribution

2 – good contribution

3 – excellent contribution

You might also like