Assignment Objective:
· Students should be able to understand legacy code and apply re-engineering technique to this code using one of the modern programming languages in order to keep the code maintainable
Assignment Description:
Re-Engineering: Chapter 9, slides 49-51, describe re-engineering process. Developers should re-engineer a source code to be easier to maintain.
Code in C programming language is given in the reengineering folder in this assignment. You should understand the code and do any necessary analysis, such as a flowchart or UML diagram to show your understanding. After that, translate the C code to Java code and have one Java Main class and any other supported methods if need it to manipulate the inputs and produce the output.
What to submit:
One Zip folder that contains:
1. Formal report that must cover the following information (Two files word and PDF):
i. Write the description and the idea of the C code and how you re-engineered it with appropriate analysis showing your understanding
ii. Re-engineered code using Java programming language (Write the codes in your report)
iii. Screenshot of the console window of the Java running code
iv. The challenges that you were facing while understating the C code
2. Java executable files for the re-engineered code with the Main class, including the Main method and necessary private methods
How to submit?
ONE Zip folders that contains all required files (Formal reports and Java files)
Important Rules:
1. This assignment is individual work; you have to work alone. Any form of plagiarism in any part lead to unacceptable assignment
2. Do not use the RAR folder
3. The formal report must be a PDF and word files.
4. Must name the Zip folder with your English first name and ID.
Rubric:
1. One point for each requirement
2. (-2 points) for late assignment per day
3. Any form of plagiarism will lead to unacceptable assignment (0 out of 5)