- System Design Tutorial
- What is System Design
- System Design Life Cycle
- High Level Design HLD
- Low Level Design LLD
- Design Patterns
- UML Diagrams
- System Design Interview Guide
- Crack System Design Round
- System Design Bootcamp
- System Design Interview Questions
- Microservices
- Scalability
System Design for Library Management
Designing a library management system involves creating a comprehensive solution to manage and automate various library operations. A well-designed library management system not only enhances operational efficiency but also improves the user experience for both library staff and students. In this article, we will explore the fundamental aspects of system design for a library management system, covering essential features, architecture considerations, and best practices to ensure a scalable, and user-friendly solution.
Important Topics for System Design of Library Management
Requirements for Library Management System Design
Use case diagram for library management system design, capacity estimation for library management system design, high-level design for library management system design, low-level design for library management system design.
- Database Design for Library Management System Design:
Microservices used in System Design for Library Management
Scalability for system design of library management, 1. functional requirements.
- Store information about each book (e.g., title, author, genre, publication date).
- Track availability (e.g., number of copies available, current status).
- Categorize books into genres or categories for easy classification.
- Allow the librarian to add and remove new members.
- Allow users to create and register accounts.
- Maintain user profiles with personal information
- Borrowing: Issue books to users, recording the date and due date
- Returns: Process book returns and update the inventory.
- Renewals: Allow users to renew borrowed books.
- The system should notify the user and librarian about the overdue books.
- There should be a maximum limit on taking a book by any members.
- There should also be a limit on how many days a member can keep a book.
- The system should be able to collect fines for books returned after the due date.
- Usage Reports: Generate reports on library usage, popular books, borrowing trends, and overdue items.
- Inventory Reports: Create reports on current inventory, missing books, and damaged items.
2. Non- Functional Requirements
- Response time should be fast for search queries, catalog updates, and user transactions.
- Throughput: System should handle a large number of transactions per seconds, without performance degradation.
- Horizontal Scalability: can handle increased load by adding more servers.
- Vertical Scalability: the system should support vertical scaling by upgrading existing server resources(e.g. CPU, Memory).
- Ensure that the system is available all the time, with minimal downtime for maintenance and updates.
- Implement failover mechanisms to maintain service continuity in case of server failures.
- Data Integrity: ensure the accuracy and consistency of data, particularly for transactions involving book borrowing and returning.
- Error Handling: Implement robust error handling to manage and log errors gracefully without affecting the user experience.
Actors in our System
- Member user: Those who can search a book, issue a book, return and renewal of borrowed book.
- Librarian: responsible for adding, updating, and removing of books.
- System: responsible for sending notifications for overdue books, and calculate fine.
Capacity estimation for a Library Management System (LMS) involves determining the necessary resources to handle expected user loads and data volumes efficiently. The goal is to ensure that the system performs well under peak load conditions and can scale as needed.
- Concurrent Users : 1000
- This is based on the assumption that up to 1000 users (library staff and patrons) might be using the system simultaneously for searching, borrowing, returning books, etc.
- Transactions per Second (TPS) : 10
- Given 1000 daily transactions spread over 10 hours of operation, the peak TPS is around 10 transaction per second.
- Number of Books: 1,000
- Size per Book: 720 bytes
- Total Storage for Books: 1,000×720 bytes = 720,000 bytes = 720 KB
- Number of Members: 5000
- Size per Member: 250 bytes
- Total Storage for Members: 5000×250 bytes = 12,50,000 bytes = 1250 KB
- Number of Transactions per Year: 100 transactions/day × 365 days/year = 36,500 transactions
- Size per Transaction: 80 bytes
- Total Storage for Transactions : 36,500×80 bytes = 29,20,000 bytes = 2920 KB
- Books: 720 KB
- Members: 25 KB
- Transactions: 292 KB
- Total : 720 KB + 25 KB + 292 KB = 1,037 KB ≈ 1 MB
- Assuming each read/write operation involves 1 KB of data
- Daily Transactions: 100
- Daily Reads (searches, views, etc.): 1000
- Total Daily Data Transfer: (100+1000) × 1 KB = 1100 KB
In this image below the main component of a Library Management System is shown with the interaction with each other:
Designing a library management system involves multiple components working together to handle book cataloging, member management, borrowing and returning books, inventory tracking, and more. Here's a high-level design that outlines the primary components and their interactions:
1. User Interface (UI) Layer
This layer is responsible for interacting with the end-users of the system. It includes:
- Web Application : An interface for library staff and patrons to manage books, members, and transactions. Built using HTML, CSS, JavaScript, and a front-end framework like React, Angular, or Vue.js.
- Mobile Application : A mobile-friendly interface for accessing library services on the go. Built using native or cross-platform frameworks like Flutter or React Native.
2. Application Layer
This layer contains the core business logic of the system and is responsible for processing requests from the UI layer.
- Controller Services : Handle incoming requests, process them, and send responses back to the UI layer. Implemented using a framework like Spring Boot (Java), Express.js (Node.js), or Django (Python).
- Business Logic Services : Implement the core functionalities such as book management, catalog management, transaction processing, and reporting.
3. Data Layer
This layer is responsible for data storage, retrieval, and management.
- Database Management System (DBMS) : Stores all the data related to books, members, and transactions.
- Data Access Layer (DAL) : Manages database interactions. Implements CRUD operations and complex queries using Object-Relational Mapping (ORM) frameworks like Hibernate (Java), Sequelize (Node.js), or SQLAlchemy (Python).
4. Integration Layer
This layer handles communication with external systems and services.
- External APIs : Integration with external services like payment gateways (for fines), external book databases (for book information), and email/SMS services (for notifications).
- Middleware : Facilitates communication between different components and services, ensuring data consistency and security. Implemented using message brokers like RabbitMQ or Kafka.
5. Scalability and Performance Layer
This layer ensures the system can handle growth and high performance.
- Load Balancing : Distributes incoming requests across multiple servers to ensure no single server is overwhelmed. Implemented using tools like NGINX, HAProxy, or cloud-based load balancers.
- Caching : Improves performance by caching frequently accessed data using tools like Redis or Memcached.
- Auto-Scaling : Automatically adjusts the number of servers based on the current load using cloud services like AWS Auto Scaling or Google Cloud's auto-scaling feature.
It provides detailed information on the components and their interactions.
- User Management
- Catalog management
- Transaction Management
- Notification
This includes:
- Class diagram: showing classes , their attributes, methods, and relationships.
- Sequence diagram: illustrating the interactions between objects for specific for use cases.
- Algorithm and pseudo Code: important algorithms or workflows, a pseudocode or flowcharts.
- State Diagrams
1. Class diagram
Here we give an example of class diagram that helps in visualizing that how we can see the interactions between the classes and how they are link together.
2. Sequence Diagram
To show how they communicate with each other in a sequence.
3. Low-Level Design Diagram
Below is the low-level design diagram for the Library management system:
Database Design for Library Management System Design :
- First create an ER diagram for creating the database design. ERD helps in giving a visual representation of the data entities and their relationships within the system.
- Then Normalization is the second step in which data is organized in a way in database to reduce the redundancy and improve data integrity.
- Step 1: Identify functional dependencies
- Step 2: Apply Normalization rules to make it simple from complex ones
- Step 3: Create the relationships between tables after normalizing those complex tables into simpler form.
- Step 4: Eliminate redundancy which helps to reduce duplication of data For example: Course of each student kept in a separate table rather than being duplicated in each student entry.
- Then we create the database Schema which gives a structure of the database, including tables, columns, data types, and constraints.
- Define all the required tables based on the entities you identified in ERD and in the normalized data.
- Define columns for each table, that represents the attribute of that entity , also the datatypes and constraint (e.g., primary key , foreign key, unique constraints).
- Establish Relationships : Use foreign key to establish relationships between tables.
- Indexing: use indexing for columns to make searching easy while executing queries.
These are the tables we create while creating out database schemas of Library Management System.
1. Table for Authors of the book
Helps to find a book by Authors and reduce redundancy or duplicacy that can occur if we keep that as a column in a book table
CREATE TABLE Authors ( AuthorID INT PRIMARY KEY , FirstName VARCHAR(50), LastName VARCHAR(50) );
2. Table for Publishers of the book
This helps to find a book by any particular publisher
CREATE TABLE Publishers ( PublisherID INT PRIMARY KEY, Name VARCHAR(100), Address VARCHAR(255), Phone VARCHAR(20), Email VARCHAR(100) );
3. Table for Books
this helps to find the book easily
CREATE TABLE Books ( BookID INT PRIMARY KEY , Title VARCHAR(255), AuthorID INT, PublisherID INT, ISBN VARCHAR(20), PublicationYear INT, Bookcategory VARCHAR(20), FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID), FOREIGN KEY (PublisherID) REFERENCES Publishers(PublisherID) );
4. Table for Members of the Library
CREATE TABLE Members ( MemberID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Address VARCHAR(255), Phone VARCHAR(20),| Email VARCHAR(100), MembershipDate DATE );
5. Member table
6. table for transaction.
CREATE TABLE transaction ( TransactionID INT PRIMARY KEY , BookID INT, MemberID INT, TransactionDate DATE, DueDate DATE, ReturnDate DATE, FOREIGN KEY (BookID) REFERENCES Books(BookID), FOREIGN KEY (MemberID) REFERENCES Members(MemberID );
7. Table for The Librarian.
CREATE TABLE Librarian ( LibrarianID INT PRIMARY KEY, FirstName VARCHAR(50), LastName VARCHAR(50), Email VARCHAR(100), Phone VARCHAR(20) );
8. Table for Book Categories
It will make easier to separate books by categories like Comic , Education, General knowledge, Records, History, Stories, Novel Section.
CREATE TABLE BookCategories ( BookID INT, CategoryID INT, PRIMARY KEY (BookID, CategoryID), FOREIGN KEY (BookID) REFERENCES Books(BookID), FOREIGN KEY (CategoryID) REFERENCES Categories(CategoryID) );
This is the design which covers basic functionalities of a Library Management System in tabular form and we can make all these in a single design by linking them with as per relationships.
Microservices is the concept of breaking down the whole system into smaller independent services. So they can work efficient individually in the start after integrating them together we don't have to face much of problems. The microservices we can use in library Management System are:
- User Service : In this all the user related functionalities are handled like handles user registration, authentication and authorization, maintaining their profile, their activities which includes history, issuing books , reservation of books , Their preferences.
- Catalog Service : It helps in managing database of books like their metadata (e.g., when the book is added(date and time ), Category of book, when the old version of the same book is updated, when this book is deleted from the system...). Also provide search and browse functionalities.
- Transaction Services : It focuses on handling book borrowing and returning transactions.
- Notification Service : It manages when to send , whom to send the notifications and also give alerts before the Due date is over, announcements(using emails, SMS).
- Reporting Service : it basically generate reports after analyzing like usage statistics, transactions reports , inventory reports, and user activity logs.
- Search Services : it includes advanced searching features like full-text search, voice searching , filtering options as well.
It focuses that a system can handle maximum increased load if we add more functionalities and resources. There are various ways to ensures scalability of a system :
- Horizontal Scalability : The microservices we used above can be independently scales means we can scales each services according to the time when the load is increased in a particular services or on few of them.
- Vertical Scalability: Adding more resources is preferred in this (CPU, RAM) to already existing instances.
- Database Sharding : Distributing the database across multiple services to handle large volume of data.
- Load Balancing: we can implement load balancers which helps to distribute the load on multiple instances that we added, like distribute incoming requests evenly across multiple instances. We can use techniques like round- robin, least connections, or IP hash for effective load distributions.
- Caching : use caching mechanisms to reduce database load and improve response times for frequently accessed data, such as book catalogs or user profiles.
- Monitoring and logging : Implement comprehensive monitoring and logging to track the health and performance of each microservice. we can use tools like prometheus, Grafana, ELK stack for effective monitoring and analysis.
by using microservices and handling scalability, a library Management System can become more robust, flexible and capable of handling varying loads efficiently.
Similar Reads
- System Design
Improve your Coding Skills with Practice
What kind of Experience do you want to share?
- CRM Asignment Help
- MBA Assignment Help
- Statistics Assignment Help
- Market Analysis Assignment Help
- Business Development Assignment Help
- 4p of Marketing Assignment Help
- Pricing Strategy Assignment Help
- CIPD Assignment Help
- SWOT Analysis Assignment Help
- Operations Management Assignment Help
- Corporate Strategy Assignment Help
- Change Management Assignment Help
- Supply Chain Management Assignment Help
- Human Resource Assignment Help
- Management Assignment Help
- Marketing Assignment Help
- Strategy Assignment Help
- Operation Assignment Help
- Marketing Research Assignment Help
- Strategic Marketing Assignment Help
- Project Management Assignment Help
- Strategic Management Assignment Help
- Marketing Management Assignment Help
- Business Assignment Help
- Business Ethics Assignment Help
- Consumer Behavior Assignment Help
- Conflict Management Assignment Help
- Business Statistics Assignment Help
- Managerial Economics Assignment Help
- Project Risk Management Assignment Help
- Nursing Assignment Help
- Clinical Reasoning Cycle
- Nursing Resume Writing
- Medical Assignment Help
- Financial Accounting Assignment Help
- Financial Services Assignment Help
- Finance Planning Assignment Help
- Finance Assignment Help
- Forex Assignment Help
- Behavioral Finance Assignment Help
- Personal Finance Assignment Help
- Capital Budgeting Assignment Help
- Corporate Finance Planning Assignment Help
- Financial Statement Analysis Assignment Help
- Accounting Assignment Help
- Solve My Accounting Paper
- Taxation Assignment Help
- Cost Accounting Assignment Help
- Managerial Accounting Assignment Help
- Business Accounting Assignment Help
- Activity-Based Accounting Assignment Help
- Economics Assignment Help
- Microeconomics Assignment Help
- Econometrics Assignment Help
- IT Management Assignment Help
- Robotics Assignment Help
- Business Intelligence Assignment Help
- Information Technology Assignment Help
- Database Assignment Help
- Data Mining Assignment Help
- Data Structure Assignment Help
- Computer Network Assignment Help
- Operating System Assignment Help
- Data Flow Diagram Assignment Help
- UML Diagram Assignment Help
- Solidworks Assignment Help
- Cookery Assignment Help
- R Studio Assignment Help
- Computer Science Assignment Help
- Law Assignment Help
- Law Assignment Sample
- Criminology Assignment Help
- Taxation Law Assignment Help
- Constitutional Law Assignment Help
- Business Law Assignment Help
- Consumer Law Assignment Help
- Employment Law Assignment Help
- Commercial Law Assignment Help
- Criminal Law Assignment Help
- Environmental Law Assignment Help
- Contract Law Assignment Help
- Company Law Assignment Help
- Corp. Governance Law Assignment Help
- Science Assignment Help
- Physics Assignment Help
- Chemistry Assignment Help
- Sports Science Assignment Help
- Chemical Engineering Assignment Help
- Biology Assignment Help
- Bioinformatics Assignment Help
- Biochemistry Assignment Help
- Biotechnology Assignment Help
- Anthropology Assignment Help
- Paleontology Assignment Help
- Engineering Assignment Help
- Autocad Assignment Help
- Mechanical Assignment Help
- Fluid Mechanics Assignment Help
- Civil Engineering Assignment Help
- Electrical Engineering Assignment Help
- Humanities Assignment Help
- Sociology Assignment Help
- Philosophy Assignment Help
- English Assignment Help
- Geography Assignment Help
- History Assignment Help
- Agroecology Assignment Help
- Psychology Assignment Help
- Social Science Assignment Help
- Public Relations Assignment Help
- Political Science Assignment Help
- Mass Communication Assignment Help
- Auditing Assignment Help
- Dissertation Writing Help
- Sociology Dissertation Help
- Marketing Dissertation Help
- Biology Dissertation Help
- Nursing Dissertation Help
- MATLAB Dissertation Help
- Law Dissertation Help
- Geography Dissertation Help
- English Dissertation Help
- Architecture Dissertation Help
- Doctoral Dissertation Help
- Dissertation Statistics Help
- Academic Dissertation Help
- Cheap Dissertation Help
- Dissertation Help Online
- Dissertation Proofreading Services
- Do My Dissertation
- Business Report Writing
- Programming Assignment Help
- Java Programming Assignment Help
- C Programming Assignment Help
- PHP Assignment Help
- Python Assignment Help
- Perl Assignment Help
- SAS Assignment Help
- Web Designing Assignment Help
- Android App Assignment Help
- JavaScript Assignment Help
- Linux Assignment Help
- Coding Assignment Help
- Mathematics Assignment Help
- Geometry Assignment Help
- Arithmetic Assignment Help
- Trigonometry Assignment Help
- Calculus Assignment Help
- Arts Architecture Assignment Help
- Arts Assignment Help
- Case Study Assignment Help
- History Case Study
- Case Study Writing Services
- Write My Case Study For Me
- Business Law Case Study
- Civil Law Case Study Help
- Marketing Case Study Help
- Nursing Case Study Help
- ZARA Case Study
- Amazon Case Study
- Apple Case Study
- Coursework Assignment Help
- Finance Coursework Help
- Coursework Writing Services
- Marketing Coursework Help
- Maths Coursework Help
- Chemistry Coursework Help
- English Coursework Help
- Do My Coursework
- Custom Coursework Writing Service
- Thesis Writing Help
- Thesis Help Online
- Write my thesis for me
- CDR Writing Services
- CDR Engineers Australia
- CDR Report Writers
- Homework help
- Algebra Homework Help
- Psychology Homework Help
- Statistics Homework Help
- English Homework Help
- CPM homework help
- Do My Homework For Me
- Online Exam Help
- Pay Someone to Do My Homework
- Do My Math Homework
- Macroeconomics Homework Help
- Research Paper Help
- Edit my paper
- Research Paper Writing Service
- Write My Paper For Me
- Buy Term Papers Online
- Buy College Papers
- Paper Writing Services
- Research Proposal Help
- Proofread My Paper
- Report Writing Help
- Story Writing Help
- Grant Writing Help
- CHCDIV001 Assessment Answers
- BSBWOR203 Assessment Answers
- CHC33015 Assessment Answers
- CHCCCS015 Assessment Answers
- CHCECE018 Assessment Answers
- CHCLEG001 Assessment Answers
- CHCPRP001 Assessment Answers
- CHCPRT001 Assessment Answers
- HLTAAP001 Assessment Answers
- HLTINF001 Assessment Answers
- HLTWHS001 Assessment Answers
- SITXCOM005 Assessment Answers
- SITXFSA001 Assessment Answers
- BSBMED301 Assessment Answers
- BSBWOR502 Assessment Answers
- CHCAGE001 Assessment Answers
- CHCCCS011 Assessment Answers
- CHCCOM003 Assessment Answers
- CHCCOM005 Assessment Answers
- CHCDIV002 Assessment Answers
- CHCECE001 Assessment Answers
- CHCECE017 Assessment Answers
- CHCECE023 Assessment Answers
- CHCPRP003 Assessment Answers
- HLTWHS003 Assessment Answers
- SITXWHS001 Assessment Answers
- BSBCMM401 Assessment Answers
- BSBDIV501 Assessment Answers
- BSBSUS401 Assessment Answers
- BSBWOR501 Assessment Answers
- CHCAGE005 Assessment Answers
- CHCDIS002 Assessment Answers
- CHCECE002 Assessment Answers
- CHCECE007 Assessment Answers
- CHCECE025 Assessment Answers
- CHCECE026 Assessment Answers
- CHCLEG003 Assessment Answers
- HLTAID003 Assessment Answers
- SITXHRM002 Assessment Answers
- Elevator Speech
- Maid Of Honor Speech
- Problem Solutions Speech
- Award Presentation Speech
- Tropicana Speech Topics
- Write My Assignment
- Personal Statement Writing
- Narrative Writing help
- Academic Writing Service
- Resume Writing Services
- Assignment Writing Tips
- Writing Assignment for University
- Custom Assignment Writing Service
- Assignment Provider
- Assignment Assistance
- Solve My Assignment
- Pay For Assignment Help
- Assignment Help Online
- HND Assignment Help
- SPSS Assignment Help
- Buy Assignments Online
- Assignment Paper Help
- Assignment Cover Page
- Urgent Assignment Help
- Perdisco Assignment Help
- Make My Assignment
- College Assignment Help
- Get Assignment Help
- Cheap Assignment Help
- Assignment Help Tutors
- TAFE Assignment Help
- Study Help Online
- Do My Assignment
- Do Assignment For Me
- My Assignment Help
- All Assignment Help
- Academic Assignment Help
- Student Assignment Help
- University Assignment Help
- Instant Assignment Help
- Powerpoint Presentation Service
- Last Minute Assignment Help
- World No 1 Assignment Help Company
- Mentorship Assignment Help
- Legit Essay
- Essay Writing Services
- Essay Outline Help
- Descriptive Essay Help
- History Essay Help
- Research Essay Help
- English Essay Writing
- Literature Essay Help
- Essay Writer for Australia
- Online Custom Essay Help
- Essay Writing Help
- Custom Essay Help
- Essay Help Online
- Writing Essay Papers
- Essay Homework Help
- Professional Essay Writer
- Illustration Essay Help
- Scholarship Essay Help
- Need Help Writing Essay
- Plagiarism Free Essays
- Write My Essay
- Response Essay Writing Help
- Essay Editing Service
- Essay Typer
- APA Reference Generator
- Harvard Reference Generator
- Vancouver Reference Generator
- Oscola Referencing Generator
- Deakin Referencing Generator
- Griffith Referencing Tool
- Turabian Citation Generator
- UTS Referencing Generator
- Swinburne Referencing Tool
- AGLC Referencing Generator
- AMA Referencing Generator
- MLA Referencing Generator
- CSE Citation Generator
- ASA Referencing
- Oxford Referencing Generator
- LaTrobe Referencing Tool
- ACS Citation Generator
- APSA Citation Generator
- Central Queensland University
- Holmes Institute
- Monash University
- Torrens University
- Victoria University
- Federation University
- Griffith University
- Deakin University
- Murdoch University
- The University of Sydney
- The London College
- Ulster University
- University of derby
- University of West London
- Bath Spa University
- University of Warwick
- Newcastle University
- Anglia Ruskin University
- University of Northampton
- The University of Manchester
- University of Michigan
- University of Chicago
- University of Pennsylvania
- Cornell University
- Georgia Institute of Technology
- National University
- University of Florida
- University of Minnesota
- Help University
- INTI International University
- Universiti Sains Malaysia
- Universiti Teknologi Malaysia
- University of Malaya
- ERC Institute
- Nanyang Technological University
- Singapore Institute of Management
- Singapore Institute of Technology
- United Kingdom
- Jobs near Deakin University
- Jobs Near CQUniversity
- Jobs Near La Trobe University
- Jobs Near Monash University
- Jobs Near Torrens University
- Jobs Near Cornell University
- Jobs Near National University
- Jobs Near University of Chicago
- Jobs Near University of Florida
- Jobs Near University of Michigan
- Jobs Near Bath Spa University
- Jobs Near Coventry University
- Jobs Near Newcastle University
- Jobs Near University of Bolton
- Jobs Near university of derby
- Search Assignments
- Connect Seniors
- Essay Rewriter
- Knowledge Series
- Conclusion Generator
- GPA Calculator
- Factoring Calculator
- Plagiarism Checker
- Word Page Counter
- Paraphrasing Tool
- Living Calculator
- Quadratic Equation
- Algebra Calculator
- Integral Calculator
- Chemical Balancer
- Equation Solver
- Fraction Calculator
- Slope Calculator
- Fisher Equation
- Summary Generator
- Essay Topic Generator
- Alphabetizer
- Case Converter
- Antiderivative Calculator
- Kinematics Calculator
- Truth Table Generator
- Financial Calculator
- Reflection calculator
- Projectile Motion Calculator
- Paper Checker
- Inverse Function Calculator
Library Management System Assignment: Designing User Interface Screens
Task: The Proposal assessment covers the following topics: information system development, system development approaches, user and system interfaces, and system testing, deployment and maintenance. Proposal: Design for Library website in your local area Your local’s Library has hired you to design two online data entry screens. Visit various library websites and based on what you know and gather about the operation of a library services, submit your proposal while including the following questions: • Design a monthly operations summary report that will comprise overall data on student ID, loans, late charges, requests and anything else you think a library staff might want to review. Be sure to include numeric activity and dollar totals. • Design a data entry screen for entering Personal Details. • Design a book loan input screen. In addition to the book data, the book loan form must include the following fields: Student Number, Name, and Date. • Plan the suitable testing and deployment activities.
Introduction This report on library management system assignment aims at analysing the need for automating local library services. It includes the information system development of the proposed library management system along with designing the user interface screens. The library management system assignment states the case description i.e. present the key functionalities of the proposed system. Then, it discusses the design of three critical screens of the proposed system. Testing and deployment are two phases of development of any system. This library management system assignment discusses the testing and deployment activities which are to be carried out to come up with a fully functional library management system.
Case description The proposed system is to develop an automated library management system which eliminates data inconsistencies in the current manual handling of book loan. Following are key requirements of the proposed system provided within this library management system assignment:
Functional requirements Following are key functional requirements of the proposed library management system:
- User should be able to search a book using different criteria such as book name, ISBN number, author name, publication name, etc.
- User should be able to book a loan for a defined time period.
- User should be able to return the books and in case of late penalties, librarian or super admin should allow user to return book only after paying the accumulated fine.
- User should be able to register them in the proposed system.
- Users should be able to login in the system using valid login credentials.
- Administrator should be able to update and delete the users of the system (Valacich, George & Hoffer, 2017).
- Administrator should be able to add, delete and update books in the system.
- System should be able to update stock of the books based on the booking and returning of the books.
Non-functional requirements Following are key non-functional requirements of the proposed library management system:
- The systems should be reliable i.e. it should be available 24 x 7.
- The system should be accessible from any location which has internet and it should be independent from the underlying devices. The system should be responsive enough for the mobile or tablet devices.
- The user interface of the proposed system should have least learning curve.
- The user interface should guide the user for next appropriate action during executing a operation.
- The system should be able to handle huge number of transactions at a time.
- The proposed system should have low throughput time to provide excellent performance (Koelsch, 2016).
- The system should secure privacy of the users along with the confidentiality, integrity and availability of the data.
User Interface Monthly operation summary report
(Galitz, 2007)
This user interface presented in the library management system assignment shows the monthly summary report of book loan by student. For instance: in the given screen there are few attributes taken from STUDENT and LOAN entities. STUDENT attributes are as follws:
- Student_ID – Unique identifier of the student.
LOAN attributes provided in the library management system assignment are as follows;
- Loan – It is the unique identifier of BOOK.
- Loan_date – It tis the date on which book has been taken on loan.
- requestID – It is the unique identifier of the REQUEST entity which stores the data of all requests made by the students for borrowing the book
The amount represents the total fine on the book incurred by the respective student.
Data entry screen The screen provided in following section of library management system assignment represents the registration / profile of new / old student. The screen asks users to enter data in following fields:
- First Name – It depicts the first name of the student.
- Last Name – It depicts the last name of the student.
- Address – It depicts the complete address of the student.
- Email – It depicts the contact email address of the student.
- Phone – It depicts the contact phone number of the student.
Along with these fields mentioned above within this library management system assignment, two buttons are present – “Save” and “Reset”. “Save” button shall submit the form and sends details to the business logic layer. “Reset” button shall erase all the entered data in the fields and do not any information to the database.
(Wilson, 2012)
Book loan input screen The book loan screen attached in the next section of library management system assignment shows the details of the student and book to be loan. The screen has following fields:
- Book ID – Unique identifier of the book to be loaned.
- Loan date – It is the date on which book is sent for loan.
- Stock – It represents the total number of copies of book available for loan.
- Request – It represents the total number of requests received for the book to be loaned.
- Last booked by – It shows the details of student who last took the book on loan.
- Student ID – Unique identifier of the student who is about to loan the book.
- Name – Full name of the student who is about to loan the book.
(Hutt, 1993)
What are the testing activities used in the case scenario of library management system assignment? Testing shall be conducted at various stages. First of all unit testing will be conducted after completion of each module or iteration of software development lifecycle. Thereafter, system testing shall be performed to test the application from different perspective. It checks whether the features are working without any break in the application flow. User acceptance testing shall be carried out to test whether the developed system fulfils the expectations of end users.
Bottom-up testing methodology shall be used to conduct the testing of the application. As per this methodology, first of all the lower level functionalities shall be tested which are followed by directly above them. This methodology provided in the library management system assignment has been selected so that units are tested before combining functionalities in order to validate and verify the performance.
Following are two test plans which will be conducted to test the proposed library management system:
White box test plan Testing types – Following testing types will be conducted to carry out the activities of white box test plan:
- Code coverage – Source code of the developed library management system will be run and al the code lines are verified to ensure that there are not errors present in the developed code.
- Segment coverage – Segments of code are executed in this type of testing in order to ensure that code’s performance is adequate.
- Branch coverage – Every branch of code is executed in this type of testing.
- Display home screen of the proposed LMS only to the authenticated users who enter valid login credentials or else display an appropriate error message.
- Provide loan data of the student on entering correct student ID or else display an appropriate error message.
- Allows users to register in the system if the entered details generate unique ID or else ask users to enter new details.
- Mark student as excellent if there has been on late fees on any of the book loan; good if there is only 5% late fee fine and poor if there are more than 10% of late fee fines.
- Data Flow Testing – In this testing, validation of all possible values in all the fields of the system need to be validated.
- Loop testing – All loops are tested i.e. single, concatenated and nested.
Defect Logging Process Following steps illustrated in the library management system assignment will be carried out for defect loggings:
- Click on Bugzilla tool
- Summary of defect
- Choose category as white box defect
- Reproduction steps
- Responsible team resource
- Rate of responsibility
- Supporting references
Roles & Responsibilities – Following are key resources of the testing plan:
- System tester – This resource is responsible for carrying out all testing activities and identifying all bugs. All bugs are required to be entered in the system.
- Test Manager - This resource is responsible for developing and determining the testing methodology to be used for performing test processes.
- Test Analyst – This resource is responsible for creating test cases and test reports.
Black Box Test Plan Testing Types - Following testing types will be conducted to carry out the activities of black box test plan:
- Security testing – This type of testing ensures that system satisfies the integration of security tools and controls in the proposed system.
- Integration testing – This type of testing integrates modules and test the performance of these integrated modules as a whole.
- System testing – This type of testing includes testing of functional aspects of the proposed application. All the modules and requirements of the system are required to be tested.
- Regression testing – Testing team will log various types of bugs in the tool. The development team shall resolve those bugs. Then testing team again tests those resolved bugs to ensure that defects are correctly so that it does not beak code of any other part of the developed system. (Zobrist, Bagchi & Trivedi, 1998)
Test coverage matrix
Deployment activities As per the investigation carried on this library management system assignment, deployment is an optional stage in software development lifecycle where in final software is installed on workstations as an application which is to be accessible to users in runtime state. However, software deployment is not required but it comes under the customer support activity and hence it has now become a part of software development. Software distribution in deployment is not synonymous to each other (Zobrist, Bagchi & Trivedi, 1998).
It is evident herein library management system assignment that software deployment includes both installation and up gradation. It starts with the new release order from the organization and includes all the steps to be taken until customer is satisfied with the deployed system:
Conclusion Functional and non-functional requirements explored in the above sections of library management system assignment play an important role in depicting the key features of the proposed library management system as they decide the business logic and user screens of the system. User interface screens have been designed in a way that they possess a very low learning curve or the user to start working on it. Along with this, two strategies have been framed for testing i.e. white box and black box testing. The proposed systems shall follow the bottom up testing approach. Deployment activity shall include getting the key data first in the proposed system before moving the other non-essential data.
References Galitz, W. (2007). The Essential Guide to User Interface Design (2nd ed., pp. 45-46). Hoboken: John Wiley & Sons.
Hutt, A. (1993). User interface (1st ed., pp. 34-36). New York: Prentice Hall.
Koelsch, G. (2016). Requirements Writing for System Engineering (2nd ed., pp. 11-13). Berkeley, CA: Apress.
Valacich, J., George, J., & Hoffer, J. (2017). Essentials of systems analysis and design library management system assignment (2nd ed., pp. 23-26).
Wilson, M. (2012). Search user interface design (1st ed., pp. 22-25). Morgan & Claypool Publishers.
Zobrist, G., Bagchi, K., & Trivedi, K. (1998). Advanced computer systems design (1st ed., pp. 23-26). Amsterdam: Gordon & Breach.
CHECK THE PRICE FOR YOUR PROJECT
Number of pages/words you require, choose your assignment deadline, related samples.
- Developing knowledge of the function and importance of healthy body systems
- (ICT320) Database programming assignment using NoSQL on MongoDB platform for Luxury-Oriented Scenic Tours
- Innovation and technology assignment analysing the implementation of IN-SITU MINING technology at Genesis Energy
- Data analysis assignment on predictive analysis, text mining, big data problems and artificial intelligence
- sequel programming languages: The Efficient and Flexible Language for Managing Relational Databases
- The Benefits of fit3139Flight Simulation in the Aerospace Industry: Improving Safety and Efficiency through Advanced Technology
- cyber security assignment on the types of security tools required to protect software infrastructure
- system testing assignment on testing of software systems
- Computer science assignment on upgrading the computers and the servers of Amcor
- JAVA Program assignment – improving young professional codding skills for future development
- (MDA 20009)Digital community’s assignment exploring the effects of digital communication on social affairs
- (INT1012)Demonstrating knowledge about the internet and HTML markup language in the computer assignment
- Identification of key drivers for Cloud computing assignment projects
- Research Methodology Assignment: Discussion of Data Analysis Methods
- Cyber security assignment exploring 10 OWASP risks
- Create a plan for data conversion and describe the procedures
- Cloud Computing Assignment on Cloud Migration, Privacy and Security
- (MIS605) System Analysis And Design Assignment: Online Student Enrolment Process For ABC University
- Network Security Assignment: Discussion On Information Security Attacks
- Report on Important Characteristics of Operating Systems and Their Functions
- Computer Forensics Assignment Analyzing A Murder Case
- Blockchain Technology Assignment: Q&A Based On MultiChain & Programming
- Artificial Intelligence Assignment: A Systematic Review of Artificial Intelligence in Oncological Imaging
- (MIS201) Database Management System Assignment Analysing Academic Misconduct Case of ABC university
Looking for Your Assignment?
FREE PARAPHRASING TOOL
FREE PLAGIARISM CHECKER
FREE ESSAY TYPER TOOL
Other assignment services.
- SCM Assignment Help
- HRM Assignment Help
- Dissertation Assignment Help
- Marketing Analysis Assignment Help
- Corporate Finance Assignment Help
FREE WORD COUNT AND PAGE CALCULATOR
QUESTION BANK
ESCALATION EMAIL
To get answer.
Please Fill the following Details
Thank you !
We have sent you an email with the required document.
IMAGES