RUS || ENG || UKR

Угниченко Дмитрий Александрович

Магистр ДонНТУ Угниченко Дмитрий Александрович
Факультет: Вычислительной Техники и Информатики
Кафедра: Электронных вычислительных машин
Специальность: Системное Программирование (СП)
Тема выпускной магисторской работы:

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


Научный руководитель:

к.т.н., доц. каф. ЭВМ, Мальчева Раиса Викторовна

Автореферат

по теме: «Разработка методики построения программного обеспечения для мобильных платформ»

1. Введение. Обоснование актуальности темы

 Бурное развитие глобальной сети Internet и сетей GSM(в мире и на территории стран СНГ в особенности) вынудило разработчиков аппаратных средств сместить свое внимания в поле мобильных устройств. Если для этого раньше использовался просто мобильный телефонный аппарат, то теперь встала необходимость совмещения в таком устройстве функциональных возможностей и телефона и портативного компьютера. Мощностей обычных мобильных аппаратов не хватало, а переносные портативные вычислительные аппараты с использованием модулей для работы с GSM являлись громоздкими и неудобными для конечного пользователя. Также возникла необходимость использовать сети не только GSM, но и Wi-fi и WiMax. Таким образом в промышленности выделился отдельный тип устройств, который получил название TabletPC. Родоначальником и лидером в производстве подобных устройств является фирма Nokia. Также в какой-то степени подобные устройства производят и иные компании с мировыми именами: HTC, Apple, BenQ и пр.

В данной магистерской работе будет рассмотрена , в плане конкретных испытаний полученных результатов, именно продукция фирмы Nokia. А конкретно, модель Nokia n810 Tablet PC. Хотя на момент написания данной работы уже заявлено о выпуске в скором будущем устройства Nokia Tablet PC 9-го поколения. Подробный обзор существующих платформ будет выполнен ниже, в основной части.

Так как данный вид аппаратных средств только начинает завоёвывать рынок, то программного обеспечения, написанного для него очень мало, а фактически он как таковой вообще отсутствует. Дабы ускорить процесс разработки новых приложений и помочь в переносе и адаптации существующего программного обеспечения необходима методика, которая обозначит все особенности и ответит на вопросы, возникающие перед разработчиком. На данный момент такой еще не существует. Целью данной работы является разработка подобной методики.

2. Цель и задачи работы

В данной работе планируется рассмотрение и обзор существующих мобильных платформ, выпускаемых различными производителями. Далее будут рассмотрены принципы, по которым должен строиться процесс разработки программного обеспечения для мобильных платформ. Также будет проанализирован один из самых важных аспектов процесса разработки и эксплуатации программного обеспечения – аспект безопасности. Будут рассмотрены общие теоретические принципы разработки, базирующиеся на принципах объектно-ориентированной разработки, а также некоторые конкретные реализации в их конкретных применениях в процессе построения шифрованных беспроводных сетей, работающих по протоколу Wi-fi. Также будет рассмотрен фреймворк Qt4 – набор графических библиотек от фирмы Trolltech, ныне официально поддерживаемый и принадлежащий Nokia Corporation для построения графических приложений и приведен пример написания простейшего приложения.

3. Предполагаемая научная новизна и практическая ценность

 Научная новизна состоит в создании методики разработки проблемно-ориентированного программного обеспечения мобильных платформ. Также предполагается рассмотреть основные различия между процессами разработки программного обеспечения для стационарных ПК и мобильных платформ.

Практическая ценность состоит в том, что руководствуясь данным сводом правил и полученных результатов можно будет быстро и эффективно создавать, выполнять отладку и внедрять программные комплексы для их выполнения на конечном мобильном устройстве

Апробация работы
С докладом по данной тематике делал доклад на а V международной студенческой научно-технической конференции «Компьютерный мониторинг и информационные технологии», в секции «Компьютерная графика и специализированные средства».

4. Обзор существующих исследований и разработок по теме

4.1 Локальный обзор

  • http://eixin.livejournal.com/ «Разработка для мобильных устройств». Обзор характерных особенностей платформ (Windows Mobile и Symbian). Примеры кода.
  • http://twitter.com/pashka_r «Django на Google App Engine». Плюсы, минусы, подводные камни. Использование django trunk вместо 0.96, установленной по-умолчанию. На примере RSS and twitter трекера за торрент-трекерами trackit4me.com.

4.2 Национальный обзор

  • http://twitter.com/podgorniy «Микроформаты». Зачем нужны, как работают, практическое применение.

