ASU SER 315 Assignment 3_ Reverse Engineering | Task 1: Manual
Reverse Engineering (20 points) | Task 2: Automatic Reverse
Engineering (20 points)
Assignment 3: Reverse Engineering
Version: August 26, 2025
For late submissions please see Syllabus
Objective: This assignment focuses on the practical application of reverse and forward
engineering. You will manually create UML class and sequence diagrams from Java code,
then generate them automatically using both a dedicated tool and Generative AI. One
of the main objective is to compare the diagrams produced by these different methods.
Finally, you will perform forward engineering by exporting your diagrams back into Java
code to understand how design models translate into programming templates.
The code is not necessarily good code, we might revisit it later to improve it. As an add
on task (not points nothing to submit) you might want to think about all the bad things
in this code.
Prerequisites
1. The assigned reading on Reverse Engineering
2. Lecture on Reverse Engineering
3. Slides and videos about Class diagrams (optional)
4. Slides and videos about Sequence diagrams (optional)
5. Astah tool installed
6. Web-browser or desktop-based Generative AI tool (e.g., ChatGPT)
Tools
• Install Astah: http://astah.net/student-license-request it is free for students
• Install the Astah plugin for Reverse Engineering: http://astah.net/features/
code-reverse-plugin. Make sure you check it is installed under "Installed PlugIns".
Submission Instructions
Please submit a ZIP file containing:
1. one PDF document on Canvas which includes all your diagrams and answers, name
this document reverse_asurite.pdf (where asurite is your asurite id, example for me
it would be reverse_amehlhas.pdf).
2. all your Astah files
3. all your exported folders with your Java code in one zip file
Please submit exactly what is mentioned above. We will deduct points for different file
1
, types.
2
Reverse Engineering (20 points) | Task 2: Automatic Reverse
Engineering (20 points)
Assignment 3: Reverse Engineering
Version: August 26, 2025
For late submissions please see Syllabus
Objective: This assignment focuses on the practical application of reverse and forward
engineering. You will manually create UML class and sequence diagrams from Java code,
then generate them automatically using both a dedicated tool and Generative AI. One
of the main objective is to compare the diagrams produced by these different methods.
Finally, you will perform forward engineering by exporting your diagrams back into Java
code to understand how design models translate into programming templates.
The code is not necessarily good code, we might revisit it later to improve it. As an add
on task (not points nothing to submit) you might want to think about all the bad things
in this code.
Prerequisites
1. The assigned reading on Reverse Engineering
2. Lecture on Reverse Engineering
3. Slides and videos about Class diagrams (optional)
4. Slides and videos about Sequence diagrams (optional)
5. Astah tool installed
6. Web-browser or desktop-based Generative AI tool (e.g., ChatGPT)
Tools
• Install Astah: http://astah.net/student-license-request it is free for students
• Install the Astah plugin for Reverse Engineering: http://astah.net/features/
code-reverse-plugin. Make sure you check it is installed under "Installed PlugIns".
Submission Instructions
Please submit a ZIP file containing:
1. one PDF document on Canvas which includes all your diagrams and answers, name
this document reverse_asurite.pdf (where asurite is your asurite id, example for me
it would be reverse_amehlhas.pdf).
2. all your Astah files
3. all your exported folders with your Java code in one zip file
Please submit exactly what is mentioned above. We will deduct points for different file
1
, types.
2