Java application for managing tasks with a priority queue and binary heap. Implemented features for task creation, deletion, and sorting, following SDLC best practices and utilizing object-oriented design.
Overview
The Task Manager Project is a console-based Java application designed to help users manage their tasks efficiently. This application utilizes a priority queue to prioritize tasks based on user-defined criteria, allowing for effective organization and management of workloads.
Features
Task Management: Users can create, delete, and view tasks. Priority Queue: Implements a priority queue to ensure tasks are organized by importance and urgency. User-Friendly Interface: Provides a simple command-line interface for seamless interaction.
Programming Language: Java Data Structures: Priority Queue Development Environment: IntelliJ IDEA Software Development Life Cycle (SDLC)
This project was developed following the Software Development Life Cycle framework to ensure a structured and efficient development process:
Planning: Identified the need for a task management solution that prioritizes tasks effectively. Defined the scope and objectives of the application. Analysis: Gathered requirements by analyzing similar task management applications and determining essential features such as task creation, deletion, and prioritization. Design: Created a detailed design document outlining the application's architecture, including the use of a priority queue for task organization. Designed the user interface and class structure. Implementation: Developed the application in Java, implementing features according to the design specifications. Utilized object-oriented programming principles to ensure code maintainability. Testing: Conducted unit tests to verify the functionality of individual components and overall integration testing to ensure the application operates as intended. Deployment: The application is ready for deployment, allowing users to download and run it locally. Maintenance: Future updates may include integrating a database for persistent storage and adding additional features based on user feedback.