Monday, November 23, 2009

Оформление списка требований к программной системе в документе Word. Между прочим, эту статью не приняли на хабр. Почему?

Занимался следующей задачей: оформлением списка требований заказчика в документе Word. Что требовалось:

1. Представлять требования в виде идентификаторов типа RF001, RF002 (функциональные требования), RUI001, RUI002 (требования к пользовательскому интерфейсу).
2. Поддерживать их сквозную нумерацию по документу.
3. Делать на них ссылки в пределах документа.

Сквозной список требований обладает преимуществом удобного добавления нового требования при разработке документа.
Как правило, во всех вариантах документов, которые я видел, использовалось статическое задание номеров требований, что очень неудобно при разработке (обычно требования группируются по типу функциональности, например:
- Функциональные требования к модулю 1.
- Функциональные требования к модулю 2.
...
- Функциональные требования к модулю N.

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


Проблема осложняется тем, что:

1. Word не содержит средства для такой автоматической нумерации, как, например, для рисунков.
2. Формат номера должен быть трехзначный (в данном случае это так. У вас он может быть двухзначный - если число требований не превышает 99 штук).
3. Добавление текстового идентификатора RF, RUI и т.д. перед каждым номером.

Решается задача при помощи полей (fields) MS Word. Дальнейшие рассуждения для английского Word 2007.

Итак:
1. Надо перейти на ленту References и нажать кнопку Insert caption.




2. Далее в открывшемся окне определить новую метку (Label). Т.е. это префикс перед номером требования (RF, RUI).






3. Теперь для создания поля перейдите на ленту Insert и вставьте поле, как показано на рисунке:



4. В открывшемся окне нажимается кнопка Formula и вставляется следующий текст, собственно определяющий формат:



Для деталей по формату обратитесь к справке Word. Кратко скажу, что формат SEQ RF \# RF000 означает:

- SEQ - тип поля
- первое упоминание RF - имя метки (см. шаг 2).
- второе упоминание RF - то, что будет показано перед номером.
- 000 - формат номера (три цифры перед точкой).

5. Теперь вы можете делать ссылки на требования: На ленте Insert кнопка Cross reference:



Вуаля!

P.S. Напоследок хочу отметить, как добавляются новые требования в следующих версиях документа. Для этого я создаю отдельный раздел под названием, например, "Требования итерации 2", куда и добавляю новые требования. Подойдет ли вам такой метод - не знаю. Я использовал это в небольших проектах (до 1000 ч/часов девелопинга) - зарекомендовал себя отлично.

Начнем?

Ну вот, я сделал это. Преодолев лень, я создал мой блог.
Велком мир