Программная инженерия | Классификация требований к программному обеспечению

Опубликовано: 28 Января, 2022

Согласно стандарту IEEE 729 требование определяется следующим образом:

  • Условие или возможность, необходимые пользователю для решения проблемы или достижения цели.
  • Условие или возможность, которые должны выполняться или которыми должна обладать система или системный компонент, чтобы соответствовать контракту, стандарту, спецификации или другим формально установленным документам.
  • Документированное представление состояния или возможности, как в пунктах 1 и 2.

Требования к программному обеспечению могут быть трех типов:

  • Функциональные требования
  • Нефункциональные требования
  • Требования к домену

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

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

Есть много способов выражения функциональных требований, например естественный язык, структурированный или форматированный язык без строгого синтаксиса и язык формальных спецификаций с правильным синтаксисом.

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

  • Портативность
  • Безопасность
  • Ремонтопригодность
  • Надежность
  • Масштабируемость
  • Представление
  • Возможность повторного использования
  • Гибкость

НО подразделяются на следующие типы:

  • Ограничения интерфейса
  • Ограничения производительности: время отклика, безопасность, место для хранения и т. Д.
  • Рабочие ограничения
  • Ограничения жизненного цикла: ремонтопригодность, переносимость и т. Д.
  • Экономические ограничения

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

Требования к домену: Требования к домену - это требования, которые характерны для конкретной категории или домена проектов. Основные функции, которые обязательно должна выполнять система определенного домена, подпадают под эту категорию. Например, в академическом программном обеспечении, которое ведет записи о школе или колледже, возможность доступа к списку преподавателей и студентов каждого класса является требованием домена. Таким образом, эти требования определяются из этой модели предметной области и не зависят от пользователя.

Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.