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

Rfid based student attendance system include biometrics, Develop a rfid bas...

Develop a rfid based student attendance system include biometrics Project Description: The aim of our project is using rfid technology student attendance has to be taken. whe

What is the parent class for all swing components? , Design pattern : As y...

Design pattern : As you may look from the diagram given below, containers collect components. Sometimes you want to accumulate a container to another container. So, a container co

What is meant by weaving, The process of applying aspects to a target objec...

The process of applying aspects to a target object to form a new proxy object is known as Weaving. The aspects are woven into the target object at the verified join points.

How to begin a variable name with a number, How to Begin a Variable Name wi...

How to Begin a Variable Name with a Number? If you need to starts a variable name along with a digit, prefix the name you'd like to have (e.g. 8ball) along with an underscore,

Need ios native app developer, Need iOS native App Developer Project Des...

Need iOS native App Developer Project Description: I want someone to help me prepare a simple inventory system. I am not a programmer trying to learn as i go. Skills re

What are not allowed within the ejb container? , In  order  to  provide  po...

In  order  to  provide  portable  and  reliable  EJB  elements,  the  following  restrictions  apply  to  EJB  code implementation: 1. Avoid using static non-final fields. Defin

Describe two reasons driving the termination of processes, Question 1: ...

Question 1: (a) Describe two reasons driving the termination of processes. (b) Discuss the five main steps the OS would implement once it has decided to create a new proc

Advantages java layout managers over traditional windowing, What are the ad...

What are the advantages that Java's layout managers provide over traditional windowing systems ?

Concurrent Programming, Problem 1 A savings account object holds a non-nega...

Problem 1 A savings account object holds a non-negative balance, and provides deposit(k ) and withdraw(k ) methods, where deposit(k ) adds k to the balance, and withdraw(k ) subtra

Prepare an android keyboard, Prepare an android keyboard Project Descrip...

Prepare an android keyboard Project Description: I want to prepare an android keyboard that have many features.( i will describe later) I want the full app and a trial ver

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