Software Maintenance & Deployment Final Exam 1. Reflective Essay (50 points): Write a reflective essay to address following issues during the maintenance of JVM project. The essay should be divided into following sections: Introduction: Describe your project and the proposed maintenance plan Approach: Describe the maintenance approach and implementation. Key issues: Describe key issues in maintaining/extending software products Addressing of Key Issues: Describe how the key issues are addressed. o Design issues, e.g., design patterns. UML diagrams are needed o Implementation issue, e.g., code style and convention, Git screenshots, etc., o Testing issue: Junit testing o Quality issues: Using metric in CodePro to measure software quality (screenshots) Conclusion: describe the lesson you have learned from the class Note that You need to use IEEE template. 2 pages minimum. 2. Implementation of Halstead matrices using Java bytecode (50 points) Effort This is a measure of effort. It is computed by [Difficulty] * [Program Volume] Applicability This metric can be computed for any method or method container. Number of Operands This is the number of operands used in the scope. Applicability This metric can be computed for any method or method container. Number of Operators This is the number of operators used in the scope. Applicability This metric can be computed for any method or method container. Number of Unique Operands This is the number of unique operands used in the scope. Applicability This metric can be computed for any method or method container. Number of Unique Operators This is the number of unique operators used in the scope. Applicability This metric can be computed for any method or method container. Program Length This is an estimation of the size of the program. It is computed by [Number Of Operators] + [Number Of Operands] Applicability This metric can be computed for any method or method container. Program Vocabulary This is an estimation of the size of the program's vocabulary (the number of things that must be known to understand the program). It is computed by [Number Of Unique Operators] + [Number Of Unique Operands] Applicability This metric can be computed for any method or method container. Program Volume This is an estimation of the size of the program. It is computed by [Program Length] * log2([Program Vocabulary]) Applicability This metric can be computed for any method or method container.