Требования к ПО - Software requirements

Требования к ПО это поле внутри программная инженерия это касается установления потребностей заинтересованных сторон, которые должны быть решены с помощью программного обеспечения. Стандартный глоссарий терминологии программной инженерии IEEE определяет требование в качестве:[1]

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

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

Выявление

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

Анализ

Анализ - это логическая разбивка, происходящая от извлечения информации. Анализ включает достижение более глубокого и точного понимания каждого требования и представление наборов требований множеством взаимодополняющих способов.

Требования к сортировке или приоритезация требований - еще одна деятельность, которая часто следует за анализом.[3] Это относится к Гибкая разработка программного обеспечения на этапе планирования, например к Планирование покера, однако это может быть не то же самое в зависимости от контекста и характера проекта и требований или продукта / услуги, которые собираются.

Технические характеристики

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

Проверка

Валидация включает в себя методы подтверждения того, что правильный набор требований был определен для создания решения, удовлетворяющего бизнес-целям проекта.

Управление

Требования меняются в ходе проекта, и их часто бывает много. Управление этим изменением становится первостепенным для обеспечения создания правильного программного обеспечения для заинтересованных сторон.

Инструментальная поддержка для разработки требований

Инструменты для выявления, анализа и проверки требований

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

Есть по крайней мере один автор, который открыто защищает инструменты отображения разума Такие как Свободный ум; и, в качестве альтернативы, для использования спецификация на примере инструменты, такие как Concordion.[5]Кроме того, идеи и утверждения, вытекающие из этих действий, могут быть собраны и организованы с помощью вики и другие инструменты для совместной работы Такие как Trello Фактически реализованные функции и соответствие стандартам варьируются от продукта к продукту.

Инструменты для спецификации требований

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

Некоторые из этих инструментов могут импортировать, редактировать, экспортировать и публиковать документы SRS. Они могут помочь или не помочь пользователю следовать стандартам, таким как IEEE 2918-2011, для составления требований в соответствии с некоторой структурой. Аналогичным образом, инструмент может использовать или не использовать какой-либо стандарт для импорта или экспорта требований (например, ReqIF ); или вообще не разрешать эти обмены.

Инструменты для проверки документов с требованиями

Инструменты такого типа проверяют, есть ли какие-либо ошибки в документе требований в соответствии с ожидаемой структурой или стандартом.

Инструменты для сравнения требований

Инструменты такого типа сравнивают два набора требований в соответствии с некоторой ожидаемой структурой документа и стандартом.

Инструменты для слияния и обновления требований

Инструменты такого типа позволяют объединять и обновлять документы требований.

Инструменты для отслеживания требований

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

Инструменты для модельно-ориентированного программного обеспечения или проектирования системных требований

Системная инженерия на основе моделей (MBSE) - это формализованное приложение моделирования для поддержки системных требований, проектирования, анализа, измерения и т.д.[6] действия по верификации и валидации, начинающиеся на этапе концептуального проектирования и продолжающиеся на протяжении всей разработки и последующих этапов жизненного цикла. Также можно использовать модельный подход для некоторых этапов разработки требований и, более традиционный, для других. Возможно очень много комбинаций.

Уровень формальности и сложности зависит от используемой базовой методологии (например, я* намного формальнее, чем SysML и даже более формально, чем UML )

Инструменты для разработки общих требований

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

Существуют даже более эффективные или общие инструменты, которые поддерживают другие этапы и действия. Они классифицируются как ALM инструменты.

Смотрите также

Рекомендации

  1. ^ Компьютерное общество IEEE (1990). «Стандартный глоссарий терминологии программной инженерии IEEE». Стандарт IEEE.
  2. ^ «Руководство по своду знаний в области программной инженерии». IEEE Computer Society. Получено 11 января 2013.
  3. ^ Дэвис, Алан Марк. (2005). Достаточно управления требованиями: где разработка программного обеспечения встречается с маркетингом. Нью-Йорк: паб Дорсет Хаус. ISBN  0-932633-64-1. OCLC  57211148.
  4. ^ https://www.liquidplanner.com/blog/7-tools-to-gather-better-software-requirements/
  5. ^ Лапланте, Филипп А. (2009). «Разработка требований к программному обеспечению и системам». CRC Press. Отсутствует или пусто | url = (помощь)
  6. ^ Monperrus, M .; Baudry, B .; Champeau, J .; Hoeltzener, B .; Жезекель, Дж. М. (2011). «Автоматизированное измерение моделей требований». Журнал качества программного обеспечения. 21 (1): 3–22. Дои:10.1007 / s11219-011-9163-6.

дальнейшее чтение