@prefix owl:             <http://www.w3.org/2002/07/owl#> .
@prefix xsd:             <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:            <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:             <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix adms:            <http://www.w3.org/ns/adms#> .
@prefix dc:              <http://purl.org/dc/elements/1.1/> .
@prefix dcterms:         <http://purl.org/dc/terms/> .
@prefix bibo:            <http://purl.org/ontology/bibo/> .
@prefix vaem:            <http://www.linkedmodel.org/schema/vaem> .
@prefix vann:            <http://purl.org/vocab/vann/> .
@prefix pav:             <http://purl.org/pav/> .
@prefix prov:            <http://www.w3.org/ns/prov#> .
@prefix cc:              <http://creativecommons.org/ns#> .

@prefix skos:            <http://www.w3.org/2004/02/skos/core#> .
@prefix schema:          <http://schema.org/> .
@prefix arch:            <https://meta.linked.archi/core#> .
@prefix :                <https://meta.linked.archi/iso25010#> .

<https://meta.linked.archi/iso25010#>
    rdf:type owl:Ontology ;
    cc:license                    "http://creativecommons.org/licenses/by/4.0/" ;
    vann:preferredNamespaceUri    "https://meta.linked.archi/iso25010#" ;
    vann:preferredNamespacePrefix "iso25010" ;
    dcterms:creator               "Kalin Maldzhanski"^^xsd:string ;
    dc:title                      "Linked.Archi ISO/IEC 25010 Software Product Quality Model"@en ;
    dc:description                '''
Ontology of software product quality characteristics from ISO/IEC 25010:2023.
Top-level characteristics (Functional Suitability, Reliability, etc.) are owl:Class categories.
Leaf sub-characteristics (Functional Completeness, Time Behaviour, etc.) are owl:NamedIndividual
instances of their parent class — vocabulary terms referenced by arch:QualityMeasure and
ad:QualityAttributeRequirement.
                                   '''@en ;
    dc:source                     <https://www.iso.org/standard/78176.html> ;
    dcterms:abstract              '''
Software product quality characteristics from ISO/IEC 25010, modelled as a class/individual hierarchy
for use in architecture evaluation and quality attribute analysis. Per-component quantification is
done via arch:QualityMeasure pointing to these named individuals.
      '''@en ;
    dcterms:created               "2020-07-27"^^xsd:date ;
    dcterms:issued                "2020-07-27"^^xsd:date ;
    dcterms:modified              "2026-05-02"^^xsd:date ;
    dc:publisher
                                  "Linked.Archi"@en,
                                  <https://linked.archi> ;
    bibo:status                   "draft" ;
    owl:versionIRI                <https://meta.linked.archi/iso25010/0.2.0#> ;
    owl:versionInfo               "0.2.0" ;
    owl:priorVersion              <https://meta.linked.archi/iso25010/0.1.0#> ;
    schema:citation               "ISO/IEC 25010:2023 Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model" ;
    schema:logo                   <https://iso25000.com/images/header_iso25000_en.png> ;
    schema:image                  <https://iso25000.com/images/figures/en/iso25010.png> ;
    prov:wasDerivedFrom           "ISO/IEC 25010:2023" ;
    rdfs:seeAlso                  <https://iso25000.com/index.php/en/iso-25000-standards/iso-25010>,
                                  <https://www.iso.org/standard/78176.html> ;
.


## ═══════════════════════════════════════════════════════════════════════════════
## Root quality model class
## ═══════════════════════════════════════════════════════════════════════════════

:SoftwareProductQuality
    a               owl:Class ;
    rdfs:subClassOf arch:QualityAttribute ;
    skos:prefLabel  "Software Product Quality"@en ;
    skos:definition "The totality of characteristics of a software product that bear on its ability to satisfy stated and implied needs."@en ;
.


## ═══════════════════════════════════════════════════════════════════════════════
## Top-level characteristics — owl:Class (categories that group sub-characteristics)
## ═══════════════════════════════════════════════════════════════════════════════

