СредаПромышленной Разработки Программного Обеспечения

Содержание

Слайд 2

Интегрированность с Окружением

Главная Черта Современного ПО – Интегрированность с Окружением:
По функциям (другие

Интегрированность с Окружением Главная Черта Современного ПО – Интегрированность с Окружением: По
пакеты, другие способы применения)
В пространстве (файлы, базы данных, интра- экстра-сети, Web-сервисы, почта, workflow, ...)
Во времени (свои версии, версии других пакетов, версии платформы)

Слайд 3

Главные источники затруднений для разработки

По функциям – как предусмотреть многоплановость?
В пространстве – случайность

Главные источники затруднений для разработки По функциям – как предусмотреть многоплановость? В
поведения среды
Во времени – совместимость назад и вперед, установка side-by-side, upgrade, patch, deployment, изменчивость требований

Слайд 4

Методология Промышленной Разработки

Когда-то давно:
Формальные спецификации
Доказательство правильности
Структурирование
Нисходящее проектирование
В недавнем прошлом:
Формализация производственного процесса
Управление проектами и

Методология Промышленной Разработки Когда-то давно: Формальные спецификации Доказательство правильности Структурирование Нисходящее проектирование
ресурсами
Системное моделирование (UML)
Сейчас:
Agile Software Development Ecosystem (активная коммуникация, личная мотивация, разделение ответственности, командный дух)

Слайд 5

Впечатления из Производственного Цеха

Конвейер сборки программы
Три-баланс организации разработки
Многофазный цикл фиксированной продолжительности
Кривая людских ресурсов

Впечатления из Производственного Цеха Конвейер сборки программы Три-баланс организации разработки Многофазный цикл

Слайд 6

Конвейер Сборки Программы

Задача:
Необходимость обеспечить параллельную работу многих разработчиков
Проблемы:
Изменения разрушают сделанное ранее
Множественность и

Конвейер Сборки Программы Задача: Необходимость обеспечить параллельную работу многих разработчиков Проблемы: Изменения
подвижность участников разработки -> отсутствие цельного видения у отдельных разработчиков
Изменчивость платформ, средств разработки и смежных программ в процессе разработки

Слайд 7

Технологические Принципы

Поддержание целостности сборки (build)
Авто-тестирование сборки (automation)
Линейная последовательность внесения изменений

Технологические Принципы Поддержание целостности сборки (build) Авто-тестирование сборки (automation) Линейная последовательность внесения изменений

Слайд 8

Как Это Происходит

Основа – система управления версиями (source code control)
Подготовка изменения: check-out,

Как Это Происходит Основа – система управления версиями (source code control) Подготовка
кодировка, отладка, проверка, структурный просмотр
Постановка изменения в очередь – вход в конвейер
Принятие изменения: компиляция, функциональная проверка, проверка производительности, занесение в базу или отвержение, оповещение

Слайд 9

Структура Конвейера

Классический конвейер:
Конвейер программной сборки:

Структура Конвейера Классический конвейер: Конвейер программной сборки:

Слайд 10

Конвейер Программной Сборки

Построение программы:
2 (2+) супермашины – debug & retail builds
Функциональная проверка:
100-200

Конвейер Программной Сборки Построение программы: 2 (2+) супермашины – debug & retail
машин – параллельный прогон функциональных авто-тестов
Проверка производительности:
200-300 машин – параллельные группы тестов производительности
Приемка в главную базу данных

Слайд 11

Обслуживание Конвейера

Клиент on-line монитора:
Текущий статус очереди
Изменение приоритетов, досрочное снятие
Ход исполнения построения и

Обслуживание Конвейера Клиент on-line монитора: Текущий статус очереди Изменение приоритетов, досрочное снятие
сборки
Супервизор очереди:
Раннее обнаружение конфликтов
Слияние изменений
Сервер авто-тестирования:
Освобождение клиентского ресурса
Сертификация изменения для ввода в конвейер

Слайд 12

Результат конвейера

Постоянное поддержание действующей сборки:
за счет незначительного усложнения индивидуальных изменений
группа никогда не

Результат конвейера Постоянное поддержание действующей сборки: за счет незначительного усложнения индивидуальных изменений
заблокирована в дальнейшей разработке
при постоянном гарантированном контроле качества сборки

Слайд 13

Три-баланс («Triage») оргструктуры разработки

В доисторические времена:
Постановщики-алгоритмисты
Программисты-кодировщики
В прошлом:
Разработка как единый процесс конструктивного доказательства правильности

Три-баланс («Triage») оргструктуры разработки В доисторические времена: Постановщики-алгоритмисты Программисты-кодировщики В прошлом: Разработка
программы
Вариант действующий на практике:
Разработчики: конструирование архитектуры, алгоритмы, код
Тестеры: обнаружение ошибок
Program Managers: представитель потенциального клиента

Слайд 14

Характер работы в triage

Разработчики:
Архитектура и Design Documents
Алгоритмы
Код, авто-тесты
План-графики работы
Тестеры:
Test-cases
Баги – инициация и

Характер работы в triage Разработчики: Архитектура и Design Documents Алгоритмы Код, авто-тесты
завершение workflow
Авто-тесты
Program Managers:
Спецификации: 1-liner, 1-pager, full spec
Координация работы
Выбор Adds-Cuts

Слайд 15

Принципы три-баланса

Организационная независимость трех взаимодействующих групп
Противопоставление целевых установок и критериев поощрения
Консенсус (не

Принципы три-баланса Организационная независимость трех взаимодействующих групп Противопоставление целевых установок и критериев
использование «решающего голоса»)
Количественное соотношение:
Разработчики : Тестеры : Pr.M. = 5 : 6 : 1

Слайд 16

Фазовый цикл разработки

Планирование :1
Разработка :1
Стабилизация :1
Этапы определяемые фиксацией времени

Фазовый цикл разработки Планирование :1 Разработка :1 Стабилизация :1 Этапы определяемые фиксацией времени
Имя файла: СредаПромышленной-Разработки-Программного-Обеспечения.pptx
Количество просмотров: 147
Количество скачиваний: 0