Тема 15. Функциональные спецификации

План лекции

1. Понятие функциональной спецификации

2. Стандарт IEEE 830

Понятие функциональной спецификации

Функциональная спецификация – это документ, описывающийфункциональность системы (ее характеристики и обслуживаемыезапросы), а также связанные с каждым запросом входные и выходные данные.

Функциональная спецификация отражает, что делает система(defineswhatasystemissupposedtoaccomplish), нонеотражает, какона это делает, т. е. она не определяет операции, происходящие внутри ИС, не указывает способ реализации функций. Полноценнаяспецификация должна включать в себя описание способа взаимодействия с внешними агентами (пользователями, периферийнымиустройствами, другими компьютерами.

Пример фрагмента типичной функциональной спецификацииимеет вид: «Когда пользователь нажимает кнопку ОК, окно диалога закрывается и в фокусе оказывается главное окно, которое былодо появления диалога.

Спецификация может быть неформальной, т. е. изложеннойна разговорном языке. В этом случае ее можно рассматривать какруководство пользователя. Для разработчика ИС функциональнаяспецификация является требованием, подлежащим обязательномувыполнению. В этом случае целесообразно использовать формальные спецификации, не оставляющие места неточностям и неоднозначностям. Формальные спецификации выражают модель функциональных требований, включают графические схемы (диаграммы) ивозможно, математические и программные условия. Помимо чистопроцедурной составляющей функциональная спецификация должначетко предопределять внешние интерфейсы.

Стандарт IEEE 830

Спецификация требований к программному обеспечению (SoftwareRequirementsSpecification (SRS)) определяетсякакзаконченноеописание поведения программы, которую требуется разработать. Онавключает в себя ряд пользовательских сценариев (usecases), которыеописывают все варианты взаимодействия между пользователямии программным обеспечением.

Пользовательские сценарии являются средством представленияфункциональных требований. В дополнение к пользовательскимсценариям спецификация также содержит нефункциональные требования, которые налагают ограничения на дизайн или реализацию(такие, как требования производительности, стандарты качества илипроектные ограничения).

В стандарте IEEE 830 содержатся рекомендации к структуре и методам описания программных требований. Рекомендуемая структураимеет следующий вид:

1. Введение

1.1. Цели

1.2. Соглашения о терминах

1.3. Предполагаемая аудитория и последовательность восприятия

1.4. Масштаб проекта

1.5. Ссылки на источники

2. Общее описание

2.1. Видение продукта

2.2. Функциональность продукта

2.3. Классы и характеристики пользователей

2.4. Среда функционирования продукта (ОС)

2.5. Рамки, ограничения, правила и стандарты

2.6. Документация для пользователей

2.7. Допущения и зависимости

3. Функциональность системы

3.1. Функциональный блок N (блоков может быть несколько)

3.1.1. Описание и приоритет

3.1.2. Причинно-следственные связи, алгоритмы – движение процессов, Workflows

3.1.3. Функциональные требования

4. Требования к внешним интерфейсам

4.1. Интерфейсы пользователя (UX)

4.2. Программные интерфейсы

4.3. Интерфейсы оборудования

4.4. Интерфейсы связи и коммуникации

5. Нефункциональные требования

5.1. Требования к производительности

5.2. Требования к сохранности (данных)

5.3. Критерии качества программного обеспечения

5.4. Требования к безопасности системы

6. Прочие требования

Приложение А. Глоссарий

Приложение Б. Модели процессов предметной области и другие диаграммы

Приложение В. Список ключевых задач

Указанные требования почти полностью применимы не толькок программному обеспечению ИС, но и к ИС в целом. Слово «почти» означает следующее: подразд. 3 спецификации предполагаетопределенность функциональных блоков, т. е. завершенность процесса проектирования архитектуры информационной системы. Приописании функциональности системы (подразд. 3) целесообразноприменение диаграмм для повышения наглядности и однозначностиизложения. Необходимость приведения диаграмм в Приложении Буказана явно.

При использовании принципов структурного проектированияв подразд. 3 следует приводить диаграммы IDEF0, DFD, IDEF3 видаTO-BE, если они разрабатывались для отдельных функциональныхблоков. Если такие диаграммы отсутствуют, то подраздел содержиттолько вербальное изложение требований. В Приложении Б приводятся те же диаграммы, созданные для системы в целом.

При использовании принципов объектно-ориентированного проектирования в подразд. 3 следует приводить системные диаграммыпрецедентов, деятельности, коммуникации (взаимодействия), последовательности, классов. В Приложении Б приводятся аналогичныедиаграммы бизнес-моделирования.