Анализ требований

Разработка программного обеспечения
Ключевые процессы
Парадигмы и модели
Методологии
Инструменты

Анализ требований — часть процесса разработки программного обеспечения, включающая в себя сбор требований к программному обеспечению (ПО), их систематизацию, выявление взаимосвязей, а также документирование. Является частью общеинженерной дисциплины «инженерия требований» (англ. Requirements Engineering).

В процессе сбора требований важно принимать во внимание возможные противоречия требований различных заинтересованных лиц, таких как заказчики, разработчики или пользователи.

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

Анализ требований включает три типа деятельности:

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

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

Фазы

Процесс анализа требований к информационной системе включает следующие фазы:[1][нет в источнике]

  • Разработка требований
    • Выявление требований
    • Анализ требований
    • Спецификация требований
    • Проверка требований
  • Управление требованиями

Выявление и анализ требований

Идентификация стейкхолдеров

Стейкхолдер — физическое лицо или организация, имеющая права, долю, требования или интересы относительно системы или её свойств, удовлетворяющих их потребностям и ожиданиям (ISO/IEC 15288:2008, ISO/IEC 29148:2011).

Опрос стейкхолдеров

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

Сеансы совместного развития требований (СРТ)

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

Спецификация требований

Списки требований

Традиционный способ документировать требования — это создание списков требований. В сложной системе такие списки требований могут занимать сотни страниц.

Преимущества

  • Обеспечивает контрольный список требований.
  • Обеспечивает договор между заказчиками и разработчиками.
  • Для большой системы может обеспечить описание высокого уровня.

Недостатки

  • Такие списки могут занимать сотни страниц. Фактически невозможно прочитать такие документы в целом и получить чёткое понимание системы.
  • Такие списки требований перечисляют отдельные требования абстрактно, оторванно друг от друга и от контекста использования
    • Эта абстракция лишает возможности видеть, как требования связываются между собой или работают вместе.
    • Эта абстракция мешает верно расположить требования по приоритетам; в то время как список действительно облегчает приоритизацию отдельных пунктов, удаление одного пункта из контекста может сделать весь сценарий использования или деловое требование бесполезным.
    • Эта абстракция увеличивает вероятность неверного трактования требований, поскольку чем большее число людей будет их читать, тем большее будет число (различных) интерпретаций системы.
    • Эта абстракция означает, что чрезвычайно трудно убедиться, что у вас есть все необходимые требования.
  • Эти списки создают ложное чувство взаимопонимания между заинтересованными лицами и разработчиками.
  • Эти списки дают заинтересованным лицам ложное чувство защищённости, что разработчики должны достигнуть определённых вещей. Однако, из-за природы этих списков, они неизбежно упускают важные требования, которые будут выявлены позже в процессе. Разработчики могут использовать новые требования для пересмотра сроков и условий в свою пользу.

Альтернативы спискам требований

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

Измеримые цели

Лучшие методы рассматривают составленный список требований просто как подсказки и постоянно спрашивают «почему?», пока не будут выявлены истинные деловые цели. После этого заинтересованные лица и разработчики могут разработать тесты, измеряющие, какой уровень каждой цели был достигнут. Такие цели изменяются медленнее, чем длинный список определённых, но неизмеримых требований. Как только маленький набор критических, измеримых целей установлен, быстрое прототипирование и короткие этапы разработки могут дать заинтересованным лицам реальную ценность ещё до окончания проекта.

Прототипы (опытные образцы)

В середине 1980-х прототипирование (англ. prototyping) рассматривалось как решение проблемы анализа требований. Прототипы — макеты системы. Макеты дают возможность пользователям представить систему, которая ещё не построена. Опытные образцы помогают пользователям представить, на что будет похожа система, и облегчают пользователям принятие проектных решений, не дожидаясь окончания постройки системы. Наибольшие улучшения во взаимопонимании между пользователями и разработчиками часто замечались с введением опытных образцов. Ранние обзоры системы приводят к меньшему количеству изменений на поздних стадиях разработки и, следовательно, значительно уменьшают затраты.

Однако за следующее десятилетие прототипирование хоть и было признано эффективной техникой, но не решило проблему анализа требований:

  • Менеджерам, как только они видят опытный образец, сложно понять, что окончательный проект не будет разработан ещё некоторое время.
  • Проектировщики часто чувствуют себя вынужденными использовать опытный образец в реальной системе, потому что они боятся «напрасно тратить время», начиная всё сначала.
  • Опытные образцы преимущественно помогают с проектными решениями и дизайном пользовательского интерфейса. Однако они не могут сказать вам, какими были первоначальные требования.
  • Проектировщики и конечные пользователи могут слишком сильно сосредоточиться на дизайне пользовательского интерфейса и слишком мало на производстве системы, которая служит бизнес-процессу.
  • Прототипы отлично подходят для пользовательских интерфейсов, но мало полезны для сложной обработки данных или асинхронных процессов, которые могут вовлечь сложные обновления базы данных и/или вычисления.

