Delivering great software depends on many factors, quality surely being one of the most important ones. Software quality management is key in making sure that the final product meets all requirements and works as expected.

Therefore quality management should start the same day a new project is laid out. Just as important as the development plan, the software quality plan lists quality goals, resources, and the time line for making sure that quality standards are met.

One critical part of the quality plan is defining the set of test cases to measure quality and confirm that all requirements are covered. Depending on the size of the project this can range from a few dozen to hundreds if not thousands of test cases.

Sonar is one of the good Software Code Quality management tool to help developer to identify the Root causes and loop holes in the software code

How to Install and Configure Sonar Software Quality Control Tool:

Prerequisite :

1] Java JDK 8 and Above

2] Sonar Package

3] Apache Maven

Database :

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER ‘sonar’ IDENTIFIED BY ‘sonar’;
GRANT ALL ON sonar.* TO ‘sonar’@’%’ IDENTIFIED BY ‘sonar’;
GRANT ALL ON sonar.* TO ‘sonar’@’localhost’ IDENTIFIED BY ‘sonar’;
FLUSH PRIVILEGES;

Here i am using the MySQL Database,But you can choose any Database,Oracle,H2 DB or Any other databases

/**
* This method adds an edge to the graph between two specified
* vertices
*
* @param from the data of the vertex the edge is from
* @param to the data of the vertex the edge is going to
* @return returns true if the edge did not exist, return false if it already did
*/
public boolean addEdge(int from, int to) {
if (this.vertexDoesExist(from) && this.vertexDoesExist(to)) {
if (!this.adjacencyOfEdgeDoesExist(from, to)) {
this.adjacency()[from][to] = AdjacencyMatrixGraph.EDGE_EXIST;
this.adjacency()[to][from] = AdjacencyMatrixGraph.EDGE_EXIST;
this.setNumberOfEdges(this.numberOfEdges() + 1);
return true;
}
}

return false;
}

/**
* this method removes an edge from the graph between two specified
* vertices
*
* @param from the data of the vertex the edge is from
* @param to the data of the vertex the edge is going to
* @return returns false if the edge doesn’t exist, returns true if the edge exists and is removed
*/
public boolean removeEdge(int from, int to) {
if(!this.vertexDoesExist(from) || !this.vertexDoesExist(to)) {
if (this.adjacencyOfEdgeDoesExist(from, to)) {
this.adjacency()[from][to] = AdjacencyMatrixGraph.EDGE_NONE;
this.adjacency()[to][from] = AdjacencyMatrixGraph.EDGE_NONE;
this.setNumberOfEdges(this.numberOfEdges() – 1);
return true;
}
}
return false;
}