При создании программного продукта особую роль играют требования. Они представляют собой совокупность утверждений в отношении атрибутов и свойств будущего программного обеспечения.
Существуют следующие уровни требований к ПО:бизнес-требования (определяют цель создания продукта и его возможности);
- пользовательские требования (определяют, кто, как и для чего взаимодействует с ПО);
- функциональные требования (определяют поведение системы).
Кроме перечисленных, могут быть разработаны нефункциональные требования (требования к практичности, надёжности, производительности, возможности обслуживания). В них содержится описание значимых для разработчиков характеристик подлежащего реализации программного продукта.
Работа с требованиями предполагает выявление возможностей будущего продукта, сбор требований со стороны заинтересованных в его создании лиц, их систематизацию и проверку (тестирование и оценку). Этот процесс называют системным анализом требований.
Системный анализ – это подход, при котором устанавливаются структурные связи между элементами и свойствами будущей программы. Он основывается на теории систем, предметом которой являются закономерности, характеризующие структуру и функционирование целостных объектов реального мира. Системный анализ предполагает углублённое изучение потребностей пользователей. Результаты анализа будут положены в основу проектирования программного обеспечения и отражены в требованиях.
Как правило, анализом требований занимаются аналитики или тестировщики. Иногда могут быть задействованы разработчики, менеджеры продукта и технические писатели.
Системный анализ требований – это итеративный процесс, т.е. все типы работ выполняют параллельно в ходе фиксированных коротких интервалов времени. Специалисты собирают требования к программе, анализируют их по различным критериям, формулируют требования в чёткой и однозначной форме, форматируют данные (документацию) и управляют изменениями и версиями.
Проверка требований осуществляется по следующим критериям:
- полнота изложения (требования должны быть составлены для каждой функциональности программы);
- корректность (точность и правильность описания функциональных возможностей будущего ПО);
- осуществимость (возможность реализации);
- необходимость (требования должны содержать необходимые для пользователя возможности);
- отсутствие многозначности (интерпретация требований должна быть у всех одинаковой).
Для успешного проектирования системы требования следует документировать. Существует несколько методов документирования:
- спецификация требований – традиционная форма, при которой требования описывают детально (предполагается использование стандартов и шаблонов);
- User Story – краткое описание функций программы, написанное от лица пользователя;
- модели и диаграммы – требования представлены при помощи визуальных инструментов;
- прототипирование – создание прототипов, как правило, пользовательских интерфейсов.
При составлении документации специалисты могут прибегать к различным подходам. При первом подходе внесение изменений в документы возможно только на начальном этапе. При втором –требования могут быть адаптированы на любом этапе разработке программы. Третий вариант – гибридный подход, при котором часть требований фиксируется на первоначальном этапе, а часть может быть скорректирована впоследствии.
Итак, системный анализ позволяет проектировать программное обеспечение в соответствии с потребностями пользователей и способствует оптимизации бизнес-процессов. Системный анализ и документирование требований помогают всем участникам разработки понять цели и оценить характеристики будущего ПО.
