Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемsp.cmc.msu.ru
1 Среда Промышленной Разработки Программного Обеспечения Евгений Веселов
2 Интегрированность с Окружением Главная Черта Современного ПО – Интегрированность с Окружением: – По функциям (другие пакеты, другие способы применения) – В пространстве (файлы, базы данных, интра- экстра-сети, Web-сервисы, почта, workflow,...) – Во времени (свои версии, версии других пакетов, версии платформы)
3 Главные источники затруднений для разработки По функциям – как предусмотреть многоплановость? В пространстве – случайность поведения среды Во времени – совместимость назад и вперед, установка side-by-side, upgrade, patch, deployment, изменчивость требований
4 Методология Промышленной Разработки Когда-то давно: – Формальные спецификации – Доказательство правильности – Структурирование – Нисходящее проектирование В недавнем прошлом: – Формализация производственного процесса – Управление проектами и ресурсами – Системное моделирование (UML) Сейчас: – Agile Software Development Ecosystem (активная коммуникация, личная мотивация, разделение ответственности, командный дух)
5 Впечатления из Производственного Цеха Конвейер сборки программы Три-баланс организации разработки Многофазный цикл фиксированной продолжительности Кривая людских ресурсов
6 Конвейер Сборки Программы Задача: – Необходимость обеспечить параллельную работу многих разработчиков Проблемы: – Изменения разрушают сделанное ранее – Множественность и подвижность участников разработки -> отсутствие цельного видения у отдельных разработчиков – Изменчивость платформ, средств разработки и смежных программ в процессе разработки
7 Технологические Принципы Поддержание целостности сборки (build) Авто-тестирование сборки (automation) Линейная последовательность внесения изменений
8 Как Это Происходит Основа – система управления версиями (source code control) Подготовка изменения: check-out, кодировка, отладка, проверка, структурный просмотр Постановка изменения в очередь – вход в конвейер Принятие изменения: компиляция, функциональная проверка, проверка производительности, занесение в базу или отвержение, оповещение
9 Структура Конвейера Классический конвейер: Конвейер программной сборки:
10 Конвейер Программной Сборки Построение программы: – 2 (2+) супермашины – debug & retail builds Функциональная проверка: – машин – параллельный прогон функциональных авто-тестов Проверка производительности: – машин – параллельные группы тестов производительности Приемка в главную базу данных
11 Обслуживание Конвейера Клиент on-line монитора: – Текущий статус очереди – Изменение приоритетов, досрочное снятие – Ход исполнения построения и сборки Супервизор очереди: – Раннее обнаружение конфликтов – Слияние изменений Сервер авто-тестирования: – Освобождение клиентского ресурса – Сертификация изменения для ввода в конвейер
12 Результат конвейера Постоянное поддержание действующей сборки: – за счет незначительного усложнения индивидуальных изменений – группа никогда не заблокирована в дальнейшей разработке – при постоянном гарантированном контроле качества сборки
13 Три-баланс («Triage») оргструктуры разработки В доисторические времена: – Постановщики-алгоритмисты – Программисты-кодировщики В прошлом: – Разработка как единый процесс конструктивного доказательства правильности программы Вариант действующий на практике: – Разработчики: конструирование архитектуры, алгоритмы, код – Тестеры: обнаружение ошибок – Program Managers: представитель потенциального клиента
14 Характер работы в triage Разработчики: – Архитектура и Design Documents – Алгоритмы – Код, авто-тесты – План-графики работы Тестеры: – Test-cases – Баги – инициация и завершение workflow – Авто-тесты Program Managers: – Спецификации: 1-liner, 1-pager, full spec – Координация работы – Выбор Adds-Cuts
15 Принципы три-баланса Организационная независимость трех взаимодействующих групп Противопоставление целевых установок и критериев поощрения Консенсус (не использование «решающего голоса») Количественное соотношение: – Разработчики : Тестеры : Pr.M. = 5 : 6 : 1
16 Фазовый цикл разработки Планирование :1 Разработка :1 Стабилизация :1 Этапы определяемые фиксацией времени
17 Дуга Людских Ресурсов (Curve) Стимулы и критерии: – Партнерство – «Видимость», влияние на других – Владение направлением (ownership) Дуга напряженности: – 30% – Передовики – 45% - Основной состав – 25% - Отстающие
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.