This page provides a query that will provide the variation between 2 snapshots for the following metrics:
- Total Quality Index (TQI)
- Line of Code (LOC)
- Number of Critical Violations (CV)
- Unadjusted Data Functions
- Unadjusted Transaction Functions
- OMG-Compliant Automated Function Points
This query allows for quick comparison between two snapshots for these main metrics so that one could do a rough validation of the most recent snapshot to make sure that there is not a major issue with it such as missing code, or a problem with an analysis., or other issues.
Release | Yes/No |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x |
RDBMS | Yes/No |
---|---|
Oracle Server | |
Microsoft SQL Server | |
CSS3 | |
CSS2 |
In the below query, add the value for snapshot_id for <current_snapshot> and <previous_snapshot>. To get the snapshot_id, see this page: SQL Queries - CAST Central Base - Queries on snapshots - How to get the ID and name of a snapshot for a given application
SELECT prev_snap.metric_id , prev_snap.metric_name , prev_snap.metric_num_value AS previous, curr_snap.metric_num_value AS CURRENT , CASE WHEN prev_snap.metric_num_value <> 0 THEN ROUND(((curr_snap.metric_num_value - prev_snap.metric_num_value) * 100 / prev_snap.metric_num_value),2) ELSE 0 END varPercent FROM ( SELECT dmt.metric_id , dmt.metric_name , dmr.metric_num_value, metric_value_index FROM dss_metric_results dmr, dss_metric_types dmt , dss_objects o WHERE dmr.metric_id = dmt.metric_id AND dmr.object_id = o.object_id AND o.object_type_id = -102 AND snapshot_id = <current_snapshot> AND ( dmr.metric_value_index = 0 AND dmr.metric_id IN (60017) OR dmr.metric_value_index = 1 AND dmr.metric_id IN (67011,10151,10203,10204,10202) ) ) curr_snap , ( SELECT dmt.metric_id , dmt.metric_name , dmr.metric_num_value, metric_value_index FROM dss_metric_results dmr, dss_metric_types dmt , dss_objects o WHERE dmr.metric_id = dmt.metric_id AND dmr.object_id = o.object_id AND o.object_type_id = -102 AND snapshot_id = <previous_snapshot> AND ( dmr.metric_value_index = 0 AND dmr.metric_id IN (60017) OR dmr.metric_value_index = 1 AND dmr.metric_id IN (60017,67011,10151,10203,10204,10202) ) ) prev_snap WHERE curr_snap.metric_id =prev_snap.metric_id AND curr_snap.metric_value_index=prev_snap.metric_value_index
10203;"Unadjusted Data Functions";0;0;0
10204;"Unadjusted Transactional Functions";0;0;0
10202;"OMG-Compliant Automated Function Points";0;0;0
60017;"Total Quality Index";3.61114900174538;3.72761018681661;3.23
67011;"Number of violations to critical quality rules";0;0;0
Enter the SQL query
Enter the SQL query