You have recently joined a games company. The SQA manager has given you the task of improving the code quality of simple games. This is a standard task which the SQA manager gives to all new employees to ensure that they understand company coding standards and the tools used in software development to promote software quality.
You are to improve the quality of the Java programs. You are to address the problem reports from Checkstyle, FindBugs, and RefactorIT Metrics. (A problem report is any warning or violation.)
The SQA manager requires you address a) all Checkstyle problems except package name conventions, b) all FindBugs problems, and c) metric violations for: LOC, CLOC, DC (Density of Comments), RFC (Response for Class), DIT (Depth in Tree), DIP (Dependency Inversion Principle), LOCM (Lack of Cohesion of Methods), and V(G) (McCabe´s Cyclomatic Complexity). Do not change the default levels which are used to determine metric violations.
Note - There is no requirement to address problem reports for Keyin.java.
Note - There is no requirement to address problem reports from the Java compiler.
Note- The DIP metric should be addressed only for the program Frown.
A special requirement is that the Frown program be made more object-oriented with proper design of Die objects and that the DIP metric value is satisfactory.This special requirement is worth 2% of the 4% allocated to the assessment of the Frown program. Make it clear in your assignment report if you tackle or do not tackle this special requirement.
Report and Submission Instructions
Submit a report of the clean up. The front page of the report should have your name, the course number and course name, a title, and the declaration: "This assignment is all my own work. This work has not been submitted for assessment in any other context. I have not knowingly allowed othersto copy my work."
In the report, provide a Table 1 which details the number of problem reports before the clean up. Rows of the table should be: Java compiler, Checkstyle, FindBugs, RefactorIT. Columns of the table should be Acey, Even, Lunar, and Frown. Then provide a Table 2, similarly structured, which provides the number of problem reports that remain after the clean up.
After Table 2, write a report section that describes the nature of problem reports that were not cleaned up and explain why they were not cleaned up. (Limit this section to 1 page.)
By the the deadline, submit a paper copy of the report to the instructor and upload an e-version to your personal Blackboard group using File Exchange. Upload source code versions of the cleaned up code: Acey.java, Even.java, Lunar.java, Frown.java (plus any additional Java classes created to improve Frown). (Source code files may be compressed using a standard utility.)Also upload a README2.txt file which briefly lists and describes the files you have uploaded .
The following comment header must appear on any new Java source files that you write.
* @author YOUR NAME
* CS670M SOFTWARE QUALITY ASSURANCE
* This is all my own work.
* I have not knowingly allowed others to copy my work.
* This work has not been submitted for assessment in any other context.
The Eclipse ProblemsView Menu is accessed through the small upside down triangle in the bottom output window. This can be used to set preferences and configure contents.
It can be convenient to create and save a configuration of RefactorIT Metrics so that in the Metrics view in Eclipse you see only data for the specified metrics: LOC, CLOC, DC (Density of Comments), RFC (Response for Class), DIT (Depth in Tree), DIP (Dependency Inversion Principle), LOCM (Lack of Cohesion of Methods), and V(G) (McCabe´s Cyclomatic Complexity).