4.3 Мировой обзор

5. Основная часть

 В последние года получил широкое распространении беспроводной способ доступа к глобальной сети Internet посредством wifi, 3G, gprs(edge) и других технологий. Соответственно на рынке появляются специально приспособленные устройства, дающие возможность простого и “прозрачного” доступа к сетям, и ,что наиболее важное, являющиеся компактными и мобильными. Последняя черта предоставляет пользователям большую мобильность – например, в дороге, в течение перерыва можно почитать последние новости или узнать текущий курс валют на фондовых рынках.

К таким устройствам можно отнести три базовых класса устройств:

  • КПК (карманные ПК) – здесь на рынке доминируют «наладонники» от таких фирм, как Asus, HP, HPC, Sharp(Zaurus). В первых трёх предустановлена ОС от компании Microosft ® WinCE ®. Sharp использует ОС, основанную на ядре ОС Linux.
  • Мобильные tablet phones («таблетки»). Это мобильные телефоны, снабженные соответственной функциональностью. К мировым лидерам по производству вышеуказанных устройств можно отнести компании Nokia.
  • Macintosh (iPhones), HPC В последнее время широкое распространение получили нет буки (netbooks) — ответвление от laptop pc's. Обычно, нет бук имеет монитор диагональю 7 — 10', ЖД на базе флеш накопителей, wifi+ethernet порты. CD/DVD-RW отсутствует за ненадобностью. К нет букам относятся Asus eeePC (701, 901,1000), MSI Wind, модельный ряд Acer' ов. На этих моделях можно встретить два вида ОС — Microsoft ® Windows ® XP и GNU/Linux.

Из этих трёх категорий для более детального рассмотрения была выбрана вторая, т.к. данные устройства функционируют не только как средства для подключения к сети, но и как полноценный мобильный телефон. Кратко рассмотрим более детальнее ряд продукции, сравним их по следующим основным критериям:

  • функциональность.
  • Операционная система
  • цена
В первой категории устройства примерно обладают одинаковыми свойствами. Все они обладают GPR модулем — встроенным( в случае HPC, iPhone) или подключаемым как внешний модем (Nokia n8xx series). Iphone и HPC обладают touch-screen'ом, что даёт возможность пользователю не пользоваться стилусом, а непосредственно вручную осуществлять все операции

Nokia phone такой функцинальсностью пока не обладает. Операционная система (ОС) на HPC Touch — Windows Mobile 2007. Это перенесенная на мобильную платформу ОС семейства Windows, обладающая теми же недостатками, что и её «старшие» братья. Основная — слабая защищённость от вредоносных вирусных программ из-за непродуманной в этом плане архитектуры и плохой реализации, в плане безопасности, процесса взаимодействия с пользователем. Также в действительности набор прикладных программ очень скуден, и порой достаточно сложно найти необходимое приложение.

