# Cyclonic measures of complexity

Each program includes operators that need to be completed to complete any task, and other decision-making operators who decide which operators must be completed. These decision -making designs change the course of the program.

If we compare two programs of the same size, the one that contains more decision -making operators will be more difficult, since the management of programs often crosses.

McCab in 1976 proposed Cyclomatic Complexity Measure to quantify the complexity of this software. This is a model based on a graphic, which is based on the decision-making solutions of the program, such as if -else, do-while, repeat-till, Switch-case and goto.

The process of creating a stream management schedule:

Break the program into smaller blocks, delimited by decision -making designs.
Create nodes representing each of these nodes.
Connect the nodes as follows:
If control can move from block I to block j

Draw an arc

From the exit to the entrance node

Draw an arc.

If control can move from block I to block j

Draw an arc

From the exit to the entrance node

Draw an arc.

To calculate the cyclomic complexity of the software module, we use the formula –

V (g) = e – n + 2

What
E is Total Number of Edges
N is Total Number of Nodes
Cyclomic measures of complexity
Cyclomic complexity of the above module

E = 10
n = 8
Cyclomatic complicity = 10 – 8 + 2
= 4
According to P. Jorgensen, the cyclomic complexity of the module should not exceed 10.

Functional point
It is widely used to measure the size of software. The Point function is concentrated on the functionality provided by the system. The functions and functionality of the system are used to measure the complexity of software.

The functional point is designed for five parameters called as external input, external output, logical internal files, external interface files and external request. To take into account the complexity of the software, each parameter is further classified as simple, medium or complex.
External entrance
Each unique entrance to the system is considered as an external entrance. The uniqueness of the input is measured, since no two entrances should have the same formats. These input data can be either data or control parameters.

Simply – if the number of input data is not enough and affects less internal files

Complex – if the number of input data is large and affects a larger number of internal files

Medium – between simple and complex.

Simply – if the number of input data is not enough and affects less internal files

Complex – if the number of input data is large and affects a larger number of internal files

Medium – between simple and complex.

External exit
All types of conclusion provided by the system are taken into account in this category. The conclusion is considered unique if their output format and / or processing are unique.

Simple – if the number of conclusions is not enough

Complex – if the number of conclusions is large

Medium – between simple and complex.

Simple – if the number of conclusions is not enough

Complex – if the number of conclusions is large

Medium – between simple and complex.

Internal logical files
Each software system supports internal files to maintain its functional information and function properly. These files contain logical data systems. These logical data may contain both functional data and management data.

Just – if the number of types of records is not enough

Complex – if the number of types of records is great

Medium – between simple and complex.

Just – if the number of types of records is not enough

Complex – if the number of types of records is great

Medium – between simple and complex.

External interface files
The software system may be required to share your files with any external software or it may be necessary to transfer the file for processing or as a parameter of any function. All these files are considered an external interface.

Just – if the number of types of records in the common file is not enough

Complex – if the number of types of records in the common file is large

Medium – between simple and complex.

Just – if the number of types of records in the common file is not enough

Complex – if the number of types of records in the common file is large

Medium – between simple and complex.

External request
The request is a combination of input and withdrawal when the user sends some data for the request as input, and the system meets the user with the processed output output. The complexity of the request is greater than external input and external conclusion. The request is considered unique if its input and output are unique in terms of format and data.

Just – if the request requires low processing and gives a small amount of output data

Complex – if the request requires high processing and gives out a large number of output data

Medium – between simple and complex.

Just – if the request requires low processing and gives a small amount of output data

Complex – if the request requires high processing and gives out a large number of output data

Medium – between simple and complex.

The table above gives unprocessed functional glasses. These functional points are adjusted depending on the complexity of the environment. The system is described using fourteen different characteristics:

Data transfer
Distributed processing
Performance goals
Transaction coefficient
Entering data online,
The effectiveness of the final user
Online update
Complex processing logic
Repeated convenience
Simplicity of installation
Operating simplicity
Several sites
The desire to alleviate changes
These characteristics of factors are then estimated from 0 to 5, as indicated below:

There is no influence
random
moderate
Average
Significant
significant
All ratings are then summarized as N. The value N varies from 0 to 70 (14 types of characteristics X 5 types of assessments). It is used to calculate the complexity adjustment coefficients (CAF) using the following formulas:

CAF = 0.65 + 0.01N
Then,

Set functional points (FP) = CAF X RAW FP
This FP can then be used in various metrics, such as:

Cost = \$ / fp

Quality = error / fp

Performance = fp / man-month

Cost = \$ / fp

Quality = error / fp

Performance = fp / man-month

Program implementation
In this chapter, we will study programming methods, documentation and problems in the implementation of software.

Structured programming
In the process of encoding, the line line continues to multiply, so the software size increases. Gradually, it becomes almost impossible to remember the course of the program. If you forget how the software and the programs underlying the program, files, procedures are designed, then it becomes very difficult to share, debug and modify the program. The decision of this is structured programming. He encourages the developer to use subprograms and cycles instead of simple transitions in the code, thereby making clarity to the code and increasing its effectiveness. Structured programming also helps the programmer reduce coding time and organize the code correctly.

Previous PostNextNext Post