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

Требования к программной системе классифицируются как функциональные и нефункциональные.

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

1. Пользователь должен иметь возможность проводить поиск необходимых ему книг и документов или по всему множеству доступных каталожных баз данных

2. Система должна предоставлять пользователю подходящее средство просмотра библиотечных документов.

3. Каждый заказ должен быть снабжен уникальным идентификатором (NUM_ID), который копируется в формуляр пользователя для постоянного хранения.

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

Все системные требования можно разбить на три большие группы.

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

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

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

Системные требования должным быть выражаться через количественные показатели, которые можно объективно измерить.

Пример системного требования:

Система должна быть простой в эксплуатации для опытного оператора и сводить количество его ошибок к минимуму

Данное требование лучше сформулировать так:

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

В таблице 1Таблица 1 приведены показатели, с помощью которых можно специфицировать системные свойства.

Количественные показатели для системных требований

Таблица 1. Количественные показатели для системных требований

Показатель   Единицы измерения  
Скорость Количество выполненных транзакций в секунду; время реакции на действия пользователя; время обновления экрана  
Размер Килобайты; количество модулей памяти
Простота эксплуатации Время обучения персонала; количество статей в справочной системе
Надежность Средняя продолжительность времени между двумя последовательными проявлениями ошибок в системе; вероятность выхода системы из строя; коэффициент готовности системы
Устойчивость к сбоям Время восстановления системы после сбоя; процент событий, приводящих к сбоям; вероятность порчи данных при сбоях
Переносимость Процент машинно-зависимых операторов; количество машинно-зависимых подсистем

Наши рекомендации