Professional Documents
Culture Documents
Web Based Labrary MGT System For HU Holeta Branch1
Web Based Labrary MGT System For HU Holeta Branch1
HOLETA CAMPUS
Web based Library Management System for Harambee University Using PHP,
HTML, CSS, JavaScript and MySQL
JAN 2022
Harambee University
HOLETA OROMIA ETHIOPIA
APPROVAL FORM
This is to confirm that the project report entitled “web based Library Management System for
Harambee University
“of computer science in partial fulfillment of the requirement for the award of the degree of
Bachelor of Science in computer science an original work carried out by all group members
Student Team Approval
Student Name Student Signature
1. Alemu Abebe ________________
2. Lema ________________
3___________
4____________
5
6
7
8
9
10
We take this occasion to thank God, almighty for blessing us with his grace and taking our
endeavor to a successful culmination. We extend our sincere and heartfelt thanks to our esteemed
guide, Reshad Gendoo, for providing us with the right guidance and advice at the crucial
junctures and for showing us the right way. We also take this opportunity to express a deep sense
of Gratitude Harambee University Holeta Campus Librarians. We would like to thank group
members and our friends and family for the support and encouragement they have given us
during the course of our work
Table of Contents
Figure ........................................................................................................................................................... vi
Chapter One .................................................................................................................................................. 1
Introduction .................................................................................................................................................. 1
1.1 Background ......................................................................................................................................... 1
1.1.1 Harambee University Library management department............................................................. 1
1.1.2 Introduction and Background of the Research/Modification Project. ........................................ 1
1.2 Statement of the problem .................................................................................................................. 2
1.3 Objectives of the project..................................................................................................................... 3
1.3.1 General objective ......................................................................................................................... 3
1.3.2 Specific objective ......................................................................................................................... 3
1.4 Significance of the project .................................................................................................................. 4
1.5 Beneficiaries of the project ................................................................................................................. 4
1.6 Methodology....................................................................................................................................... 4
1.6.1 Data collection methodology ....................................................................................................... 4
1.6.2 System development Methodology............................................................................................. 5
1.7Development Environment and programming tool ............................................................................ 5
1.8 Scope of the project ............................................................................................................................ 5
1.9 Risks, Assumptions and Constraints ................................................................................................... 6
1.9.1 Assumptions and Constraints ...................................................................................................... 6
1.9.2 Risks ............................................................................................................................................. 6
Chapter Two .................................................................................................................................................. 8
Requirement Analysis ............................................................................................................................... 8
2. Description of Existing System .............................................................................................................. 8
2.1. Introduction ....................................................................................................................................... 8
2.2 Major functions of the existing System .............................................................................................. 8
2.3 Reports generated in the existing system: ......................................................................................... 9
2.4 Forms and Documents used in Existing System.................................................................................. 9
2.11 Non Functional requirements ......................................................................................................... 13
2.12 USER CHARACTERSTICS ................................................................................................................... 14
Chapter Three ............................................................................................................................................. 15
System Design ............................................................................................................................................. 15
3.1 Introduction ...................................................................................................................................... 15
3.2 System use case model ..................................................................................................................... 15
3.3.2 Essential Modeling Use – Case................................................................................................... 16
3.5 Sequence Diagram ............................................................................................................................ 20
3.6 Activity Diagram ................................................................................................................................ 21
3.7 Class Diagrams .................................................................................................................................. 25
Harambe University Library management system User Login interface .................................................... 29
Recommendation.................................................................................................................................... 39
Conclusion ............................................................................................................................................... 40
References .............................................................................................................................................. 41
Abstract
This project is aimed at developing a Web based Library Management System for managing
the library system of Harambee university HOLETA CAMPUS who use a paper based system
to manage Library of the college. The purpose of this project is to change manual based (paper
based) Library management system of any University/college/school to automated system. This
system can be used to store the details of the books, student, update the book information based
on the user details. It uses a client-server model with a connected database to allow multiple
users (workers of Library Board and college staff) to be connected. This allows for later
expansion while still supporting the targeted University. An automated Library Management
System helps to minimize the errors while recording the books and book users.
Definition, Acronyms, Abbreviations
Browser: A software application used to locate and display web pages.
Database: A database that stores data. It is a collection of interrelated data that contains
information relevant to enterprise.
MYSQL: Most widely used query language for creating database.
Internet: Worldwide networks of computers from where anyone can take information.
Homepage: The first page when you go to a worldwide website on internet.
HTML: It is a computer language specifying the content & formats of web document .
It allows additional text to include codes that define fonts, layouts, graphics & hypertext.
PHP: It is called Hypertext Pre-Processor.
Webpage: pages of information placed on network that may contain text, graphics, images,
moving pictures, sound files & other type of electronic information.
Website: Collection of files called webpage, which can contain text & images.
DBMS: A collection of computer program that allow storage, modification, extraction of
information from database.
SQL: It is a standard interactive & programming language for getting information &
updating database.
Tables
Harambee University Library management department are central to the work of the college.
Library is one of the essential elements in order to accelerate and improve teaching and
learning process of a one university. To confirm this teaching and learning activity, Harambee
University Library management department provides the basic facility and material need to
help and strengthen the work of the University.
Computer plays an important role in our daily life. Anything we want we can get only in one
mouse click. Speed, reliability and accuracy of the computer make it a powerful tool for
different purposes. The project that we have taken is also in this category which is used in
our/library users daily life whenever we want to read some books we can easily get them on
internet. Theproject “web based Library Management System” which mainly focuses on basic
operations in a library like adding new member, new books, and updating new information,
searching books and members and facility to issue and return books. Using this web
application user can make the booking of books online and can look for the book either it is
available in library or not.
It is difficult to update information without rewriting the full file. Because Data is
stored in hard copy form.
Data is not secured. Due to this, some secret information is opened for unauthorized
users or agents.
Lack of relevant information on time, speed I.e., due to low speed of processing data
and due to lose of paper work.
Lack of immediate retrievals.
Low processing speed and error.
Data is stored repeatedly in different files -The same information is stored in many
copies repeatedly in different forms.
Less credible information generated by the reports – The information presented on the
report are inconsistent meaning the information are gathered by referring to different
documents which are stored in manual or paper form. Therefore, as time goes, the
information on the paper may get lost. So, the information is not as such trustworthy.
Manual handling of data is expensive as compared to automated system. In general,
cost in terms of time is very high.
To get a clear picture of the activities under the library management department and to identify
the problems, we have described the tasks in each activity as follows:-
Requisition:-
Book
There are several things that has to be taken in to consideration while making book requisition.
For instance, requisition can be made by any student but, it has to be issued by the responsible
person by having verification and passing through the necessary steps in approval the
request. .
Books information
Books are recorded based on book id, book name, price, author and they are visible for the
responsible person as well as the top manager who is assigned.
Report generation
Activities undertaken by the book management department are reported in a periodic manner to
the manager of the Library.
New arrival books.
Books Taken by the readers.
Number of readers
The general objective of this project is to “design the Digital Library Management System that
handles activities efficiently and effectively for the Harambee University Library management
department which follows manual approach”.
To achieve the aforementioned general objective, the project will address the following
specific objectives.
1.6 Methodology
1.6.1 Data collection methodology
UML (Unified modeling Language) used in object oriented software development approach
and traditional software development tools will be used
For requirement analysis and design:-
Object oriented analysis and design techniques (Context diagram, use case diagram,
sequence diagram, activity diagram, collaboration diagram and class diagram)
Object orient analysis and design is chosen due to:
Ease of maintenance
Facilities of code reusability
Encapsulation (i.e. information hiding and separation of data from
procedures by using objects)
Adaptability to new developments. Etc.
HTML, CSS and JavaScript for front end design and coding
Visio for Modeling
PHP for server side script and
MYSQL server for database
Text-Editor Sublime
1.9.2 Risks
Risk analysis enables the team to anticipate what might go wrong in the project. The potential
consequence of assessing risks can include the following outcomes:
risks Description
Table:-Risks
1.10 Project Organization
Project Owners Harambee University Holeta Campus
Project Manager Alemu Abebe
Programmer
Database Manager
Analyst and Designer
Quality Assurance Officer .
1.11 Estimating project cost
Requirement Analysis
2. Description of Existing System
2.1. Introduction
Income management system which performs the following tasks:- provides lounge service for
both the students and staff of the college and also shop and animal husbandry.
Book Requisition: This function is performed by the library users to receive book from
library.
Reception of book: by having checking on the specification and quantities of the listed
book the Library manager receives the New arrival book.
Book withdrawal: This function performed by the library manager based on reader’s
book requisition.
Report: the librarian can generate report of taken books with listing book id, quantity and
with appropriate member/library user information.
Return book: the library user i.e. students and university members can return a book that
they received this before based on their return book dead line.
The process of this existing system is performed by the following sequence: first books are
requested by the library users so as to have books in a library, the request passes to the
librarian, after having seen the availability of book the library manager approved the request
and issue book to the requester.
Based on the specification and need the one who is assigned as a user can receive the book.
And if book is not available in a library a librarian rejects the request.
2.3 Reports generated in the existing system:
The existing system generates report for every day, month, yearly to College management
manually in their report they will include the number of books in hand of members, quantity,
price and also the total number of books in the library.
1. Purchased by
Name _____________________
Sign_____________
Date______________
2. Received By
Name_____________________
Sign_____________
Date______________
Librarian: Mainly responsible for adding and modifying books, book items, and users.
The Librarian can also issue, reserve, and return book items.
Member: All members can search the catalog, as well as check-out, reserve, renew,
and return a book.
System: Mainly responsible for sending notifications for overdue books, canceled
reservations, etc.
2.7 Problems of the existing system
In the existing system all the transaction of books are done manually, So taking more time for a
transaction like borrowing a book or returning a book and also for searching of books. Another
major disadvantage is that to preparing the list of books borrowed and the available books in
the library will take more time, currently it is doing as a one day process for verifying all
records.
Library management system is a project which aims in developing a computerized system to
maintain all the daily work of library. The “Library Management System” mainly focuses on
basic operations in a library like adding new member, new books, and updating new
information, searching books and members and facility to borrow and return books. This
project has many features which are generally not available in normal library management
systems like facility of user login and a facility of teachers login. The user is able to generate
different kinds of reports like lists of students registered, list of books, issue and return reports.
“Library Management System” is designed to help users maintain and organize library.
It is used by librarian to manage the library using a computerized system where he/she can
record various transactions like issue of books, return of books, addition of new books,
addition of new students etc. Proposed system is an automated Library Management System. It
also has a facility of admin login through which the admin can monitor the whole system.
Using this system student can login system online and after logging in their accounts can see
list of books issued and its issue date and return date. Through our software user can add
members, add books, search members, search books, update information, edit information,
borrow and return books in quick time. Using library management system, students can also
request the librarian to add new books by filling the book request form. Using this system
librarian can generate various reports such as student report, issue report, teacher report and
book report. Books and student maintenance modules are also included in this system, which
would keep track of the students using the library and a detailed description about the
booksalibrarycontains.
Overall this project of ours is being developed to help the students as well as staff of library to
maintain the library in the best way possible and also reduce the human efforts. With this
computerized system there will be no loss of book record or member record which generally
happens when a non-computerized. All these modules are able to help librarian to manage the
library with more convenience and in a more efficient way as compared to library systems,
which are not computerized.
The proposed system will replace the manual operations involved in the recording system. An
automated system will take care of all recording operations.
Sign up
Input: Detail about the user as mentioned in the description.
Output: Confirmation of registration status and a membership number and
password will be generated and mailed to the user.
Processing: All details will be checked and if any error are found then an error
message is displayed else a membership number and password will be
generated.
Login
Input: Enter the membership number and password provided.
Output: User will be able to use the features of software.
Manage books by user.
Books issued.
Description : List of books will be displaced along with data of return
Search
Input: Enter the name of author's name of the books to be issued.
Output: List of books related to the keyword.
Issues book
State: Searched the book user wants to issues.
Input : click the book user wants.
Output : conformation for book issue and apology for failure in issue.
Processing : if selected book is available then book will be issued else error will
be displayed.
Renew book
State : Book is issued and is about to reach the date of return.
Input : Select the book to be renewed.
Output : conformation message.
Processing : If the issued book is already reserved by another user then error
message willbe send and if not then conformation message will be displayed.
Return
Input ; Return the book to the library.
Output : The issued list will be updated and the returned book will be listed out.
Reserve book
Input ; Enter the details of the book.
Output : Book successfully reserved.
Description : If a book is issued by someone then the user can reserve it ,so that
later theuser can issue it.
Fine
Input : check for the fines.
Output : Details about fines on different books issued by the user.
Processing : The fine will be calculated, if it crossed the date of return and the
user did not renewed if then fine will be applied by Rs 10 per day. R.3 Manage
book by librarian
Update details of books
Add books
Input : Enter the details of the books such as names ,author ,edition, quantity.
Output : confirmation of addition.
Remove books
Input : Enter the name of the book and quantity of books.
Output : Update the list of the books available.
These are functionalities that are generally implied and factored in as characteristics of a good
system. They are not part of the system requirement
Should be reliable and efficient.
easy to maintain
Ensure security of the stored information
Usability Requirement
The system shall allow the users to access the system from the phone using
android application. The system uses a android application as an interface. Since
all users are familiar with the general usage of mobile app, no special training is
required. The system is user friendly which makes the system easy.
Availability Requirement
The system is available 100% for the user and is used 24 hrs a day and 365 days
a year. The system shall be operational 24 hours a day and 7 days a week.
Efficiency Requirement
Mean Time to Repair (MTTR) - Even if the system fails, the system will be
recovered back up within an hour or less.
Accuracy
The system should accurately provide real time information taking into
consideration various concurrency issues. The system shall provide 100%
access reliability.
Performance Requirement
The information is refreshed depending upon whether some updates have
occurred or not in the application. The system shall respond to the member in
not less than two seconds from the time of the request submittal. The system
shall be allowed to take more time when doing large processing jobs. Responses
to view information shall take no longer than 5 seconds to appear on the screen.
Reliability Requirement
The system has to be 100% reliable due to the importance of data and the
damages that can be caused by incorrect or incomplete data. The system will
run 7 days a week, 24 hours a day.
2.12 USER CHARACTERSTICS
We have 3 levels of users:
User module: In the user module, user will check the availability of the books.
Issue book
Reserve book
Return book
Fine details
Library module:
Add new book
Remove book
Update details of book
Administration module:
The following are the sub module in the administration module:
Register user
Entry book details
Book issue
Chapter Three
System Design
3.1 Introduction
Object oriented analysis describes the system from the actor point of view and serves as
the Communication language between the client (owner of the system) and the developer. The
purpose of the analysis is to understand what will be built. This is similar to requirement
gathering, the purpose of which to determine what your users want to have built. The main
difference is that the focus of requirement gathering is on understanding your user and their
potential usage of the system, whereas the focus of analysis shifts to understanding the system
itself. In this chapter we have included an object oriented system analysis tools like system
use case model, sequence diagram, activity diagram, class model and user interface prototype.
A system use case model is composed of use case diagram and the accompanying documentation
describing the use case, actors and associations. A system use case model constitutes a sequence of
actions that provide a measurable value to an actor. The main difference between an essential use
case and a system use case is a high level of implementation decision is included in the system use
case.
3.3 Essential Modeling
3.3.1 Actors
Actor is something external to the system and interacts with the system. Actor may be a human
being, device or some other software system.
For Computerized Library management system;We have three main actors in our system:
Librarian: Mainly responsible for adding and modifying books, book items, and users.
The Librarian can also issue, reserve, and return book items.
Member: All members can search the catalog, as well as check-out, reserve, renew,
and return a book.
System: Mainly responsible for sending notifications for overdue books, canceled
reservations, etc.
Here are the top use cases of the Library Management System:
A use-case represents sequence of actions performed by the system that yields an observable
result of value for a particular actor. Use-case represents a functional requirement of a system.
For Computerized Library management system, we can find the following use-cases;
UC01 Login
UC02 Register User
UC03 Send Book Request
UC04 Request book
UC05 Receive book Request
UC06 With draw book
UC07 Receive book
UC8 Approve
UC9 View Library Transaction
Fig 3.1 Library Management System Use case
3.4 Use-Case Specification: Login
ID UC01
Description A registered user can log in and, upon verification, can initiate subsequent actions.
Actors Manager, Purchaser, Seller, Store Manager and cashier
Precondition User has an account with the system
Post condition The user is considered authenticated and is viewing the main page from which
additional actions can be initiated.
Basic Course of 1. Initiated when a registered user chooses to Lo-gin.
action: 2. The system prompts for username and password.
3. The registered user enters a username and password and submits them.
4. The system authenticates the use_ name and password combination.
5. The system authorizes the registered user according to the role(s) to which the
registered user has been assigned.
6. The system displays the main page and awaits subsequent action.
7. Use Case ends.
Alternative course of Invalid Username/Password
action
1. The system displays the Authentication Failed message.
2. Account Locked
3. The system displays the <appropriate message>.
4. Authentication Service Unavailable
5. The system displays a Service Unavailable message and does not permit any
further attempts to lo-gin.
6. Use Case ends.
ID UC02
Description Add new User detail information to the database.
Actors Manager, Purchaser, Sellers, Store Manager and cashier
Precondition User must be valid.
Post condition Users will be Registered by the Manager.
Basic Course of action:
1. Initiated when a registered user chooses to add new User
2. The system prompts for User details information
3. The registered Manager enters user information and register them
4. The system generates password and user Name for a new User.
5. Use Case ends.
Alternative course of action A. If the User lost his password and User Name
A.1 New password and User Name will created by the manager.
A.2 Use Case ends.
ID UC03
Description It is the way that the Librarian registers a book.
Actors Librarian
Precondition Librarian must sure that book is not registered.
Post condition Store man must check the requested book before respond.
Basic Course of action: 1. The librarian must fill the item information.
2. The sellers must send the request to the store man correctly
3. Use Case ends.
A class diagram is an illustration of the relationships and source code dependencies among
classes in the Unified Model Language (UML).
In this context, a class defines the methods and variables in an object, which is a specific
entity in a program or unit of code representing that entity. Class diagrams are useful in all
forms of object-oriented programming.
Library: The central part of the organization for which this software has been
designed. It has attributes like ‘Name’ to distinguish it from any other libraries and
‘Address’ to describe its location.
Book: The basic building block of the system. Every book will have ISBN, Title,
Subject, Publishers, etc.
Book Item: Any book can have multiple copies, each copy will be considered a
book item in our system. Each book item will have a unique barcode.
Account: We will have two types of accounts in the system, one will be a general
member, and the other will be a librarian.
Library Card: Each library user will be issued a library card, which will be used to
identify users while issuing or returning books.
Catalog: Catalogs contain list of books sorted on certain criteria. Our system will
support searching through four catalogs: Title, Author, Subject, and Publish-date.
Fine: This class will be responsible for calculating and collecting fines from library
members.
Rack: Books will be placed on racks. Each rack will be identified by a rack number
and will have a location identifier to describe the physical location of the rack in the
library.
Notification: This class will take care of sending notifications to library members.
Fig.3.6 Class Diagram
if($activity == 'forgetpwd'){
//include("controller/forgetpwd.php");
?>
<form method="POST" class="loginPage">
<div class="formInput">
<input type="email" name="regEmail" required
autofocus placeholder="Your Registered Email">
</div>
<div class="formInput">
<input type="password" name="npwd" required
autofocus placeholder="New Password">
</div>
<div class="formInput">
<input type="password" name="cpwd" required
autofocus placeholder="Confirm New Password" >
</div>
<input type="submit" name="savePwdBtn"
value="Save" class="btnSavePwd">
<br >
<a class="backLink" href="index.php">Back</a>
</form>
<?php
}
else{
?>
<?php
}
?>
<?php
if(isset($errorMsg)){
?>
<div class="errorMsg"><?php echo $errorMsg; ?></div>
<?php
}
?>
</div>
</body>
<?php
session_start();
error_reporting(0);
include("databaseConnection.php");
$username = $_SESSION['username'];
if($_REQUEST['$activity'] == 'logout'){
$username = null;
$username ="";
unset($username);
$_SESSION['username'] = null;
$_SESSION['username'] ="";
unset($_SESSION['username']);
session_destroy();
}
if(empty($username)){
header("location: ../Index.php");
}
?>
<html>
<head>
<title>HRBU LMS ADMIN PANEL</title>
<link rel="stylesheet" type="text/css" href="../css/styleHome.css">
<link rel="stylesheet" type="text/css" href="../css/styleUpdate.css">
<link rel="stylesheet" type="text/css" href="../css/styleAddValue.css">
</head>
<body>
<!--CONTAINER AREA SECTION-->
<div class="containerHome">
<!--HEAD SECTION-->
<div class="headSection">
</div>
<!--HEAD SECTION-->
<div class="navSection">
<div class="welcomeTitle"><?php echo "Welcome : ".$username; ?></div>
<div class="tooltip">Contact Us
<span class="tooltiptext">
<b>Address:</b> Harambe University Holeta Campus <br>
<b>Phone:</b> 09-12484594
</span>
</div>
<div class="logoutLink"><a href="home.php?activity=logout">Logout</a></div>
</div>
<?php include("leftSection.php");?>
</div>
<!--LEFT BAR SECTION-->
<?php
// CODE FOR PERFORMMING ACTIVITY..
$activity = $_REQUEST['activity'];
if($activity) {
if($activity == 'addMember'){
include("addMember.php");
}
if($activity == 'dashboard'){
include("dashboard.php");
}
if($activity == 'issueBooks'){
include("issueBooks.php");
}
if($activity == 'returnBooks'){
include("returnBooks.php");
}
if($activity == 'issueBooksHisory'){
include("issueBooksHistory.php");
}
if($activity == 'returnBooksHisory'){
include("returnBooksHisory.php");
}
if($activity == 'search'){
include("search.php");
}
if($activity == 'allRegisteredStudent'){
include("allRegisteredStudent.php");
}
if($activity == 'addBook'){
include("addBook.php");
}
if($activity == 'listAllBooks'){
include("listAllBooks.php");
}
if($activity == 'bookDetails'){
include("bookDetails.php");
}
if($activity == 'memberDetails'){
include("memberDetails.php");
}
if($activity == 'updateBook'){
}
else{
$errorMsg = "Field can't be Empty...";
}
}
elseif($searchList == 'Member'){
$searchField = $_REQUEST['searchField'];
if(!empty($searchField)){
if(empty($result)){
$errorMsg = "Invalid Customer Name...";
}
}
else{
$errorMsg = "Field can't be Empty...";
}
}
include("search.php");
}
?>
<?php
//CODE TO ISSUE BOOKS.. NO error..
if(isset($_REQUEST['addBookBtn'])){
$bookId = $_REQUEST['bookId'];
$bookName = $_REQUEST['bookName'];
$authorName = $_REQUEST['authorName'];
$bookPrice = $_REQUEST['bookPrice'];
$bookPublisher = $_REQUEST['bookPublisher'];
if($maxRows){
}
else{
$errorMsg = "Please! Enter in Empty Field.";
}
include("addBook.php");
}
?>
<?php
// CODE TO ADD MEMBER.. No error..
if(isset($_REQUEST['addMemberBtn'])){
$memberId = $_REQUEST['memberId'];
$firstName = $_REQUEST['firstName'];
$lastName = $_REQUEST['lastName'];
$position = $_REQUEST['position'];
//$rollNo = $_REQUEST['rollNo'];
$mobile = $_REQUEST['mobile'];
$email = $_REQUEST['email'];
$course = $_REQUEST['course'];
if($maxRows){
}
else{
$errorMsg = "Table is Empty.";
}
}
else{
$errorMsg = "Please! Enter in Empty Field.";
}
include("addMember.php");
}
?>
<?php
if(isset($errorMsg)){
?>
<div class="errorMsg"><?php echo $errorMsg; ?></div>
<?php
}
?>
</div>
<!--CONTENT AREA SECTION-->
<?php include("rightSection.php");?>
</div>
<!--RIGHT AREA SECTION-->
</div>
<!--CONTAINER AREA SECTION-->
Recommendation
We believe that our system will solve the cumbersome library transaction system in Harambee
university library. So that it will used to manage the entire process where librarian, students use
during service search books, generate reports and other book transactions. Finally we will
recommend that the system can be upgraded by the professional as wanted for improving the
work environment.
Conclusion
This website provides a computerized version of library management system, which will
benefit the students, as well as the staff of the library.
It makes entire process online where student can search books; staff can generate reports and
do book transactions. It also has a facility for student login where student can login and can see
status of books issued as well request for book or give some suggestions. It has a facility of
teacher’s login where teachers can add lectures notes and also give necessary suggestion to
library and also add info about workshops or events happening in our college or nearby college
in the online notice board. There is a future scope of this facility that many more features such
as online lectures video tutorials can be added by teachers as well as online assignments
submission facility, a feature Of group chat where students can discuss various issues of
engineering can be added to this project thus making it more interactive more user friendly and
project which fulfills each users need in the best way possible.
References
[1] E.W. Dijkstra,The structure of the T.H.E Multiprogramming system, Communications of
the ACM, 18(8), pp. 453-457,1968.
[2] D. Parnas, On the criteria to be used in decomposing systems into modules, CACM, 15(12),
pp. 1053-1058, 1972.
[3]https://www.w3school.com