:FunctionalSuitability
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Functional Suitability"@en ;
    skos:definition "Degree to which a product or system provides functions that meet stated and implied needs when used under specified conditions."@en ;
.

:PerformanceEfficiency
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Performance Efficiency"@en ;
    skos:definition "Performance relative to the amount of resources used under stated conditions."@en ;
.

:Compatibility
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Compatibility"@en ;
    skos:definition "Degree to which a product, system or component can exchange information with other products, systems or components, and/or perform its required functions while sharing the same hardware or software environment."@en ;
.

:Usability
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Usability"@en ;
    skos:definition "Degree to which a product or system can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use."@en ;
.

:Reliability
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Reliability"@en ;
    skos:definition "Degree to which a system, product or component performs specified functions under specified conditions for a specified period of time."@en ;
.

:Security
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Security"@en ;
    skos:definition "Degree to which a product or system protects information and data so that persons or other products or systems have the degree of data access appropriate to their types and levels of authorization."@en ;
.

:Maintainability
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Maintainability"@en ;
    skos:definition "Degree of effectiveness and efficiency with which a product or system can be modified to improve it, correct it or adapt it to changes in environment, and in requirements."@en ;
.

:Portability
    a               owl:Class ;
    rdfs:subClassOf :SoftwareProductQuality ;
    skos:prefLabel  "Portability"@en ;
    skos:definition "Degree of effectiveness and efficiency with which a system, product or component can be transferred from one hardware, software or other operational or usage environment to another."@en ;
.


## ═══════════════════════════════════════════════════════════════════════════════
## Leaf sub-characteristics — owl:NamedIndividual (vocabulary terms)
##
## These are the concrete quality attributes referenced by:
##   arch:QualityMeasure  via  arch:measuredQualityAttribute
##   ad:QualityAttributeRequirement  via  ad:onQualityAttribute
## ═══════════════════════════════════════════════════════════════════════════════

## ─── Functional Suitability ─────────────────────────────────────────────────

:FunctionalCompleteness
    a               owl:NamedIndividual, :FunctionalSuitability ;
    skos:prefLabel  "Functional Completeness"@en ;
    skos:definition "Degree to which the set of functions covers all the specified tasks and user objectives."@en ;
.

:FunctionalCorrectness
    a               owl:NamedIndividual, :FunctionalSuitability ;
    skos:prefLabel  "Functional Correctness"@en ;
    skos:definition "Degree to which a product or system provides the correct results with the needed degree of precision."@en ;
.

:FunctionalAppropriateness
    a               owl:NamedIndividual, :FunctionalSuitability ;
    skos:prefLabel  "Functional Appropriateness"@en ;
    skos:definition "Degree to which the functions facilitate the accomplishment of specified tasks and objectives."@en ;
.

## ─── Performance Efficiency ─────────────────────────────────────────────────

:TimeBehaviour
    a               owl:NamedIndividual, :PerformanceEfficiency ;
    skos:prefLabel  "Time Behaviour"@en ;
    skos:definition "Degree to which the response and processing times and throughput rates of a product or system, when performing its functions, meet requirements."@en ;
.

:ResourceUtilization
    a               owl:NamedIndividual, :PerformanceEfficiency ;
    skos:prefLabel  "Resource Utilization"@en ;
    skos:definition "Degree to which the amounts and types of resources used by a product or system, when performing its functions, meet requirements."@en ;
.

:Capacity
    a               owl:NamedIndividual, :PerformanceEfficiency ;
    skos:prefLabel  "Capacity"@en ;
    skos:definition "Degree to which the maximum limits of a product or system parameter meet requirements."@en ;
.

## ─── Compatibility ──────────────────────────────────────────────────────────

:CoExistence
    a               owl:NamedIndividual, :Compatibility ;
    skos:prefLabel  "Co-Existence"@en ;
    skos:definition "Degree to which a product can perform its required functions efficiently while sharing a common environment and resources with other products, without detrimental impact on any other product."@en ;
