0% found this document useful (0 votes)
82 views30 pages

Sprint 1 Report

report on sprint 1

Uploaded by

sarakhan20044
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)
82 views30 pages

Sprint 1 Report

report on sprint 1

Uploaded by

sarakhan20044
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
You are on page 1/ 30

lOMoARcPSD|40707202

2204755 Rohan Khatiwada sprint 1

Collaborative Development (Itahari International College)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Alexa Russo ([email protected])
lOMoARcPSD|40707202

Module Portfolio Assessment Type


Collaborative Development 1 Individual Report
(5CS024)

Bakery Management System- Developer

Student Id : 2204755
Student Name : Rohan-Khatiwada
Section : L5CG12
Group : Group A
Role : Developer
Instructor : Mr. Anmol Adhikari
Submitted on : 02-04-2023

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Acknowledgement:

A Special Thanks to Mr. Anmol Adhikari, My Team, and My Family. Reflecting on my recent report,
I am grateful to the individuals who supported and contributed to its success. This article is a heartfelt
thank you to Mr. Anmol Adhikari, my team, and my family. Our tutor, Mr. Anmol Adhikari, allowed
me to work on this report, and I am immensely grateful for his guidance and support throughout the
process. His expertise and patience helped me to deepen my understanding of the subject matter, and
his willingness to answer my questions and provide feedback was invaluable in producing a report
that I am proud of. Thank you, Mr. Anmol Adhikari, for believing in me and helping me succeed.

I would also like to thank my team members for their creativity, hard work, and dedication in making
this report possible. Collaborating with such talented and motivated individuals was a privilege, and I
am proud of what we achieved together. Their contributions were essential to the report's success, and
I am grateful for the opportunity to work alongside them.

Lastly, I want to thank my family for their support. Their encouragement, patience, and understanding
were the foundation of my success, and I could not have completed this report without their help. I am
deeply grateful for their love and support and the sacrifices they made to help me achieve my goals.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Table of content:
Self-appraisal form 1
Personal objectives – performance measurement 1
Collaboration Document: 2
Continuing Personal Development (CPD): 2
Issue tracking: 2
Appendix A: 3
1. Choosing for relevant technologies: 3
1.1. Programming Languages 3
1.2. Framework: 5
1.3 Database: 7
Appendix B: 12
Implementing Functional Requirements: 12
Uses Version Control: 15
Appendix C: 16
Good Communication and File Sharing Evidences: 16
Appendix D: 18
Continuing Personal Development (CPD) Report : 18
Continuing Personal Development (CPD) Evidences: 19
Appendix E: 22
Issue Tracking Evidences: 22
Issue Tracking Report: 24
References 25

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Table of Figures:
Figure 1: Connecting to database ....................................................................................... 12
Figure 2: Login Backend ..................................................................................................... 13
Figure 3: CRUD of employee .............................................................................................. 13
Figure 4: Employee adding ................................................................................................. 14
Figure 5: Github Repo ......................................................................................................... 15
Figure 6: Commits in github ................................................................................................ 15
Figure 7: Communication in Basecamp ............................................................................... 16
Figure 8:Campfire ............................................................................................................... 16
Figure 9: Communicating and Flie sharing in Google Space ............................................... 17
Figure 10: Campfire ............................................................................................................ 17
Figure 11: Certificate of Course .......................................................................................... 19
Figure 12::youtube videos of Java....................................................................................... 20
Figure 13: Youtube video of Mysql ...................................................................................... 20
Figure 14: Online course ..................................................................................................... 21
Figure 15: Issues in github .................................................................................................. 22
Figure 16: Login Issue......................................................................................................... 22
Figure 17 :JDBC Issue ........................................................................................................ 23
Figure 18: Validatition ......................................................................................................... 23

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Self-appraisal form

Student number 2204755 Name Rohan Khatiwada


Project Bakery Management System Date 02-04-2023
Role Developer Team L5CG12 (Group A)
Sprint (1 or 2) Sprint 1
Personal objectives – performance measurement

Objectives Evidence provided Evaluation


Student/Tutor
As the back-end developer for the Bakery Management 8
Choosing for the System desktop application, my responsibilities include
relevant connecting the application with the database and managing
technologies data input and output. To achieve this, we decided to use
the following technologies: Java as the programming
language, Java Swing as the front-end framework, and
MySQL as the database management system. I've explained
why I chose the relevant technologies and why I didn't
choose the alternative.
Link To Report:
1. Choosing for relevant technologies:

