SPEC ontology

Specification Category Taxonomy

A taxonomy of requirements

Concept Scheme

URI
https://w3id.org/spec-ontology/cat
Creator(s)
Robert Matousek, Rik, Redmer Kronemeijer, Herman Drenth, Jos Hebing
Date
31 Januari 2024
Current version
1.2
Source
RDF (TTL)
License
Creative Commons Attribution 4.0 International

Abstract

The Specification Category Taxonomy is a structured framework or scheme to categorize requirements into distinct groups or classes. It is based on the paper 'Towards an Anatomy of Software Requirements' by Meyer et.al. [SOURCE] It is part of the larger SPEC ontology. [SPEC]

Table of Contents

  1. Introduction
  2. Overview
  3. Classes
  4. Namespaces
  5. Legend
  6. References

Introduction

The classification of requirements consists of two fundamental taxonomies:

Overview

Categories and subcategories of requirements
Basic categories Subcategories Short definition
Behavior Property of an operation's effect
Component   Part of the project, environment or system
Special case:Actor Human component
Constraint   Environment property
Assumption Assumed constraint
Obligation Imposed constraint
Invariant Both assumption and obligation
Business rule Constraint due to organizational practices
Engineering decision Constraint due to human choices
Physical rule Constraint due to laws of nature
Goal Intended effect of project or system on environment
Special case:Obstacle Goal defined as a need to overcome a negative property of the environment
Lack Missing requirement
Limit Property beyond scope of project/system/environment
Meta-requirement   Property of requirements but not of project, system or environment
Special case:Justification Rationale expressed in terms of a goal
Product Material or virtual object used or produced by a task
Role Component's responsibility for behavior or task
Special case:Responsibility Human role
Task Project activity
Figure 1: Taxonomy overview
Figure 2: Ontology overview - diagram

Classes

actorcl

URI https://w3id.org/spec-ontology/cat/Actor
Definition A human component.

Examples include the stakeholders of a project; people involved in the operation of a system, such as an end-user or a system administrator.
Parent class componentcl

assumptioncl

URI https://w3id.org/spec-ontology/cat/Assumption
Definition A property that the environment may or may not possess but which the project may assume to hold for the development of the system.

Example: (In a system to control a railroad crossing): Cars travel at no more than 200 km/h.
Parent class constraintcl

behaviorcl

URI https://w3id.org/spec-ontology/cat/Behavior
Definition A property of the results or effects of the operation of the system or some of its components.

Comment: The classic distinction of behaviors is into functional and non-functional.

Example: Display the list of available elements.
Parent class spec:Categorycl

business rulecl

URI https://w3id.org/spec-ontology/cat/BusinessRule
Definition A constraint resulting from organizational practices.

Examples: Delivery of phosgene requires that the recipient have taken a refresher course in handling hazardous chemicals in the past twelve months.
Parent class constraintcl

componentcl

URI https://w3id.org/spec-ontology/cat/Component
Definition The property that the system, project or environment includes a certain part of.

Comment: A component can be material, virtual or human.

Example: The operating system is designed to run on the iPhone 8 and later models. (system component, material)

Parent class spec:Categorycl

constraintcl

URI https://w3id.org/spec-ontology/cat/Constraint
Definition An environment property that may affect components, goals, behaviors, tasks or products.

Example: Every transfer over EUR 10,000 requires authorization.

engineering decisioncl

URI https://w3id.org/spec-ontology/cat/EngineeringDecision
Definition A constraint resulting from human choices.

Example: The minimum and maximum bandwiths for a networking system.
Parent class constraintcl

goalcl

URI https://w3id.org/spec-ontology/cat/Goal
Definition An objective of the project or system, in terms of their desired effect on the environment.

Comment: Having an effect on the environment means having an effect on an external entity such as a company or a physical device.

Example: One of the advantages expected from the system is to reduce the amount of fraudulent invoices.
Parent class spec:Categorycl

