Software design document
Executive Summary:
A Library Management System is a software or an app-based program to manage the primary housekeeping functions. It maintains the record of the library and also protects the existing database of resources and consumers. It somehow reduces the burden of manually managing the whole process, registering various data, and managing the process. The library management system is a way more effective in operating the whole process and workflow that generally happens in a Library. Here, the library management system has been briefed, along with its purpose, the objectives, the deliverables, the results. The system design and development have been briefly discussed. Several workflows, several diagrams, charts, processes have been defined as well. Starting from its block diagram to case diagram, class identification to technologies used, everything has been covered in this part. Besides, the functionalities of every part of the system and workflow have been discussed. Hence, though the system developed in this project seems basic, it is quite effective, and the Though the UI, and technology used seem fundamental yet, it is adequate for self-learning (Voorhees, 2020).
Table of Contents
Purpose of the LMS designs Document: 3
Structure of software package: 4
Technology Used in Library Management System and the functionalities: 6
Architectural design pattern: 10
Information Viewpoint 14
Introduction
Background of the project
A Library Management System is a software or an app-based program to manage the primary housekeeping functions. It maintains the record of the library and also protects the existing database of resources and consumers. It somehow reduces the burden of manually managing the whole process, registering various data, and managing the process. The library management system is a way more effective in operating the entire process and workflow that generally happens in a Library. Besides, there is no additional issue with recording the data, keeping it safe and reserved. It helps to maintain the process flow of borrowing a book by the students, renewing the subscription, renewing a book borrowing, entering new books, replenishing the library collection, etc. Libraries rely on library management systems to manage asset collections as well as relationships with their members (Durfee et al. 2016). In general, this software smoothens the way of operating the whole library by a librarian or any other authority. LMS makes it easy to allot the books, take payments, keep track of the inventory or the availability, delay returning the book or expiry of the subscription plan of different readers or borrowers, and notify them accordingly. Hence, the Library management system helps in tracking the books and their checkouts and smoothens the process of maintaining members’ subscriptions and profiles, etc.
Library Management Systems is gaining popularity in School Libraries, Public Libraries, Libraries in colleges and other educational institutes, Libraries in different organizations, National Libraries, Reference Libraries, etc.
Purpose of the LMS designs Document:
The library management system’s design document would provide a detailed overview of designing the whole system, the functional keys, or the factors considered to design the information system. It will help identify each module needed for the Library Management system application and let us understand the modules’ functionalities and importance. The modules are defined during the system design phase, and the main aim is to supply internal logic for every module as identified (Durfee et al. 2016).
Structure of software package:
A library is where readers or lecturers borrow a book for a stipulated period for some special payment or under some subscription or membership fee. Also, libraries are often replenished with new books; availability is upgraded as well. The software design document should align with all these works involved in a library.
The software design would include the following functional components.
- Functional component 1: Registration.
- Functional component 2: Book issue.
- Functional component 3: Book return.
- Functional component 4: Search/view book details.
- Functional component 5: Update book details.
- Functional component 6: Late Payment
The structures of the software package are as follows:
- Register user: A new reader or book borrower whenever registers himself for a library membership he could be registered under this component.
- Book issue: When a borrower or user borrows or issues a book, there must be a particular book ID that would be allotted (Gaede, 2016). Hence to maintain that data, the Book issue should be registered with book id, issue date, and user Id.
- State: The period of staying with an issued library book is almost over.
- Input: Selecting the library book the end-user wants to renew.
- Output: Providing a confirmation message if the book can be renewed.
- Processing: If the issued library book is already reserved or cannot be renewed, an error message will be displayed.
- Book return: The user within the final date will return the books.
- Search/View Book details: This component allows us to search or view books. To manage properly, some particular books could be kept on some particular shelf. The shelf assigned to a particular book ID could be kept in the database, and search or viewbook component would make it easy to find the book out.
- Update: The book details can be updated through this component.
- Payment: If the return is delayed, this component will show that, and hence late fee has to be collected manually, and the data can be registered accordingly
The components that are involved in the module decomposition are as follows:
- Student/User details: This would register the details of the user borrowing a book. Details might include User Name, User Id, Book Subject, Book Name, Issue Date, and Return date.
- Delete student details: This component will allow deleting the student details previously entered.
- Book issue: This component will allow the librarian to issue the book to the students (Gaede, 2016).
- Book return: This component ensures that the user must return the book on the given date; otherwise, the user will be asked to pay the fine for the number of days.
Benefits Expected
- User-friendly and easily integrated with the library’s existing system.
- The built framework would be highly efficient, flexible, and effective.
- The system will be able to generate error-free, dynamic reports.
- The technology to be built for the library would also be cost-effective, and the program will be completely flexible according to the library’s requirements such that it can have both efficient and accurate results.
Conceptual Model
Technology Used in Library Management System and the functionalities:
- The architecture of the proposed library system will be a web application, whereby end-users will be able to access the system online (Drozd and Kapulin, 2017). More details into the architecture will be delivered as a milestone in the subsequent assessment.
- GUI design – the proposed system will be designed and developed using HTL, PHP, JavaScript, and CSS. More in-depth details will be delivered as a milestone in the second assessment.
- Process & workflow design details will be delivered as a milestone in the second assessment.
- Database design details will be delivered as a milestone in the second assessment.
- OS – the preferred operating system for all developers is Windows 10 because it is stable, easy to use, and supports many features.
- It is best to use JavaScript and CSS for styling the client-side. Also, for design, HTML is suggested.
- For server-side design and development, PHP could be used.
- MySQL will support the server-side of the proposed system as the database storage.
- UML diagrams will be generated using several tools, including Lucid Chart, Concept Draw, and Visual Paradigm.
■For Backend, the technology used could also be:
- MS Access
- Apache Tomcat Server
■ For the front end, there can be the use of
- HTML
- Javascript
For the execution of developing a library management system through JAVA, the system and business requirements are as follows:
- MySQL Community Server
- MySQL JDBC Connector
- Java
- Eclipse IDE
- rs2xml.jar
- Use of Java
Java is selected for the simplicity of the language and also because it is Object-oriented. It is even easier than C++ and eliminates all the complexities. Java also prevents activities from external sources, and also, after completion and compilation, Java coverts all the Code to the bytecode.
For data management in the library management system, MySQL is suggested to be used. MYSQL is an effective data management system that can have and be used by multiple users. Also, the same supports and can be operated on multiple platforms. If premium services and additional support are needed, the license can be purchased from Oracle (Rommel et al., 2020).
- Why use MySQL?
- First of all, this software is easy to install and easy to use. For multiple users, the server. Also, various types of tasks can be scheduled, which would be performed automatically as per the schedule.
- It also has multi-version support. It holds Atomicity, Consistency, Isolation, Durability features.
- MySQL also has a library where one can find an abundance of plugins, which could be embedded in various databases in various applications. It also supports stored procedures, triggers, functions, views, and many more for application development.
- Use of rs2xml.jar:
- In Order to exhibit the database in a table format, rs2xml.jar is used. So after creating the project, in Eclipse IDE, rs2xml.jar should be imported into the system.
■Table to be Considered:
Three major tables needed to create the Library management system:
- Users: table could consist of user Id, name, password, admin
- Books: Book Id, book Name, ISBN No., Price, Category(or subject), Edition, etc.
- Issue: Issue Date, Return Date, User ID, Book ID, reservation period, Later period, Late fee.
■ For Coding: Five major functions of the library management system is chosen. Separate coding will be done for individual functions. The major parts considered are:
- Log-in
- Connect
- Create/reset
- User Menu
- Admin menu
Also, to create a GUI, I will be using Swing. Swing is a library or program components used to create graphical user interface components such as scroll bars, buttons, dialog boxes, etc.
System overview
Figure 1: Block diagram
Block Diagram for Library Management System:
The Block diagram is almost similar to the class diagram of the Same system. It includes many blocks that are similar to classes. Some major blocks consist of several components. The main blocks that are considered are as follows:
Library: The main block is the library in the organization around which the entire system. The system itself is designed around the block (Wakabayashi et al., 2020). 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. Books have components like ISBN, Title, Subject, and Publishers.
BookItem: Books under a particular name might have several versions, several editions, several translational versions, and several parts as well. All these come under the book item block. Each booking item would have a separate Code.
Account: There will two types of accounts considered in the block diagram of the library management system. One account will be associated with the admin or the librarian, and another will be a general user account.
Library card: Each member or user will have to make a subscription with a particular tenure. As per the subscription, he or she will have a library card. Cards will be used for a user against borrowing a book (Devadiga, 2017). It can components like user Id, name, etc.
BookLending: Manage the checking-out of book items.
Catalog: Catalogs contain a list of books sorted on certain criteria. Our system will support searching through four catalogs: Title, Author, Subject, and Publish-date.
Fine: This block is mainly made in order to estimate the delay in book return, and according to that, the late fine is calculated and billed. It will fetch the late fee and update the user details accordingly.
Author: This generally identifies the author. A particular book will have a particular author. However, one author will have many books.
Shelf: Books will be placed on racks or shelves. A particular category of books will be placed on a particular shelf. Hence Shelf ID, Book ID are some of the components in this block.
Notification: This Block will be responsible for sending a notification to the users. Notification can be related to the expiration of their membership, their issue and return update, the time left to return, the expiration of the tenure of keeping the book, the late fee, and the late fee payment update (Hsiao and Chen, 2018).
Each block or class will have different attributes, as well. Several attributes for several blocks:
- LMS: Library management system would have attributes like: User Types, User Accounts, user names, ID, etc
- User Attribute: User ID, User Name, User account, etc.
- Librarian Attribute: This would include search string, Librarian ID, Account, Password.
- Book Attribute: Book ID, Publication time, Publication edition, ISBN, Book Title, Author, etc.
- Account Attribute: Subscription validity, Total books borrowed to date, total books returned, total books returned late, and late fee amount.
Architectural design pattern:
Class Diagram for Library Management System :
Aggregation and Multiplicity are two important points that are taken as two components while drawing a block diagram for the Library management system.
Aggregation: Aggregation represents different relationships between entities. It also exhibits a relationship where one thing develops or creates different abstractions in the same class but can also reside independently from the other without any dependency. The diagram as drawn below shows an evident exhibition of the aggregation, which is represented by an edge with a diamond-shaped pointer pointed at the superclass. The Library Management System is a superclass that consists of various classes (Grasland, 2016). For this superclass, the classes are User/reader, book, and the librarian, Whereas user is also a superclass which has an account as its class. All of these share a relationship, and these relationships are known as aggregate relationships.
What is Multiplicity?
Multiplicity denotes the relationship between different classes. The relationship can be particular or various. There can be one to one, one to many, many to one, and many to many relationships between the different classes. For example, many users would have a relationship with many books that is many to many relationships. And if the user number is one, then that is one too many relationships for a user and account. That is one to one relationship (Royer et al. 2019). Hence, to understand the same thing in the diagram. One to one relationship has been denoted by 1, for zero elements 0 has been used. And, the symbol * has been used to denote the many to many relationships.
Classes of Library Management System :
Library Management System class –
It manages all operations of the Library Management System. It is a central part of the organization for which software is being designed.
- User Class – This class denotes the management of the accounts and all the uses’ data.
- Librarian Class – This is designed to manage the workflow and all operations done by the librarian
- Book Class –This is very simple and basic of the block. All operations related to the books are denoted by it.
- Account Class – Account class is made to manage all the accounts.
- Library database Class –It manages all operations of the library database.
- Staff Class – This is to handle the staff related operations.
- Student Class: This is made in order to manage all limited student operations
Each block or class will have different attributes, as well:
- LMS: Library management system would have attributes like: User Types, User Accounts, user names, ID, etc
- User Attribute: User ID, User Name, User account, etc.
- Librarian Attribute: This would include search string, Librarian ID, Account, Password.
- Book Attribute: Book ID, Publication time, Publication edition, ISBN, Book Title, Author, etc.
- Account Attribute: Subscription validity, Total books borrowed to date, total books returned, total books returned late, late fee amount, etc
Library Management System Methods –
- Login(), Register(), Logout()
- User Methods –Verify(), CheckAccount(), get_book_info()
- Librarian Methods –Verify_librarian(), Search()
- Book Methods – Show_duedt(), Reservation_status(), Feedback(), Book_request(), Renew_info()
- Account Methods – Calculate_fine()
- Library database Methods –Add(), Delete(), Update(), Display(), Search()
Design Viewpoints
Logical viewpoints
Figure 2: Logical viewpoints diagram
This segment gives a blueprint of a legitimate perspective. This perspective depicts the coherent inner structure and the conduct of the framework being worked on (SUD). The primary assignment in the legitimate perspective is the dissemination of capacities to an order of consistent parts. The primary model kind of sensible perspective is the coherent part. It portrays the framework’s legitimate segments and their relationship (Baek, Lee, and Lee, 2016). This coherent part engineering structure is regularly impacted by nonfunctional models, e.g., viability or dependability. As opposed to the technical perspective, the sensible perspective doesn’t zero in on the specialized framework given, e.g., the regulators or specialized gadgets utilized.
Information Viewpoint
Figure 3: ER diagram
The ER diagram establishes individual entities involved in a library management system, shows communication, and establishes the relationship between the entities and the different workflows.
The factors considered are:
- Each staff and user has ID and unique password so that the system could authenticate everyone’s tracking at a single go.
- Readers are also registered with unique Id, password, email, phone number, residence, or communication address details (Moon et al. 2018).
- Publishes too have publisher Id, date of publication, name of the book.
- Books also consist of editions, publication date, ISBN No, Book title, etc.
- Readers can return/reserve books that stamps with issue date and return date. If not returned within the prescribed period, it may have a due date, too (Ubbink et al. 2017).
- Staff also generates reports with readers id, registration no of report, book no, and return/issue info.
There are different entities in a Library Management System such as the authentication system, the readers, the staff, the publisher, books, reports, etc. The diagram, therefore, establishes the relationship between separate entities. Each entity has several attributes, as well. Two different entities can have one common attribute, as well (Brouwers et al. 2018). Here the relationship can be one too many, many too many, many to one, many to many as well.
Entities and their Attributes –
- Book Entity: Attributes include, Book name, Book edition, ISBN no, Publication date, Price, Author, Authentication No. Etc.
- Publisher Entity: Name of the Publisher, ID, Publication year, etc. are the attributes of the Publisher entity
- Reader Entity: It has UserId, Email, address, phone no, name. Name is a composite attribute of first name and last name. Phone no is a multi-valued attribute. UserId is the Primary Key for the Reader entity.
- Authentication System Entity: There are two types of key or attributes like Id that was used at the time of signing up, and the password. There might be another forget password system involved (Agaronian et al. 2019).
- Reports Entity: It has a User ID, Book No, Issue Date, and Return date. Registration No.
- Staff Entity: The name of the staff and the Staff ID are included.
- Reserve/Return Relationship Set: These would have Issue Date and Return date, and renewal date/reserve date could be included as well.
Relationships between Entities –
One reader can issue • 1 book at a time. But one reader can reserve many books at several times throughout his membership period. Hence it is a one to many relationships.
- A publisher can publish many books, but only one publisher publishes a book. The relationship is again one too many.
- Various staff keeps track of various users. Hence it is a many to many relationship l.
- One staff would maintain many reports and many books. Both relationships are one too many (Agaronian et al. 2019).
- There is only one authentication system that is used for the sign-ups and log-in of several staff. Hence it is also a one to many relationships.
4.3 The sequence diagram as below shows three sequence diagram of a library management system. The sequence diagram generally establishes relationships between different objects like class objects as well as involved in the library management system (Agaronian et al. 2019). There can be various class and superclass objects. If we consider the log-in sequence diagram of the library management system, the objects include:
- College/School/Institute Object
- Student/user Object
- Issues Object
- Library Object
Explanation:
There is a log-in sequence involved in the library management system. An admin or librarian keeps track of the users. So here sequentially, an admin needs to put the ID and the password or other credentials of the user (Saggah, ATKINS, and CAMPION, 2020). During the log-in, there can be a loss of password for which admin can click on the forgot password option.
There can be a verification process involved as well, like captcha recognition, question answers, etc. There can be another authentication process as well in the sequence. So, the below diagram helps in understanding how a log-in page works in the case of a library management system.
Book issue sequence: Book Issue sequence diagram mainly illustrates the workflow during the book’s issue by a user and the activities or communications involved between different objects. The Object might include:
- Librarian
- Book Issued
- Member record
- Transaction
The Sequence:
Interface viewpoints
Figure 4: Software screenshots
It would be difficult work if you were making a perspective on your engineering each time you needed to return to first standards to characterize what ought to go into it. Luckily, you don’t exactly need to do that (Saggah, ATKINS, and CAMPION, 2020).
In his basic paper, Kruchten characterized four standard perspectives, in particular, Logical, Process, Physical, and Development. The IEEE standard makes this thought conventional (and doesn’t indicate some arrangement of perspectives) by proposing the idea of a perspective (Kwan et al. 2017).
Interaction viewpoints
Figure 5: Sequence diagram
Multiagent Systems (MASs) investigation centers around those frameworks in which numerous clever specialists collaborate. The operators are viewed as self-sufficient elements which contain insight that serves for taking care of their egotistical or normal issues and to accomplish certain objectives
Traceability Matrix
Figure 6: Traceability diagram
In programming improvement, a discernibility framework (TM) is an archive, generally, as a table, used to help with deciding the culmination of a relationship by corresponding any two baselined reports utilizing a many-to-numerous relationship examination. It is frequently utilized with significant level necessities (these regularly comprise promoting prerequisites) and itemized prerequisites of the item to coordinate pieces of the elevated level plan, point by point configuration, test plan, and experiments (Kwan et al. 2017).
Conclusion
The proposed project depicted in this document is a web-based application with the particular objective of taking care of the essential functional elements. Library management systems are used for overseeing the collection of resources and assets just as associations with their members. This way, library management systems are used in libraries to automate tracking books and their checkouts. Library management systems also entail database maintenance for adding new books and keeping records of books that have been obtained with their particular due dates.
The primary objectives were:
The major objective of this project is to develop a system that helps manage the library’s operation.
- To increase the library’s efficiency by 25%, the results to be visible in around four months of its installation.
- It is reducing the staff workload by nearly a half.
- Increase revenue by systematically and timely collecting of money in fines, fees, and subscriptions.
- Adding new users with the help of individual online services and engagement. Having Project Plan made for developing a Library Management System.
- I am creating a Risk Management Plan in order to diminish the risks of the project.
- To state user and system requirements.
- Addressing the usable and non-working Library Management System specifications
- To design the system, use case showing the activities and the actors in the system showing the possible interaction sequence between the system and the user.
- User-friendly and easily integrated with the library’s existing system.
- The built framework would be highly efficient, flexible, and useful.
- The system will be able to generate error-free, dynamic reports.
- The technology to be built for the library would also be cost-effective. The program will be completely flexible according to the library’s requirements such that it can have both efficient and accurate results.
Hence, the charts, the charts, and the testing chart everything briefs about the development of a basic but effective library management system and shows the functionality and applicability of the system.
Reference
Agaronian, A., Freyer, C.W.S., Bierbooms, C.G., Hoeijmakers, T.P.H., Jansen, T.K.H.G., Kafoe, T., Makantasis, I., Mankevic, K., Sinx, R.D., Smits, I.M. and Vlaswinkel, K.R., 2019. Architectural Design Document.
Baek, D., Lee, B., and Lee, J.W., 2016. Content-based Configuration Management System for Software Research and Development Document Artifacts. KSII Transactions on Internet & Information Systems, 10(3).
Brouwers, A.S., Kenbeek, M.M., Lifmann, A.R., de Vries, W.D., García, D.L., Traas, J.J., Honcoop, T., Gerards, P.G.R.M.J., Brons, D., Schalken, M.M.R. and Zannone, N., 2018. Architectural Design Document.
Devadiga, N.M., 2017, October. Tailoring architecture centric design method with rapid prototyping. In 2017 2nd International Conference on Communication and Electronics Systems (ICCES) (pp. 924-930). IEEE.
Drozd, O.V. and Kapulin, D.V., 2017, November. The model of electronic design document as a part of integrated information environment of radioelectronic enterprise. In 2017 Dynamics of Systems, Mechanisms and Machines (Dynamics) (pp. 1-5). IEEE.
Durfee, J.D., Frazier, C.R., Bandlow, A. and Jones, K.A., 2016. Contingency Contractor Optimization Phase 3 Sustainment, Software Design Document Contingency Contractor Optimization Tool-Prototype (No. SAND2016-4960). Sandia National Lab.(SNL-NM), Albuquerque, NM (United States); Sandia National Laboratories.,.
ER, JD and KUL, KP, Deliverable 2.1 Software Design Document.
Gaede, F., 2016. Design document for alignment Toolkit with tight coupling to DD4hep (No. AIDA-2020-MS18).
Grasland, H., 2016. Design document for parallel algorithm scheduling mechanism (No. AIDA-2020-MS20).
Hsiao, K.L. and Chen, C.C., 2018. What drives smartwatch purchase intention? Perspectives from hardware, software, design, and value. Telematics and Informatics, 35(1), pp.103-113.
Huang, W., Technical Design Document.
Kwan, A., Ye, D., Rahmanian, S. and Karimbil, S., 2017. Dynamic projector mount project: design document.
Moon, H.S., Zetina, J., Benson, A., Luu, K., Gorton, J. and Miller, T., Design Document.
Oostveen, S.P.O., Rajaraman, A., Zannone, N. and Genga, L., 2018. Architectural Design Document. Delta.
Rommel, M., Dukes, A.W., Duberstein, S.J., Downs, C.J. and Blackford, E.B., 2020. Cog-Pack (trade mark) Technical Design Document. Ball Aerospace and Technologies Fairborn United States.
Royer, P.D., Triplett, M.B., Simpson, B.C. and Rohlfing, K.S., 2019. A Design Document: Custom Analytical Tools and Automation for the Industrial Hygienist (No. PNNL-28089 Rev 1.01). Pacific Northwest National Lab.(PNNL), Richland, WA (United States).
Saggah, A., ATKINS, A. and CAMPION, R., 2020. A Pedagogical Game Design Document (Ped-GDD) to Promote Teachers’ Engagement in the Kingdom of Saudi Arabia.
Ubbink, J., Wouters, R., Zannone, N., Prins, M.W.J. and Brekelmans, W.W.C.C., 2017. Architectural Design Document.
Voorhees, D.P., 2020. Software Design Document. In Guide to Efficient Software Design (pp. 505-510). Springer, Cham.
Wakabayashi, T., Morisaki, S., Kasai, N., Atsumi, N. and Yamamoto, S., 2020. Tool Supported Detection of Omissions by Comparing Words between Requirements and Design Document. Journal of Information Processing, 28, pp.136-149.