Tutor feedback:

Implementing As a developer, I was responsible for implementing 8


Functional essential features in the Bakery Management System, as
Requirements: outlined by the Business Analyst. These features included a
secure login system requiring user credentials, CRUD
operations for employee records, and a "forget password"
feature for password resets. The implemented features
aimed to create a user-friendly and secure system.
Accompanying screenshots of the code and its explanations
are also provided.
Link To Document:
Implementing Functional Requirements:

Tutor feedback:

/20 /20

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Collaboration Document:
For our group project, effective communication and file sharing were crucial to success. I utilized
Basecamp for centralized project management, including to-do lists, deadlines, and task
assignments. Additionally, I have used Google Space for collaboration and file sharing, creating
shared folders and editing documents collaboratively with Google Docs. These tools allowed us to
work together efficiently, resulting in a successful outcome.
Link To Document:
Good Communication and File Sharing Evidences:

Continuing Personal Development (CPD):


I improved my technical skills in Java, Swing, MySQL, and project management skills such as time
management, task management, and risk management by developing the desktop application and
finishing a Java programming course. These skills have helped me improve my programming
efficiency and code quality, as well as expand my knowledge of Java programming. I plan to
continue learning new programming languages and technologies to achieve personal and
Professional growth.
Link To Report:
Continuing Personal Development (CPD) Evidences:
Continuing Personal Development (CPD) Report :

Issue tracking:
As the developer of the Bakery Management System application my primary responsibility was to
resolve any issues that were reported by the Business Analyst. I resolved reported issues such as the
Login Issue, Java database Connector Issue, and Validation Issue. I modified the code and tested it
to improve functionality and user experience. I'll continue to monitor the application for any further
issues and work to resolve them to ensure the application runs smoothly.
Link to Report:
Issue Tracking Evidences:
Issue Tracking Report:

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Appendix A:
1. Choosing for relevant technologies:
1.1. Programming Languages
1.1.1 Java:
Java is an object-oriented programming language that is widely used. It was created by Sun
Microsystems, which is currently owned by Oracle Corporation. It is noted for its portability, security
features, and resilience and is used to construct desktop, web, and mobile apps. (Anon., n.d.)

I). Risks of Java Programming:

Security Vulnerabilities: Although Java is known for its security features, it can still be vulnerable to
attacks due to bugs or loopholes in the language.
Performance Limitations: Java is an interpreted language that can be slower than compiled languages.
Platform Dependencies: While Java is known for its platform independence, it can still face
challenges due to platform-specific bugs and hardware constraints.
ii) Limitations of Java Programming:

Memory Management: It makes programming easier but can also lead to performance issues due to
garbage collection and memory leaks.

Learning Curve: Beginners may find it difficult to grasp the concepts and syntax, especially if they
have no prior experience with programming.

Code Complexity: Java code can become complex and hard to maintain as the application grows in
size and complexity. It makes debugging and fixing errors challenging.

1.1.2 Python:
Python is a high-level, interpreted programming language that is widely used in web development,
data analysis, artificial intelligence, and other applications. Guido van Rossum designed it in the
1990s and is noted for its clear and accessible syntax. Python supports different programming
paradigms and offers a large number of libraries and frameworks

i)Risks of Python programming language:

Security Risks: Python is an interpreted language, meaning the source code is visible to anyone
accessing the program.

Performance Limitations: Python can be slow in terms of performance compared to low-level


languages like C or C++ because of its interpreted nature, which leads to a longer execution time.

Version Compatibility: The code written in an earlier version may not work on a later version, leading
to compatibility issues.

ii)Limitations of Python programming language:

Memory Management: Python's automatic memory management system is helpful but can also be
limited in certain situations. Large datasets can consume a lot of memory, leading to performance
issues and slow execution.

Mobile App Development: Python is not the best language for mobile app development, as it lacks
native support for mobile platforms.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Multithreading Limitations: Python has limitations regarding multithreading due to the Global
Interpreter Lock (GIL).

