0% found this document useful (0 votes)
14 views2 pages

Library Management System Design Patterns

The document outlines three project ideas: a Library Management System, an Online Shopping System, and a Banking Application, each utilizing the Singleton and Factory Method design patterns. It provides specific functionalities for each project and instructions for team composition, development environment, and submission requirements. Teams must submit a project code and a lab report detailing the implementation, with a deadline of December 3, 2024.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views2 pages

Library Management System Design Patterns

The document outlines three project ideas: a Library Management System, an Online Shopping System, and a Banking Application, each utilizing the Singleton and Factory Method design patterns. It provides specific functionalities for each project and instructions for team composition, development environment, and submission requirements. Teams must submit a project code and a lab report detailing the implementation, with a deadline of December 3, 2024.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Design Pattern Lab Project list-1.

1. Project Title: Library Management System with Book Reservation

1. Singleton Pattern:
○ Use it for a Database Connection Manager to ensure there’s only one instance
managing the connection to the system's backend or file storage.
2. Factory Method Pattern:
○ Implement a Book Factory to create instances of different types of books (e.g.,
Fiction, Non-Fiction, E-books, Reference books).

2. Online Shopping System

● Singleton: Use it for managing the CartManager class to ensure there’s only one cart
instance per user.
● Factory Method: Create a ProductFactory to generate different product types (e.g.,
Electronics, Clothing, Groceries).
● Functionalities:
○ Add products to the cart.
○ View cart summary.
○ Checkout and generate an order summary.

3. Banking Application

● Singleton: Create a BankAccountManager to manage all account-related actions.


● Factory Method: Use a factory to generate different account types (e.g., Savings,
Current, Business).
● Functionalities:
○ Open new accounts.
○ Deposit and withdraw funds.
○ Display account details.

Project Instructions:
Each Team will consist of 3 members including from 4th, 5th and 8th semester. Every
team must have at least one junior member. You can develop the project in netbeans,
Eclipse or any IDE. You have to submit the project code and one lab report on the
project. The lab report will have: Problem statement, codes for the module and
description of how you have implemented the modules and how the modules work.
The project folder and the lab report must be renamed by the ids for example: 1_4_6
Here I have given three projects. You can choose any one of them and develop it. I have
also given the modules. You can also develop any other modules with the given modules.
But the given modules are must. Don’t copy each other. Make a zip of the project and the
lab report and submit the zip. Also rename the zip by your ids. You have time till 03.12.24

Common questions

Powered by AI

The mandatory lab report for each project requires students to articulate the problem statement, code, and explain how modules were implemented and function . This facilitates learning by encouraging students to understand their work deeply and reinforces knowledge through documentation. The report also creates a record of the project's development, which aids in accountability by providing a tangible output that demonstrates the students' efforts and the project's progress, ensuring that learning objectives are met .

Including junior team members can bring fresh perspectives and enthusiasm, invigorating team dynamics and contributing to a more diverse problem-solving approach. Junior members benefit from mentorship experiences, learning from more senior peers, which enriches their understanding and preparation for future roles. This setup promotes collaborative learning, where senior members consolidate their knowledge by teaching, thus enhancing the overall educational experience and fostering a culture of continuous learning and teamwork .

Requiring the use of specific IDEs such as NetBeans or Eclipse for development could standardize the development environment, which can streamline code integration and collaboration among team members by minimizing compatibility issues . It can also provide a consistent set of tools and debugging aids, likely enhancing efficiency and helping students familiarize themselves with widely-used industry-standard tools. However, this requirement might limit flexibility and prevent students from exploring other tools that might suit their personal preferences or project needs better, potentially impacting innovation or efficiency .

The intended team structure for the projects requires a group of three members, including at least one junior member from different semesters (4th, 5th, and 8th). This diverse composition is designed to encourage mentorship, learning, and a mix of experience levels, which can foster better problem-solving and resource sharing within the team. The varied perspectives may also lead to more creative solutions and a thorough understanding of the systems being developed, potentially enhancing the quality of the project outcome .

Implementing a Singleton Pattern in a banking application, specifically for the BankAccountManager, contributes to secure account management by ensuring that only one instance is responsible for managing account-related actions. This reduces the risk of inconsistencies and race conditions in account transactions, as all operations are managed through a single control point. It also enhances security by preventing unauthorized duplication of account management objects, ensuring that sensitive operations are conducted through a centrally controlled and singleton instance .

The timeline until 03.12.24 offers a structured timeframe for students to plan, execute, and refine their projects, fostering project management skills such as time budgeting, milestone setting, and pacing work over a longer duration. This period allows sufficient time for deep learning and understanding complex topics, iterative testing, and incorporating feedback, which can enhance the quality of the final product and deepen learning outcomes by preventing a last-minute rush .

The Factory Method Pattern provides the advantage of creating objects without specifying the exact class of object that will be created, thus promoting flexibility and scalability. In the context of the Library Management System, a Book Factory allows the creation of different book types (e.g., Fiction, Non-Fiction, E-books) without changing the client code, making it easier to introduce new book types in the future . Similarly, in an Online Shopping System, a Product Factory generates different product types (e.g., Electronics, Clothing), which decouples the creation logic from the usage, allowing easy extension and maintenance .

Using project IDs in file and submission naming conventions helps organize submissions efficiently by providing a systematic and standardized way to identify and retrieve the projects quickly. This reduces confusion and mix-ups, making it easier for evaluators to track progress and handle large volumes of submissions. It also aids in tying submissions to the correct teams and members, ensuring accountability and simplifying the administrative management of the projects .

The Singleton Pattern ensures uniqueness in managing resources by controlling the instantiation of a class, such that only one instance exists throughout the application. In the Library Management System, a Singleton Pattern is used for the Database Connection Manager to maintain a single connection to the backend, preventing multiple conflicting connections, which ensures consistency and efficiency . Similarly, in the Online Shopping System, the Singleton Pattern manages the CartManager class, ensuring each user has one unique cart instance, which prevents duplicate carts and maintains coherence when adding products or checking out .

Ensuring non-duplication of submissions while maintaining original contributions involves several challenges, such as detecting subtle similarities in code beyond superficial differences and understanding intent and originality in problem-solving approaches. Submissions must be rigorously compared to detect plagiarism, which demands sophisticated tools and significant manual oversight . Encouraging original contributions requires clear guidelines, fostering a learning environment that values creativity, and providing examples of acceptable reuse of ideas while emphasizing the importance of citing sources . Such measures are critical to maintaining academic integrity and encouraging innovative thinking among students.

You might also like