Опытные образцы могут быть плоскими диаграммами (часто называемые каркасами) или рабочими программами, использующими синтетические функциональные возможности. Каркасы могут быть представлены графическими документами. В случаях, где законченное программное обеспечение должно иметь графическое оформление, из каркаса удаляют цвет (то есть используют серую палитру цветов). Это помогает предотвратить недоразумения по поводу окончательного вида программы.

Сценарии использования

Вариант использования (англ. Use Case) — техника для документации потенциальных требований для создания новой системы или изменения существующей. Каждый вариант описывает один или несколько способов взаимодействия системы с конечным пользователем или другой системой, для достижения определённой цели. Варианты использования обычно избегают технического жаргона, предпочитая вместо этого язык конечного пользователя или эксперта в данной области. Они часто создаются совместно специалистами по сбору требований и заинтересованными лицами.

Варианты использования — наиболее важный инструмент для моделирования требований с целью спецификации функциональных возможностей разрабатываемого программного обеспечения или системы в целом. Они могут содержать дополнительное текстовое описание всех способов, которыми пользователи могут работать с программным обеспечением или системой. Такое текстовое описание называется сценарием. Как правило, варианты использования отвечают на вопрос «Что должна выполнить система для конкретного актора (англ. Actor)?», не отвечая на вопрос «Каким образом система должна это реализовать?» Текст сценария в этом случае дополняет графическое представление вариантов использования в форме описания последовательности шагов или действий, следуя которым пользователь может достичь желаемой цели при взаимодействии с системой. Полнота функциональных требований к разрабатываемой системе достигается спецификацией всех вариантов использования с соответствующими сценариями, отражающими все пожелания и потребности пользователей к разрабатываемой системе.

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

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

Рекомендуемые подходы для спецификации требований программного обеспечения описаны стандартом IEEE 830—1998. Этот стандарт описывает возможные структуры, желательное содержание, и качества спецификации требований программного обеспечения.

Типы требований

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

Требования клиентов

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

  • Требования эксплуатации или развёртывания: Где система будет использоваться?
  • Профиль миссии или сценарий: Как система достигнет целей миссии?
  • Требования производительности: Какие параметры системы являются критическими для достижения миссии?
  • Сценарии использования: Как различные компоненты системы должны использоваться?
  • Требования эффективности: Насколько эффективной должна быть система для выполнения миссии?
  • Эксплуатационный жизненный цикл: Как долго система будет использоваться?
  • Окружающая среда: Каким окружением система должна будет эффективно управлять?

Функциональные требования

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

Нефункциональные требования

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

Производные требования

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

Известные модели классификации требований включают FURPS и FURPS+, разработанные в Hewlett-Packard.

Проблемы анализа требований

Проблемы стейкхолдеров

Стив Макконнелл, в его книге «Быстрая разработка»[2], подробно описывает, как пользователи могут препятствовать сбору требований:

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

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

Проблемы инженеров / разработчиков

Возможные проблемы, вызванные инженерами и разработчиками во время анализа требований:

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

Решения проблем

Одно из решений проблемы общения состояло в том, чтобы нанять специалистов в деловом или системном анализе.

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

См. также

Примечания

  1. Карл И. Вигерс. Разработка требований к программному обеспечению. — Русская редакция, 2004. — ISBN 5-7502-0240-2.
  2. Steve McConnell. Rapid Development

Литература

  • Кобёрн А. Современные методы описания функциональных требований к системам. — М.: Лори, 2002. — ISBN 0-201-70225-8, ISBN 5-85582-152-8.
  • Леффингуелл Д., Уидриг Д. Принципы работы с требованиями к программному обеспечению. — М.: Вильямс, 2002. — ISBN 5-8459-0275-4.
  • Alan Mark Davis. Just Enough Requirements Management: Where Software Development Meets Marketing. — Dorset House, 2005. — ISBN 978-0932633644.

Ссылки

Read other articles:

