Спецификация требований к программному обеспечению

Описание программной системы, которая будет разработана

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

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

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

SRS может быть одним из описаний элементов данных, поставляемых по контракту [4], или иметь другие формы организационно предписанного содержания.

Обычно SRS пишется техническим писателем , системным архитектором или программистом . [5]

История

Спецификации требований к программному обеспечению использовались в процессах разработки программного обеспечения еще в 1975 году. [6]

Цель и содержание спецификаций требований к программному обеспечению были формализованы в 1983 году IEEE . Стандарт был опубликован в 1984 году как IEEE-830-1984 и одобрен ANSI . [7] Он был пересмотрен в 1993 и 1998 годах, прежде чем был заменен международным стандартом. [8] [9] Этот стандарт был направлен на предоставление критериев для хорошей SRS и рекомендаций по ее содержанию. Он признал преимущества прототипирования для проектирования требований. Он предложил пример структуры и несколько вариантов.

Стандарт ISO /IEC/IEEE 29148 «Системная и программная инженерия — Процессы жизненного цикла — Инженерия требований» заменил IEEE 830 в 2011 году. [9] Текущая редакция датируется 2018 годом. Этот стандарт шире, поскольку он охватывает также критерии качества требований, процессы управления требованиями и спецификацию бизнес-требований (BRS), а также спецификацию требований заинтересованных сторон (StRS). [10] Он предлагает немного измененную примерную структуру.

Структура

Пример организации SRS выглядит следующим образом: [11]

  1. Цель
    1. Определения
    2. Фон
    3. Обзор системы
    4. Ссылки
  2. Общее описание
    1. Перспектива продукта
      1. Системные интерфейсы
      2. Пользовательские интерфейсы
      3. Аппаратные интерфейсы
      4. Интерфейсы программного обеспечения
      5. Интерфейсы связи
      6. Ограничения памяти
    2. Ограничения дизайна
      1. Операции
      2. Требования к адаптации площадки
    3. Функции продукта
    4. Характеристики пользователя
    5. Ограничения, предположения и зависимости
  3. Особые требования
    1. Требования к внешнему интерфейсу
    2. Требования к производительности
    3. Требование к логической базе данных
    4. Атрибуты системы программного обеспечения
      1. Надежность
      2. Доступность
      3. Безопасность
      4. Ремонтопригодность
      5. Портативность
    5. Функциональные требования
      1. Функциональное разбиение
      2. Функциональное описание
      3. Описание управления
    6. Характеристики окружающей среды
      1. Аппаратное обеспечение
      2. Периферийные устройства
      3. Пользователи
    7. Другой

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

Требование к качеству

Требования должны быть строго о том, что необходимо, независимо от конструкции системы, а не о том, как программное обеспечение должно это делать. [10] Индивидуальные требования должны быть, следовательно, необходимыми, уместными и недвусмысленными. Кроме того, набор требований должен быть полным, последовательным, выполнимым и понятным.

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

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

Ссылки

  1. ^ Бурк, П.; Фэрли, Р. Э. (2014). «Руководство по своду знаний по программной инженерии (SWEBOK)». IEEE Computer Society. Архивировано из оригинала 28 декабря 2014 г. Получено 17 июля 2014 г.
  2. ^ "Спецификация требований к программному обеспечению помогает защитить ИТ-проекты от сбоев" . Получено 19 декабря 2016 г.
  3. ^ Прессман, Роджер (2010). Программная инженерия: подход практикующего специалиста . Бостон: McGraw Hill. стр. 123. ISBN 9780073375977.
  4. ^ "DI-IPSC-81433A, ОПИСАНИЕ ЭЛЕМЕНТА ДАННЫХ СПЕЦИФИКАЦИЯ ТРЕБОВАНИЙ К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ (SRS)". everyspec.com. 1999-12-15 . Получено 2013-04-04 .
  5. ^ Донн Ле Ви, младший. «Написание спецификаций требований к программному обеспечению (SRS)». 2010.
  6. ^ Ramamoorthy, CV; Ho, SF (1975-04-01). «Тестирование большого программного обеспечения с помощью автоматизированных систем оценки программного обеспечения». SIGPLAN Not . 10 (6): 382– 394. doi :10.1145/390016.808461. ISSN  0362-1340.
  7. ^ "Ассоциация стандартов IEEE - IEE-830-1984". Ассоциация стандартов IEEE . Получено 2024-12-30 .
  8. ^ "Ассоциация стандартов IEEE - IEEE 839-1993". Ассоциация стандартов IEEE . Получено 2024-12-30 .
  9. ^ ab "Ассоциация стандартов IEEE IEEE 830-1998". Ассоциация стандартов IEEE . Получено 2024-12-30 .
  10. ^ abcd "ISO/IEC/IEEE 29148:2018". ISO . Получено 2024-12-30 .
  11. ^ Стеллман, Эндрю и Грин, Дженнифер (2005). Управление прикладными программными проектами . O'Reilly Media, Inc. стр. 308. ISBN 978-0596009489.
  12. ^ ab Феммер, Хеннинг; Мендес Фернандес, Даниэль; Вагнер, Стефан; Эдер, Себастьян (2017). «Быстрое обеспечение качества с запахами требований». Журнал систем и программного обеспечения . 123 : 190–213 . arXiv : 1611.08847 . doi : 10.1016/j.jss.2016.02.047. S2CID  9602750.
  • Руководство IEEE по спецификациям требований к программному обеспечению . 1984. doi :10.1109/IEEESTD.1984.119205. ISBN 978-0-7381-4418-4.
  • Рекомендуемая практика IEEE для спецификаций требований к программному обеспечению . 1994. doi :10.1109/IEEESTD.1994.121431. ISBN 978-0-7381-4723-9.
  • Рекомендуемая практика IEEE для спецификаций требований к программному обеспечению . 1998. doi :10.1109/IEEESTD.1998.88286. ISBN 978-0-7381-0332-7. S2CID  8674647.
  • Системная и программная инженерия -- Процессы жизненного цикла -- Инженерия требований. Iso/Iec/IEEE 29148:2018(E). 2018. стр.  1–94 . doi :10.1109/IEEESTD.2011.6146379. ISBN 978-0-7381-6591-2.(«Этот стандарт заменяет IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998 - [1]»)
  • Леффингвелл, Дин; Видриг, Дон (2003). Управление требованиями к программному обеспечению: подход к вариантам использования (2-е изд.). Addison-Wesley. ISBN 978-0321122476.
  • Gottesdiener, Ellen (2009). Требования к программному обеспечению Memory Jogger: настольное руководство для помощи бизнес- и техническим группам в разработке и управлении требованиями . Addison-Wesley. ISBN 978-1576811146.
  • Wiegers, Karl; Beatty, Joy (2013). Требования к программному обеспечению, третье издание . Microsoft Press. ISBN 9780735679665.
  • "Шаблон IEEE SRS - rick4470/IEEE-SRS-Tempate". GitHub . Получено 27 декабря 2017 г. .
  • Как составить спецификацию требований к программному обеспечению, чтобы сэкономить средства?

[1]

  1. ^ Таафф, Эд. "Г-н". thebridger . Получено 2019-02-02 .
Получено с "https://en.wikipedia.org/w/index.php?title=Software_requirements_specification&oldid=1268330395"