Автоматизация разработки СПО с помощью современных средств и технологий Владимир Рубанов Первый зам. ген. директора (руководитель разработки) к.ф.-м.н.,

Презентация:



Advertisements
Похожие презентации
Автоматизированный анализ совместимости Linux приложений с различными дистрибутивами Владимир Рубанов, Константин Власов, Андрей Смачев Институт системного.
Advertisements

Результаты проекта Минкомсвязи 012/112 от г. по разработке прототипов базовых программно-технических компонент национальной программной платформы.
История создания ОС. Семейство ОС MS Windows.. Операционная система базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами.
Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Проблема переносимости приложений: сорок лет спустя SECR октября 2008 Алексей Хорошилов
Архитектура операционных систем Семестр 2, Лекция 1.
Е-МАСТЕР ® Документооборот Программно-методический комплекс (Система управления организационной информацией) +7 (812)
Многоуровневое мандатное управление доступом в многооконной графической среде ОС класса Linux Авторы: к.т.н., доцент Д. В. Ефанов * аспирант кафедры 36.
«Единый инструмент решения всех задач ИТ-директора» Дмитрий Рубин NAUMEN
DocsVision 4.0 DocsVision 4.0 универсальная система управления документами и бизнес-процессами.
Системное программное обеспечение. Вычислительная система 2.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Тестировщик на все руки в Scrum-команде Наталья Медведева.
Особенности практической реализации процесса интеграции при разработке сложных аппаратно-программных комплексов НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ.
Система управления проектами Шестнадцатая ежегодная техническая конференция Корпоративные базы данных Сергей Литовченко Виталий Максимов.
1 Тестирование в Agile Антон Поляков, 908 Сообщество тестировщиков Днепропетровска.
Заместитель директора по работе с клиентами Алексей Белкин Parallels Россия, СНГ и республики Балтии APS-стандарт: недостающее звено между разработчиками.
Модуль переноса решений Как средство распространения партнерских решений Варфоломеев Антон Директор по производству DocsVision.
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)
Январь AМВОНЕТ – что это? Система Управления Обучением и Наполнением СУОН Система Управления Обучением и Наполнением СУОН.
Транксрипт:

Автоматизация разработки СПО с помощью современных средств и технологий Владимир Рубанов Первый зам. ген. директора (руководитель разработки) к.ф.-м.н., доцент, PMP Москва, 12 апреля 2013 г.

Владимир Рубанов об автоматизации разработки СПО Разработка сложного ПО: нюансы Сложные программы - это сотни тысяч файлов с исходными кодами, тысячи модулей, многокомпонентная архитектура. Из одних и тех же файлов в исходных кодах можно собирать разные версии и конфигурации целевой программы. Развитие разных модулей идет параллельно разными командами. Состыковка разных модулей в разных конфигурациях – нетривиальная задача. Разработка сложного ПО должна осуществляться с помощью специальных средств автоматизации 2 из 28

Владимир Рубанов об автоматизации разработки СПО Сложное программное обеспечение ГодСистемаСтрок кода, млн. 1996Windows NT Windows Windows XP Windows Server Mac OS X Debian Debian Debian ROSA Desktop из 28

Владимир Рубанов об автоматизации разработки СПО Состав дистрибутива Linux Приложения (Firefox, OpenOffice и др.) Кол-во: ~ Приложения (Firefox, OpenOffice и др.) Кол-во: ~ Библиотеки и системные утилиты (Glibc, Gtk, Qt и др.) Кол-во: ~ Ядро (kernel) Кол-во: из 28

Владимир Рубанов об автоматизации разработки СПО Разработка дистрибутива Linux 5 из 28

Владимир Рубанов об автоматизации разработки СПО Разработка Linux и независимость «Косметическая» независимость – меняется название и «обои» дистрибутива, все пакеты в бинарном виде используются от исходного дистрибутива (BolgenOS). «Оптимизирующая» независимость – конфигурация и состав пакетов дистрибутива оптимизируются для какой то задачи, сами пакеты полностью заимствуются из исходного дистрибутива. «Крупноузловая сборка» - основа дистрибутива берется из исходного дистрибутива с минимальными изменениями, а прикладной слой компонуется независимо на основе оригинального upstream. Часть или все пакеты пересобираются из исходных кодов. «Полная» независимость – все ~ компонентов берутся изначально из оригинальных upstream источников и компонуются между собой. Проводится полная пересборка из исх. кодов. 6 из 28

Генеалогия и дистрибутивы Linux 7 из 61

