Summary: this section explains how scores/grades for your Applications (displayed in the Health Dashboard) are generated and how you can change the weighting to suit your environment. You should also read Grade and compliance score calculation.

Introduction

CAST AIP uses specific algorithms to determine a score/grade (from 1 (low) to 4 (high)) for all the source code in the Application for each Health Factor, Technical Criterion, Quality Rule, Quality Measure and Quality Distribution. These scores/grades are displayed as "Application level" scores/grades in the Health Dashboard), as highlighted below:

The algorithms that CAST AIP uses can be viewed in Expert mode in the CAST Management Studio > Assessment Model editor, under Quality Model > Consolidation Settings (these are not available in AIP Console). By default the Full Application mode is always used, unless it is manually changed to one of the other modes. A description of each mode is given below:

Consolidation modes

Full Application

This default mode calculates scores/grades based on an entire Application (i.e. all the objects within that entire Application). This mode was introduced in AIP Core 8.1.x to avoid the disadvantages that previous consolidation modes (based on the average of all functional modules (default or user-defined) in the Application) present, for example:

The Full Application mode has benefits over these previous consolidation modes:

How is the scope of objects defined for the Full Application mode?

In Full Application mode, the scope of objects that are included is determined as follows:


Full Content enabledDefault behaviour with additional User Defined Modules
AIP Console - see Application - Config - Modules


CAST Management Studio - see CMS - Modules tab

AIP Console

CAST Management Studio


Disparities between Application grades and Module grades

When using the Full Application mode you should note that grades are not comparable at the context level (i.e between Application and Module levels). For example, you may find the following in your results:

Take the following example, where for each Module and for each Application (an application is a context larger than a single Module):

This can be illustrated as follows:

Analysis results:

Application/ModuleObjects violated by QR2/ total CheckObjects violated by QR1/ total CheckGrade QR1Grade QR2
A1/21301/102032
M11/201/2033
M20/1300/100042

The Grades are as follows showing that it is possible for the BC grade at Application level to be lower then the BC grade at Module level for each Module within the Application:

Application/ModuleTechnical Criterion gradeBusiness Criterion grade
A2.52.5
M133
M233

Average of Modules (legacy mode)

This consolidation mode calculates grades based on the average score/grade of all functional modules (default or user-defined) in the Application. Take the following example:

In this mode it is easy to see the disadvantages of using an average of modules - module M2 with 75% less objects in it than M1 has the same "weight" in the calculation of the grade.

This mode was previously known as Simple Average.

Average of Modules (weighted by Business Value, legacy mode)

This consolidation mode is similar to the Average of Modules mode, except that instead of using a simple average of all functional modules (default or user-defined) in the Application, an average of the Business Value assigned to the modules will be used to determine the weighting of each module. The Business Value for each module is a value that must be manually assigned to each module as described in Background Facts and Business Value Metric upload.

Average of Modules (weighted by Background Facts, legacy mode)

This consolidation mode is similar to the Average of Modules mode, except that instead of using a simple average of all functional modules (default or user-defined) in the Application, an average of a specific Background Fact assigned to the modules will be used to determine the weighting of each module. In other words, the modules will retain their original weighting grades, but the parent application will have a more representative weighting. The Background Fact for each module is a value that must be manually assigned to each module as described in Background Facts and Business Value Metric upload: commonly, Cost and Effort values are used as Background Facts (although others exist).

When you choose this mode, an additional drop down list enables you to choose the Background Fact you require:

Average of Modules (weighted by Sizing Measure, legacy mode)

This consolidation mode is similar to the Average of Modules mode, except that instead of using a simple average of all functional modules (default or user-defined) in the Application, an average of a specific Sizing Measure will be used to determine the weighting of each module. Take the following example:

When you choose this mode, an additional drop down list enables you to choose the Sizing Measure you require:

Sizing Measures are defined in the Sizing Model tab:


At the current time, it is NOT possible to use the following Functional Size related metrics for module weighting as these are not available in the CAST Management Studio - they are as follows:

  • Automated OMG-compliant Automated Function Points Estimation
  • Automated Enhancement Function Points

Examples of weighting using legacy consolidation modes

This section lists some further examples of how module weighting (when using the legacy consolidation modes) can affect Application level grades/scores:

Average of Modules

Same weight for each module:

Module ID

Module Grade

-

#1

3.50

1000

#2

2.10

1000000

#3

3.20

1000

Resulting grade for application:

2.93

=(3.5+2.1+3.2)/(1+1+1)

Average of Modules (by Sizing Measure)

10151 Number of LOC

Module ID

Module Grade

-

#1

3.50

1000

#2

2.10

1000000

#3

3.20

1000

Resulting grade for application:

2.10

=(3.5*1000+2.1*1000000+3.2*1000)/(1000+1000000+1000)

10152 Number of artifacts

Module ID

Module Grade

-

#1

3.50

200

#2

2.10

500

#3

3.20

300

Resulting grade for application:

2.71

=(3.5*200+2.1*500+3.2*300)/(200+500+300)

Average of Modules (by Business Value)

Module ID

Module Grade

-

#1

3.50

1

#2

2.10

1

#3

3.20

4

Resulting grade for application:

3.07

=(3.5*1+2.1*1+3.2*4)/(1+1+4)

Average of Modules (by Background Fact)

66002 Cost

Module ID

Module Grade

-

#1

3.50

100000

#2

2.10

200000

#3

3.20

110000

Resulting grade for application:

2.74

(3.5*100000+2.1*200000+3.2*110000)/(100000+200000+110000)