stringtranslate.com

Требования к программному обеспечению

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

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

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

Обратите внимание, что формулировка « Требования к программному обеспечению» дополнительно используется в примечаниях к выпуску программного обеспечения для объяснения того, какие пакеты программного обеспечения требуются для сборки/установки/использования определенного программного обеспечения. [1]

Выявление

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

Анализ

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

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

Спецификация

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

Проверка

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

Управление

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

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

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

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

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

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

Документ спецификации требований к программному обеспечению (SRS) может быть создан с использованием программного обеспечения общего назначения, например текстового процессора или одного из нескольких специализированных инструментов. Некоторые из этих инструментов могут импортировать, редактировать, экспортировать и публиковать документы SRS. Это может помочь создать документы SRS, следуя стандартизированной структуре и методологии, например ISO/IEC/IEEE 29148:2018. Аналогично, программное обеспечение может использовать или не использовать какой-либо стандарт для импорта или экспорта требований (например, ReqIF ) или вообще не разрешать эти обмены.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылки

  1. ^ ab "Linux kernel release 5.x — Документация по ядру Linux". www.kernel.org . Получено 25.03.2021 .
  2. ^ IEEE Computer Society (1990). "IEEE Standard Glossary of Software Engineering Terminology". IEEE Standard . Архивировано из оригинала 2018-06-15 . Получено 2013-01-11 .
  3. ^ "Guide to the Software Engineering Body of Knowledge". IEEE Computer Society. Архивировано из оригинала 7 декабря 2014 года . Получено 11 января 2013 года .
  4. ^ Дэвис, Алан Марк. (2005). Достаточное количество управления требованиями: где разработка программного обеспечения встречается с маркетингом. Нью-Йорк: Dorset House Pub. ISBN 0-932633-64-1. OCLC  57211148.
  5. ^ "7 инструментов для сбора лучших требований к программному обеспечению". 22 июля 2015 г.
  6. ^ Лапланте, Филлип А. (2009). «Разработка требований к программному обеспечению и системам». CRC Press. {{cite web}}: Отсутствует или пусто |url=( помощь )

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