1.1.3 C#
C# is an object-oriented programming language that Microsoft created as part of the.NET framework.
It mixes C and C++ features with Java and Delphi, making it simple to learn.. Key features include
type safety, garbage collection, and support for asynchronous programming. Widely used in
developing desktop, web, and mobile applications, C# is a powerful and flexible language that
supports multiple programming paradigms. (Payne, 2023)

i) Risk of C# programming language:

Dependency on Microsoft: C# is developed by Microsoft, which means that Microsoft controls its
development and updates. This can result in dependency on the company and the risk of a lack of
support if Microsoft decides to discontinue the language.

Limited use on non-Windows platforms: While C# can be used on non-Windows platforms like Linux
and macOS, its support and tools are less robust than Windows.

Vulnerability to cyber attacks: C# applications can be vulnerable to cyber attacks, such as buffer
overflows if developers do not follow proper security practices.

ii) Limitation of C# programming language:

Memory management: While C# features automatic memory management, it can lead to memory
leaks and performance issues if not properly managed.

Limited low-level control: C# is a high-level language and lacks the low-level control provided by C
and C++, making it less suitable for certain applications, such as embedded systems and device
drivers.

Limited compatibility with legacy systems: C# is a relatively new language and may not be
compatible with legacy systems that were developed in another language.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

1.2. Framework:
1.2.1 Java Swing:

Java Swing is a set of GUI (Graphical User Interface) components and a toolkit that allows developers
to create desktop applications with a rich and interactive interface. Swing provides many components,
including buttons, text fields, menus, and more. It also supports customizations, such as creating
visually appealing interfaces. Swing is widely used for developing desktop applications in various
industries. (Anon., n.d.)
i) Risks of Swing framework:

Platform-dependent: Swing is a Java-based GUI toolkit, which means that it relies on the Java Virtual
Machine (JVM) and is platform-dependent.

Limited design capabilities: While Swing provides a set of basic GUI components, it has limited
design capabilities compared to other GUI frameworks, making it more difficult to create visually
appealing interfaces.

Performance issues: Swing applications can suffer from performance issues if not properly optimized,
especially when dealing with large amounts of data or complex GUI components.

ii) Limitations of Swing framework:

Steep learning curve: Swing has a steep learning curve, especially for beginners, due to its complexity
and the need for a solid understanding of Java programming concepts.

Limited third-party support: While Swing has a large user community, it has limited third-party
support compared to other GUI frameworks, making finding solutions to specific problems more
difficult.

Limited mobile support: Swing is primarily designed for desktop applications and has limited support
for mobile platforms, making it less suitable for mobile development.

1.2.2 Django:
Django is a high-level web framework for constructing Python online applications. It adheres to the
Model-View-Controller (MVC) architectural pattern and offers a comprehensive set of tools and
libraries to assist developers in quickly and efficiently developing sophisticated online applications. It
is open-source and extensively used, with a huge and active developer community contributing to its
continuing growth and improvement.

i) Risks of Django Framework:

Security vulnerabilities: As with any web framework, Django is susceptible to security vulnerabilities
if not properly secured and maintained.

Limited scalability: While Django is suitable for small projects, it may not be as scalable as other web
frameworks when dealing with large amounts of data or high traffic volumes.

Dependency on third-party packages: Django relies on many third-party packages, which can create
dependencies and compatibility issues, especially when upgrading to new versions.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

ii) Limitations of Django Framework:

Limited flexibility: Django is opinionated. It has a specific way of doing things and can limit
flexibility for developers who want to deviate from the standard conventions.

Steep learning curve: Django has a steep learning curve, especially for beginners, due to its
complexity and the need for a solid understanding of Python programming concepts.

Limited support for real-time applications: Django is primarily designed for traditional web
applications and may not be as suitable for real-time applications, such as chat applications or online
games.

1.2.3 Spring Boot:

Spring Boot is a Java-based framework. Spring Boot is a strong framework that helps Java developers
improve the development process.Spring Boot was created to simplify the development process by
providing various features that allow programmers to easily and quickly develop apps. (Jones, 2021)

i) Risks of Spring Boot:

Minimal customization: Spring Boot's subjective style may limit modification choices for developers
who seek more control over their application's behavior.

Technical complexity: Spring Boot programs can be established in various ways. The deployment
procedure might become complicated and time-consuming because of various configuration options.

Low levels of community support: Although Spring Boot has a large and active community, Spring
Boot might not have the same level of corporate framework support.

