1. Описание документа
Назначение: шаблон функциональной спецификации
Цветовая карта документа:
Цвет шрифта Описание
Метаописание. Текст данного цвета описывает суть блока и должен быть
замен на реальное описание.
Примеры, не включаются в конкретный текст спецификации, даются в
помощь метаописанию.
Текст остается в функциональной спецификации “как есть”
Рекомендации к структуре документа
При описании имеет смысл выносить описание функциональных подсистем в отдельные
документы. При этом в главном документе должен присутствовать раздел с именем
соответствующей подсистемы и ссылкой на документ с ее описанием. Таким образом,
главный документ функциональной спецификации может выполнять роль карты
документации и нести общую информацию, характеризующую проект в целом.
2. Функциональная спецификация Шаблон функциональной спецификации
Наименование системы
Версия 1.0
Наименование модуля системы
Функциональная спецификация
Содержание
Ссылки...........................................................................................................................................4
Требования к разработке, внедрению и эксплуатации.............................................................4
Зависимости..............................................................................................................................4
Требования к возможностям телекоммуникаций и технических средств..........................4
Требования к программному окружению .............................................................................4
Сценарии использования.........................................................................................................4
Требования к разделению доступа .........................................................................................4
Список ролей пользователей в системе..................................................................................4
1.1 Правила представления терминов предметной области..................................................4
1.2 Правила именования объектов кода..................................................................................5
1.3 Перечень элементов управления пользовательского интерфейса..................................5
1.4 Базовые свойства компонентов системы..........................................................................5
Группа требований 1....................................................................................................................6
Группа требований к функциональному блоку 1..................................................................6
Иерархия объектов................................................................................................................6
Список объектов...................................................................................................................9
Создание нового объекта...................................................................................................10
Редактирование объекта.....................................................................................................12
Удаление объекта................................................................................................................14
..............................................................................................................................................14
Требование к функции K...................................................................................................14
Группа требований к отчетам................................................................................................14
Отчет 1.................................................................................................................................14
Отчет 2.................................................................................................................................14
..............................................................................................................................................15
Отчет L.................................................................................................................................15
Группа требований к обмену данных...................................................................................15
1.4.2 Профиль использования.............................................................................................15
1.4.3 Общая архитектура выгрузки/загрузки....................................................................15
1.4.4 Сценарии......................................................................................................................15
Группа требований к аудиту..................................................................................................17
Группа требований к серверным операциям........................................................................17
1.4.5 Операция 1...................................................................................................................17
1.4.6 Операция 2...................................................................................................................18
1.4.7 Операция N..................................................................................................................18
Группа требований к DataGuard-ам......................................................................................18
1.4.8 DataGuard 1..................................................................................................................18
1.4.9 DataGuard 2..................................................................................................................18
1.4.10 DataGuard N...............................................................................................................18
стр. 2 из 19
3. Функциональная спецификация Шаблон функциональной спецификации
Группа требований к инсталлятору/обновлению................................................................18
1.4.11 Инсталлятор..............................................................................................................18
1.4.12 Обновление................................................................................................................18
Группа требований к объектам БД .......................................................................................18
1.4.13 Индексы.....................................................................................................................18
1.4.14 Временные таблицы.................................................................................................18
1.4.15 Представления...........................................................................................................18
1.4.16 Процедуры.................................................................................................................18
1.4.17 Функции.....................................................................................................................18
1.4.18 Типы...........................................................................................................................18
Требование M..........................................................................................................................19
... 19
Группа требований N.................................................................................................................19
Компоненты................................................................................................................................19
Структура программного обеспечения.................................................................................19
Компонента X..........................................................................................................................19
Приложения.................................................................................................................................19
стр. 3 из 19
4. Функциональная спецификация Шаблон функциональной спецификации
Ссылки
Ссылки на внешние документы.
Требования к разработке, внедрению и эксплуатации
Зависимости
Перечень зависимостей от других проектов или прикладных программных компонентов.
Требования к возможностям телекоммуникаций и технических
средств
Характеристики телекоммуникаций и технических средств, на которые мы должны
рассчитывать при инсталляции системы. Указать минимально возможные значения.
Требования к программному окружению
Перечень программного обеспечения, которое должно быть установлено для каждого типа
технических средств (рабочие станции пользователей, рабочие станции администраторов,
сервер приложения, сервер БД и т.п.).
Сценарии использования
Перечень групп сценариев и сценариев. Каждый сценарий должен быть кратко описан с
указанием, кто будет его использовать, регламент использования и способ использования
системы.
Требования к разделению доступа
Здесь описываются принципы разделения доступа в системе.
Список ролей пользователей в системе
Должен быть приведен список ролей пользователей:
• Администратор
• Обычный пользователь
• …
1.1 Правила представления терминов предметной области
Перечисляются правила представления терминов предметной области.
Табл. 1 Представление терминов предметной области
Термин Представление
Пример
Табл. 2 Представление терминов предметной области
Термин Представление
Отчетный период Значение формируется из года и квартала, разделенных запятой
стр. 4 из 19
5. Функциональная спецификация Шаблон функциональной спецификации
Термин Представление
1.2 Правила именования объектов кода
Перечисляются специфические правила наименования объектов исходного кода.
Например, может быть указано, что все классы прикладного кода или таблицы базы
данных, должны содержать в своем имени определенную подстроку. Данная возможность
может быть полезна при написании утилит, обрабатывающих исходный код.
1.3 Перечень элементов управления пользовательского
интерфейса
Список наименований используемых элементов управления и их краткое описание.
Табл. 3 Перечень элементов управления
Условное обозначение
элемента
Описание
Текстовое поле Поле для ввода текста
Метка Нередактируемое текстовое поле
Комбобокс Текстовое поле с выпадающим списком
Список Представление списка
Иерархия Представление иерархической структуры (дерево)
Радиокнопка Флажок, который позволяет из группы связанных элементов данного типа выбрать
только один.
Чекбокс Флажок, принимающий одно из 2-х возможных значений “установлен”, “не
установлен”
Группа Прямоугольная рамка (с опциональным заголовком) объединяющая внутри себя
несколько элементов
Объектное поле Текстовое поле и кнопка. Предназначено для выбора значения справочника ОМ.
Датапикер Поле для выбора даты
<ваш собственный элемент
управления>
…
1.4 Базовые свойства компонентов системы
В пункте указываются общие(базовые) свойства, присущие компонентам системы
(алгоритмам, элементам пользовательского интерфейса, …) и принимаемые по
умолчанию в дальнейшем описании. Если свойство характерно не всем ситуациям, в
которых используется компонент, необходимо дать строгое, формально определенное
правило применимости свойства или привести перечень исключений.
стр. 5 из 19
6. Функциональная спецификация Шаблон функциональной спецификации
Табл. 4 Перечень базовых свойств
Наименование компонента Описание
Компонент - 1 Описание
Компонент - 2 Описание
…
Пример
Табл. 5 Пример перечня базовых свойств
Наименование компонента Описание
Текстовое поле фильтра списка При фильтрации по текстовым полям выполнять поиск введенного значения в
соответствующем реквизите базы данных, начиная с произвольной позиции.
…
Группа требований 1
Перечень функциональных блоков. Декомпозиция отдается на откуп постановщику,
основной критерий – семантическая связанность функций, составляющих
функциональный блок.
• Функциональный блок 1
• Функциональный блок 2
• …
• Функциональный блок N
При большом числе функциональных блоков их можно разделить по предназначению на
категории: взаимодействие с пользователем, внутренняя бизнес-логика и описание
данных.
Группа требований к функциональному блоку 1
Необходимо использовать однозначные наименования из конструкторской документации
(объектной модели), в т.ч. и наименования для XStorage, например: Пользователь (User).
Далее в виде отдельных подпунктов идет подробное описание различных операций.
Выделены «стандартные» типы операций:
• Иерархия объектов
• Список объектов
• Создание нового объекта
• Редактирование объекта
• Удаление объекта
Описание операций ориентировано на использование XML Framework.
Иерархия объектов
Профиль использования
Здесь указывается то, откуда пользователю доступна данная операция, какими правами
должен обладать пользователь (в какие группы входить) и пр.
стр. 6 из 19
7. Функциональная спецификация Шаблон функциональной спецификации
Построение иерархии
Должны быть описаны следующие моменты построения иерархии, т.е. «дерева» объектов:
• Алгоритм построения корневых элементов
• Алгоритм построения веток
• Форматы вывода узлов каждого типа
• Сортировка узлов в ветке
• Состав и структура детализирующей страницы иерархии (правая панель)
В описании алгоритмов, ссылках на поля и другие объекты системы использовать
однозначные наименования из конструкторской документации (объектной модели), в т.ч.
и наименования для XStorage, например: Пользователь (User).
1.1.1.1.1 Узел первого уровня 1
Описание узла уровня. Алгоритм формирования уровня иерархии, меню уровня, описание
дочерних узлов.
1.4.1.1.1.1 Алгоритм формирования
Алгоритм формирования уровня иерархии.
1.4.1.1.1.2 Меню уровня
В таблице перечисляются пункты меню уровня.
Табл. 6 Содержание меню иерархии
Название Условия доступности Описание
Пункт-1
Пункт-2
...
1.4.1.1.1.3 Узел второго уровня 1
1.4.1.1.1.3.1 Алгоритм формирования
Алгоритм формирования уровня иерархии.
1.4.1.1.1.3.2 Меню уровня
В таблице перечисляются пункты меню уровня см. 1.4.1.1.1.2.
…
1.4.1.1.1.4 Узел второго уровня 2
…
1.4.1.1.1.5 Узел второго уровня M
стр. 7 из 19
8. Функциональная спецификация Шаблон функциональной спецификации
1.1.1.1.2 Узел первого уровня 2
…
1.1.1.1.3 Узел первого уровня N
Фильтр
При проектировании правил фильтрации следует обратить внимание на следующие
наиболее общие ситуации:
• Связь полей фильтра - необходимо указывать тип логической операции,
связывающей отдельные операции сравнения значений полей фильтра с полями
источника данных;
• Сравнение текстовых полей(обработка полей) - приведение сравниваемых
значений к одному регистру; удаление ведущих, завершающих или внутренних
нежелательных символов (например, пробелы, табуляции);
• Сравнение текстовых полей (алгоритм сравнения) - полное совпадение; совпадение
подстроки, начиная с первого символа или с произвольной позиции;
• Проверка интервалов значений - необходимость указания обеих границ; проверка
того, что левая граница не превышает правую;
• Противоречивость условий - невозможность указать одновременно
взаимоисключающие условия.
• …
1.1.1.1.4 Предусловия (если есть)
1.1.1.1.5Страницы фильтра
1.1.1.1.6Страница 1
Заголовок: <заголовок страницы>
В описании алгоритмов, ссылках на поля и другие объекты системы использовать
однозначные наименования из конструкторской документации (объектной модели), в т.ч.
и наименования для XStorage, например: Пользователь (User)
1.4.1.1.1.6 Предусловия страницы (если есть)
Действия, выполняемые перед отображением интерфейса страницы редактора:
• описание специфических алгоритмов по заполнению полей;
• управление доступностью и видимостью полей, в зависимости от контекста вызова
мастера или от данных, введенных на других страницах редактора;
• и т.д.
1.4.1.1.1.7 Элементы управления страницы
стр. 8 из 19
9. Функциональная спецификация Шаблон функциональной спецификации
Табл. 7 Элементы управления страницы
Название
элемента
управления
Тип элемента
управления
Значения
Значение по
умолчанию
Описание
Элемент – 1 Описание расположения элемента на
странице фильтра.
Описание формата и обязательности
ввода данных.
Описание событий элемента,
требующих специальной обработки.
Элемент – 2
...
Указываются особенности функционирования страницы фильтра
• специфические алгоритмы, вызываемые при наступлении определенных событий
на странице фильтра;
• и т.д.
1.4.1.1.1.8 Постусловия страницы (если есть)
Описание действий, выполняемых при выходе из страницы фильтра:
• проверка заполненности обязательных полей;
• проверка корректности введенных данных;
• сохранение промежуточных состояний операции ввода данных;
• проверка возможности перехода на другую страницу;
• и т.д.
1.4.1.1.1.9 Страница 2
...
1.4.1.1.1.10 Страница Y
1.1.1.1.7 Постусловия (если есть)
Параметры страницы (если есть)
Здесь могут быть указаны параметры, передаваемые HTML-странице.
Особенности реализации
Здесь в свободной форме могут быть изложены требования к реализации, например,
использование каких-то общих функций и т.п. В описании алгоритмов, ссылках на поля и
другие объекты системы использовать однозначные наименования из конструкторской
документации (объектной модели), в т.ч. и наименования для XStorage, например:
Пользователь (User).
Список объектов
Профиль использования
См. п..
стр. 9 из 19
10. Функциональная спецификация Шаблон функциональной спецификации
Параметры страницы (если есть)
Здесь могут быть указаны параметры, передаваемые HTML-странице.
Особенности реализации
Здесь в свободной форме могут быть изложены требования к реализации, например,
использование каких-то общих функций и т.п. В описании алгоритмов, ссылках на поля и
другие объекты системы использовать однозначные наименования из конструкторской
документации (объектной модели), в т.ч. и наименования для XStorage, например:
Пользователь (User).
Колонки списка
В таблице ниже перечисляются колонки списка с описаниями. В описании алгоритмов,
ссылках на поля и другие объекты системы использовать однозначные наименования из
конструкторской документации (объектной модели), в т.ч. и наименования для XStorage,
например: Пользователь (User).
Табл. 8 Колонки списка
Название Описание (алгоритм сбора)
Колонка – 1 Описание колонки – 1
Колонка – 2 Описание колонки – 2
...
Сортировка списка
Указывается, по какой колонке (колонкам) сортируется список и в каком порядке.
Фильтрация списка
Полностью аналогично п..
Меню списка
В таблице перечисляются пункты контекстного меню списка.
Отдельно указывается доступность стандартных пунктов меню.
Табл. 9 Содержание меню списка
Название Условия доступности Описание
Пункт-1
Пункт-2
...
Создание нового объекта
Профиль использования
См. п..
стр. 10 из 19
11. Функциональная спецификация Шаблон функциональной спецификации
Параметры мастера
Здесь могут быть указаны параметры, передаваемые мастеру.
Особенности реализации
Здесь в свободной форме могут быть изложены требования к реализации, например,
использование каких-то общих функций и т.п. В описании алгоритмов, ссылках на поля и
другие объекты системы использовать однозначные наименования из конструкторской
документации (объектной модели), в т.ч. и наименования для XStorage, например:
Пользователь (User).
Исходные данные (если есть)
Предусловия (если есть)
Шаги мастера
1.1.1.1.8Шаг 1
Заголовок: <заголовок шага>
В описании алгоритмов, ссылках на поля и другие объекты системы использовать
однозначные наименования из конструкторской документации (объектной модели), в т.ч.
и наименования для XStorage, например: Пользователь (User)
1.4.1.1.1.11 Предусловия шага (если есть)
Действия, выполняемые перед отображением интерфейса шага мастера:
• описание специфических алгоритмов по заполнению полей;
• управление доступностью и видимостью полей, в зависимости от контекста вызова
мастера или от данных, введенных на предыдущем шаге;
• и т.д.
1.4.1.1.1.12 Элементы управления шага
Табл. 10 Элементы управления шага
Название
элемента
управления
Тип элемента
управления
Значения
Значение по
умолчанию
Описание
Элемент – 1 Тип из
приложения
Алгоритм формирования
множества допустимых
значений
Алгоритм
формирования
значения по
умолчанию
элемента
Описание расположения элемента на
странице шага мастера.
Описание формата и обязательности
ввода данных.
Описание событий элемента,
требующих специальной обработки.
Элемент – 2 …
... …
Указываются особенности функционирования страницы шага мастера:
• специфические алгоритмы, вызываемые при наступлении определенных событий
на странице шага мастера;
стр. 11 из 19
12. Функциональная спецификация Шаблон функциональной спецификации
• и т.д.
1.4.1.1.1.13 Постусловия шага (если есть)
Описание действий, выполняемых при выходе из шага мастера:
• проверка заполненности обязательных полей;
• проверка корректности введенных данных;
• сохранение промежуточных состояний операции ввода данных;
• проверка возможности перехода на следующий/предыдущий шаг;
• и т.д.
1.1.1.1.9Шаг 2
...
1.1.1.1.10 Шаг X
Постусловия (если есть)
Описание действий, выполняемых при выходе из мастера.
Редактирование объекта
Профиль использования
См. п..
Параметры редактора
Здесь могут быть указаны параметры, передаваемые редактору.
Особенности реализации
Здесь в свободной форме могут быть изложены требования к реализации, например,
использование каких-то общих функций и т.п. В описании алгоритмов, ссылках на поля и
другие объекты системы использовать однозначные наименования из конструкторской
документации (объектной модели), в т.ч. и наименования для XStorage, например:
Пользователь (User).
Исходные данные (если есть)
Предусловия (если есть)
Страницы редактора
1.1.1.1.11 Страница 1
Заголовок: <заголовок страницы>
В описании алгоритмов, ссылках на поля и другие объекты системы использовать
однозначные наименования из конструкторской документации (объектной модели), в т.ч.
и наименования для XStorage, например: Пользователь (User)
стр. 12 из 19
13. Функциональная спецификация Шаблон функциональной спецификации
1.4.1.1.1.14 Предусловия страницы (если есть)
Действия, выполняемые перед отображением интерфейса страницы редактора:
• описание специфических алгоритмов по заполнению полей;
• управление доступностью и видимостью полей, в зависимости от контекста вызова
мастера или от данных, введенных на других страницах редактора;
• и т.д.
1.4.1.1.1.15 Элементы управления страницы
Табл. 11 Элементы управления страницы
Название
элемента
управления
Тип элемента
управления
Значения
Значение по
умолчанию
Описание
Элемент – 1 Описание расположения элемента на
странице редактора.
Описание формата и обязательности
ввода данных.
Описание событий элемента,
требующих специальной обработки.
Элемент – 2
...
Указываются особенности функционирования страницы редактора:
• специфические алгоритмы, вызываемые при наступлении определенных событий
на странице редактора;
• и т.д.
1.4.1.1.1.16 Постусловия страницы (если есть)
Описание действий, выполняемых при выходе из страницы редактора:
• проверка заполненности обязательных полей;
• проверка корректности введенных данных;
• сохранение промежуточных состояний операции ввода данных;
• проверка возможности перехода на другую страницу;
• и т.д.
1.1.1.1.12 Страница 2
...
1.1.1.1.13 Страница Y
Постусловия (если есть)
Описание действий, выполняемых при выходе из редактора.
стр. 13 из 19
14. Функциональная спецификация Шаблон функциональной спецификации
Удаление объекта
1.4.1.2 Профиль использования
См. п..
1.4.1.3 Алгоритм удаления (если отличается от стандартного)
...
Требование к функции K
Здесь располагается требование, не подходящее ни в одну из перечисленных категорий
«стандартных» операций. Однако при его оформлении следует по возможности следовать
единому стилю с описаниями «стандартных» операций. В описании алгоритмов, ссылках
на поля и другие объекты системы использовать однозначные наименования из
конструкторской документации (объектной модели), в т.ч. и наименования для XStorage,
например: Пользователь (User).
Группа требований к отчетам
Перечень (номенклатура, реестр) отчетов в системе:
• Отчет 1
• Отчет 2
• ...
• Отчет L
Отчет 1
Отчет 2
Профиль использования
См. п..
Фильтрация
Полностью аналогично п..
1.4.1.4 Заголовок
Описание формата заголовка.
1.4.1.5 Тело отчета
Описание правил формирования отчета:
• алгоритм получения данных;
• сортировка;
• …
В описании алгоритмов, ссылках на поля и другие объекты системы использовать
однозначные наименования из конструкторской документации (объектной модели), в т.ч.
и наименования для XStorage, например: Пользователь (User).
стр. 14 из 19
15. Функциональная спецификация Шаблон функциональной спецификации
Табл. 12 Колонки отчета
Название Алгоритм вычисления итоговых данных
Колонка 1
Колонка 2
…
Колонка N
1.4.1.6 Подвал
Описание формата подвала отчета.
1.4.1.7 Особенности реализации
• особенности реализации алгоритмов сбора и представления данных;
• требования к формату бумаги и расположению отчета на листе (ориентация,
ширина полей, т.д.);
• …
1.4.1.8 Макет отчета
Вставляется пример отчета или ссылка на него в приложении.
...
Отчет L
Группа требований к обмену данных
1.4.2 Профиль использования
См.
1.4.3 Общая архитектура выгрузки/загрузки
Описываются основные положения, связанные с реализацией выгрузки/загрузки.
1.4.4 Сценарии
1.4.4.1 Сценарий 1
Общее описание сценария.
1.4.4.1.1 Профиль использования
Условия, при которых вызывается сценарий.
1.4.4.1.2 Параметры сценария
Табл. 13 Параметры сценария
Наименование Тип Описание
Тип XFW
…
стр. 15 из 19
16. Функциональная спецификация Шаблон функциональной спецификации
1.4.4.1.3Шаги, выполняемые перед выгрузкой
Табл. 14 Шаги
Номер Условие Описание
1 • перечень передаваемых в шаг параметров;
• описание алгоритма работы шага.
…
N
1.4.4.1.4 Шаги, выполняемые перед загрузкой
Табл. 15 Шаги
Номер Условие Описание
1 • перечень передаваемых в шаг параметров;
• описание алгоритма работы шага.
…
N
1.4.4.1.5 Шаги выгрузки
Табл. 16 Шаги
Номер Наименование
целевого объекта
Описание
1 Наименование
объекта, для которого
выполняется
выгрузка.
• перечень передаваемых в шаг параметров;
• описание алгоритма работы шага.
…
N
1.4.4.1.6 Шаги, выполняемые после выгрузки
Табл. 17 Шаги
Номер Условие Описание
1 • перечень передаваемых в шаг параметров;
• описание алгоритма работы шага.
…
N
1.4.4.1.7 Шаги, выполняемые после загрузки
Табл. 18 Шаги
Номер Условие Описание
1 • перечень передаваемых в шаг параметров;
• описание алгоритма работы шага.
…
стр. 16 из 19
17. Функциональная спецификация Шаблон функциональной спецификации
N
1.4.4.2 Сценарий 2
…
1.4.4.3 Сценарий N
Группа требований к аудиту
Дается перечень объектов и операций, для которых выполняется аудит.
Описываются алгоритмы сбора сведений об объектах и операциях, подлежащих аудиту.
В описании алгоритмов, ссылках на поля и другие объекты системы использовать
однозначные наименования из конструкторской документации (объектной модели), в т.ч.
и наименования для XStorage, например: Пользователь (User).
Группа требований к серверным операциям
1.4.5 Операция 1
Краткое описание назначения операции.
1.4.5.1 Профиль использования
Описываются условия вызова серверной операции. Указываются роли, которым доступна
операция либо ссылка на описание соответствующего объекта DataGuard из п. .
Наименования ролей должны соответствовать перечню п. .
1.4.5.2 Сигнатура операции
Табл. 19 Сигнатура операиции
Наименование класса команды <наименование операции>Command
Имя класса запроса <наименование операции>Request
Имя класса ответа <наименование операции>Response
Может выполняться асинхронно Да / Нет
Запрос
Табл. 20 Запрос
Параметр Тип Обязательный Описание
Имя Тип CLR Да/Нет
…
Ответ
Табл. 21 Ответ
Параметр Тип Обязательный Описание
Имя Тип CLR Да/Нет
…
стр. 17 из 19
18. Функциональная спецификация Шаблон функциональной спецификации
1.4.5.3 Алгоритм
Алгоритм работы серверной операции.
1.4.6 Операция 2
…
1.4.7 Операция N
Группа требований к DataGuard-ам
1.4.8 DataGuard 1
Алгоритм проверки доступности операции. В описании алгоритма используются
наименования из объектной модели и п. .
1.4.9 DataGuard 2
…
1.4.10 DataGuard N
Группа требований к инсталлятору/обновлению
1.4.11 Инсталлятор
Описание состава и сценария инсталлятора.
1.4.12 Обновление
Описание состава и сценария обновления.
Группа требований к объектам БД
В данном разделе описываются объекты, не вошедшие в ОМ.
1.4.13 Индексы
1.4.14 Временные таблицы
1.4.15 Представления
1.4.16 Процедуры
1.4.17 Функции
1.4.18 Типы
стр. 18 из 19
19. Функциональная спецификация Шаблон функциональной спецификации
Требование M
...
Группа требований N
Компоненты
Ссылка на логическую/объектную модель (на файл RR). Все детали в данном случае
занесены с помощью RR.
Структура программного обеспечения
• Структурная схема
• Перечень компонент прикладного программного обеспечения
• Перечень внешнего прикладного программного обеспечения, конфигурация
которого может оказать влияние на функционирование системы
Компонента X
• Перечень конфигурационных параметров
Приложения
стр. 19 из 19