Input File Schema Requirements
The PIQUE Visualizer utilizes a specific JSON structure to accurately visualize the quality assessment of software projects. This page details the schema's requirements, ensuring that users prepare their input files correctly for optimal visualization.
Overview
A well-structured input file is crucial for the PIQUE Visualizer to function correctly. The file should follow a predefined schema that includes several key components: name, global_config, factors, measures, diagnostics, and additionalData. Each component plays a vital role in the visualization process.
Schema Components
General Dataset Structure
name:string- The dataset's name, providing a unique identifier.
global_config:Record<string, any>- Global configuration settings that apply to the entire dataset.
factors:Record<Record<Factor>>- A nested record structure detailing the factors, including
tqi,quality_aspects, andproduct_factors.
- A nested record structure detailing the factors, including
measures:Record<Measure>- A collection of measures assessing specific quality aspects.
diagnostics:Record<Diagnostic>- Diagnostic information useful for deeper analysis.
additionalData:Record<string, any>- Any additional data that might be relevant for the visualization but doesn't fit into the other categories.
Understanding "Record" in the Schema
In TypeScript, a Record<K, T> type represents an object with keys of type K and values of type T. This structure allows for dynamic and flexible data models where the exact keys might not be known in advance but are constrained to a specific type.
Factors, Measures, and Diagnostics
-
Factors
- Represented as
Record<Factor>, factors are key components in evaluating the overall quality. Each factor includes aname,value,eval_strategy,normalizer,utility_function,description, andweights.
- Represented as
-
Measures
- Each measure, detailed in a
Record<Measure>, focuses on specific quality aspects. Fields includedescription,eval_strategy,normalizer,positive,thresholds,utility_function,value, andweights.
- Each measure, detailed in a
-
Diagnostics
- Diagnostics provide insight into the evaluation process, including
description,eval_strategy,name,normalizer,toolName,utility_function,value, andweights.
- Diagnostics provide insight into the evaluation process, including
Utility Function Structure
Utility functions describe how factor and measure values are calculated and interpreted. They can be specified as a simple string or a detailed object, including fields like name, description, and optionally, benchmarkTag, utilityFunctionImageURIs, benchmarkQualityMetrics, utilityFunctionQualityMetrics, and sensitivityAnalysisResults.
Compatibility Note
For the PIQUE Visualizer to accurately process and visualize your data, ensure that your input JSON file meticulously follows the detailed schema. Proper adherence to this schema is paramount for the tool's effectiveness.