ДЕНЬ 1.
- 1) Вступительное слово, знакомство с ведущими
-
2) Разработка информационных систем и программного обеспечения: методологии / процессы
- Управленческие методологии
- Технологические методологии
- 3) Требования. Разработка требований
- 3.1. Требования: определения, классификация, примеры
- 3.2. Роль аналитика требований
-
3.3. Разработка требований
• Выявление требований
• Определение бизнес-требований
• Спецификация требований
• Интерпретация требований
• Уровни требований
• Приоретизация требований
- 3.4) Моделирование требований. Нотация функциональных и нефункициональных требований, границ системы и действующих лиц (диаграмма использования).
- 3.5. Варианты использования (use cases)
-
3.6. Шаблоны (паттерны) вариантов использования
Мастер-класс: Разработка требований в проектах различного типа
-
3.7. Проверка требований
• Утверждение требований
• Экспертиза и просмотр требований
• Тестирование требований - 3.8. Тест, проверка, обсуждение
- Мастер-класс. Описание требований (конкретной) программной системы
- Мастер-класс. Описание требований (конкретной) программной системы на UML
- Практика: Выявление и фиксация требований. Обсуждение первых шагов с помощью тренера + самостоятельная работа
ДЕНЬ 2
-
4) Роли. Ответственности. Артефакты
- Термины и важность их унификации.
- Артефакт, как главный критерий и результат целенаправленной деятельности роли.
- Построение матрицы ролей, ответственностей, компетенций
- Кто такие аналитики и архитекторы?
- Кто вы, слушатели? Представление слушателей. Установление понимания задач/проблем, которые стоят перед слушателями и ролей, которые они играют в своих проектах.
- Роль заказчика и вопросы максимально эффективного взаимодействия с заказчиком в плане выработки требований и обеспечения максимально эффективного соответствия продукта ожиданиям заказчика
- Вопросы сложности и проблемы взаимодействия заказчик-аналитик/архитектор-разработчик
- 5) UML как мощный, эффективный инструмент аналитика/архитектора и одна из основ технологической методологии, а не просто набор графических элементов для рисования блок-схем
- 6) Введение в разработку, основанную на вопросах – QDD (question driven development)
- 7) Построение модели предметной области (метамодели) как основа для логического и последовательного подхода к разработке информационных систем и ПО
-
8) Технологическая методология: UML + QDA + предметные области
• Представление методологии
• Демонстрация потенциала методологии
• Практическая применимость
• Альтернативы - 9) Моделирование предметной области
-
9.1. Нотация и примеры (диаграмма классов, объектов, автомата).
• Определение состава и объема сведений для построения адекватной, полной и непротиворечивой модели.
• Построение и описание моделей процессов, данных, объектов предметной области.
• Работа с различными видами исходных данных о предметной области. -
9.2. Вовлечение заказчика в построение предметной области. QDD на практике.
• Уяснение терминологии, понятийного аппарата, базовых идей, методов и процессов предметной области заказчика - 9.3. Оценка качества построенной модели
- 9.4. Тест, проверка, обсуждение
- Мастер-класс «Моделирование (конкретной) предметной области. Демонстрация техники»
- 10) Выбор задания на практическую работу
- Практика: Построение модели предметной области. Обсуждение первых шагов с помощью тренера + самостоятельная работа
ДЕНЬ 3.
- 11) Проектирование/моделирование архитектуры системы
- 11.1. Архитектура = высокоуровневая структура + поведение
-
11.2. Архитектура. Структурная составляющая
11.2.1. Моделирование структурных элементов системы
• Диаграммы классов. Техника идентификации классов при построении модели системы.
• Диаграммы компонентов.
• Диаграммы размещения. Особенности построения моделей распределенных приложений/систем.
11.2.2. Архитектурные шаблоны проектирования (только структура). Примеры.
11.2.3. Тест, проверка, обсуждение -
Мастер-класс. Построение архитектуры (конкретной) программной/ информационной системы, определяемой требованиями (только структура)
Мастер-класс. Построение архитектуры (конкретной) программной/информационной системы, минимально зависимой от требований (только структура). - Практика: Построение/моделирование структуры информационной системы/программного обеспечения. Обсуждение первых шагов с помощью тренера + самостоятельная работа
ДЕНЬ 4.
-
11.3. Описание/проектирование/моделирование поведения системы
11.3.1. Различные подходы в описании/проектировании/моделировании поведения систем. Модели поведения.
11.3.2. Нотация элементов, описывающих поведение системы
• Описание/проектирование/моделирование поведения системы как последовательности обмена сообщениями между элементами (диаграммы последовательности)
• Описание/проектирование/моделирование поведения системы как последовательности действий (диаграммы деятельности)
• Описание/проектирование/моделирование поведения системы как последовательности смены состояний (диаграммы автомата)
11.3.3. Архитектурные шаблоны проектирования (структура + поведение).
11.3.4. Диаграммы автомата при проектировании интерфейсов (web-сайтов)
11.3.5. Тест, проверка, обсуждение - Мастер-класс. Построение архитектуры (конкретной) программной системы, определяемой требованиями (структура + поведение)
- Мастер-класс. Построение архитектуры (конкретной) программной системы, минимально зависимой от требований (структура + поведение)
- Практика: Полное построение архитектуры: структура + поведение. Обсуждение первых шагов с помощью тренера + самостоятельная работа
- 12. Представление работ слушателей с обсуждениями
-
13. Новый взгляд на разработку информационных/программных систем на основе приобретенных на тренинге навыков
• Нахождение общего языка с заказчиком и искусство понимания его желаний с трансляцией их в требования.
• Создание полных и непротиворечивых технических заданий
• Контроль за выполнением работ.
o Эффективный контроль за выполнением работ – проверка по модели
o Аутсорсинг – избавляемся от проблем за контролем работ.
o Как избежать раскрытия полной информации о проекте перед разработчиком (например, в случае стартапов, чтобы избежать разглашения коммерческой тайны, ноу-хау и проч.), но чтобы проект был сделан.
• Разработка и использование моделей как залог успешной работы системного аналитика и архитектора.
• Повышение эффективности процесса разработки
• Повышение качества разрабатываемых систем
• Модернизация информационных/программных систем с минимальными затратами: пути, опыт, решения.
• Разработка приложений в сложных предметных областях - 14. Описание и создание спецификаций существующих систем, инженерный анализ программ – reverse engineering.
- 15. Выводы. Рекомендации. Советы по внедрению приобретенных навыков.
- 16. Подведение итогов и выдача сертификатов
Contacts