Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВасилий Благой
1 Автоматизация разработки СПО с помощью современных средств и технологий Владимир Рубанов Первый зам. ген. директора (руководитель разработки) к.ф.-м.н., доцент, PMP Москва, 12 апреля 2013 г.
2 Владимир Рубанов об автоматизации разработки СПО Разработка сложного ПО: нюансы Сложные программы - это сотни тысяч файлов с исходными кодами, тысячи модулей, многокомпонентная архитектура. Из одних и тех же файлов в исходных кодах можно собирать разные версии и конфигурации целевой программы. Развитие разных модулей идет параллельно разными командами. Состыковка разных модулей в разных конфигурациях – нетривиальная задача. Разработка сложного ПО должна осуществляться с помощью специальных средств автоматизации 2 из 28
3 Владимир Рубанов об автоматизации разработки СПО Сложное программное обеспечение ГодСистемаСтрок кода, млн. 1996Windows NT Windows Windows XP Windows Server Mac OS X Debian Debian Debian ROSA Desktop из 28
4 Владимир Рубанов об автоматизации разработки СПО Состав дистрибутива Linux Приложения (Firefox, OpenOffice и др.) Кол-во: ~ Приложения (Firefox, OpenOffice и др.) Кол-во: ~ Библиотеки и системные утилиты (Glibc, Gtk, Qt и др.) Кол-во: ~ Ядро (kernel) Кол-во: из 28
5 Владимир Рубанов об автоматизации разработки СПО Разработка дистрибутива Linux 5 из 28
6 Владимир Рубанов об автоматизации разработки СПО Разработка Linux и независимость «Косметическая» независимость – меняется название и «обои» дистрибутива, все пакеты в бинарном виде используются от исходного дистрибутива (BolgenOS). «Оптимизирующая» независимость – конфигурация и состав пакетов дистрибутива оптимизируются для какой то задачи, сами пакеты полностью заимствуются из исходного дистрибутива. «Крупноузловая сборка» - основа дистрибутива берется из исходного дистрибутива с минимальными изменениями, а прикладной слой компонуется независимо на основе оригинального upstream. Часть или все пакеты пересобираются из исходных кодов. «Полная» независимость – все ~ компонентов берутся изначально из оригинальных upstream источников и компонуются между собой. Проводится полная пересборка из исх. кодов. 6 из 28
7 Генеалогия и дистрибутивы Linux 7 из 61
8 Владимир Рубанов об автоматизации разработки СПО Разработчик (мейнтейнер пакетов) в Linux Отвечает за жизненный цикл определенного компонента (пакета) в составе дистрибутива. Участвует в разработке пакета как член upstream проекта или как независимый разработчик. Является «связником» с upstream разработчиками. Обновляет пакет на основе исходного upstream проекта. Обеспечивает совместимость пакета со всеми остальными связанными пакетами в составе дистрибутива. Тестирует пакет. Документирует пакет. Собирает пакет из исходных кодов и размещает в репозитории дистрибутива. 8 из 28
9 Владимир Рубанов об автоматизации разработки СПО Инструменты: URPM-Repoclosure Замкнутость репозитория по зависимостям Проверяет собранный репозиторий Виды анализа: статический динамический 9 из 28
10 Владимир Рубанов об автоматизации разработки СПО Отчеты: URPM-Repoclosure Сломанные пакеты Метрики 10 из 28
11 Владимир Рубанов об автоматизации разработки СПО Инструменты: ABI Compliance Checker Анализ совместимости версий С/C++ библиотек Приоретизация найденных проблем Используется в Upstream: разработчиками библиотек Downstream: мейнтейнерами 11 из 28
12 Владимир Рубанов об автоматизации разработки СПО Отчеты: ABI Compliance Checker Summary Проблемы совместимости 12 из 28
13 Владимир Рубанов об автоматизации разработки СПО Отчеты: ABI Compliance Checker Разбор конкретных проблем 13 из 28
14 Владимир Рубанов об автоматизации разработки СПО Отчеты: ABI Compliance Checker Анализ конкретных изменений 14 из 28
15 Владимир Рубанов об автоматизации разработки СПО Инструменты: Upstream Tracker Мониторинг и анализ библиотек в апстриме: отслеживание новых версий изменения в API/ABI Стабилизация апстрима 15 из 28
16 Владимир Рубанов об автоматизации разработки СПО Отчеты: Upstream Tracker 16 из 28
17 Владимир Рубанов об автоматизации разработки СПО Инструменты: Updates Tracker Определение устаревших пакетов по сравнению с апстримом другими дистрибутивами 17 из 28
18 Владимир Рубанов об автоматизации разработки СПО Отчеты: Updates Tracker Отстал от конкурентов Отстал от апстрима 18 из 28
19 Владимир Рубанов об автоматизации разработки СПО Инструменты: PkgDiff Изменения в пакетах: Визуализация Классификация 19 из 28
20 Владимир Рубанов об автоматизации разработки СПО Отчеты: PkgDiff Метрики Классификация файлов 20 из 28
21 Владимир Рубанов об автоматизации разработки СПО Отчеты: PkgDiff Оценка изменений 21 из 28
22 Владимир Рубанов об автоматизации разработки СПО Сборка дистрибутива. Кратко. 22 из 28
23 Владимир Рубанов об автоматизации разработки СПО Система разработки и сборки ROSA ABF: основные особенности Поддержка полного цикла сборки: от отдельных файлов и пакетов до финальных образов (.iso). Поддержка разработки разных дистрибутивов. Поддержка сборки для разных аппаратных платформ. Эргономичный веб-интерфейс – возможна кросс- платформенная разработка. Персональные репозитории разработчиков. Интеграция процессов разработки, конфигурационного управления и сборки на единой площадке. 23 из 28
24 Владимир Рубанов об автоматизации разработки СПО ROSA ABF: основные функции Площадка обсуждения и прямого обмена кодом между разработчиками. Встроенный трекер задач. Контекстная WIKI. Интеграция с ведущей системой контроля версий Git. Мониторинг статуса по компонентам и платформам в целом. Автоматизированные процессы жизненного цикла разработки ПО. 24 из 28
25 Владимир Рубанов об автоматизации разработки СПО ABF как продукт для сторонних компаний Безопасная система для хостинга и разработки дистрибутивов на основе Linux и приложений для них. Система сборки пакетов под множество дистрибутивов в безопасной среде. Система централизованной доставки обновлений для клиентских машин (как пользовательских, так и серверных). Может быть использован, как Continuous Integration сервер. 25 из 28
26 Владимир Рубанов об автоматизации разработки СПО Карьера мейнтейнера Linux «Энтузиаст» – отвечает за один или несколько пакетов just for fun. «Part-time мейнтейнер» – отвечает за несколько десятков пакетов for fun & money. «Full-time мейнтейнер» – отвечает за «много» пакетов. «Ведущий мейнтейнер» – отвечает за много пакетов сам и координирует связанных с ним мейнтейнеров. «Менеджер репозитория» – отвечает за весь репозиторий, координирует работу всех мейнтейнеров. «Релиз-менеджер» – отвечает за подготовку релиза дистрибутива. «Руководитель разработки дистрибутива» - отвечает за все. 26 из 28
27 Владимир Рубанов об автоматизации разработки СПО Другие роли в мире Linux Разработчики ПО (от младших до гуру) Архитекторы ПО Инженеры по внедрению и адаптации Системные администраторы Менеджеры продуктов Руководители проектов Тестировщики Юзабилисты Дизайнеры интерфейсов Специалисты поддержки Руководители групп Agile-роли Технические писатели 27 из 28
28 Владимир Рубанов об автоматизации разработки СПО Хотите поучаствовать в разработке Linux? Присоединяйтесь к сообществу РОСА! ROSA_Developer_QuickStart 28 из 28
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.