Программная инженерия | Классификация требований к программному обеспечению
Согласно стандарту IEEE 729 требование определяется следующим образом:
- Условие или возможность, необходимые пользователю для решения проблемы или достижения цели.
- Условие или возможность, которые должны выполняться или которыми должна обладать система или системный компонент, чтобы соответствовать контракту, стандарту, спецификации или другим формально установленным документам.
- Документированное представление состояния или возможности, как в пунктах 1 и 2.
Требования к программному обеспечению могут быть трех типов:
- Функциональные требования
- Нефункциональные требования
- Требования к домену
Функциональные требования: это требования, которые конечный пользователь конкретно требует в качестве основных средств, которые должна предлагать система. Все эти функции должны быть обязательно включены в систему как часть контракта. Они представлены или указаны в форме ввода, который должен быть передан системе, выполненной операции и ожидаемого результата. По сути, это требования, заявленные пользователем, которые можно увидеть непосредственно в конечном продукте, в отличие от нефункциональных требований.
Например, в системе управления больницей врач должен иметь возможность получать информацию о своих пациентах. Каждое функциональное требование высокого уровня может включать в себя несколько взаимодействий или диалогов между системой и внешним миром. Для точного описания функциональных требований необходимо перечислить все сценарии.
Есть много способов выражения функциональных требований, например естественный язык, структурированный или форматированный язык без строгого синтаксиса и язык формальных спецификаций с правильным синтаксисом.
Нефункциональные требования: в основном это ограничения качества, которым система должна удовлетворять в соответствии с контрактом по проекту. Приоритет или степень реализации этих факторов варьируется от одного проекта к другому. Их также называют неповеденческими требованиями.
В основном они решают такие проблемы, как:
- Портативность
- Безопасность
- Ремонтопригодность
- Надежность
- Масштабируемость
- Представление
- Возможность повторного использования
- Гибкость
НО подразделяются на следующие типы:
- Ограничения интерфейса
- Ограничения производительности: время отклика, безопасность, место для хранения и т. Д.
- Рабочие ограничения
- Ограничения жизненного цикла: ремонтопригодность, переносимость и т. Д.
- Экономические ограничения
Процесс определения нефункциональных требований требует знания функциональных возможностей системы, а также знания контекста, в котором система будет работать.
Требования к домену: Требования к домену - это требования, которые характерны для конкретной категории или домена проектов. Основные функции, которые обязательно должна выполнять система определенного домена, подпадают под эту категорию. Например, в академическом программном обеспечении, которое ведет записи о школе или колледже, возможность доступа к списку преподавателей и студентов каждого класса является требованием домена. Таким образом, эти требования определяются из этой модели предметной области и не зависят от пользователя.
Вниманию читателя! Не переставай учиться сейчас. Получите все важные концепции теории CS для собеседований SDE с курсом теории CS по доступной для студентов цене и будьте готовы к отрасли.