ii) Limitations of Spring Boots:

Limited flexibility: Although Spring Boot provides many connection choices and is built to operate
with the Spring framework, it might not support all of the technologies that a programmer may want
to utilize.

Scalability issues: Spring Boot offers an embedded server that may be used for testing and
development. It might not be appropriate for applications with demanding scalability or large traffic
volumes.

Limitations of dependency management: Spring Boot's dynamic resource management may not
always give the closest or most suitable versions of third-party dependencies.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

1.3 Database:

1.3.1 MySQL:
ySQL is a well-known open-source relational database management system (RDBMS) for storing and
managing data. It supports a variety of programming languages, is scalable, and has numerous
features. (Anon., n.d.)

i) Risks of MySQL:

Security vulnerabilities: MySQL can be vulnerable to security breaches if not properly secured and
maintained.

Single point of failure: MySQL can be a single point of failure in a system, leading to data loss and
downtime.

Limited support: While MySQL has a large user community, it may not have the same level of
support as commercial RDBMSs, such as Oracle.

ii) Limitations of MySQL:

Limited scalability: MySQL may not be as scalable as other RDBMSs when dealing with large
amounts of data or high traffic volumes.

Limited functionality: MySQL may not have the same range of features as commercial RDBMSs,
such as Oracle, which can limit its use in certain industries.

Limited support for unstructured data: MySQL is primarily designed for structured data and may not
be suitable for managing unstructured data, such as multimedia content.

1.3.2 Oracle:

Oracle is a proprietary relational database management system (RDBMS) that is widely used in
enterprise environments. It is known for its scalability, reliability, and security features. Oracle also
provides various tools and applications for data management and analytics.

i) Risks of Oracle:

High cost: Oracle is a commercial RDBMS and can be expensive, especially for smaller organizations
or startups.

Vendor lock-in: Oracle is proprietary software and can create dependencies and vendor lock-in for
organizations.

Complexity: Oracle can be complex to set up and manage, requiring specialized expertise.

ii) Limitations of Oracle:

Limited scalability: Oracle may not be as scalable as other RDBMSs when dealing with large amounts
of data or high traffic volumes.

Limited support for open-source technologies: Oracle may not have the same level of support for
open-source technologies as other RDBMSs, such as MySQL and MariaDB.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Limited compatibility: Oracle may not be compatible with certain platforms and systems, which can
limit its use in certain industries.

1.3.3 MariaDB:

MariaDB is a clone of MySQL that is an open-source relational database management system


(RDBMS). It is intended to be a drop-in replacement for MySQL and offers comparable capabilities.
MariaDB is known for its performance, scalability, and compatibility with MySQL applications.

i) Risks of MariaDB:

Security vulnerabilities: MariaDB can be vulnerable to security breaches if not properly secured and
maintained.

Limited support: While MariaDB has a growing user community, it may not have the same level of
support as commercial RDBMSs, such as Oracle.

Limited third-party support: MariaDB may have limited third-party support compared to other
RDBMSs, such as MySQL.

ii) Limitations of MariaDB:

Limited functionality: MariaDB may not have the same range of features as commercial RDBMSs,
such as Oracle, which can limit its use in certain industries.

Limited compatibility: MariaDB may not be compatible with certain platforms and systems, which
can limit its use in certain industries.

Limited support for unstructured data: MariaDB is primarily designed for structured data and may not
be suitable for managing unstructured data, such as multimedia content.

Reason for choosing Java programming language:

S.N Justification

1. Java has a huge and active developer community that contributes to its development and
provides support via various online forums and resources.

2. Java is an object-oriented language, developers may organize their code into reusable and
modular structures

3. Java programs can operate on different platforms without change, making them extremely
versatile and accessible.

4. Java includes built-in security capabilities to guard against viruses, hackers, and other
security risks.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Reason for using swing framework


S.N Justification

1. Swing framework can run on a different platform that supports Java without any
modifications.

2. Swing is a popular choice for developers as it is designed to be easy to use and learn.

3. Swing allows developers to create their own custom look and feel for their applications or
choose from the existing look and feel options provided by Swing.

4. Swing provides a wide range of UI components which includes buttons, text fields, menus,
and dialogs and it can be customized as per the application's requirements.

