Project

General

Profile

Actions

Feature #2916

closed

Переосмысление атрибутов id и name у требований

Added by Alexey Khoroshilov almost 12 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
High
Category:
-
Target version:
Start date:
05/30/2012
Due date:
% Done:

100%

Estimated time:
Published in build:
0.14.167

Description

У нас есть целый набор идентификаторов требований:
  • id - идентификатор, который одназначно идентифицирует требование внутри его родителя
  • quid - полный идентификатор, который одназначно идентифицирует требование в ReqDB. Строится как конкатенация id требования и его родителей, начиная с корня дерева.
  • name - альтернативное имя, которое более понятно пользователю, чем идентификатор. В случае инстациации базовых требований - может быть в виде шаблона (что нельзя делать с id).
  • user-visible-id - формируется автоматически на основе name и id. Сейчас считается так: если name!=id, то 'name', иначе 'user-visible-id(parent)/id(self)'. Идея была такая, что в рамках конкретного проекта определяется дисциплина работы с именами требований, чтобы user-visible-id являлся уникальным в рамках проекта и таким образом мог использоваться для ссылок снаружи.
Проблемы:
  1. Способ генерации идентификаторов при разметке (который работает хорошо для случая POSIX или LSB) оказывается неудобным, если его использовать без ручной правки идентификаторов для требований-контейнеров.
  2. Текущая реализация работы с svn приводит к тому, что id не скрыты от пользователя. В результате работать с проектами со сгенерированными id крайне неудобно из-за большого числа малоотличимых папок 01/01/01/...

Сюда же надо присовокупить оставшееся нереализованным пожелание из #1011.

При создании тестового испытания идентификатор ему присваивается автоматически как
"Имя требования-T01" для первого (обращаю внимание, что имя требования, а не идентификатор),
для последующих как с требованиями в Requality - автоматическая инкрементация идентификатора последнего тестового испытания. Сразу при создании открывается редактор описания тестового испытания. Идентификатор, если захочется, пользователь сможет поменять позже.


Related issues 1 (0 open1 closed)

Related to Requality - Bug #3579: При создании требования из UniEditor запрашивается имя, а создается idClosedАндрей Третьяков10/12/2012

Actions
Actions #1

Updated by Alexey Khoroshilov almost 12 years ago

  • Description updated (diff)
Actions #2

Updated by Андрей Третьяков almost 12 years ago

user-visible-id:
Появилась потребность, чтобы id требования мог совпадать с его именем (Name), а значит, и с user-visible-id (в противном случае реализация user-visible-id ломает Update DOORS Processor и обратную совместимость с уже существующими обработанными документами и деревьями требований).
В то же время, необходимо различать ситуации, когда имя требования (Name, а значит, и user-visible-id) задано, а когда нет.
Поэтому предлагается для случая незаданного имени удалять атрибут Name не тогда, когда он равен id (как сделано сейчас), а когда он пустой (равен "").

Actions #3

Updated by Alexey Khoroshilov over 11 years ago

Андрей Третьяков wrote:

user-visible-id:
Появилась потребность, чтобы id требования мог совпадать с его именем (Name), а значит, и с user-visible-id (в противном случае реализация user-visible-id ломает Update DOORS Processor и обратную совместимость с уже существующими обработанными документами и деревьями требований).
В то же время, необходимо различать ситуации, когда имя требования (Name, а значит, и user-visible-id) задано, а когда нет.
Поэтому предлагается для случая незаданного имени удалять атрибут Name не тогда, когда он равен id (как сделано сейчас), а когда он пустой (равен "").

В дополнение к этому предлагается изменить поведение UniEditor: если имя не установлено, то UniEditor отображает и редактирует идентификатор требования, иначе - имя. (Сейчас UniEditor всегда редактирует имя, а отображает имя, а если оно не установлено - то идентификатор).

Actions #4

Updated by Alexey Khoroshilov over 11 years ago

В итоге получается следующее объяснение видов имен для широкой массы пользователей (которая не работает с параметризацией и инстанциированием дерева требований):
  • id - идентификатор, который одназначно идентифицирует требование внутри его родителя
  • quid - полный идентификатор, который однозначно идентифицирует требование в проекте Requality. Строится как конкатенация id требования и id его родителей через символ '/', начиная с корня дерева.
  • name - необязательный атрибут, который устанавливается пользователем вручную, если он хочет уникально идентифицировать данное требование в проекте ReqDB более коротко, чем quid.
  • user-visible-id - способ автоматического распространения уникальной идентификации требований с помощью атрибута name на детей.
    Формируется следующим образом: если name установлено, то 'name', иначе 'user-visible-id(parent)/id(self)'. Таким образом, user-visible-id является альтернативным способом уникальной идентификации требований в рамках проекта Requality.

Конечно, если включить в рассмотрение инстанциирование, то картина получается немного более сложная.

Actions #5

Updated by Андрей Третьяков over 11 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Applied in changeset r2977.

Actions #6

Updated by Андрей Третьяков over 11 years ago

Applied in changeset r524.

Actions #7

Updated by Андрей Третьяков over 11 years ago

  • Assignee set to Андрей Третьяков
  • Target version set to 0.14
Actions #8

Updated by Андрей Третьяков over 11 years ago

  • Published in build set to 0.14.167
Actions #9

Updated by Viktoria Kopach over 11 years ago

  • Status changed from Resolved to Verified
  • Assignee changed from Андрей Третьяков to Alexey Khoroshilov
Actions #10

Updated by Alexey Khoroshilov over 10 years ago

  • Status changed from Verified to Closed
Actions

Also available in: Atom PDF