Uploaded by kamla

Doc Lib

advertisement
Chapter five
5.0 SYSTEM STUDY ANALYSIS AND DESIGN
5.1 INTRODUCTION
The evolution of technology and COVID19 that struct around the world has led to the automation
of business management with different online platforms. This which has not left out the provision
for education as all learning students have had the need for student material thus including having
to learn on their own with little access to libraries.
Therefore, to cope up to this dynamic technological evolution and the effects of the pandemic. We
have decided to launch a web application named Soma that will ease access to reading material to
pupils in both KCCA and Bat Valley KCCA schools and make work easier for librarians and
teachers to share information inform of books for both schools
The system is to ease shareability of information resources among the schools.it will also solve the
issue of small library space since library materials can be digitalized and stored online. With the
system in place it will solve the issue of Covid spreading and help people follow the sops since
they don’t have to move.
5.2 SYSTEM STUDY
5.2.1 WEAKNESSES OF THE EXISTING SYSTEMS
 The existing manual system that is in use involves a plethora of risks involving infections
through manually handing books over to students.
 Some of the books returned could be damaged.
 There is a risk of a student not returning the book or misplacing the book.
 Limitations on the number of books per students.
 Inadequate social distancing that could lead to more infections in the libraries.
 Last but not least involves restrictions on hours for accessing the reading materials.
5.2.2 THE PROPOSED SYSTEM
PROJECT CATEGORY:
RDBMS
HTML
Laravel (PHP)
JAVASCRIPT
JQUERY AJAX
BOOTSTRAP
PROJECT DESCRIPTION:
The Library Management System is a web based online system that will handle day to day book
keeping, management as well as distribution of reading materials across the students of the schools
under KCCA. The system will be user based with different roles ranging from an administrator
with the access to every module of the system, a librarian whose role will be to enter or register
books in the system, approve books that have been uploaded by the teachers, adding teachers to
the system, to mention but a few.
The system will also have a teacher based role to monitor students activity and upload reading
material to the students of the different schools and classes assigned to them. The system will also
have the provision of allowing students to login and access the books/reading material. Future
prospect will also be able to build it that assingments can also be uploaded for students to work on
and follow up on their progress.
Tools/Plaform:
This project is developed using the tools, which are most suited for development of the Application
Package. These tools are as follows: 1. HTM, Bootstrap, JQuery Ajax, JavaScript (For front end)
2. Personal Home Page(PHP) Programming Language (For the back end script)
3. MySQL (RDMS server)
4. Apache (Web Server)
5. Visual Studio Code (Text editor)
6. Git (Version Controller)
Backend tool(S):
MySQL
MySQL is an open-source relational database management system (RDBMS) that uses Structured
Query Language (SQL).
SQL is the most popular language for adding, accessing and managing content in a database.
MySQL will handle the backend operations of the farm management system. It will store all the
data that has been entered in a database.
Tables will be used to enter the different types of records for the farm.
Frontend Tools:
Laravel (PHP)
Laravel is a PHP framework based on an MVC (Model View Controller) architecture.
The models are used to communicate with the database, Controllers handle the logic and the views
provide what the user see.
This will make building such a big REST full application easy. This is in terms of CRUD
operations. i.e. Create Read Update and Delete.
HTML
HTML is a Markup Language. And will be used to create the layout of the different web pages of
the application.
CSS
Cascading Style Sheet will be used for designing the content of the farm management system.
With the styling, bootstrap will also be used in the styling of the content for examples. Tables,
buttons, navigation bar and many other components.
JavaScript
JavaScript will be used to add interactivity to the application. For examples from the animations
to the Ajax calls.
Apache
This is a web server that will be used to run the PHP script files therefore the files that come with
Laravel.
VS Code.
Visual Studio Code will be the text editor that I will use during the development.
Git
Git is a development tool used for version control. Therefore it will help me keep track of the
changes and updates that have been made on the web application.
5.3 SYSTEM ANALYSIS
5.3.1 USER REQUIREMENTS
Hardware Requirements

Processor dual core and above or its equivalent

Hard disk at least 20 GB or above

Memory at least 2 GB RAM or above
Software Requirements

APACHE AND MYSQL

Any operating system

A web browser
5.3.2 FUNCTIONAL REQUIREMENTS
 To provide a multi level authentication for different user according to their roles.
 To keep an audit trail for all user functionalities and user ability.
 To keep book records in one centralized environment.
 Ability to monitor all books that are added by the different users including teacher and