Reason for choosing MYSQL database:

S.N Justification

1. MySQL is open-source software, so it is free to use and distribute. As a result, it is a low-


cost solution for enterprises of all sizes.

2. MySQL is designed for speed and it can manage difficult queries and transactions
efficiently.

3. It also supports various indexing techniques to improve query performance.

4. MySQL can handle large data and support applications with high traffic and heavy
workloads.

Reason for not choosing Python:

S.N Justification

1. Slow performance compared to compiled languages

2. Limited support for application development

3. Python is Inefficient for memory-intensive tasks.

4. As compared to other languages, the execution speed of python is slow.

Reason for not choosing C#:


S.N Justification

1. C# is mainly used for Windows applications and doesn't work as well on other platforms.

2. C# is relatively easy to learn compared to other languages, but it still requires a significant
learning curve for beginners.

3. C# has a smaller number of open-source libraries available compared to Java.

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

4. C# development often requires the use of Microsoft's development tools, which come with
licensing costs that can be expensive for college projects.
Reason for not choosing Django :

S.N Justification

1. Django has a steep learning curve, and I find it challenging to grasp its concepts and
workflows.

2. Using Django makes it difficult to customize and scale applications as they grow larger.

3. Django's architecture adds some performance overhead, which may make it less suitable
for high-performance applications.

4. Django is not suitable for complex database structures or certain types of queries.

Reason for not choosing Spring Boot:


S.N Justification

1. Spring Boot makes heavy use of annotations, which make code harder to maintain.

2. Spring Boot is not suitable for projects that require more flexibility and customization.

3. Spring Boot requires a significant amount of resources to run, which may not be suitable
for applications with limited resources.

4. Spring Boot is a complex framework that offers many features, which can be
overwhelming for small projects and teams.

Reason for not choosing Oracle:


S.N Justification

1. Oracle database is not compatible with all development frameworks or programming


languages, which can limit its flexibility in certain use cases.

2. Oracle database requires significant hardware resources to run effectively, which may make
it unsuitable for small applications.

3. It is difficult to set up and configure, particularly for those with little experience with the
software.

4. Oracle database licensing is expensive, particularly for large-scale enterprise applications.

10

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Reason for not choosing MariaDB:

S.N Justification

1. Compared to other popular databases, MariaDB has fewer features and functionalities,
which limit its capabilities in certain use cases.

2. Moving from MariaDB to MySQL can be a challenging and intimidating process.

3. It does not offer the same level of support and resources as larger databases such as Oracle
or MySQL Server.

4. The compatibility of MariaDB with certain development frameworks or programming


languages is limited, which reduces its flexibility for certain use cases.

11

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Appendix B:
Implementing Functional Requirements:
As a developer, I have to implement several key features in the Bakery Management System provided
by the Business Analyst of our project. First, I created a secure login system that requires users to
provide their login credentials before entering the system. I also implemented a complete set of
CRUD operations for employee records, allowing admin to easily add, view, update, and delete
employee information as needed. Finally, I included a "forget password" feature that enables users
who lost or forgotten their login password to reset their password. By including these important
features, I have created a user-friendly and secure system. Here are some of the screenshots of the
code and its explanation.

Code:
Database Connection:

Figure 1: Connecting to database

This code is for connecting our system to a MySQL database and performing SQL queries. It creates a
class Dbconnection that establishes a connection to the database, has methods for manipulating and
retrieving data using either regular SQL statements or prepared statements, and contains a main
method for testing the connection.

12

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Login Page:

Figure 2: Login Backend

This code is for the login panel, it includes a form for users to enter their username, password, and
role (admin or employee). Once user clicks the "Login" button, the code will check whether the
entered information matches with the data in the MySQL database. If the data is valid, the user will be
redirected to the system's main menu. If the data is invalid, an error message will be displayed.

Edit and Update Employee:

Figure 3: CRUD of employee

This code edit and update information of employees in our system. It first retrieves the selected row
from the JTable and prompts the user to edit the information. Then, it updates the JTable and the
database with the new employee information of the employee.

13

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Add Employees:

Figure 4: Employee adding

This is a java code for adding new employees to the system and a database. It checks if all the
required fields are filled and then inserts the data into the database. If the insertion is successful, a
success message is displayed and the form is cleared. If the insertion fails, an error message is
displayed.

