1 / 21

ЛАБОРАТОРИЯ “ АППАРАТНО-ПРОГРАММНЫХ СИСТЕМ ”

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им.Н.И.ЛОБАЧЕВСКОГО НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ. Особенности практической реализации процесса интеграции при разработке сложных аппаратно-программных комплексов. ЛАБОРАТОРИЯ “ АППАРАТНО-ПРОГРАММНЫХ СИСТЕМ ”.

jock
Download Presentation

ЛАБОРАТОРИЯ “ АППАРАТНО-ПРОГРАММНЫХ СИСТЕМ ”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ им.Н.И.ЛОБАЧЕВСКОГОНАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ Особенности практической реализации процесса интеграции при разработке сложных аппаратно-программных комплексов ЛАБОРАТОРИЯ “АППАРАТНО-ПРОГРАММНЫХ СИСТЕМ” Докладчик: Кузьмина Ирина, НИФТИ ННГУ

  2. Комплекс управленияпроверочной аппаратурой

  3. Схема зависимости программных компонентов adl ADL Cdisp Manager Imitator CSPDI Cresearch Dselector Creference Convdistr Tibbo Generator VN6204 Converter VN1404 Dispatcher VXI vxi

  4. Недостатки процесса разработки программного обеспечения (ПО) • отсутствие этапа интеграции программных компонентов при разработке; • отсутствие согласования размещенных в системе версионного контроля исходных кодов и бинарных файлов; • высокий риск потери возможности разработки компонента в случае болезни или увольнения разработчика; • проблемы взаимодействия с аппаратурой, возникающие при отладке комплекса.

  5. Репозиторий Схемапроцесса разработки ПО РАЗРАБОТЧИК N РАЗРАБОТЧИК 2 РАЗРАБОТЧИК 1 Setup.exe Setup.exe *.exe *.dll ИНТЕГРАТОР *.exe *.dll • Создание дистрибутива (Setup.exe)

  6. Выделение процесса интеграции программных компонентов Синхронизацияинтерфейсовна этапе сборки комплекса • весь исходный код хранится в версионном хранилище и компилируется из командной строки на сборочном сервере при сборке комплекса по требованию; • удовлетворение зависимостей на сборочном сервере обеспечивается настройками среды разработкина бинарные файлы зависимых проектов, а не на бинарники установленного комплекса предыдущей версии; • после компиляции кода на сборочном сервере из полученных исполняемых файлов и библиотек собирается дистрибутив, а файлам исходного кода присваивается метка, определяющая текущую версию комплекса. Сборка комплекса любой версии

  7. Репозиторий Схемапроцесса разработки ПО РАЗРАБОТЧИК N E-mail РАЗРАБОТЧИК 2 РАЗРАБОТЧИК 1 Setup.exe Setup.exe *.exe *.dll Исходный код ИНТЕГРАТОР *.exe *.dll Исходный код • Компиляция • Создание дистрибутива (Setup.exe) • Создание дистрибутива (Setup.exe)

  8. Анализ результатов процесса интеграции • снизились риски, связанные с человеческим фактором; • сократились временные затраты как процесса разработки ПО, так и процессов тестирования программной части и всего комплекса в целом.

  9. Анализ результатов процесса интеграции • «волшебная машина»; • невозможность проведения модульного тестирования на этапе сборки комплекса вследствие зависимости тестов от аппаратуры; • отсутствие полностью автоматической сборки (без участия человека). • тесная взаимосвязь программных компонентов и, как следствие, необходимость постоянного согласования интерфейсов;

  10. VXI Manager CSPDI Tibbo Комплекс Manager VXI Ошибка интеграции ADL CSPDI Ошибка интеграции Cdisp Tibbo ADL Cdisp Cresearch VN6204 Ошибка интеграции Cresearch Ошибка интеграции VN6204 Dselector Creference Condistr Imitator VN1404 Creference Dselector Imitator Condistr VN1404

  11. Репозиторий Ошибка интеграции разработка \ интеграция Ошибка интеграции Ошибка интеграции Ошибка интеграции РАЗРАБОТЧИК N E-mail РАЗРАБОТЧИК 2 РАЗРАБОТЧИК 1 Setup.exe Setup.exe разработка \ интеграция разработка \ интеграция Исходный код *.exe *.dll ИНТЕГРАТОР *.exe *.dll Исходный код • Компиляция • Создание дистрибутива (Setup.exe) разработка \ интеграция

  12. Шаги развития процесса интеграции Компонент А Компонент А • УСТРАНЕНИЕ «ВОЛШЕБНОЙ МАШИНЫ»: • использовать только программные продукты, размещенные в версионном хранилище; • создать документ, включающий описание программных продуктов; • перейти от использования ссылок на исполняемые файлы компонентов к ссылкам непосредственно на программный проект; • разместить сторонние библиотеки в общей структуре системы версионного контроля и настроить ссылки на них в каждом проекте. исх. код (.proj) исх. код (.proj) бинарии (.lib) бинарии (.lib) Компонент B Компонент B исх. код (.proj) исх. код (.proj) бинарии (.lib) бинарии (.lib)

  13. Шаги развития процесса интеграции • РАЗДЕЛЕНИЕ МОДУЛЬНОГО И ФУНКЦИОНАЛЬНОГО ТЕСТИРОВАНИЯ: • модульные тесты не зависят от аппаратуры; • тестируют окружение (наличие библиотек, конфигурационных файлов); • тестируют алгоритмы.

  14. Окружение *.dll Алгоритмы *.xml *.config Аппаратура Модульные тесты

  15. Шаги развития процесса интеграции • РАЗДЕЛЕНИЕ ПРОЦЕССА ИНТЕГРАЦИИ НА ЭТАПЫ: • интеграция программных компонентов (выявление конфликтов взаимодействия зависимых интерфейсов); • сборка комплекса.

  16. Репозиторий CheckIn Разработчик2 Разработчик3 РазработчикN Изменения Компонент B Компонент C Компонент А Компонент D Сборка компонента B Сборка компонента А • Компиляция Разработчик 1 • Модульное тестирование Сборка компонента C • Компиляция • Инспекция исходного кода • Модульное тестирование Сборка компонента D • Компиляция • Инспекция исходного кода Ошибка интеграции • Модульное тестирование • Компиляция • Инспекция исходного кода • E-mailразработчикам компонентов A и D Сервер сборки

  17. Шаги развития процесса интеграции • СОЗДАНИЕ ПЛАНА КОНФИГУРАЦИОННОГО УПРАВЛЕНИЯ, РЕГЛАМЕНТИРУЮЩЕГО ВСЕ ОПИСАННЫЕ ВЫШЕ ПРОЦЕДУРЫ. Конфигурации включают : стандарты наименования; соглашения о едином стиле оформления исходного кода, комментариев, документов; порядок разработки, сборкии тестирования; распределение ролей в проекте.

  18. Сервер сборки Шаги развития процесса интеграции • ОРГАНИЗАЦИЯ АВТОМАТИЧЕСКОЙ НЕПРЕРЫВНОЙ СБОРКИ ПРОГРАММНЫХ КОМПОНЕНТОВ И КОМПЛЕКСА В ЦЕЛОМ. • компиляция исходных кодов; • модульное тестирование (NUnit, CUnit, CppUnit ); • инспекция исходного кода (NDepend, CppDepend); • уведомление разработчиков о результатах сборки.

  19. OC Windows XP CruiseControl.Net ClearCase LT Сервер сборки OC QNX 6.3 CruiseControl ClearCase LT Сервер сборки

  20. РАЗРАБОТЧИК N РАЗРАБОТЧИК 2 РАЗРАБОТЧИК 1 Репозиторий Схема процесса интеграции ПО после автоматизации E-mail Сервер сборки “build-windows“ Windows XP Исходный код CruiseControl.Net Putty ClearCaseLT Putty Сервер сборки “build-qnx” • Компиляция Исходный код • Тестирование (модул.) • Инспекция кода QNX 6.3 • Удаленный запуск • сборки на “build-qnx” Putty • E-mail рассылка • Создание дистрибутива • (Setup.exe) • Компиляция • Тестирование (модул.) • Создание дистрибутива • (Setup.qpr) Setup.exe Setup.qpr Setup.qpr

  21. Выводы • Представленный в данной работе комплекс мер позволил сократить временные затраты, необходимые на создание очередной версии ПО АПК, с нескольких дней до нескольких часов • Разработанная схема процесса интеграции является универсальной и может быть применена в проектах, независимо от операционной системы, на которой ведётся разработка ПО • Для успешного внедрения непрерывной интеграции необходимо, чтобы все процедуры процесса были хорошо документированы и донесены до сведения разработчиков до начала этапа разработки ПО

More Related