Loading AI tools
Из Википедии, свободной энциклопедии
Требования к программному обеспечению — совокупность запросов/утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе проработки (анализа и синтеза) задания на разработку/модернизацию программного обеспечения (ПО).
Требования могут выражаться в виде текстовых утверждений и графических моделей.
В классическом техническом подходе совокупность требований используется на стадии проектирования ПО. Требования также используются в процессе проверки ПО, так как тесты основываются на требованиях.
Этапу разработки требований может предшествовать технико-экономическое обоснование или концептуальная фаза анализа проекта. Фаза разработки требований может быть разбита на выявление требований (сбор, понимание, рассмотрение и выяснение потребностей заинтересованных лиц), анализ (проверка целостности и законченности), спецификация (документирование требований – синтез текстовых и графических моделей) и проверка правильности.
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
Характеристики качества требований по-разному определены различными источниками. Однако, следующие характеристики являются общепризнанными[источник не указан 2136 дней]:
Характеристика | Объяснение |
---|---|
Единичность | Требование описывает одну и только одну вещь. |
Завершённость | Требование полностью определено в одном месте и вся необходимая информация присутствует. |
Последовательность | Требование не противоречит другим требованиям и полностью соответствует внешней документации. |
Атомарность | Требование «атомарно». То есть оно не может быть разбито на ряд более детальных требований без потери завершённости. |
Отслеживаемость | Требование полностью или частично соответствует деловым нуждам, как заявлено заинтересованными лицами, и документировано. |
Актуальность | Требование не стало устаревшим с течением времени. |
Выполнимость | Требование может быть реализовано в пределах проекта. |
Недвусмысленность | Требование кратко определено без обращения к техническому жаргону, акронимам и другим скрытым формулировкам. Оно выражает объективные факты, не субъективные мнения. Возможна одна и только одна интерпретация. Определение не содержит нечётких фраз. Использование отрицательных утверждений и составных утверждений запрещено. |
Обязательность | Требование представляет определённую заинтересованным лицом характеристику, отсутствие которой приведёт к неполноценности решения, которая не может быть проигнорирована. Необязательное требование — противоречие самому понятию требования. |
Проверяемость | Реализуемость требования может быть определена через один из четырёх возможных методов: осмотр, демонстрация, тест или анализ. |
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
Все требования должны поддаваться проверке. Наиболее общепринятая методика проверки — тесты. Если проверка тестами невозможна, тогда должен использоваться другой метод проверки (анализ, демонстрация, осмотр или обзор дизайна).
Определённые требования, по своей сути, не поддаются проверке. Они включают требования, которые говорят, что система никогда не должна или всегда должна показывать специфическое свойство. Надлежащее тестирование этих требований потребовало бы бесконечного цикла тестирования. Такие требования должны быть переопределены так, чтобы они стали поддающимися проверке. Как указано выше, все требования должны поддаваться проверке.
Нефункциональные требования, которые не поддаются проверке на программном уровне, все равно должны быть сохранены как документация намерений клиента. Такие требования к продукту могут быть преобразованы в требования к процессу. Например, нефункциональное требование, чтобы ПО не содержало «потайных ходов», может быть удовлетворено заменой на требование использовать парное программирование. Сложные требования безопасности авиационного программного обеспечения могут быть удовлетворены следованием процессу разработки DO-178B (англ.).
При разработке требований часто возникают проблемы двусмысленности, неполноты и несогласованности отдельных требований. Устранение этих проблем на этапе разработки требований сто́ит на несколько порядков меньше, чем устранение этих же проблем на поздних стадиях разработки. Для решения и устранения этих проблем существует процесс разработки требований.
При разработке требований существует технический компромисс между слишком неопределёнными требованиями и требованиями столь детализированными, что они:
В разделе не хватает ссылок на источники (см. рекомендации по поиску). |
Требования обычно используются как средство коммуникации между различными заинтересованными лицами. Это означает, что требования должны быть просты и понятны для обычных пользователей и разработчиков.
Спецификацию программного обеспечения часто называют техническим заданием.
За создание спецификации программного обеспечения чаще всего в российской практике отвечает системный аналитик, иногда — бизнес-аналитик.
Для графических моделей требований исторически использовались диаграммы или методологии графического моделирования: ER(IDEF1FX), IDEF0, IDEF3, DFD, UML, OCL, SysML, ARIS (eEPC, VAD).
В общем случае требования изменяются со временем. После того, как требования определены и одобрены, изменения должны попадать под контроль внесения изменений. Для многих проектов требования изменяются до завершения создания системы. Это происходит частично из-за сложности программного обеспечения и того факта, что пользователи не знают, что им нужно на самом деле. Эта особенность требований привела к появлению процесса управления требованиями.
Для улучшения этой статьи желательно:
|
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.