Разработка требований ( RE ) [1] - это процесс определения, документирования и поддержки требований [2] в процессе инженерного проектирования . Это обычная роль в системной инженерии и разработке программного обеспечения .
Впервые термин «разработка требований» был использован, вероятно, в 1964 году в документе конференции «Техническое обслуживание, ремонтопригодность и разработка системных требований» [3], но он не вошел в широкое употребление до конца 1990-х годов с публикацией IEEE Computer Society. учебное пособие [4] в марте 1997 года и создание серии конференций по разработке требований, которая превратилась в Международную конференцию по разработке требований .
В модели водопада , [5] разработка требований представлена в качестве первого этапа процесса разработки. Более поздние методы разработки, включая Rational Unified Process (RUP) для программного обеспечения, предполагают, что разработка требований продолжается на протяжении всего жизненного цикла системы.
Управление требованиями, которое является подфункцией практики системной инженерии, также индексируется в руководствах Международного совета по системной инженерии (INCOSE).
Деятельность
Действия, связанные с разработкой требований, широко варьируются в зависимости от типа разрабатываемой системы и конкретных практик организации. [6] Они могут включать:
- Создание требований или выявление требований - разработчики и заинтересованные стороны встречаются; последних спрашивают об их потребностях и пожеланиях в отношении программного продукта.
- Анализ и согласование требований - Выявляются требования (включая новые, если разработка является итеративной), и разрешаются конфликты с заинтересованными сторонами. Как письменные, так и графические инструменты (последние обычно используются на этапе проектирования, но некоторые находят их полезными и на этом этапе) успешно используются в качестве вспомогательных средств. Примеры письменных инструментов анализа: варианты использования и пользовательские истории . Примеры графических инструментов: UML [7] и LML .
- Системное моделирование. Некоторые инженерные области (или конкретные ситуации) требуют, чтобы продукт был полностью спроектирован и смоделирован до начала его строительства или изготовления. Поэтому этап проектирования нужно выполнять заранее. Например, до утверждения и подписания контракта необходимо разработать чертежи здания. Многие поля могут выводить модели системы с помощью языка моделирования жизненного цикла , тогда как другие могут использовать UML . Примечание. Во многих областях, таких как разработка программного обеспечения, большинство действий по моделированию классифицируются как действия по проектированию, а не как действия по разработке требований.
- Спецификация требований - требования документируются в формальном артефакте, называемом Спецификацией требований (RS), который станет официальным только после проверки. При необходимости РС может содержать как письменную, так и графическую (модели) информацию. Пример: Спецификация требований к программному обеспечению (SRS).
- Валидация требований - проверка того, что задокументированные требования и модели согласованы и соответствуют потребностям заинтересованных сторон. RS становится официальным только в том случае, если окончательный проект проходит процесс проверки.
- Управление требованиями - Управление всеми действиями, связанными с требованиями, с момента создания, надзор по мере разработки системы и даже до ее ввода в эксплуатацию (например, изменения, расширения и т. Д.)
Иногда они представлены в виде хронологических этапов, хотя на практике эти действия значительно чередуются.
Было доказано, что разработка требований способствует успеху программных проектов. [8]
Проблемы
Одно ограниченное исследование, проведенное в Германии, представило возможные проблемы при внедрении инженерии требований и спросило респондентов, согласны ли они с тем, что это действительно проблемы. Результаты не были представлены как обобщаемые, но предполагали, что основными воспринимаемыми проблемами были неполные требования, движущиеся цели и временные рамки, а меньшими проблемами были недостатки связи, отсутствие прослеживаемости, терминологические проблемы и нечеткие обязанности. [9]
Критика
Предполагается, что структурирование проблемы, ключевой аспект разработки требований, снижает эффективность проектирования. [10] Некоторые исследования показывают, что это возможно, если есть недостатки в процессе разработки требований, приводящие к ситуации, когда требования не существуют, требования к программному обеспечению могут быть созданы независимо от того, что является иллюзией, искажающей проектные решения как требования [11]
Смотрите также
- Список инструментов разработки требований
- Анализ требований, разработка требований, ориентированная на разработку программного обеспечения.
- Группа специалистов по разработке требований (RESG)
- Международный совет по разработке требований (IREB)
- Международный совет по системной инженерии (INCOSE)
- IEEE 12207 «Системная и программная инженерия - Процессы жизненного цикла программного обеспечения»
- TOGAF (Глава 17)
- Концепция операций (ConOps)
- Управление операциями
- Требования к программному обеспечению
- Спецификация требований к программному обеспечению
- Свод знаний по программной инженерии (SWEBOK)
- Спецификация проекта
- Спецификация (технический стандарт)
- Формальная спецификация
- Качество программного обеспечения
- Управление качеством
- Управление сферой деятельности
Рекомендации
- ^ Nuseibeh, B .; Истербрук, С. (2000). Разработка требований: дорожная карта (PDF) . ICSE '00. Материалы конференции о будущем программной инженерии . С. 35–46. CiteSeerX 10.1.1.131.3116 . DOI : 10.1145 / 336512.336523 . ISBN 1-58113-253-0.
- ^
- Котоня, Джеральд; Соммервилль, Ян (сентябрь 1998 г.). Разработка требований: процессы и методы . Джон Вили и сыновья . ISBN 978-0-471-97208-2.
- Chemuturi, M. (2013). Разработка требований и управление проектами разработки программного обеспечения . DOI : 10.1007 / 978-1-4614-5377-2 . ISBN 978-1-4614-5376-5. S2CID 19818654 .
- ^ Дреснер, К. Х. Борхерс (1964). Техническое обслуживание, ремонтопригодность и разработка системных требований . Всемирный конгресс и выставка SAE 1964. Технический документ SAE 640591 . DOI : 10.4271 / 640591 .
- ^ Тайер, Ричард Х .; Дорфман, Мерлин, ред. (Март 1997 г.). Разработка требований к программному обеспечению (2-е изд.). Издательство IEEE Computer Society Press . ISBN 978-0-8186-7738-0.
- ^ Ройс, WW (1970). Управление разработкой больших программных систем: концепции и методы (PDF) . ICSE '87. Материалы 9-й международной конференции по программной инженерии . С. 1–9.
- ^ Соммервилль, Ян (2009). Программная инженерия (9-е изд.). Эддисон-Уэсли . ISBN 978-0-13-703515-1.
- ^ «Раскрытие требований с помощью диаграмм классов UML, часть 1» . tynerblain.com . 7 марта 2008 . Проверено 14 марта 2018 года .
- ^ Хофманн, ВЧ; Ленер, Ф. (2001). «Разработка требований как фактор успеха в программных проектах». Программное обеспечение IEEE . 18 (4): 58–66. DOI : 10.1109 / MS.2001.936219 . ISSN 0740-7459 .
- ^ Мендес Фернандес, Даниэль; Вагнер, Стефан (2015). «Назвать боль в разработке требований: проект для глобального семейства опросов и первые результаты из Германии». Информационные и программные технологии . 57 : 616–643. arXiv : 1611.04976 . DOI : 10.1016 / j.infsof.2014.05.008 . S2CID 1924926 .
- ^ Ральф, Пол; Моханани, Рахул (май 2015 г.). «Является ли разработка требований контрпродуктивной по своей сути?» . IEEE. DOI : 10.13140 / 2.1.3831.6321 . Цитировать журнал требует
|journal=
( помощь ) - ^ Ральф, П. (сентябрь 2013 г.). «Иллюзия требований при разработке программного обеспечения». Разработка требований . 18 (3): 293–296. arXiv : 1304.0116 . Bibcode : 2013arXiv1304.0116R . DOI : 10.1007 / s00766-012-0161-4 . S2CID 11499083 .
Внешние ссылки
- 29148-2011 - Системная и программная инженерия - Процессы жизненного цикла - Разработка требований . Iso / IEC / IEEE 29148: 2011 (E) . 2011. С. 1–94. DOI : 10.1109 / IEEESTD.2011.6146379 . ISBN 978-0-7381-6591-2.(«Этот стандарт заменяет IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998 - http://standards.ieee.org/findstds/standard/29148-2011.html »)
- Свод знаний системной инженерии
- Справочник по инженерному менеджменту требований FAA
- Международный совет по разработке требований (IREB)
- Библиотека ресурсов IBM Rational от IEEE Spectrum