.

:Interoperability
    a               owl:NamedIndividual, :Compatibility ;
    skos:prefLabel  "Interoperability"@en ;
    skos:definition "Degree to which two or more systems, products or components can exchange information and use the information that has been exchanged."@en ;
.

## ─── Usability ──────────────────────────────────────────────────────────────

:AppropriatenessRecognizability
    a               owl:NamedIndividual, :Usability ;
    skos:prefLabel  "Appropriateness Recognizability"@en ;
    skos:definition "Degree to which users can recognize whether a product or system is appropriate for their needs."@en ;
.

:Learnability
    a               owl:NamedIndividual, :Usability ;
    skos:prefLabel  "Learnability"@en ;
    skos:definition "Degree to which a product or system can be used by specified users to achieve specified goals of learning to use the product or system with effectiveness, efficiency, freedom from risk and satisfaction in a specified context of use."@en ;
.

:Operability
    a               owl:NamedIndividual, :Usability ;
    skos:prefLabel  "Operability"@en ;
    skos:definition "Degree to which a product or system has attributes that make it easy to operate and control."@en ;
.

:UserErrorProtection
    a               owl:NamedIndividual, :Usability ;
    skos:prefLabel  "User Error Protection"@en ;
    skos:definition "Degree to which a system protects users against making errors."@en ;
.

:UserInterfaceAesthetics
    a               owl:NamedIndividual, :Usability ;
    skos:prefLabel  "User Interface Aesthetics"@en ;
    skos:definition "Degree to which a user interface enables pleasing and satisfying interaction for the user."@en ;
.

:Accessibility
    a               owl:NamedIndividual, :Usability ;
    skos:prefLabel  "Accessibility"@en ;
    skos:definition "Degree to which a product or system can be used by people with the widest range of characteristics and capabilities to achieve a specified goal in a specified context of use."@en ;
.

## ─── Reliability ────────────────────────────────────────────────────────────

:Maturity
    a               owl:NamedIndividual, :Reliability ;
    skos:prefLabel  "Maturity"@en ;
    skos:definition "Degree to which a system, product or component meets needs for reliability under normal operation."@en ;
.

:Availability
    a               owl:NamedIndividual, :Reliability ;
    skos:prefLabel  "Availability"@en ;
    skos:definition "Degree to which a system, product or component is operational and accessible when required for use."@en ;
.

:FaultTolerance
    a               owl:NamedIndividual, :Reliability ;
    skos:prefLabel  "Fault Tolerance"@en ;
    skos:definition "Degree to which a system, product or component operates as intended despite the presence of hardware or software faults."@en ;
.

:Recoverability
    a               owl:NamedIndividual, :Reliability ;
    skos:prefLabel  "Recoverability"@en ;
    skos:definition "Degree to which, in the event of an interruption or a failure, a product or system can recover the data directly affected and re-establish the desired state of the system."@en ;
.

## ─── Security ───────────────────────────────────────────────────────────────

:Confidentiality
    a               owl:NamedIndividual, :Security ;
    skos:prefLabel  "Confidentiality"@en ;
    skos:definition "Degree to which a product or system ensures that data are accessible only to those authorized to have access."@en ;
.

:Integrity
    a               owl:NamedIndividual, :Security ;
    skos:prefLabel  "Integrity"@en ;
    skos:definition "Degree to which a system, product or component prevents unauthorized access to, or modification of, computer programs or data."@en ;
.

:NonRepudiation
    a               owl:NamedIndividual, :Security ;
    skos:prefLabel  "Non-Repudiation"@en ;
    skos:definition "Degree to which actions or events can be proven to have taken place so that the events or actions cannot be repudiated later."@en ;
.

:Accountability
    a               owl:NamedIndividual, :Security ;
    skos:prefLabel  "Accountability"@en ;
    skos:definition "Degree to which the actions of an entity can be traced uniquely to the entity."@en ;
.