14

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Uses Version Control:


Version control systems help us exchange files between developers, trace individual changes,
establish an efficient workflow, backup files, identify and solve issues, and work collaboratively on
the project. It also helps us identify issues in each other's files, find and fix bugs together.

Version control systems, multiple team members such as developers and designers, business analyst,
project manager can collaborate on the same project effectively and efficiently. It is important to have
a version control system in place to ensure that everyone has access to the most recent code and
changes can be tracked. Our team chose GitHub as the version control system to manage our project's
development process. Here are some evidences of using version control in our project:

Figure 5: Github Repo

This is the screenshot of using the version control system to clone files, finding and fixing bugs etc.

Figure 6: Commits in github

The above screenshot is another evidence of using version control.The first commit is about resolving
a login issue and other commits are about backend development for login, employee, and forget
password features.

15

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Appendix C:

Good Communication and File Sharing Evidences:


In this group project, we recognized that effective communication and file sharing were most
important to achieving our goals. To facilitate this, we utilized two main tools: Basecamp and Google
Space. Basecamp provided us with a centralized platform for communication and project
management. We used it to create to-do lists, and assign tasks to team members. Google Space was
used for collaboration and file sharing specifically. We set up shared folders for different stages of the
project and used Google Docs for collaborative editing of documents.

Figure 7: Communication in Basecamp

Figure 8: Campfire

16

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Figure 9: Communicating and File sharing in Google Space

Figure 10: Campfire

Overall, using Basecamp and Google Space allowed us to maintain good communication and
collaboration throughout the project. These tools enabled us to work together efficiently and
effectively, resulting in a successful outcome.

17

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Appendix D:
Continuing Personal Development (CPD) Report:

Firstly, I would like to discuss the technical skills I developed through the project. Developing a
desktop application using Java Swing and MySQL required me to apply various concepts and
techniques such as object-oriented programming, GUI design, database management, and data
structures. These skills have allowed me to develop efficient and user-friendly desktop applications
that meet the needs of clients and users. Moreover, completing the Java programming course through
different learning platforms has also allowed me to enhance my technical expertise. The course taught
me new programming concepts and tools, such as Java syntax, inheritance, polymorphism, exception
handling, and Java collections. These skills have helped me improve my programming efficiency and
code quality and expand my knowledge of Java programming. To further improve my knowledge and
proficiency,

Apart from technical skills, I have also developed my project management skills through this project.
Developing a complex software application requires careful planning, designing, implementation,
testing, and deployment. Throughout the development process, I have learned to manage my time
effectively, communicate with team members, prioritize tasks, and handle project risks and issues.
These skills have helped me become a more effective and efficient developer and have prepared me
for future projects. Reflecting on my experience, I believe that continuing personal development is
essential to staying relevant in the industry and achieving personal and professional growth.
Therefore, I plan to continue learning new programming languages, tools, and technologies through
various means, such as online courses, books, and collaboration with other developers. By doing so, I
believe I can continue improving my skills and knowledge and develop innovative and effective
software solutions.

In conclusion, the "Bakery Management System" desktop application development and the Java
programming course through different online learning platforms have been instrumental in my
personal and professional growth. Through these experiences, I have developed my technical and
project management skills, expanded my knowledge of programming concepts and tools, and learned
the importance of continuing personal development. I am excited to continue my learning journey and
take on new challenges in the future.

18

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Continuing Personal Development (CPD) Evidences:


I developed my technical skills through the "Bakery Management System" desktop application
development using Java Swing and MySQL. Completing the Java programming course through
different platforms also improved my programming efficiency and code quality, as well as expanded
my knowledge of Java programming. In addition, I developed my project management skills,
including time management, communication, task prioritization, and risk management.

Online Course Certificate:

Figure 11: Certificate of Course

