Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Подход к разработке кроссплатформенного программного обеспечения
Аннотация:
Abstract:
Авторы: Карпов А.А. (kaa@cps.tver.ru) - НИИ «Центрпрограммсистем», г. Тверь, Россия | |
Ключевые слова: кроссплатформенное программное обеспечение, платформо-зависимая среда, сборка, рабочая среда, целевая операционная система |
|
Keywords: , , assembly, , |
|
Количество просмотров: 12189 |
Версия для печати Выпуск в формате PDF (3.60Мб) |
При смене целевой операционной системы (ОС) программного изделия для разработчика существуют два основных варианта организации разработки программного обеспечения (ПО): полностью перевести процесс разработки на целевую ОС; использовать привычную, устоявшуюся рабочую среду (соответственно, и прежнюю ОС) для разработки ПО, а в целевой ОС проводить окончательное тестирование и исправление недоработок, связанных со спецификой ОС и компиляторов. Первый вариант организации разработки ПО потребует от разработчиков: – отказаться от используемого длительное время инструментария разработки ПО; – исследовать рынок готовых технологических программных продуктов для целевой ОС на соответствие требованиям и функциональным возможностям, обеспечивающим разработку ПО в срок с заданным качеством; – обучить работе с новым технологическим ПО в целевой ОС. Второй вариант требует от разработчиков меньшего времени на изучение использования нового технологического ПО, так как в основном будет использоваться прежняя рабочая среда. В данной статье описан подход к организации разработки программного изделия по второму варианту, где защищенная ОС (ЗОС) Мобильная система Вооруженных сил (МСВС) является целевой ОС, а Windows – основной ОС, используемой при разработке ПО. Рассмотрим задачи, которые необходимо решить при организации разработки ПО в ОС Windows и ЗОС МСВС: - поддержка коллективной работы с исходным текстом и документацией по проекту (разработка структуры дерева исходного текста проекта и обеспечение работы с репозитарием проекта в обеих ОС); - обеспечение компиляции одного и того же исходного текста проекта, сборки исполняемых файлов и создание дистрибутива в обеих ОС; - обеспечение автоматического ежедневного создания дистрибутива программного изделия в обеих ОС; - поддержка ресурса для фиксации ошибок, выявленных на этапах компиляции, сборки и тестирования программного изделия в обеих ОС; - поддержка пополняемого информационного ресурса для разработчиков, раскрывающего особенности ведения разработки ПО под ОС Windows и ЗОС МСВС и доступного для чтения и пополнения из обеих ОС. К платформо-зависимым элементам, используемым при разработке программного продукта, можно отнести графический интерфейс пользователя, векторную и растровую графику, работу с видео и звуком, сетевой обмен и т.д. Для обеспечения переносимости исходного кода ПО между двумя ОС используется кроссплатформенная библиотека Qt4 (qtsoftware.com), позволяющая избавиться от прямого использования API конкретной ОС – библиотека берет это на себя (рис. 1). Рис. 1 Для компиляции и сборки ПО в ОС Windows используется MS Visual Studio, в ЗОС МСВС – утилита qmake из состава пакета Qt, использующая компилятор C++ из набора компиляторов gcc. Для работы с документацией проекта используется пакет офисных приложений OpenOffice (openoffice.org), обеспечивающий работу в обеих ОС. При коллективной разработке ПО возникает необходимость управления исходным текстом и документацией проекта. Для поддержки данного процесса используется система Subversion (subversion.tigris.org), работа с которой ведется из обеих ОС. Репозитарий Subversion включает в себя документацию и исходный текст проекта. Прежде чем говорить о файловой структуре всего проекта, рассмотрим структуру отдельно взятого модуля (рис. 2). Назначение каталогов представленной структуры следующее: doc – хранение документации по модулю, его проектных решений; include – хранение заголовочных файлов исходных текстов модуля; msvs – хранение файлов проекта модуля для компиляции в среде MS Visual Studio в ОС Windows; qmake – хранение файлов проекта модуля для компиляции в ЗОС МСВС; res – хранение файлов ресурсов модуля (отсутствует в модулях, не имеющих графического отображения); src – хранение файлов исходных текстов модуля. Рис. 2 Предлагаемая файловая структура всего проекта показана на рисунке 3. Проект содержит подкаталоги: bin – для откомпилированных и сторонних модулей, соответственно для debug- и release-версий; build – для файлов скриптов при компиляции и сборке дистрибутива в ОС Windows и МСВС соответственно; doc – для документов описания используемых в проекте технологий, подходов и т.д.; include – для заголовочных файлов, используемых несколькими модулями проекта; lib – для файлов описания библиотек, используемых модулями проекта; msvs – для файла всего проекта (solution) при компиляции в среде MS Visual Studio в ОС Windows; projects – для каталогов всех модулей проекта; qmake – для файла всего проекта при компиляции в ЗОС МСВС. Для автоматической ежедневной сборки дистрибутива в Windows и МСВС необходимо выделить компьютер с запущенной виртуальной машиной (то есть в Windows запущена виртуальная машина ЗОС МСВС) либо два компьютера (для каждой ОС в отдельности) с настроенным технологическим ПО и назначить задание на компиляцию и сборку дистрибутива. Под заданием понимается исполнение созданного скрипта компиляции и сборки, запускаемого, как правило, в ночное время. Скрипт обеспечивает скачивание обновлений исходного текста из репозитария, компилирование, сборку исполняемых файлов и создание установочного пакета (дистрибутива) разрабатываемого программного изделия. Для информирования разработчиков об ошибках при сборке и тестировании отдельных модулей или проекта в целом используется система учета ошибок Mantis (mantisbt.org), доступная из обеих ОС. Рис. 3 Также создан внутренний информационный wiki-ресурс (mediawiki.org) для разработчиков, в рамках которого можно размещать обнаруженные непереносимые конструкции кода и советы по ведению кроссплатформенных разработок. Доступ к данному ресурсу необходимо обеспечить как из ОС Windows, так и из ЗОС МСВС. Данный подход к организации процесса разработки ПО в ОС Windows для последующего его использования в ЗОС МСВС, как показала практика разработки изделий, не оказывает существенного влияния на увеличение сроков выполнения работ и качество выпускаемого программного изделия. Литература 1. Хоффман Б., Мартин К. Разработка программного обеспечения в небольшой организации (http://www.osp.ru/os/2007/03/4158385). 2. Лапыгин Д., Новичков А. Конфигурационное управление проектами разработки программного обеспечения (http://www.citforum.ru/SE/quality/configuration_management). |
Постоянный адрес статьи: http://swsys.ru/index.php?page=article&id=2043 |
Версия для печати Выпуск в формате PDF (3.60Мб) |
Статья опубликована в выпуске журнала № 1 за 2009 год. [ на стр. 109 ] |
Возможно, Вас заинтересуют следующие статьи схожих тематик: