You have designed a graphic user interface (GUI), and it is time to test its per
ID: 3690003 • Letter: Y
Question
You have designed a graphic user interface (GUI), and it is time to test its performance. Collect all of your results in a 4–5-page paper that includes the following.
Test your GUI's performance using McCabe's Cyclomatic complexity measure.
Include all of your calculations.
List another 2 simple, object-oriented performance measures you will use to test your software and why you chose them.
Test your GUI's performance using these 2 simple object-oriented performance measures.
Include all of your results.
Analyze and explain the results of all 3 performance measures in 1–2 pages.
List the actions you will take to resolve any performance issues you discovered.
Submit the following:
your original graphic user interface (GUI)
A 4–5-page Word document that includes all of the requirements listed.
Explanation / Answer
ANS;
McCabe's cyclomatic complexity
McCabe's cyclomatic complexity is a software quality metric that quantifies the complexity of a software program. Complexity is inferred by measuring the number of linearly independent paths through the program.
Ideally, complexity measures should have both descriptive and prescriptive components.Descriptive measures identify software that is error-prone, hard to understand, hard to modify, hard to test, and so on. Prescriptive measures identify operational steps to help control software.
The McCabe’s cyclomatic quality assurance measurements are:
The McCabe’s cyclomatic is used for two related purposes. First, it gives the number of recommended tests for software. Second, it is used during all phases of the software lifecycle. Cyclomatic complexity is based entirely on the structure of software’s control flow graph.
Calculating the McCabe Number
Cyclomatic complexity is derived from the control flow graph of a program as follows:
Cyclomatic complexity (CC) = E - N + 2P
Where:
P = number of disconnected parts of the flow graph (e.g. a calling program and a subroutine)
E = number of edges (transfers of control)
N = number of nodes (sequential group of statements containing only one transfer of control)
Relationship between complexity and testing
There is a strong connection between complexity and testing, and the structured testing methodology makes this connection explicit.
First, complexity is a common source of error in software. Second, complexity can be used directly to allocate testing effort by leveraging the connection between complexity and error to concentrate testing effort on the most error-prone software.
McCabe test maximizes testing effectiveness
Benefits of Complexity Measurement
Object oriented Measurements
Metrics are units of measurement. The term "metrics" is also frequently used to mean a set of specific measurements taken on a particular item or process. Software engineering metrics are units of measurement.
Measure should have the following characteristics to be of value to us:
Coupling
Is a measure of the strength of the connection between any two system components such as classes?
It is viewed as a measure of the complexity increment, reducing the encapsulation and his possible reutilization; limiting the ease of understanding and system maintenance.
Definition: the number of classes to which a particular class is coupled, without have inheritance relations with it.
Coupling refers to the degree of direct and indirect dependencies between parts of the design
A measure of coupling is more useful to determine the complexity. The higher the inter object coupling, the more rigorous the testing needs to be.
The coupling is decided at the designing phase of the system, it depends on the interface complexity of the classes. Coupling is always correlated with cohesion in such a way as if coupling is high then cohesion is low and vice versa. One can say that a class is highly coupled or many dependent with other classes.
Cohesion:
Is a measure of how logically related are the parts of an individual component to each other, and to the overall component.
Definition: Number of local method groups which don’t access to common attributes.
A low cohesion increases the complexity and the case to make faults during the development process. This class would probably divide into more subclasses increase cohesion of the final class.
Cohesion gives the strength to the bond between attributes of a class and it is a concept through which capture the intra-module with cohesion. Therefore, cohesion is used to determine how closely or tightly bound the internal attributes of a class to one another. Cohesion gives an idea to about whether the different attributes of a class belong together in the same class.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.