First of all, to improve my knowledge and proficiency, I completed an online course in Java
programming through Coursera and received a certificate of accomplishment
(Certificate link: https://www.coursera.org/account/accomplishments/verify/73ZMVBDYN7EY)

19

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Learning From Youtube:

Figure 12:: YouTube videos of Java

Figure 13: YouTube video of Mysql

Similarly, I chose the YouTube learning platform to continue my personal development. I have
completed full courses for Java programming and MySQL database, which allowed me to learn new
techniques and tools to further my development.

20

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Figure 14: Online course

Utilizing Tutorialspoint's online resources, I have focused on learning about Java encapsulation to
enhance my understanding of object-oriented programming principles. Through this resource, I have
gained valuable knowledge and skills that I can apply in future projects and continue my development
as a software developer.

21

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Appendix E:
Issue Tracking Evidences:

Figure 15: Issues in github

As a developer of the Bakery Management System application, I resolved multiple issues that
impacted the system's functionality and user experience. The Login Issue was related to text fields for
login and password not matching. The Java database Connector Issue prevented users from accessing
the system's database. The Validation Issue led to incomplete employee records in the database.
Through these solutions, I improved the overall functionality and user experience of the Bakery
Management System application.Evidences:

Login Issue:

Figure 16: Login Issue

The login issue occurs when the user tries to login using invalid credentials. If the entered data do not
match, an error message is displayed.I implemented a validation check to ensure that only valid
credentials were accepted, and an error message was displayed otherwise.

22

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Java Database Connector Issue:

Figure 17 :JDBC Issue

Java database Connector Issue was caused by the JDBC driver not being loaded correctly, which
prevented users from accessing the database and impacted the application's functionality.

Validation Issue:

Figure 18: Validation

Validation Issue was related to incomplete employee records in the database, caused by the
application not checking for empty fields before adding new employee

23

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

Issue Tracking Report:


As a developer of the Bakery Management System application, my primary responsibility was
identifying and resolving issues that the Business Analyst reported. In this report, I will provide
details on the three issues I was assigned to resolve: Login Issue, Java database Connector Issue, and
Validation Issue.

Login Issue:
When the Business Analyst reported the Login Issue, I began investigating the problem. The issue
was related to the text fields for login and password not matching. Whenever a user tried to log in, the
application would display an error message saying, "Username and password do not match." This
made it difficult for users to access the system and created a frustrating experience. To resolve this
issue, I modified the login code to check if the textfields for login and password matched. If the
textfields did not match, the user would be prompted to re-enter their login details. After making these
changes, I thoroughly tested the new code to ensure that it was functioning correctly. I also verified
that the error message was no longer displayed and users could log in successfully.

Java database Connector Issue:


The Java database Connector Issue that was reported to me was related to the JDBC connection not
being established correctly. This issue made it impossible for users to enter the system's database,
which impacted the application's overall functionality. To resolve this issue, I first reviewed the code
and database configuration files to identify any potential issues. After analyzing the code, I discovered
that the JDBC driver was not being loaded correctly. I updated the code to load the JDBC driver
properly to fix this.

Validation Issue:
The validation issue reported to me was related to creating a new employee to the system. The issue
was that the application was not checking if any of the text fields were empty before attempting to add
an employee to the system. This led to the creation of incomplete records in the database and made it
difficult for users to manage employee information. To resolve this issue, I included validation checks
to ensure that all the required fields were filled before adding a new employee to the database. After
making these changes, I tested the new code to verify that it was functioning correctly and that no
empty fields were being added to the database. These validation checks ensured that all employee
records were complete and allowed users to manage employee information effectively.

Conclusion

In conclusion, as a developer of the Bakery Management System application, I successfully resolved


the Login Issue, Java database Connector Issue, and Validation Issue by modifying the application's
code and thoroughly testing it to ensure that it was functioning correctly. By resolving these issues, I
improved the overall functionality and user experience of the Bakery Management System
application.

24

Downloaded by Alexa Russo ([email protected])


lOMoARcPSD|40707202

References
Anon., n.d. edureka. [Online]
Available at: https://www.edureka.co/blog/java-swing/
Anon., n.d. oracle. [Online]
Available at: https://www.oracle.com/mysql/what-is-mysql/
Anon., n.d. TutorialsPoint. [Online]
Available at: https://www.tutorialspoint.com/java/java_basic_syntax.htm
Jones, B. L., 2021. codeguru. [Online]
Available at: https://www.codeguru.com/java/top-five-most-popular-front-end-frameworks/
[Accessed 29 01 2023].
Payne, R., 2023. Codeguru. [Online]
Available at: https://www.codeguru.com/csharp/c-sharp-disadvantages/
[Accessed 29 03 2023].

25

Downloaded by Alexa Russo ([email protected])

You might also like