:Authenticity
    a               owl:NamedIndividual, :Security ;
    skos:prefLabel  "Authenticity"@en ;
    skos:definition "Degree to which the identity of a subject or resource can be proved to be the one claimed."@en ;
.

## ─── Maintainability ────────────────────────────────────────────────────────

:Modularity
    a               owl:NamedIndividual, :Maintainability ;
    skos:prefLabel  "Modularity"@en ;
    skos:definition "Degree to which a system or computer program is composed of discrete components such that a change to one component has minimal impact on other components."@en ;
.

:Reusability
    a               owl:NamedIndividual, :Maintainability ;
    skos:prefLabel  "Reusability"@en ;
    skos:definition "Degree to which an asset can be used in more than one system, or in building other assets."@en ;
.

:Analysability
    a               owl:NamedIndividual, :Maintainability ;
    skos:prefLabel  "Analysability"@en ;
    skos:definition "Degree of effectiveness and efficiency with which it is possible to assess the impact on a product or system of an intended change to one or more of its parts, or to diagnose a product for deficiencies or causes of failures, or to identify parts to be modified."@en ;
.

:Modifiability
    a               owl:NamedIndividual, :Maintainability ;
    skos:prefLabel  "Modifiability"@en ;
    skos:definition "Degree to which a product or system can be effectively and efficiently modified without introducing defects or degrading existing product quality."@en ;
.

:Testability
    a               owl:NamedIndividual, :Maintainability ;
    skos:prefLabel  "Testability"@en ;
    skos:definition "Degree of effectiveness and efficiency with which test criteria can be established for a system, product or component and tests can be performed to determine whether those criteria have been met."@en ;
.

## ─── Portability ────────────────────────────────────────────────────────────

:Adaptability
    a               owl:NamedIndividual, :Portability ;
    skos:prefLabel  "Adaptability"@en ;
    skos:definition "Degree to which a product or system can effectively and efficiently be adapted for different or evolving hardware, software or other operational or usage environments."@en ;
.

:Installability
    a               owl:NamedIndividual, :Portability ;
    skos:prefLabel  "Installability"@en ;
    skos:definition "Degree of effectiveness and efficiency with which a product or system can be successfully installed and/or uninstalled in a specified environment."@en ;
.

:Replaceability
    a               owl:NamedIndividual, :Portability ;
    skos:prefLabel  "Replaceability"@en ;
    skos:definition "Degree to which a product can replace another specified software product for the same purpose in the same environment."@en ;
.


## ═══════════════════════════════════════════════════════════════════════════════
## Quality in Use — separate quality model
## ═══════════════════════════════════════════════════════════════════════════════

:QualityInUse
    a               owl:Class ;
    rdfs:subClassOf arch:QualityAttribute ;
    skos:prefLabel  "Quality in Use"@en ;
    skos:definition '''Quality in use is the degree to which a product or system can be used by specific users to meet their needs to achieve specific goals with effectiveness, efficiency, freedom from risk and satisfaction in specific contexts of use.'''@en ;
.


## ═══════════════════════════════════════════════════════════════════════════════
## User types
## ═══════════════════════════════════════════════════════════════════════════════

:PrimaryUser
    a               owl:Class ;
    rdfs:subClassOf arch:Stakeholder ;
    skos:prefLabel  "Primary User"@en ;
    skos:definition "Person who interacts with the system to achieve the primary goals."@en ;
.

:SecondaryUser
    a               owl:Class ;
    rdfs:subClassOf arch:Stakeholder ;
    skos:prefLabel  "Secondary User"@en ;
    skos:definition "Secondary users who provide support, for example: content provider, system manager/administrator, security manager; maintainer, analyzer, porter, installer."@en ;
.

:IndirectUser
    a               owl:Class ;
    rdfs:subClassOf arch:Stakeholder ;
    skos:prefLabel  "Indirect User"@en ;
    skos:definition "Person who receives output, but does not interact with the system."@en ;
.