Ini adalah nama Korea; marganya adalah Chun. Cheon Duhwan천두환全斗煥Chun Doo-hwan, 1983 Presiden Korea Selatan ke-5Masa jabatan1 September 1980 – 24 Februari 1988Perdana MenteriYoo Chang-soonKim Sang-hyupChin Iee-chongLho Shin-yongLee Han-keyKim Chung-yul PendahuluChoi Kyu-hahPak Choong-hoon (penjabat)PenggantiRoh Tae-wooPresiden Partai Keadilan DemokratMasa jabatan15 Januari 1981 – 10 Juli 1987 PendahuluPosisi baruPenggantiRoh Tae-woo Informasi pribadiLahir(1931-...

 

HaurkolotDesaNegara IndonesiaProvinsiJawa BaratKabupatenIndramayuKecamatanHaurgeulisKode pos45266Kode Kemendagri32.12.01.2007 Luas2,79 km²Jumlah penduduk5939 jiwa[1]Kepadatan2129 jiwa/km² Haurkolot adalah desa di kecamatan Haurgeulis, Indramayu, Jawa Barat, Indonesia. Desa ini berada paling selatan wilayah Haurgeulis dan berbatasan langsung dengan Kecamatan Gantar. Letak geografis Kantor Kuwu Desa Haurkolot, Haurgeulis Batas-batas Desa Haurkolot adalah sebagai berikut: Sebelah ...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: The Untouchable novel – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this template message) For other books, see Untouchable (disambiguation) § Books.1997 novel by John Banville First edition cover The Unt...

Girls' Generation 1979Poster promosiJudul asli란제리 소녀시대 GenreComing-of-ageRemajaMisteri[1]BerdasarkanLingerie Girls' Generation (란제리 소녀시대)oleh Kim Yong-heePengembangKBS Drama ProductionDitulis olehYoon Kyung-ahSutradaraHong Seok-guPemeranBonaChae Seo-jinSeo Young-jooLee Jong-hyunYeo Hoe-hyunDoheeNegara asalKorea SelatanBahasa asliKoreaJmlh. episode8ProduksiProduser eksekutifAhn Suk-joonLee Sung-jinMin Hyun-ilMoon Joon-ha[2]ProduserNoh Sang-hoon&...

 

RosarioKota RosarioSearah jarum jam dari atas: National Flag Memorial's tower and propylaeum, foto udara kota Rosario, Jembatan Rosario-Victoria dan Palacio de los Leones. BenderaLambangJulukan: Birthplace of the Argentine Flag, The Argentine Chicago[1][2]Negara ArgentinaProvinsi Santa FeDepartemenRosarioFounded7 Oktober 1793Pemerintahan • Jenis6 municipal areas • IntendantMónica Fein[3] (SPA)Luas • Kota178,69 km2 (6,...

 

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Voivodeship road 114 – news · newspapers · books · scholar · JSTOR (December 2014) (Learn how and when to remove this template message) You can help expand this article with text translated from the corresponding article in Polish. Click [show] for important translation instruct...

Cet article est une ébauche concernant l’écriture. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Fatḥatan ـًـ Utilisation Phonèmes principaux an modifier  Le fatḥatan placé sur un cercle pointillé Le fatḥatan (فتحتان en arabe) est un signe diacritique de l’écriture arabe indiquant la nunation de la vocalisation brève [a] de la lettre qu’il modifie. Il est composé de deux trait...

 

American Indoor Football team Chesapeake TideEstablished 2006Folded 2008Played in Upper Marlboro, Marylandat The Show Place Arena League/conference affiliationsContinental Indoor Football League (2007–2008) Atlantic Division (2007) Atlantic Conference (2008) Eastern Division (2008) Current uniformTeam colorsNavy, White    MascotCaptain Rip TideCheerleadersTidal Wave Dance TeamPersonnelOwner(s)Martin Johnson (2006–2008)Messay Hailermariam (2008)Head coachMatthew SteepleTeam histo...

 

◄ Dezembro ► Dom Seg Ter Qua Qui Sex Sáb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 Ano: 2024 Década: 2020 Século: XXI Milênio: 3.º 26 de dezembro é o 360.º dia do ano no calendário gregoriano (361.º em anos bissextos). Faltam 5 dias para acabar o ano. Eventos históricos 1972: Operação Linebacker II 2004: Sismo e tsunami do Oceano Índico 0887 — Berengário I é eleito rei da Itália pelos senhores da Lombardia. É coroado co...

Village in West Yorkshire, England For other people named Stanbury, see Stanbury (surname). Human settlement in EnglandStanburyEntry to Main Street, StanburyStanburyLocation within West YorkshireOS grid referenceSE010370• London180 mi (290 km) SSECivil parishHaworth and StanburyMetropolitan boroughCity of BradfordMetropolitan countyWest YorkshireRegionYorkshire and the HumberCountryEnglandSovereign stateUnited KingdomPost townKEIGHLEYPostcode...

 

