Feature #2916
closedПереосмысление атрибутов id и name у требований
100%
Description
- id - идентификатор, который одназначно идентифицирует требование внутри его родителя
- quid - полный идентификатор, который одназначно идентифицирует требование в ReqDB. Строится как конкатенация id требования и его родителей, начиная с корня дерева.
- name - альтернативное имя, которое более понятно пользователю, чем идентификатор. В случае инстациации базовых требований - может быть в виде шаблона (что нельзя делать с id).
- user-visible-id - формируется автоматически на основе name и id. Сейчас считается так: если name!=id, то 'name', иначе 'user-visible-id(parent)/id(self)'. Идея была такая, что в рамках конкретного проекта определяется дисциплина работы с именами требований, чтобы user-visible-id являлся уникальным в рамках проекта и таким образом мог использоваться для ссылок снаружи.
- Способ генерации идентификаторов при разметке (который работает хорошо для случая POSIX или LSB) оказывается неудобным, если его использовать без ручной правки идентификаторов для требований-контейнеров.
- Текущая реализация работы с svn приводит к тому, что id не скрыты от пользователя. В результате работать с проектами со сгенерированными id крайне неудобно из-за большого числа малоотличимых папок 01/01/01/...
Сюда же надо присовокупить оставшееся нереализованным пожелание из #1011.
При создании тестового испытания идентификатор ему присваивается автоматически как
"Имя требования-T01" для первого (обращаю внимание, что имя требования, а не идентификатор),
для последующих как с требованиями в Requality - автоматическая инкрементация идентификатора последнего тестового испытания. Сразу при создании открывается редактор описания тестового испытания. Идентификатор, если захочется, пользователь сможет поменять позже.
Updated by Андрей Третьяков over 12 years ago
user-visible-id:
Появилась потребность, чтобы id требования мог совпадать с его именем (Name), а значит, и с user-visible-id (в противном случае реализация user-visible-id ломает Update DOORS Processor и обратную совместимость с уже существующими обработанными документами и деревьями требований).
В то же время, необходимо различать ситуации, когда имя требования (Name, а значит, и user-visible-id) задано, а когда нет.
Поэтому предлагается для случая незаданного имени удалять атрибут Name не тогда, когда он равен id (как сделано сейчас), а когда он пустой (равен "").
Updated by Alexey Khoroshilov about 12 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 всегда редактирует имя, а отображает имя, а если оно не установлено - то идентификатор).
Updated by Alexey Khoroshilov about 12 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.
Конечно, если включить в рассмотрение инстанциирование, то картина получается немного более сложная.
Updated by Андрей Третьяков about 12 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset r2977.
Updated by Андрей Третьяков about 12 years ago
- Assignee set to Андрей Третьяков
- Target version set to 0.14
Updated by Андрей Третьяков about 12 years ago
- Published in build set to 0.14.167
Updated by Viktoria Kopach about 12 years ago
- Status changed from Resolved to Verified
- Assignee changed from Андрей Третьяков to Alexey Khoroshilov
Updated by Alexey Khoroshilov over 11 years ago
- Status changed from Verified to Closed