In Stage 1, a sequential waterfall model was used to develop the code in a step-by-step manner to meet requirements. In Stage 2, the code was modified to support multithreading for parallel task execution and improved performance. Both approaches were successful, with the multithreaded approach of Stage 2 providing significant performance gains through concurrent processing. The project was developed solely by the dedicated group members through consistent communication and collaboration. Contributions were divided between developing core functionality, UI, logging, and general utilities.
In Stage 1, a sequential waterfall model was used to develop the code in a step-by-step manner to meet requirements. In Stage 2, the code was modified to support multithreading for parallel task execution and improved performance. Both approaches were successful, with the multithreaded approach of Stage 2 providing significant performance gains through concurrent processing. The project was developed solely by the dedicated group members through consistent communication and collaboration. Contributions were divided between developing core functionality, UI, logging, and general utilities.
In Stage 1, a sequential waterfall model was used to develop the code in a step-by-step manner to meet requirements. In Stage 2, the code was modified to support multithreading for parallel task execution and improved performance. Both approaches were successful, with the multithreaded approach of Stage 2 providing significant performance gains through concurrent processing. The project was developed solely by the dedicated group members through consistent communication and collaboration. Contributions were divided between developing core functionality, UI, logging, and general utilities.
“Comparison between Methodologies used in Stage 1 and Stage 2.”
In Stage 1, the development approach employed was a sequential or
linear methodology. The code was implemented in a step-by-step manner, focusing on meeting specific requirements. It followed a traditional waterfall model, completing each stage before moving on to the next.
The implementation in Stage 1 successfully achieved the desired
functionality. The code could read customer and parcel data, perform calculations, generate reports, and handle basic error checking. The use of classes and methods provided a structured and modular design, enhancing code maintainability and reusability.
In Stage 2, the development approach shifted to a concurrent and
multithreaded methodology. The code was modified to support multithreading, enabling parallel execution of tasks. The Java Concurrency API's ExecutorService facilitated thread management and execution. This multithreaded approach aimed to improve performance and efficiency, especially for larger workloads.
The Stage 2 approach succeeded in enhancing application performance.
By utilizing multiple threads, processing time significantly decreased as tasks could be executed concurrently. The ExecutorService facilitated thread management and resource control.
Overall, both approaches were successful within their respective
contexts. The multithreaded approach in Stage 2 provided significant performance improvements and scalability. However, it required careful consideration of synchronization and thread safety. The choice between approaches depends on the specific requirements and constraints of the application.
“Resources Used in Development of Project.”
The development of the project was solely accomplished by the
dedicated group members, without utilizing external resources. The team maintained consistent communication through scheduled meetings, ensuring focused and dedicated collaboration. “Summary of Contribution of Members in both Stage 1 and Stage 2.”
Stage 1:
Junaid: Responsible for project setup, including Git repository and
project structure. Worked on model classes such as parcel, customer, and depot. Implemented necessary functionality, data structures, file reading, report writing, and exception handling.
Akber: Focused on collection classes for parcels and customers. Added
helper functions for adding, removing, and retrieving objects. Handled exception handling in model classes.
operations, and worked on parcel fee calculation. Collaborated with Junaid on report generation.
Stage 2:
Abdul Wahab: Worked on utility functions, data processing,
calculations, and general-purpose functionalities, contributing to the overall efficiency of the system.
Akber: Developed the log management component, including the
implementation of a singleton logging system. Ensured comprehensive capture and storage of system logs for debugging and analysis.
Junaid: Initiated the development environment, set up the user interface
(UI), and designed its layout. Implemented functionality for reading files, displaying tables, and presenting data effectively.
Collectively, the contributions of Abdul Wahab, Akber, and Junaid played
vital roles in different aspects of the system's development. Their expertise and dedication enhanced utility functions, log management, initial setup, and UI components, contributing to the project's success.
Percentage Contribution:
1) Junaid Maqsood Chishti: 40 %
2) Mohammad Akber Mirza: 35% 3) Abdul Wahab Anifowose: 25 %