Embed Size (px)
Library Management System. Project done in 2nd year(4th semester) as part of Software Engineering Lab course
2. GroupMembers Group Leader: Priyatham Bollimpalli 10010148 Other members: Neha Goyal 10010137 Anuj Gupta 10010176 Samarth Tripathi 10010156 Jitendra Singh Solanki10010124 Nitesh Singhal 10010139 Vivek Rajwar 10010171 Mohit 10010134 3. SoftwareModelImplemented In the development of this application the spiral model has been used and the application has undergone many cycles of improvement which will be highlighted for each module in this presentation. 4. Theback-end MS Access is used for managing the back-end. ProjectDatabase.mdb (MS Access File) is used as the backend database. It is password protected so that it wont be tampered with. Only the owner of the software is provided with its password. The above file is automatically updated as required at various events like issuing, returning, renewing, adding or deleting a book. 5. TheWelcomeScreen. HavingtheoptionfortheLibrarian(Administrator)tologin, for thestudentstochecktheirdetailsandtosearchthelibrary forbooks. 6. Logic and Implementation Since this is the most external interface, its implementation was the easiest of all once the essentials had been thought of. An SQL query is used to retrieve the entries of a possible admin. The validation of admin credentials are checked against these entries in the database. If correct credentials are entered, another form containing administrative functions is called. In the check-outs, the student details concerning the library are displayed using simple SQL select statement. This is the most static portion of the project. In explore library database an appropriate form containing searching and sorting functions is connected. 7. Followingthespiralmodel. Initially, this form consisted of only the admin login. 8. TheAdminhomescreen. Itconsistsofvariousfunctionslikeissue,renewal,return,addorremove books,viewstudentdatabase,viewlibrarydatabase,andviewmailinglist. Italsohasanoptionofchangingthepassword. 9. Issue,ReturnandRenewal 10. Logicandimplementation Appropriate SQL commands are executed to update the database. It is also checked if the book is available to issue and if the student crossed his limit while taking the books. It is also checked if the book being returned was the book actually issued by the student and if any fine is there on the book. Then the fine is made to be paid by the student. To renew is to return and issue again. 11. Followingofthespiralmodel Initially it was ignored that a book could be returned if and only if it had been issued by the student. So, subsequently the code was modified to check the entries in the student table in the database to accommodate this requirement. 12. AddorRemoveBooks 13. LogicandImplementation Adding an existing book or removing a book can be done with just the accession number as all details of the book are already entered in the database. For this it is important to check that the accession number is already entered in the database (using SQL select). The SQL queries used are update for addition and delete for removal. For adding a new book various details of the book are to be entered to complete its database entry. We are ensuring that a unique accession number is entered. Insert SQL query is used. 14. Followingthespiralmodel At first, we had implemented the add and delete feature without checking beforehand whether the accession number is present. This change was later incorporated. 15. ViewMailingList 16. LogicandImplementation. The SQL query used is select in the students table to retrieve the mail ids of where totalfine is greater than zero. The result set is then transferred into a list box. 17. Followingthespiralmodel This feature was not a part of the proto model for the application and was itself added later. 18. ChangePassword 19. LogicandImplementation It is easily implemented by using select and update queries one after the other 20. Followingthespiralmodel This entire feature was added once the basic model was running successfully as it was not part of the problem statement. 21. ViewLibraryDatabase 22. LogicandImplementation Primarily, the form has been rendered functionality by using Dataset class and the datagridview class. An object of Dataset is used to store the result set of a SELECT SQL query. A datagridview facilitates the direct display of the result set stored in the a Dataset object after appropriate binding of its text columns with the dataset on form load: the text columns of datagridview1 have been data bound with appropriate columns of dataset11, an instance of Dataset class. Then the dataset11 has been cleared since data will be appended to it on further use. The dataset is then filled with the result set of the query .All the items of the library are displayed when the form is loaded. On typing in any of the textboxes, the common function Search () will be triggered as text change event. It will search for the strings present in the four textboxes. On click of the any of the sorting button we are searching and sorting simultaneously. We are also making the button act like toggle button between ascending and descending order by maintaining Boolean variable. 23. Followingthespiralmodel Initially the code for this section was implemented omitting the fact that every textbox may contain a null string requiring us to code for every possible permutation by checking emptiness of textboxes one by one on every textbox keypress. This was later improved by using a single function search() and checking for emptiness of all textboxes as a single entity. 24. ViewStudentDatabase 25. LogicandImplementation The implementation of search is the same as that of the previous section. And the implementation of view dues is the same as that of checkouts. Hence it is apparent that a lot of code has been reused and recycled. 26. Updatingthefine This is very important feature. Firstly at the start of the application, all the fines of the students are updated. The date is stored in a static variable when its updating. Later this update function is called whenever: 1. The student checks his check-outs 2. The admin sees the student database 3. Issuing, returning ,renewing is done 4. Viewing the mailing list. Before we are updating the fine we are comparing the present date with the stored date during which it is updated. Then if its same day then we are not updating the fine otherwise we are updating. This ensures that the fines are updated whenever required during a minimum interval of 1 day. 27. Possibleimprovementsandextensions Increase the database library to accommodate all the books in the establishment where this application is employed. Increase student database to accommodate all eligible members. Increase or decrease the limit of books a student can issue Increase or decrease the issue duration as the purpose demands. This model is not specific to the CSE library and can be used in the institute library as well as other departments.