Длительность: 16 ч.
Описание
Без преувеличения можно сказать, что работа с требованиями является наиболее ответственным и наименее определенным этапом в разработке программного обеспечения (ПО). Наиболее ответственным – потому что успех всего проекта зависит от того, насколько полно и корректно выявлены истинные потребности заказчика. Наименее определенным – потому что узнать эти потребности можно только от сотрудников заказчика, которые не всегда хорошо понимают тонкости разработки ПО.Но для успеха проекта недостаточно просто узнать потребности заказчика. Их необходимо превратить в хорошо структурированный перечень четких и однозначных требований, достаточный для проектирования архитектуры системы, для разработки и тестирования программных модулей. При этом нужно помнить, что часто именно эти требования и составляют все, что команда разработки знает о предметной области заказчика.
Курс посвящен изучению всех перечисленных вопросов и отработке на практике основных способов описания требований: в виде структурированного текста, в виде сценариев использования и в виде Use Case диаграмм (диаграмм вариантов использования). Кроме того, слушатели узнают об использовании атрибутов требований и связей между требованиями (трассирование) для оценки трудоемкости проекта.
В ходе курса слушатели получат представление о важности различных аспектов роли аналитика – не только технических, но также психологических и коммуникативных. Большое внимание в курсе уделяется правилам выявления заинтересованных лиц, организации конструктивного взаимодействия с ними и способам определения их потребностей.
В основe курса лежит подход к работе с требованиями, предлагаемый RUP (Rational Unified Process). Но и сторонники Agile найдут в нем немало полезного – ведь основные подходы к изучению предметной области, методики выявления потребностей заинтересованных лиц, способы анализа проблем заказчика и поиска их решений в большинстве случаев являются общими для различных методологий разработки ПО. Таким образом, курс будет полезен для всех, кто связан со сбором, анализом, документированием и тестированием требований к программному обеспечению.
В частности, в ходе курса обсуждаются вопросы, относящиеся к некоторым техникам ВАВОК ®:
- Словарь данных и Глоссарий;
- Анализ причин проблем;
- Анализ решений;
- Оценка трудоемкости;
- Анализ нефункциональных требований;
- Пользовательские истории (user stories);
- Сценарии и варианты использования.
Также частично затрагиваются темы, соответствующие некоторым другим техникам ВАВОК ®: «Мозговой штурм», «Анализ документов», «Анализ интерфейсов», «Интервью», «Семинары по обсуждению требований», «Фокус-группы», «Опрос/Анкетирование» и другим.
Инструментальные средства для управления требованиями (IBM Rational RequisitePro, Borland CaliberRM, Telelogic DOORS, Sybase PowerDesigner и другие) в курсе подробно не рассматриваются и не применяются, но обсуждаются варианты их выбора в ИТ-проектах.
Разбираемые темы
- Определение требований к системе.
- Работа с заинтересованными лицами.
- Анализ проблемы.
- Документирование требований.
- Лучшие практики программной инженерии.
- Иерархия моделей RUP.
- UML: Модель вариантов использования.
- Структурирование модели прецедентов.
- Переход от бизнес-модели к модели прецедентов.
Цели
Слушатели после прохождения курса смогут выявлять, анализировать и документировать требования, управлять ими, а также оценивать и проверять предлагаемое решение.После завершения курса слушатели смогут:
- применять методику управления требованиями для определения концепции продукта и бизнес-требований к нему;
- выявлять и документировать требования в виде текстовых описаний (FURPS+, сценарии использования) и в форме модели вариантов использования (Use-case Model);
- работать с требованиями в итеративном процессе;
- определять иерархию требований;
- использовать атрибуты требований и связи между требованиями для оценки трудоемкости их реализации или изменения.
Целевая аудитория
Курс предназначен для всех, кто сталкивается со сбором, анализом, документированием и тестированием требований к программному обеспечению:- системные и бизнес-аналитики;
- представители заказчика, Product Owners;
- архитекторы и разработчики;
- руководители проектов.
Предварительная подготовка
Для слушателей желательно:- знание английского языка на базовом уровне;
- опыт участия в проектах по разработке программного обеспечения или понимание процесса разработки.