Владимир Рубанов об автоматизации разработки СПО Разработчик (мейнтейнер пакетов) в Linux Отвечает за жизненный цикл определенного компонента (пакета) в составе дистрибутива. Участвует в разработке пакета как член upstream проекта или как независимый разработчик. Является «связником» с upstream разработчиками. Обновляет пакет на основе исходного upstream проекта. Обеспечивает совместимость пакета со всеми остальными связанными пакетами в составе дистрибутива. Тестирует пакет. Документирует пакет. Собирает пакет из исходных кодов и размещает в репозитории дистрибутива. 8 из 28

Владимир Рубанов об автоматизации разработки СПО Инструменты: URPM-Repoclosure Замкнутость репозитория по зависимостям Проверяет собранный репозиторий Виды анализа: статический динамический 9 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: URPM-Repoclosure Сломанные пакеты Метрики 10 из 28

Владимир Рубанов об автоматизации разработки СПО Инструменты: ABI Compliance Checker Анализ совместимости версий С/C++ библиотек Приоретизация найденных проблем Используется в Upstream: разработчиками библиотек Downstream: мейнтейнерами 11 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: ABI Compliance Checker Summary Проблемы совместимости 12 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: ABI Compliance Checker Разбор конкретных проблем 13 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: ABI Compliance Checker Анализ конкретных изменений 14 из 28

Владимир Рубанов об автоматизации разработки СПО Инструменты: Upstream Tracker Мониторинг и анализ библиотек в апстриме: отслеживание новых версий изменения в API/ABI Стабилизация апстрима 15 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: Upstream Tracker 16 из 28

Владимир Рубанов об автоматизации разработки СПО Инструменты: Updates Tracker Определение устаревших пакетов по сравнению с апстримом другими дистрибутивами 17 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: Updates Tracker Отстал от конкурентов Отстал от апстрима 18 из 28

Владимир Рубанов об автоматизации разработки СПО Инструменты: PkgDiff Изменения в пакетах: Визуализация Классификация 19 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: PkgDiff Метрики Классификация файлов 20 из 28

Владимир Рубанов об автоматизации разработки СПО Отчеты: PkgDiff Оценка изменений 21 из 28

Владимир Рубанов об автоматизации разработки СПО Сборка дистрибутива. Кратко. 22 из 28

Владимир Рубанов об автоматизации разработки СПО Система разработки и сборки ROSA ABF: основные особенности Поддержка полного цикла сборки: от отдельных файлов и пакетов до финальных образов (.iso). Поддержка разработки разных дистрибутивов. Поддержка сборки для разных аппаратных платформ. Эргономичный веб-интерфейс – возможна кросс- платформенная разработка. Персональные репозитории разработчиков. Интеграция процессов разработки, конфигурационного управления и сборки на единой площадке. 23 из 28

Владимир Рубанов об автоматизации разработки СПО ROSA ABF: основные функции Площадка обсуждения и прямого обмена кодом между разработчиками. Встроенный трекер задач. Контекстная WIKI. Интеграция с ведущей системой контроля версий Git. Мониторинг статуса по компонентам и платформам в целом. Автоматизированные процессы жизненного цикла разработки ПО. 24 из 28

Владимир Рубанов об автоматизации разработки СПО ABF как продукт для сторонних компаний Безопасная система для хостинга и разработки дистрибутивов на основе Linux и приложений для них. Система сборки пакетов под множество дистрибутивов в безопасной среде. Система централизованной доставки обновлений для клиентских машин (как пользовательских, так и серверных). Может быть использован, как Continuous Integration сервер. 25 из 28

Владимир Рубанов об автоматизации разработки СПО Карьера мейнтейнера Linux «Энтузиаст» – отвечает за один или несколько пакетов just for fun. «Part-time мейнтейнер» – отвечает за несколько десятков пакетов for fun & money. «Full-time мейнтейнер» – отвечает за «много» пакетов. «Ведущий мейнтейнер» – отвечает за много пакетов сам и координирует связанных с ним мейнтейнеров. «Менеджер репозитория» – отвечает за весь репозиторий, координирует работу всех мейнтейнеров. «Релиз-менеджер» – отвечает за подготовку релиза дистрибутива. «Руководитель разработки дистрибутива» - отвечает за все. 26 из 28

Владимир Рубанов об автоматизации разработки СПО Другие роли в мире Linux Разработчики ПО (от младших до гуру) Архитекторы ПО Инженеры по внедрению и адаптации Системные администраторы Менеджеры продуктов Руководители проектов Тестировщики Юзабилисты Дизайнеры интерфейсов Специалисты поддержки Руководители групп Agile-роли Технические писатели 27 из 28

Владимир Рубанов об автоматизации разработки СПО Хотите поучаствовать в разработке Linux? Присоединяйтесь к сообществу РОСА! ROSA_Developer_QuickStart 28 из 28