librarian.
 To differentiate all schools with reference to all available teacher, student and librarians.
 To allow unlimited access and to reading materials.
 To provide a cross platform system accessible on all laptops, desktop and mobile devices.
 To provide support for the system to work on all browers.
 Daily backups of the database and user information.
5.3.3 NON FUNCTIONAL REQUIREMENTS
 Response time of the applications should reflect the real time observations.

There shouldn’t be any security concerns on the merged data.

Each user’s activity should be separated from the other user’s activities

Provision to send email alerts for librarians when a book has been uploaded by a teacher.

Monitor how students often use the learn material.

Scalability for the system to be used by more than two school.

Robust and fast working system to prevent lag and waiting time for it load.

Improvements in the user interface
5.4 SYSTEM DESIGN
5.4.1 ARCHITECTURAL DESIGN OF THE SYSTEM
The system is based on MVC (Model View Controller) architecture with makes CRUD (Create
Read Update Delete) a piece of cake.
State query
MODEL
Change
Notification
Holds the data of the application e.g.
databases.
Reflects real-world things/ objects.
Defines the essential components of your
app.
State change
CONTROLLER
VIEW
Renders data retrieved from the
models.
Requests updates from models.
Sends user requests to controller.
Allows controller to select views.
View selection
User Request/
Action
- Method Invocation
- User Gestures/ Actions
Contains the logic that talks to the
database to retrieve requested data.
Defines application behavior.
Maps user actions to model updates.
Selects view to return as response to
user request.
It controls how the application works.
It is the brains of the application.
5.4.2 PROCESS MODELLING
5.4.2.1 CONTEXT DIAGRAM OF THE SHAREBILITY SYSTEM
5.4.2.2 LEVEL 1 DFD FOR THE SHAREBILITY SYSTEM
5.4.2.3 DATA DICTIONARY FOR THE DFD
Request Type
Description
Form Input
1. Get
2. Store
3. Delete
This is request is None
made when the
user(librarian
wants to see
teacher’s
records, students
and books in the
system
This is request
 Name
the done when
 ISBN
the
 Aurthor
user(Librarian is
 Edition
storing
or
 BookTypeID
adding a new
 ClassID
book)
This request is
 BookID
made when a
book is being
deleted from the
system
5.4.3 DATA MODELING
Enitity/ Tables
Database
Books
diss_db
Students
Teachers
Books
5.4.3.1 MODELLING RELATIONSHIPS BETWEEN ENTITIES
5.4.3.1.1 RELATIONSHIP BETWEEN USER AND RESOURCES
The relationship between a user and the resource is a one to many type of relationship. In this case,
it means one user has many books belonging to them except the students. As shown in the figure
below, AddedBy is the foreign key point to the UserID of the users table.
5.4.3.1.2 RELATIONSHIP BETWEEN USER AND COMMENT
5.4.3.1.3 RELATIONSHIP BETWEEN USER AND REPLY
5.4.3.1.4 RELATIONSHIP BETWEEN USER AND SECURITY QUESTION
5.4.3.1.5 RELATIONSHIP BETWEEN USER AND SCHOOLS
The relationship between a user and school is a many to one type of relationship. In this case, many
users including librarians, teachers and students fall under one school that is with the exception of
super administrator. As shown in the figure below SchoolID is the foreign key pointing to the id
of the schools table.
5.4.3.1.6 RELATIONSHIP BETWEEN USER, RATING AND RESOURCE
5.4.3.1.7 RELATIONSHIP BETWEEN RESOURCE AND COMMENT
5.4.3.1.8 RELATIONSHIP BETWEEN RESOURCE AND ISSUE
5.4.3.1.9 Relationship between Resource and Subject
The relationship between a Resource and Subject in this case book_types table is a many to one
type of relationship. In this case, many books fall under one subject. As shown in the figure below
BookTypeID is the foreign key in books table pointing to the id of the book_types table.
5.4.3.1.10 Relationship between Reply and Comment
5.4.3.1.11 Relationship between Issue Response and Issue
5.4.3.1.12 Relationship between Subject and Level
5.4.3.1.13 Relationship between Level and Resource
The relationship between a Level and the Resource is a one to many type of relationship. In this
case, it means one Level (Class) has many books belonging to it. As shown in the figure below,
ClassID is the foreign key pointing to the id of the classes table.
5.4.3.1.14 Relationship between Admin and Issue Response
5.4.3.2 The Enhanced Entity Relationship Diagram of the System
5.4.4 Database Design
Tables














audit_trail
book_types
books
classes
departments
migrations
other_user
password_resets
schools
students
teachers
titles
userroles
users
Books Table
No
Description
1
2
Primary Key
Keeps the book name
3
Store the Internation Serial
Number of the book
Stores name of the author
Store the edition of the book
Foreign key that points to the
Class Table
Foreign key that points to the
book category or subject of
the book
Foreign key that points to the
user table with librarians
timepstamp
timestamp
Store the location of the files/
books
4
5
6
7
8
9
10
11
Column
Name
id
Name
Data Type and
Size
bigint(20)
varchar(191)
Attributes
ISBN
varchar(191)
utf8mb4_unicode_ci
Aurthor
Edition
ClassID
varchar(191)
varchar(191)
int(11)
utf8mb4_unicode_ci
utf8mb4_unicode_ci
BookTypeID
int(11)
AddedBy
int(11)
created_at
updated_at
Location
timestamp
timestamp
varchar(191)
Null
UNSIGNED
utf8mb4_unicode_ci
YES
YES
utf8mb4_unicode_ci
Audit Trail
No
Description
Column
Name
id
Data Type
and Size
bigint(20)
Attributes
1
Primary Key
2
action
varchar(191)
utf8mb4_unicode_ci
user_id
int(11)
4
Audit action that
the user didi
Foreign key that
points to the
user that did the
action
timestamp
created_at
timestamp
5
timestamp
updated_at
timestamp
3
Null
UNSIGNED
Departments/Titles/Userroles/Classes/BookTypes table structure
No
1
2
3
4
5
Description
Primary key
Name of the
tables function
Description of
what each of the
functions do
Timestamp
Timestamp
Column
Name
id
Name
Data Type
and Size
bigint(20)
varchar(191)
Attributes
Null
Default
UNSIGNED
utf8mb4_unicode_ci
No
No
Description
varchar(191)
utf8mb4_unicode_ci
Yes
created_at
updated_at
timestamp
timestamp
Yes
Yes
Teachers Table
Name
Description
Column Name
1
2
Primary key
Records
First Name
Records
SurName
Repords
Middle
Name
Foreign key
that points
to the Class
Table
Records
Phone
Numbers
Records
Email
Addresses
3
4
5
6
7
Attributes
id
FirstName
Data Type
and Size
bigint(20)
varchar(191)
Null
Default
UNSIGNED
utf8mb4_unicode_ci
No
No
SurName
varchar(191)
utf8mb4_unicode_ci
No
MiddleName
varchar(191)
utf8mb4_unicode_ci
No
ClassID
varchar(191)
utf8mb4_unicode_ci
No
PhoneNumber
bigint(20)
Email
varchar(191)
No
utf8mb4_unicode_ci
No
8
9
10
11
Foreign key
for the
school table
Foreign key
that points
to the user
table
timestamp
timestamp
SchoolID
int(11)
No
AddedBy
int(11)
No
created_at
updated_at
timestamp
timestamp
Yes
Yes
User/Other_user table
N
o
1
2
3
4
5
6
7
Descriptio
n
Primary
Key
Keeps
email
address
records
Keeps the
name of
the users
that can
access
the
system
Stored the
time an
email was
verified.
But can
be left
empty
Stores the
hashed
password
of the
users
Field that
store a
Boolean
to show if
user has
been
blocked
or not
Foreign
key that
points to
the
userroles
Column Name
Data Type
and Size
bigint(20)
Collation
email
varchar(19
1)
Name
varchar(19
1)
email_verified_
at
timestamp
password
varchar(19
1)
validity
UserRole
id
Attribute
s
Nul
l
No
Defau
lt
None
utf8mb4_unicode_
ci
No
None
utf8mb4_unicode_
ci
No
None
Ye
s
NULL
No
None
int(11)
No
None
int(11)
No
None
UNSIGNED
utf8mb4_unicode_
ci
8
9
1
0
1
1
1
2
1
3
table to
indicate
what kind
of user
role the
user has
Stores a
unique
string for
each user
Stores a
string
token for
users that
have
forgotten
their
password
Timestam
p
Timestam
p
Foreign
key that
keeps the
id to the
titles table
Stores the
Gender of
the users
Obfuscator
varchar(19
1)
utf8mb4_unicode_
ci
No
None
remember_tok
en
varchar(10
0)
utf8mb4_unicode_
ci
Ye
s
NULL
created_at
timestamp
NULL
updated_at
timestamp
title
int(11)
Ye
s
Ye
s
No
gender
varchar(19
1)
Ye
s
NULL
utf8mbS4_unicode
_ci
NULL
None
Download