Branch of entomology that studies moths and butterflies A Lepidoptera specimen drawer in a museum collection in Poland Another Lepidoptera specimen drawer in a museum collection in Poland Lepidopterology (from Ancient Greek λεπίδος (lepídos) 'scale', πτερόν (pterón) 'wing', and -λογία (-logia)[1]) is a branch of entomology concerning the scientific study of moths and the two superfamilies of butterflies. Someone who studies in this ...

 

For assistance with IPA transcriptions of Standard Chinese for Wikipedia articles, see Help:IPA/Mandarin. This article should specify the language of its non-English content, using {{lang}}, {{transliteration}} for transliterated languages, and {{IPA}} for phonetic transcriptions, with an appropriate ISO 639 code. Wikipedia's multilingual support templates may also be used. See why. (October 2023) This article contains phonetic tran...

ZooTitolo originaleZoo PaeseStati Uniti d'America Anno2015-2017 Formatoserie TV Generedrammatico, thriller, fantascienza Stagioni3 Episodi39 Durata40 min (episodio) Lingua originaleinglese Rapporto16:9 CreditiIdeatoreJosh Appelbaum, André Nemec, Jeff Pinkner, Scott Rosenberg SoggettoJames Patterson, Michael Ledwidge (romanzo) Interpreti e personaggi James Wolk: Jackson Oz Kristen Connolly: Jamie Campbell Nonso Anozie: Abraham Kenyatta Nora Arnezeder: Chloe Tousignant Billy Burke: Mit...

 

German vegan cookbook author and conspiracy theorist (born 1981) You can help expand this article with text translated from the corresponding article in German. (January 2022) Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machine-translated text into the Englis...

 

Overview of transportation modes and routes in Seattle, Washington, U.S. The now-demolished Alaskan Way Viaduct in downtown Seattle King County Water Taxi and downtown Seattle Transportation in Seattle is largely focused on the automobile like many other cities in western North America; however, the city is just old enough for its layout to reflect the age when railways and trolleys predominated.[not verified in body] These older modes of transportation were made for a relatively well...

La Noë-PoulaincomuneLa Noë-Poulain – Veduta LocalizzazioneStato Francia Regione Normandia Dipartimento Eure ArrondissementBernay CantoneBeuzeville TerritorioCoordinate49°16′N 0°31′E49°16′N, 0°31′E (La Noë-Poulain) Superficie4,68 km² Abitanti202[1] (2009) Densità43,16 ab./km² Altre informazioniCod. postale27560 Fuso orarioUTC+1 Codice INSEE27435 CartografiaLa Noë-Poulain Modifica dati su Wikidata · Manuale La Noë-Poulain è un comune fran...

 

See also: 1949 Major League Baseball season, 1949 All-American Girls Professional Baseball League season, and 1949 Nippon Professional Baseball season The following are the baseball events of the year 1949 throughout the world. Overview of the events of 1949 in baseball Years in baseball ← 1946 1947 1948 1949 1950 1951 1952 → 1949 in sports Air sports American football Aquatic sports Association football Athletics Australian rules football Badminton Baseball Basketball Canadian football C...

 

American soccer player (born 1998) Sam Coffey Coffey with the Portland Thorns in 2024Personal informationFull name Samantha Grace Coffey[1]Date of birth (1998-12-31) December 31, 1998 (age 25)[2]Place of birth New York City, New York, U.S.[1]Height 5 ft 6 in (1.68 m)Position(s) MidfielderTeam informationCurrent team Portland ThornsNumber 17Youth career Match-Fit Academy New York Soccer Club2013–2017 Masters School PanthersCollege careerYears Team ...

Republikens plats Republikens plats med Armeniens historiska museum och Armeniens nationalmuseum till vänster, regeringsbyggnaden till höger. I bakgrunden Jerevans TV-torn.Annat namnՀանրապետության հրապարակ, Hanrapetut′yan hraparakAnlagtByggstart 1926[1][2]Klart 1977Tidigare namnLeninplatsen (1940–1990)LägePlatsKentrondistriktet, Jerevan, ArmenienTunnelbanestation Republikens platsYta14.000 m² Republikens plats (armeniska: Հանրապետության հրապար...

 

Aerial view of The Bronx This article features a list of neighborhoods in the Bronx, one of the five boroughs of New York City. When using this article, note that names of many (but not all) neighborhoods in the Bronx are popular based on their historical pedigree and the livability factor. However, this is not true for all neighborhoods in the Bronx; while someone living at East 213th Street & White Plains Road might prefer to describe their location simply as Gun Hill Road (a nearby th...