Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

COURSEWORK ASSIGNMENT

MODULE CODE: CSYM026-SPR

STUDENT NAME: Junaid Maqsood Chishti


(22833484)

COURSE NAME: Software Engineering

COURSE TEACHER: DR. John Kanyaru

DATE SUBMITTED: 09/06/2023.


“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.

Abdulwahab: Managed depot handler/worker class, implemented depot


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 %

You might also like