Requirement Diagram (диаграмма требований)

  • Диаграмма требований обеспечивает визуализацию требований и их связей друг с другом и другими документированными элементами.



Синтаксис диаграммы

  • Существует три типа компонентов: требование, элемент и взаимосвязь.
  • Синтаксис для определения каждого из них описан ниже. Слова, заключенные в угловые скобки, такие как <слово>, являются перечисляемыми ключевыми словами, параметры которых указаны в таблице.
  • user_defined_... используется в любом месте, где необходим ввод данных пользователем.
  • Все вводимы данные могут быть заключены или не заключены в кавычки.
  • Например, оба идентификатора Id: "here is an example" и Id: here is an example являются допустимыми.

Необходимо с осторожностью вводить информацию без кавычек. Анализатор завершит работу с ошибкой, если будет обнаружено другое ключевое слово.

Требования

  • Написание требования содержит тип требования, имя, идентификатор, текст, риск и метод проверки. Синтаксис следующий:
<type> user_defined_name {
    id: user_defined_id
    text: user_defined text
    risk: <risk>
    verifymethod: <method>
}
  • Тип, риск и метод - это перечисления, определенные в SysML.

SysML - предметно-ориентированный язык моделирования систем.

Ключ Варианты
Type (тип) requirement (требование), functionalRequirement (функциональное требование), interfaceRequirement (требование интерфейса), performanceRequirement (требование производительности), physicalRequirement (физическое требование), designConstraint (ограничение дизайна)
Risk (риск) Low (низкий), Medium (средний), High (высокий).
VerificationMethod (метод проверки) Analysis (анализ), Inspection (проверка), Test (тестирование), Demonstration (демонстрация).

Элемент

  • Определение элемента содержит имя элемента, тип и ссылку на документ. Все эти три параметра определяются пользователем. Функция элемента предназначена для того, чтобы быть легкой, но позволять подключать требования к частям других документов.
element user_defined_name {
    type: user_defined_type
    docref: user_defined_ref
}

Взаимосвязи (отношения)

  • Взаимосвязи состоят из исходного узла, целевого узла и типа отношений.
  • Каждый из них соответствует формату определения:
{name of source} - <type> -> {name of destination}

или

{name of destination} <- <type> - {name of source}
  • "name of source" и "name of destination" должны быть именами узлов требования или элемента, определенных в другом месте.
  • Тип взаимосвязи может быть одним из типов, который содержит, копирует, выводит, удовлетворяет, проверяет, уточняет или отслеживает.

Полный пример синтаксиса и визуализации диаграммы

  • В этом примере используются все функции диаграммы.
 requirementDiagram

    requirement test_req {
    id: 1
    text: the test text.
    risk: high
    verifymethod: test
    }

    functionalRequirement test_req2 {
    id: 1.1
    text: the second test text.
    risk: low
    verifymethod: inspection
    }

    performanceRequirement test_req3 {
    id: 1.2
    text: the third test text.
    risk: medium
    verifymethod: demonstration
    }

    interfaceRequirement test_req4 {
    id: 1.2.1
    text: the fourth test text.
    risk: medium
    verifymethod: analysis
    }

    physicalRequirement test_req5 {
    id: 1.2.2
    text: the fifth test text.
    risk: medium
    verifymethod: analysis
    }

    designConstraint test_req6 {
    id: 1.2.3
    text: the sixth test text.
    risk: medium
    verifymethod: analysis
    }

    element test_entity {
    type: simulation
    }

    element test_entity2 {
    type: word doc
    docRef: reqs/test_entity
    }

    element test_entity3 {
    type: "test suite"
    docRef: github.com/all_the_tests
    }


    test_entity - satisfies -> test_req2
    test_req - traces -> test_req2
    test_req - contains -> test_req3
    test_req3 - contains -> test_req4
    test_req4 - derives -> test_req5
    test_req5 - refines -> test_req6
    test_entity3 - verifies -> test_req5
    test_req <- copies - test_entity2
  • На изображении представлено, как выглядит использование всех функций синтаксиса на диаграмме.