Macintosh iPhone содержит в себе ОС семейства Macintosh, построенную на базе ядра Unix *bsd, обладающего стабильностью и высокой степенью защищённости. Все положительные стороны отпадают из-за закрытой лицензии. (Изначально ядро ОС BSD распространяется под open source лицензией, но это позволяет в дальнейшем закрывать продукт, при добавлении в него своих разработок, чем координально отличается от лицензии, под которой распространяется GNU/Linux — GPL(v2, v3).

И, наконец, Nokia n8xx series. Изначально, Nokia, все свои продукты ( коммуникаторы) комплектовала своей собственной ОС, которая совсем недавно стала OpenSource. Но, именно Nokia tablets n8xx series работают на ядре GNU/Linux. Это дает широкие возможности по переносу программного обеспечения на данный смартфон с платформ x86, x86_64. Для написания графических приложений, как под Microsoft Windows, Macintosh, Linux можно использовать вызовы API для построения отдельных графических элементов, затем образуя из них конечный продукт. Но это трудоёмко, иногда приходиться делать одну и туже работу, поэтому появились т.н. графические фреймворки — набор библиотек, облегчающие написание графических приложений, которые используют свои «функции-обвязки» для системного API. Существует множество различных фреймворков. Для языков C — это GTK+, WxWidgets; для C++ - Qt. т.к. компания Nokia недавно приобрела компанию Trolltech ( разработчика QT4 Framework), то именно этот фреймворк и используется на её коммуникаторах. Под Qt( а точнее Qt v4 — 4-ю версию программного продукта компания Nokia использует для своих разработок).

Существует множество различных фреймворков. Для языков C — это GTK+, WxWidgets; для C++ - Qt. т.к. компания Nokia недавно приобрела компанию Trolltech ( разработчика QT4 Framework), то именно этот фреймворк и используется на её коммуникаторах. Под Qt( а точнее Qt v4 — 4-ю версию программного продукта). Под Qt4 написано множество приложений для настольных ПК, и задача стоит не в написании новых, а адаптации и переносу «старых» на новую платформу. С чем великолепно справляется Qt v4. Для мобильных платформ выпущена специальная версия Qt — Qt embedded (Qt для встроенных платформ). Рассмотри следующие преимущества Qt 4 embedded

  • 1. Быстрое создание расширенного пользовательского интерфейса с возможностью его модифицировать в дальнейшей, не прилагая большие усилия.
  • 2. Ускорение процесса разработки, использую интуитивно понятные API.
  • 3. Выбор только необходимых компонентов для продукта, используя модульность библиотек
  • 4. Простой процесс переноса ПО с одной платформы на другую — достаточно только перекомпилировать продукт
  • 5 .Оптимизация производительности, которая достигается за счёт встроенных средств фреймворка и быстрых тестов
Рассмотрим подробнее некоторые из вышеперечисленных аспектов. На рис 1. изображена структура, каркас, показывающая модульность фреймворка.
Здесь можно проследить четкое разбиения на 4 подчасти, каждая из которой содержит модули, отвечающие за определенную область. Это пользовательская часть, часть, отвечающая за содержание самой системы(пакетный менеджер и пр.), коммуникационная часть и специфическая для каждого пакета. Использования отдельных модулей даёт возможность экономно расходовать оперативную память в устройствах, не перегружать ЦПУ, тем самым продлевая время «жизни» батареи.
Модульная структура Qt4 Embedded
Рисунок 1 — Модульная структура Qt4 Embedded (анимация, 5 кадров, 5 циклов, 126 Кбайта)


Рассмотрим ранее описанную возможность тестирования приложений и программных средств, для нахождения скрытых ошибок и увеличения скорости.
Тест создаётся и находится в той же директории, где находятся исходные тексты тестируемой программы или модуля. К примеру, создадим в той же директории,где расположены исходные тексты для исследуемого проекта. Там же создадим файл с исходным кодом для тестирования — sys_demo.js Далее будем приводить части листингов с пояснениями их работы.

Рассмотрим листинг. (тестовой программы)

	
		testcase = {
			testFunction1: function()
			{
				print("Hello, World!\n");
			}
		}
	

Любой тест начинается с ключевого слова testcase, за которым следует список тех функций, которыми будет производиться тестирование. В данном примере мы используем лишь одну функцию, которая пока не содержит ошибок, и печатает на экране «Hello, World». Запустив тест на исполнение, получим следующую информацию.

Результаты процесса тестирования ПО
Рисунок 2 — Результаты процесса тестирования ПО


Используя данную методологию можно проводить тестирования созданного программного обеспечения и проверять степень его защищенности и эффективности.

Рассматриваемая платформа, получившая в последнее время обладает полной функциональностью в плане поддержки шифрованных сетей, построенных на основе WEP, WAP/WAP2. Для того, чтобы организовать подобную сеть, можно воспользоваться двумя способами. Можно использовать средства ОС, которой она управляется – Maemo OS. Данная ОС полностью реализует GUI, известный также под названием GNOME. Системная утилита Networking Manager позволяет в режиме мастера установки сети создать беспроводную сеть с заданным уровнем шифрования или подключиться уже к существующей сети.

Для создания сети из программного окружения (при разработке соответствующего ПО) можно воспользоваться API функциями из библиотеки osso-wlan.[4] Подключив заголовочный файл wpa.h, можно получить доступ ко всем необходимым функциям. Таким, как - set_wpa2_encryption(), handle_wps_ie() и прочие. Таким образом можно полностью реализовать функциональное соединение по протоколу wap/wap2, wep, обеспечив тем самым безопасность передаваемых данных.

Также в процессе разработке необходимо учитывать аспект безопасности. Для этого желательно использовать объектно-ориентированный подход в процессе разработке, отходя от устаревшего процедурного стиля, выделяя несколько этапов в разработке:

  • Анализа
  • Проектирования
  • Реализации

Данный подход обеспечивает возможность устанавливать необходимую степень защиты проекта и проводить его контроль в процессе разработки.

5. Выводы

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

6. Литература


Важное замечание
 При написании данного автореферата магистерская работа еще не завершена. Окончательное завершение: 1 декабря 2009 г. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.