Proposal
This proposal is written to clarify the project work of Information Systems, assigned to us as an individual task in order to tackle the cases of python programming language. Here, we have to develop a library management system that maintains the book information of the library (like reading the text file, displaying all available books for borrowing and so on).
Problem Statement
The problem introduced was to manage the library management system and update the management system according to the items used.
Aims and Objective
The aim of the given project is to make an application that manages the library books for the library. The main objective of the project is to complete all the given tasks in the best possible way. To achieve the aim, study and research are to be taken into consideration regarding the process which performs the library management system. To complete the targeted aims and objectives, lots of effort and hard work should be done.
Proposed Approach
To carry out all the tasks given in the project work, following approaches will be done:
- Lots of research would be undertaken regarding the topics like algorithms, pseudocodes, flowcharts, python programming and method testing.
- Algorithms would be written in proper understanding.
- Data structures of suitable data types would be selected for writing the program.
- Pseudocode would be written to prepare the rough scratch of the required program to be created.
- Flowchart would be drawn for various paths that must be followed to perform the acts to complete the goals of the given program.
- Lastly, the written program would be tested to make sure that it has no bugs and errors and prints the accurate result.
Hardware and Software Requirements
To complete the given project work, different hardware and software are required. PC is used for carrying out all the tasks given in the project work. Python programming language is used for developing codes and as per the documentation part, Microsoft word is used.
Table of Contents
1. | Introduction |
2. | Discussion and Analysis |
3. | AlgorithmStepwise algorithmPseudocodeFlowchart |
4. | Data Structure |
5. | Testing |
6. | ResearchWebsitesJournals |
7. | Conclusions |
8. | Reference |
Table of Figure
Figure 1 | Microsoft Word |
Figure 2 | Python 3.8 |
Figure 3 | Working space of draw.io |
Figure 4 | Flowchart of borrowing a book |
Figure 5 | Flowchart of returning book |
Figure 6 | Figure of testing of test 1 |
Figure 7 | Figure of testing of test 2 |
Figure 8 | Figure of testing of test 3 |
Figure 9 | Figure of testing of test 4 |
Figure 10 | Figure of testing of test 5 |
Figure 11 | Figure of testing of borrow text file of test 5 |
Figure 12 | Research for pseudocode |
Figure 13 | Research for loops |
Figure 14 | Research for modules |
Figures 15 | Research for exceptional handling |
Figure 16 | Research for data structure |
Figure 17 | Journal for Python Programming Languages |
1. Introduction
This is the report of the project work designed to produce a system or an application that handles library management systems. The program was developed with the precise aid of algorithms and pseudocodes accompanied by the flowcharts.
As the tasks assigned were not so easy. In order to describe our ability to understand and face the questions as well as demonstrate them in an illustrative way as per the requirement requires a lot of firmness.
This project work i.e. library management system is similar to the inventory system which will help the user to borrow and return the books available in the library. The library is a place where the user can borrow and return the book with his/her desire. The library lets its users choose any of the available books to borrow.
Well, you may ask why we need to develop this system when there is no need for it. Because the libraries of today are coping well with their old methods i.e. recording the user borrowed or returned history in the paper rather than in software. Even without the help of today’s modern software the libraries are managing and are not facing any problems. Yes, it is true but we should always see for the future progress. Because there are technological advances in every sector in today’s world.
With the new technologies and systems being brought up to life the old methods or techniques should start to change with the passage of time. There is a need for developing this system because our libraries are slowly changing into modern ones and they need the newly developed software.
This software or program will help the libraries to keep the proper track of the books borrowed and returned by the user and will help them to ensure there is no loss of books.
This system is user friendly and time-efficient and can help to avoid the unnecessary duplication of the data and makes it easier to understand.
The main feature of this project is that it will enable the user to understand the IDLE (Integrated Development and Learning Environment) in python and help them to use the system to the fullest. It will help even those people who don’t understand a little about the programming language to use this program to its fullest and without any errors. This program will let the programmer to work with different functions and statements and helps to understand the programming language more in depth.
2. Discussion and Analysis:
In the discussion portion of this task, a lot of research was done in order to solve the problem and also had a brief description about python in different websites and books. The websites from which I have taken help are given in the Bibliography section with the full detail of it. After hard work and regular contact with the module leaders and friends I was able to do this project work. There are some important things without which this task would not be possible to do.
Figure 1: Microsoft Word
This project work was designed with the help of different tools available throughout the researching section. To develop the documentation portion of this project work Microsoft Word 2016 .
Figure 2: Python 3.8
Likewise, to develop the developmental portion of the project work IDLE (Integrated Development and Learning Environment) of python 3.8 was used. All the codes were written and executed in the python shell window.
Furthermore, to develop the flowcharts a free online diagram software was used called draw.io which allows us to create different shapes and organize flowchart with the appropriate diagram. Moreover, research was done over various project work related topics using web browsers.
3. Algorithm
- Stepwise algorithm
Algorithm for borrowing book:
Step 1: Start
Step 2: Input the full name of the borrower.
Step 3: Is the name valid?
If yes, create borrow.txt file and store the borrower details
Then go to step 4
If no, print “Invalid name” then go to step 2
Step 4: Choose any one from the option of the book.
Step 5: Is the book available?
If yes, append further details in the borrow.txt file
Then go to step 6
If no, print “The book is not available.” Then go to step 4
Step 6: Update the stock file from which the book is borrowed.
Step 7: Do you want to borrow the next book?
If yes, go to step 4
If no, go to step 8
Step 8: End
- Algorithm for Returning Book:
Step 1: Start
Step 2: Input the name of the borrower.
Step 3: Is the name valid?
If yes, read the borrow.txt file of the given name.
Then go to step 4
If no, print “Invalid name” then go to step 2
Step 4: Display the borrow.txt file of the given name.
Step 5: Generate return.txt file and update the stock file. Step 6: Is the book returned date expired?
If yes,
Go to step 7. If no,
Go to step 9.
Step 7: Add fine
fine= 5*day
Step 8: Add total fine and cost of the book.
Step 9: Output generated text file with the total cost. Step 10: End
- Pseudocode
Pseudocode for borrowing book :
- input the full name
-if name is valid then
create borrow.txt file and store the borrower details in that file
else
print “Invalid name”
end if
-Choose any one index number from the option of the book.
-if the book available then
append further details in the borrow.txt file
else
print “The book is not available.”
end if
-Update the stock file from which the book is borrowed.
-while borrow book is true
Choose any one index number from the option of the book.
If the book available then
append further details in the borrow.txt file
Else
print “The book is not available.”
end if
end while
Pseudocode for returning book:
-input the name
- if the name is valid then
read the borrow.txt file of the given name.
Else
print “Invalid name”
end if
-Display the borrow.txt file of the given name.
-Generate return.txt file and update the stock file.
-while returned date expired is true
Add fine
Fine = 5*day
end while
-Add total fine and the cost of the book.
-display generated text file with the total cost.
Flowchart
Figure 4: Flowchart of borrowing book
Figure 5 : Flowchart of returning book
4. Data Structures
To carry out different operations in Python for input/output and for data storage this project makes the maximum utilization of the collection data type list. Python also provides varieties of data types like integer, string, Boolean, float etc. Some of the data types and data structures were used while writing the program to store and manipulate the data and perform various operations on them. The data types and structures used in the program are:
- Integer
- Float
- String
- Boolean
- List
Integer data type was used in the program to store all the numerical values provided by the users as well as the results developed from the different operations. For instance, it is used to store the quantity of the books in the variable quantity[index].
Similarly, float data type is used to store decimal values in the program. It is used to store the total cost price of the books in the variable total.
Correspondingly, string data type is used to store textual data having sequences of one or more characters. Various operations like choice, stat are carried out in string. Most of the printed statements in our .py file are often concatenated and of data type string.
The different functions of our .py file string data type are used for storing the decision of the user.
Likewise, Boolean is used to store one character (either true or false). It is used in the program to check conditions and stored in variables like loop, success.
Moreover, the list is used to store values on book name, author name, quantity and cost in our .py file.
As the list is mutable collection data types, the value on the list can be added or removed as per the user needs by the use of methods append() and extend() which have been successful to include in different modules of our .py folder.
5. Testing
Testing is an important portion that is to be carried out while developing any program as it helps to find the error if there is any error and helps to debug the program. Testing helps us to get familiar with the type of error and handle the errors with the necessary formatting in the program.
Test-1
Action | To check whether it can handle exceptions or not. |
Expected Output | It should be able to handle any sum of input of the user. |
Actual Output | The program was able to handle even the wrong input of the user. |
Test Result | The program runs in its flow until the user closes it. |
Table 1: Table of test 1
Figure 6: Figure of testing of test 1
Test 2 :
Action | To check whether the program can borrow multiple books or not. |
Expected Output | It should be able to ask the user whether to borrow more books or not. |
Actual Output | The program was able to ask the user whether to borrow more books or not. |
Test Result | Pass |
Table 2: Table of test 2
Test-3
Action | To check whether the quantity of books in the stock file.while borrowing is reduced by 1 or not. |
Expected Output | It should be able to reduce the quantity of books by 1. |
Actual Output | The program was able to reduce the quantity of books by 1. |
Test Result | Pass |
Table 3: Table of test 3
Before borrowing book
After borrowing book
Test-4
Action | To check whether the fine is added after returning the book or not. |
Expected Output | It should be able to display the returning book with the total cost. |
Actual Output | The program was able to display the returning book with the total cost. |
Test Result | Pass |
Table 4: Table of test 4
Figure 9: Figure of testing of test 4
Test-5
Action | To check whether the data is stored in a text file or not. |
Expected Output | It should be able to store data in a text file. |
Actual Output | The program was able to store data in a stock file. |
Test Result | Pass |
Table 5: Table of test 5
Figure 10: Figure of testing of test 5
Figure 11: Figure of testing of borrow text file of test 5
6. Research
The given project work was completed with lots of research which made the project work comparatively easier. The steady effort and boundless research related to different themes made the tasks less difficult to carry out. After various research and practise we were able to know how exactly the program runs and what are the correct codes for the program. Lots of websites, journals and books were consulted for gaining information on various important topics. The research not only enhanced our knowledge to complete the project work, it also sharpened our knowledge and understanding about various topics in python.
6.1 Websites
https://study.com/academy/lesson/pseudocode-definition-examples-quiz.html
Figure 12: Research for pseudocode
I used this site to learn about the pseudocode to be written for the assigned program.
Figure 13: Research for loops
I used this website to have a sound knowledge on python loops and how they are used and operated.
Figure 14: Research for modules
I used this website to increase my understanding of python modules and packages.
Figure 15: Research for exceptional handling
I used this website to handle exceptions in the assigned python programming.
https://www.datacamp.com/community/tutorials/data-structures-python
Figure 16: Research for data structures
This site was used for gaining effective knowledge about the data structures. I became familiar with lots of terms related to types of data structures and their functions and advantages.
Journals
Python: A programming language for software integration and development
Figure 17: Journal for python programming language
This journal is written by M.F. SANNER which describes python, python numeric extensions, etc. I used this website to learn about the python programming language and its features over other programming languages.
Conclusion
This project work was finally completed with lots of hardship, several research on the related topics such as flowcharts, algorithm, pseudocode and so on. The tasks assigned in the project work were not easy at all. The code was written and tested to confirm that it had no bugs and errors and delivered the accurate result. For the successful completion of all the tasks, each task was carried out in steps, which made the task easier.
This project work helped the way to do a task in a certain time period in a managed way and also helped to develop skills which will be very helpful in the future as well. While doing the project I gained sound knowledge of python, its data structures, its various in-built functions, comments, while and for loops, if/else conditionals and many more. This project helped to gain valuable experience. All in all, although the tasks were tough and required nights of hard work and labor, successfully completing those tough tasks was a lot of fun.
Reference
- Moran, Barbara B. and Claudia J. Morner. Library and information center management.
- Rafols, Ismael, Alan L. Porter and Loet Leydesdoff. A tool for research policy and library management.
- Roitberg, Nurit. The influence of the electronic library on library management: a technological university library experience.
- Ketan S., Rohini P. and Sankalp s. Pawar. Library management using RFID.