invariantcl

URI https://w3id.org/spec-ontology/cat/Invariant
Definition A property described both as an assumption and a behavior.

Example: (In a factory control system): The system shall operate between -30 and +50C, which means that the system's operations may assume they start within this temperature range.
Parent class constraintcl

justificationcl

URI https://w3id.org/spec-ontology/cat/Justification
Definition A meta-requirement explaining the rationale for a requirement (of any kind) in terms of a goal.

Example: If a specification for a software system does not specify Android among the platforms to be supported, it might include the justification that the company has made the strategic decision to equip its sales agents with iPhones.
Parent class meta requirementcl

lackcl

URI https://w3id.org/spec-ontology/cat/Lack
Definition A property that should have a requirement, but does not.

Example: Every transfer over EUR 10,000 requires authorization.
Parent class spec:Categorycl

limitcl

URI https://w3id.org/spec-ontology/cat/Limit
Definition The property that the project, system or environment does not include a requirement of one of the preceding kinds.

Example: Providing an interface to SAP accounting falls outside of the scope of the present system. (component limit)
Parent class spec:Categorycl

meta-requirementcl

URI https://w3id.org/spec-ontology/cat/MetaRequirement
Definition A property of requirements themselves (not the system, project or environment).

Example: Any observation intended to facilitate the reading of a specfication, such as "the details will appear in section 7", a statement of priority between requirements, an explanation, etc.
Parent class spec:Categorycl

obligationcl

URI https://w3id.org/spec-ontology/cat/Obligation
Definition A property that the environment is known to posess.

Example: The rules on bank transfer.
Parent class constraintcl

obstaclecl

URI https://w3id.org/spec-ontology/cat/Obstacle
Definition A goal defined as the need to overcome a negative property of the environment.

Example: With the current system, too many enquiries that could lead to sales are missed.
Parent class goalcl

physical rulecl

URI https://w3id.org/spec-ontology/cat/PhysicalRule
Definition A constraint resulting from the laws of nature.

Example: The application of the law of mechanics to a satelite launching system.
Parent class constraintcl

productcl

URI https://w3id.org/spec-ontology/cat/Product
Definition The property that a task uses or produces a material or virtual object.

Comment: The classic distinction of behaviors is into functional and non-functional.

Examples: a test plan, a user story, a design document.
Parent class spec:Categorycl

responsibilitycl

URI https://w3id.org/spec-ontology/cat/Responsibility
Definition A human role.

Example: The reservation system's UI shall be designed for operation by railway-station booking agents. (behavior role, human component)
Parent class rolecl

rolecl

URI https://w3id.org/spec-ontology/cat/Role
Definition The property that a component carries some or all of the responsibility for a behavior or a task.

Example: The Amsterdam subsidiary shall be responsible for the implementation of the user interface subsystem. (task role, human component of the project)
Parent class spec:Categorycl

taskcl

URI https://w3id.org/spec-ontology/cat/Task
Definition The property that the project includes a certain activity.

Examples: program coding, stakeholder interview, daily meeting.
Parent class spec:Categorycl

Namespaces

spec
http://purl.org/nen/spec
spec-bind
https://w3id.org/spec-ontology/bind
spec-cat
https://w3id.org/spec-ontology/cat
https://w3id.org/spec-ontology/doco
c4o
http://purl.org/spar/c4o/
doco
http://purl.org/spar/doco/
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#

Legend

cClasses
opObject Properties
fpFunctional Properties
dpData Properties
dpAnnotation Properties
pProperties
niNamed Individuals

References

[SOURCE]
Meyer, B., Bruel, J., Ebersold, S., Galinier, F., Naumchev, A. (2019). Towards an Anatomy of Software Requirements. 10.1007/978-3-030-29852-4_2.
[SPEC]
Matousek, R., et. al. The Specifications Ontology. 2023, URL: https://docs.crow.nl/spec-ontology/