The Scope Of Online Library Management Information Technology Essay
Due to the many problems facing with the current system by the college, I made a completely new library management system that can produce automated online system for managing the activities of the library system. It is totally secured system that can be accessed only by the verified user putting the user name and password procedure.
To mitigate the issues of conventional and manual method of reservation and distribution of books to readers from library, the online Library Management System has been created. The Library Management System is a web-based online system for assisting both the students/teachers and librarian/staff in borrowing and supervising the books. The system would provide fundamental set of features for adding and/or updating members, adding and/or updating books, getting the list of books, finding out the list of books currently checked out, reserving and borrowing books. Its development includes the formation and maintenance of back-end database with MySQL and front-end application development aspects with PHP.
Chapter 1: Introduction
1.1 Project Scope
The scope of Online Library Management System includes:
Ã¢â‚¬Â¢ Create distinct product users based on their roles and permissions.
Ã¢â‚¬Â¢ Authenticate users at their login.
Ã¢â‚¬Â¢ Provide the list of books the users can borrow.
Ã¢â‚¬Â¢ Facility to reserve books that are available.
Ã¢â‚¬Â¢ A status page for all users to view books reserved by them.
Ã¢â‚¬Â¢ Facility to cancel the reservation for a book made earlier.
Ã¢â‚¬Â¢ A status page for all users to view books borrowed by them, their individual due dates and their individual penalties if any.
Ã¢â‚¬Â¢ An interface to view and edit the own profile.
Ã¢â‚¬Â¢ Provide method for adjusting account settings such as passwords.
Ã¢â‚¬Â¢ Mechanism to reset the password in case user forgets it.
Ã¢â‚¬Â¢ Providing interface to add or delete books to staffs.
1.2 Problem definition of existing system
London College of Engineering and Management has been using the manual library system for handling different activities of the library in the college. We can simply say that the system has been running totally in a paper based. The college does not have any online system to enable students to access the library resources.
Main Features Of The Existing System:
This LMS (Library Management System) can hold limited number of information and data regarding books, students, and dates when students borrow the books. As mentioned earlier this system is a manual system which manages all this information in the paper based book known as register.
While issuing the book to the students and/or teachers, first of all one of the college staffs working as a librarian asked the students to show the library card that has already been made by the college for each and every students. If the student does not have library card, then they never issue the book to that particular one. The librarian takes the library card and hold it until the students return the book. In the register, all the information related to the students as well as the book such as accession number, student’s name and contact details, book title, book author, issue date, return date etc. It is impossible to reserve the book from home.
Book Return Procedure:
There is a certain procedure that has to be followed by the students and librarian while returning the book. Within the due date, the student is required to return the book. Otherwise, the student has to pay certain amounts as a fine. The book borrowed by the student is being handed over to the librarian and now it is the duty of the librarian to issue the library card to the respective student by declaring that the student is no longer holding that book with him/her.
Addition Of New Book:
The student can fill a small request form named ‘Request Form For New Book’ in order to get a desired book which is not available in the college. If more than 8 students are demanding for the same book then only the college meeting is held to discuss how to obtain the book in the library.
To keep record of the new book, the library staff needs to fill a form named ‘Add New Book’ in which there are number of headings to be filled up such as ‘Name of Book’, ‘Date of Delivery’, ‘Book Title’, ‘Author Name’, ‘Published Date’, ‘Published Year’, ‘Edition’, ‘Book Category’, etc. They need to keep a catalogue and a notice is stick on the library notice board noticing that a particular book is available in the library.
The librarian is working on keeping the record of penalty paid by the student on not giving back the book on time. Librarian finds out the issue date and return date of the book and if the student fails to return that book within the return date of the book, then he/she has to pay Â£1/day as a fine. The fine may get high in the case when the book has been lost or damage by the student.
The book record is deleted from the library register book when the book has been lost or totally damaged by the user.
Problems With The Current System:
Ã¢â‚¬Â¢ Hard to maintain backup because of large and duplication of data.
Ã¢â‚¬Â¢ Data analysis and access to database is tiresome.
Ã¢â‚¬Â¢ Difficult to obtain book status rapidly.
Ã¢â‚¬Â¢ Updating the details of student/book is a longer process.
Ã¢â‚¬Â¢ Students have to visit the college with an appointment to initialize the process of reservation and/or borrowing.
Ã¢â‚¬Â¢ It is very difficult work to sort the book manually. Data inconsistency may arise in the case of several entries of the same book and in addition whenever a new book is added in the library system. Adding a new book, updating the details of the book and students, and sorting them in a systemic way is somehow impossible.
Ã¢â‚¬Â¢ Due to tear and loss of issue cards, it is required to make a new library card as soon as possible. Again it is time consuming task to find out the information about that particular book.
1.3 Proposed System
As a solution, the project titled “Library Management System (LMS)” is a web-based online system for supervising and managing the transactions in a library. The project “Library Management System (LMS)” is built up in PHP and backed up with MySQL, which mainly concentrates on basic operations in a library including but not limited to adding/updating members, adding/deleting books, reserving/borrowing books and renewing and returning books all processed online.
The proposed system has following advantages.
Easy to handle and feasible
Fast retrieve to database
A smaller amount of error
Easy access to all information
Look and Feel Environment
All the manual complications in controlling the Library have been rectified by implementing this computerization system. The system has been developed to control the behavior, jobs and requirements of each individual category of users. The users are categorized as students, teachers and staffs. Students and teachers are active members of book users whereas the staffs control the distribution and maintenance of library books.
Key Words Involved In the Proposed System:
The following entities are involved in the proposed system:
Staff Teacher Student
Instruction Account Summery Account Summery
View/Edit Profile View/Edit Profile View/Edit Profile
Change Password Change Password Change Password
Book Catalogue Book Catalogue Book Catalogue
Add Books Reserved Book Reserved Book
Issue Books Borrowed Book Borrowed Book
By viewing the keywords involved in the proposed system, we can easily estimate what is all about the system is.
Chapter 2: Literature review
Different development methodologies can be adopted to develop the system. The following common methodologies are:
2.1 Waterfall Model
The waterfall model was initiated as a first sequential design process in which progress is downward. It is also called as a traditional model. There is no upward flow. That is why it is named as waterfall. It is a linear software development lifecycle model.
Fig. 2.1 Waterfall Model
The waterfall model has been prepared on numerous phases particularly to improve the system. By following this technique, the system will be divided into several phases thus reducing out the whole process. For instance you are in the Phase I, it would not go to the next phase i.e. Phase II until the Phase I has done completely. In the same process, you will go to the next phase like as waterfall. Once you go to the next phase, you cannot turn back.
The Waterfall model is simple and easy to use.
Easy to manage because of the inflexibility of the model – each phase has a review process.
All the phases are developed and completed sequentially i.e. one by one.
It works fine for minor systems having well-understood requirements.
Strong documentation is obtainable because a lot of paper work is done in waterfall model.
Modifying scope at some point in the life cycle can destroy the system.
There are high amount of risk and insecurity.
A lot of time is wasted.
When to use the waterfall model:
Requirements are extremely well known, clearly understood and fixed.
The organization has knowledge of alike projects.
Tools and techniques are understood.
There are no vague needs.
The project is short.
2.2 Spiral Model
Spiral model is one of the best model for software development which merge both prototyping and designing in different stages of the development process. It is like designing the first prototype of the concept, its requirements and plan at the end of the first stage. Likewise we create another prototype which consists of drafting the requirements, validating and testing it in another stage. Similarly whole development process runs similarly throughout the entire process of software development which is called spiral model of software development.
This model also used the features of the both prototyping and waterfall model which makes it very efficient and effective software development model. This also the main reason that software engineer uses this model to develop very complex and sophisticated software.
It is basically used in military, future combat, scientific research and so on.
Fig. 2.2 Spiral Model
Individual consequent spirals develops on the baseline spiral. During the planning phase, all the requirements needed are collected. Risk and solution are identified in the risk analysis phase where a process is undertaken. Finally, a prototype is produced. The next phase is the evaluation phase where the clients are given the project to evaluate the outcomes before it goes on to the next spiral.
It minimizes risk because of high level of risk analysis in the different stages of the development process.
It is highly recommended to those projects which are very complex and sophisticated.
Unlike other model, this model is quiet flexible which means that if we want add some functionality at a later date then we can do so.
It requires very highly skilled manpower to analyze and identify the risk.
This model is expensive than other models because of the expertise it requires to develop and analyze the system.
Main success of the project is highly depends upon the analysis stage which means beginning of the stage.
This model is not effective and efficient for the small projects.
2.3 Prototype Model
Prototyping model is such types of model which is used to develop sample of the product including all the requirements in the early stage of software development. This model basically follows the simple concept of test and trail for the precise development of the product. First, we design the concept, built its prototype and then we test that prototype. If there is any problem in that prototype then we go back to our design, makes some changes; after that again we design another prototype and then we test it. In this way whole process runs throughout the period until or unless we get the final product. This is how prototyping model works.
It is mostly used in development of webpage based systems. It is especially used to develop e-commerce sites, shopping sites, catalogue page and product order page etc.
Fig. 2.3 Prototype Model
Early development of prototype gives an idea of how the final product looks like.
Early development of prototype allows us to find problems in our system in early stage so it reduces time to develop final product.
It is one of the costs effective software development process.
It also allows active participation between its user and producer of the product.
It is vulnerable if there are lots of end users as well as it might take long time to develop the product.
It might not combine overall needs of the organization as a whole.
It is not suitable for development of large products.
Structure and design of the system could go other way than that of the original design.
When to use Prototype model:
Prototype model should be used when the desired system needs to have a lot of interaction with the end users.
Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user.
Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system. They are excellent for designing good human computer interface systems.
2.4 Rapid Application Development Model (RAD)
As its name implies, Rapid Application Development is one of the fastest ways of developing software. It uses minimal planning for its prototype which makes it easier to develop software much faster. Instead of wasting time for planning and design, they simply merge planning with construction phase. It means that planning and construction goes together which ultimately makes it more flexible to changes of the requirement in the middle of the construction. We can call it as an incremental process model that insistences a small development phase.
This approach is mostly used in such types of environment which needs fast response. Similarly, when the system is needed than early set development time then this approach is suitable to provide a fast response. It is specially used to developed systems for share markets, IT (Information technology) companies and so on.
Fig. 2.4 Rapid Application Development Model (RAD)
It reduces the time while developing the software.
Different components can be reused.
It provides higher customer satisfaction due to active involvement during software development.
It supports the feedback of the customer.
It helps to improve integration issue as well.
It depends upon the highly qualified team and developers to identify the requirements.
It is costly method due to cost of modeling and automated generation coding.
It requires highly-skilled manpower.
RAD can only develop those system which can be modularized.
When to use Prototype Model:
It should be used if the requirements are well identified.
It should be used if there is enough high-skilled manpower and the high amount of cost that needed for the entire project.
It should be used that can be modularized in a short period of time.
It should be used if there is availability of the user involved during the entire life cycle of the system development.
2.5 Agile Methodology
Agile is one of the rapid ways of developing software. It is also one of the main types of incremental model where different results of different phases were merged together and send for through testing. After that, these results are use for application development. Because of incremental model, small software produces with quick phases. It is cooperative as well because the developers and clients are working frequently together with good communication. It is straightforward due to its well documentation, simple, and easy to learn. It is also well adaptive in nature. At any time, changes can be made easily without difficulty. There are different organization that are using this approach as for example, General Electronics (GE), British Airways, NYSE Euronext and several other agencies.
Fig. 2.5 Agile Methodology
Type of Agile Methodology:
Crystal family of methodologies
Feature Driven Development
Rational Unified Process
Dynamic Systems Development Method
Adaptive Software Development
Open Source Software Development
Other Agile Methods
It is a rapid way of development of software so client satisfaction is high.
Client satisfaction is emphasize that means interaction with client is high so less chance of product failure.
There is a good communication between developers and clients.
It is very flexible that even late changes in requirements are adopted without any problems.
If organization representative is not sure about the specific requirement for the organization then whole software development process will be on jeopardy.
When developing a large product for large organization it will be very difficult to achieve and measure the requirements needed for the development of application.
It gives less emphasis to design and process of the requirements.
It requires very highly experienced manpower which will often make this process quite expensive.
When to use Agile Methodology:
It should be used if the system needs some certain changes in the middle of time. These changes are possible with a minimum amount of cost.
It should be used if you want to make a good communications between the clients and developers so that client gets fully satisfaction with no error.
It should be used if the system needs a good design and technical excellence.
Out of the above methodologies, I have chosen Rational Unified Process (RUP). In my project, I have implemented Rational Unified Process as a methodology where Joint Application Development is possible and inception, elaboration, construction, and transition phases are overlapped so that feedback from the client can be effectively implemented in my system.
2.6 Tools and Technologies Used
HTML is hyper text mark-up language which is the core part of the internet. HTML 5 is a fifth revised version of the HTML. This mark-up language is very important for the structuring the framework and presenting the design in the World Wide Web. This HTML 5 is revised version which is W3C candidate recommendation. It means that it is in most optimum stage than any other old version released. The key difference in the HTML 5 is that it is more users friendly as well as supports all the latest multimedia. The main aim of this language is to create a easy communication through language between the computer and its users.
Cascading style sheet is such types of language which is used for the presentation of the documents written in mark-up language. This style sheet is basically used in web based systems and its main function is to bring the life in those systems by using creativity of the developers. CSS3 is just another version of the CSS which holds some extra styling functions than its old version. It allows you for more alternatives for HTML tags and also explains how it can be shown in the WebPages. The modular construction also allows CSS3 to be more flexible for the developers and end users as well.
It is an abbreviation of Perl Hypertext Pre-processor. It has been widely used as the web based system development and web page development. It is an open source scripting language used to create dynamic web content which can be link with database and ultimately makes it more interactive. In PHP based web pages when a page is clicked or requested by end user it execute PHP script and automatically link that page with database which makes it more dynamic than other scripting language.
Why PHP not ASP in this project ?
1. On Server: ASP operates only in windows ( can also run on Linux but not supported by many host and not so compatible), while PHP runs on both Linux and windows server.
2. On Database: ASP support s all databases but its best run with Microsoft Access and Microsoft SQL but does not run well with MYSQL; one may get problems on paging . PHP runs best and easily support with MySQL and Microsoft SQL.
3. In Programming: With PHP, one can also easily work on server related programming like DNS, metadata, etc. but in ASP, it is very hard to perform on server side manipulation and one needs special permission to do that from admin. Typically, the same functionality can be accomplished in less code with PHP than with ASP. This is because the HTTP GET and POST variables are created automatically by PHP as global variables, thus eliminating the step of extracting them from the ASP Request object.
4. In Finance: Many add-ons for PHP are free (if hosted on Linux). but with ASP one needs to pay for almost everything like mail component, ftp component, image upload component etc.
Therefore, PHP is more powerful tool for a dynamic web pages.
It is one of most famous open source relational database management system which is based on Structured Query Language. It can support multiple accesses in its database, which makes it one of the most famous database management systems for development of web based systems. MySQL is used in different kinds of application including data warehousing, e-commerce, web databases, logging and distribution application and so on.
Apache HTTP Server
It is simply a public-domain open source which is developed by loosely-knit group of programmers in 1995. The main function of this server is to support different commercial applications and web services standards. It also supports a variety of features and most of them are complied together to support core functionality. These can range from server-side programming language support to authentication schemes.
HTTP stands for Hyper Text Transfer Protocol used by World Wide Web. It is a main foundation of communication of World Wide Web. Hypertext is multi-linear sets of objects, building a network by hyper links between nodes, which also called text of word and HTTP is that protocol which is used to transfer that hypertext.
Microsoft Visio is an application used for drawing layouts, blueprints, flowcharts, schematic diagrams etc. For this project, I used this application for ER diagram, diagrams for methodologies, and tables. With the help of this application, I have completed my diagrams and tables without taking longer time.Order Now