На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Подход к разработке кроссплатформенного программного обеспечения

Статья опубликована в выпуске журнала № 1 за 2009 год. [ на стр. 109 ]
Аннотация:
Abstract:
Авторы: Карпов А.А. (kaa@cps.tver.ru) - НИИ «Центрпрограммсистем», г. Тверь, Россия
Ключевые слова: кроссплатформенное программное обеспечение, платформо-зависимая среда, сборка, рабочая среда, целевая операционная система
Keywords: , , assembly, ,
Количество просмотров: 10752
Версия для печати
Выпуск в формате 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&lang=
Версия для печати
Выпуск в формате PDF (3.60Мб)
Статья опубликована в выпуске журнала № 1 за 2009 год. [ на стр. 109 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик: