Clean up for java programs, JAVA Programming

Assignment Help:

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.

 */

Some Advice

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).


Related Discussions:- Clean up for java programs

Explain rmi, RMI is a set of APIs that permits to build distributed applica...

RMI is a set of APIs that permits to build distributed applications. RMI uses interfaces to describe remote objects to turn local method invocations into remote method invocations.

Sum of six digits, How do I write a java program that enters a six digit nu...

How do I write a java program that enters a six digit number and takes the sum of the six digits?

RatinalAssignment, 1. Make a class Rational to provide at least following m...

1. Make a class Rational to provide at least following methos and constructors: Rational r1= new Rational (3,5); Rational r2= new Rational (4,7); Rational r3=r1.add(r2);

Describe the class or static members, Describe the Class or static Members ...

Describe the Class or static Members ? A method or a field in a Java program could be declared static. That means the member belongs to the class rather than to an individual

Outbound submissions and tracking, Outbound Submissions and Tracking: ...

Outbound Submissions and Tracking: Project Overview: In the current ARISg environment, expedited reports are qualified and distributed electronically to contacts maintaine

What is a pointcut, A pointcut is something that describes at what joinpoin...

A pointcut is something that describes at what joinpoints an advice should be applied. Advices can be applied at any joinpoint that is supported by the AOP framework. These Pointcu

Multidimensional Array and the ArrayList Class, Write a ComputerPart class ...

Write a ComputerPart class and a ComputerKit class and a client class to test them. The ComputerPart class has two variables: a String representing an item, and a double representi

EJB in J2EE? , EJB 2.x is broadly adopted server side component architectu...

EJB 2.x is broadly adopted server side component architecture for J2EE. 1. EJB is a remote, distributed multi-tier system and allows protocols like IIOP, JRMP, and HTTP etc.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd