Выбор мобильной платформы и изучение инструментов разработки - Исследование алгоритмов
Практическая реализация алгоритмов, представленных в предыдущих пунктах, предполагает:
- 1) Выбор мобильной платформы; 2) Изучение соответствующей среды разработки; 3) Исследование сторонних библиотек, использование которых дает возможность эффективно решить поставленные задачи.
На современном рынке мобильных устройств конкурируют 3 основные операционные системы (ОС): Android, iOS и Windows Phone. Для того, чтобы определиться с выбором, в таблице 1.2 подготовлен краткий сравнительный обзор этих платформ.
В силу открытости, доступности и высокой распространенности, в качестве платформы была выбрана ОС Android.
Для работы с платформой Android была использована интегрированная среда разработки Android Studio 0.9.9 URL:https://developer. android. com/sdk/index. html, основанная на программном обеспечении IntelliJ IDEA и системе Gradle. Android Studio не случайно предпочтена среде Eclipse. Выбор обуславливается тем, что эта среда:
- - специально предназначена для разработчиков Android; - позиционируется непосредственно как замена Eclipse Конференция Google I/O, 03.2013 (в связи с чем рекомендован переход с Eclipse);
Таблица 1.2
Сравнительный обзор основных мобильных платформ Данные по мировому рынку мобильных устройств на 30.01.2015. URL: http://4pda. ru/2015/01/30/199363/
Доля устройств, использующих данную ОС, % |
Ресурсозатратность разработки |
Среда разработки |
Язык разработки | |
Android |
81,5 |
Высокая (необходимость учитывать разную производительность устройств, большое количество размеров экрана и пр., следствие - увеличенные затраты на проектирование нескольких интерфейсов и дополнительное тестирование) |
Eclipse IDE; Android Studio |
Java |
IOS |
14,8 |
Высокая (за счет повышенных требований к готовому продукту и, как следствие, дополнительных затрат на доработку) |
Xcode IDE |
Objective-C |
Windows Phone |
2,7 |
Низкая (за счет низкой конкуренции внутри магазина) |
Microsoft Visual Studio |
C++, C#, Visual Basic или XAML |
- - обладает более удобным для работы над мобильным приложением интерфейсом; - быстрее обновляется и развивается. На момент сдачи выпускной квалификационной работы выпущена первая стабильная версия 1.0.
Дополнительно была использована интегрированная среда разработки приложений на языке C++ Microsoft Visual Studio 2010.
Для того, чтобы получить возможность реализовать алгоритм обучения каскадного классификатора практически, в работе была использована библиотека машинного зрения OpenCV URL:http://opencv. org/ с открытым исходным кодом. Библиотека написана на оптимизированном C и C++, работает под Linux, Windows и Mac OS X. Фактически, OpenCV - это набор типов данных, функций и классов для обработки изображений алгоритмами компьютерного зрения. Структурно библиотека OpenCV разделена на небольшие модули по функциональному использованию. Отдельно стоит отметить модуль методов и моделей машинного обучения opencv_ml. Так, OpenCV включает в себя подбиблиотеку общего назначения MLL (Machine Learning Library, Библиотека Обучения Машин). Эта подбиблиотека решает задачи статистического распознавания образов, классификации и кластеризации. В работе используется версия библиотеки OpenCV 2.4.9.
Заявленная библиотека подходит как для программирования на языке C++, так и для разработки под Android. Она предоставляет несколько утилит, необходимых для тренировки каскадного классификатора: Opencv_haartraining, Opencv_traincascade, Opencv_createsamples и Opencv_performance. Подробнее использование этих приложений описано в следующей главе.
Проектирование архитектуры приложения основывалось на базовых принципах разработки Android-приложений, а именно:
- 1) SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation и Dependency inversion):
- - принцип единственной обязанности класса (т. е. на каждый класс должна быть возложена только одна обязанность); - принцип открытости/закрытости программных сущностей (т. е. программные сущности должны быть открыты для расширения, но закрыты для изменения); - принцип подстановки Барбары Лисков (т. е. функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом); - принцип разделения интерфейса (т. е. несколько специализированных интерфейсов лучше, чем один универсальный); - принцип инверсии зависимостей (зависимости внутри системы строятся на основе абстракций, модули верхнего уровня не зависят от модулей нижнего уровня, абстракции не должны зависеть от деталей, детали должны зависеть от абстракций);
Таким образом, правильная архитектура основывается на группе методов, реализующих системы, которые являются:
- - независимыми от фреймворков; - тестируемыми; - независимыми от интерфейса пользователя (user interface, UI); - независимыми от баз данных; - независимыми от любой внешней службы.
Применение перечисленных принципов гарантирует то, что созданное приложение будет простым как в поддержке, так и в тестировании, а также будет обладать свойством составлять единое целое, будучи разделенным.
Похожие статьи
-
Анализ и выбор операционной системы При создании мобильного приложения, первый возникающий вопрос - для какой платформы его разрабатывать. На рынке...
-
Разработка интеграционных платформ началась одновременно с исследованием и развитием Интернета Вещей. Это происходило по той причине, что сама концепция...
-
Одним из самых важных начальных этапов при разработке ПО является выбор технологического стека, с помощью которого будет происходить разработка продукта....
-
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве...
-
Разработка приложений ведется на языке Java, для этого потребуется специальное программное обеспечение. Самые новые версии системного программного...
-
Предметная область IoT (Интернет вещей) - это сеть физических объектов - устройств, транспортных средств, зданий и других вещей со встроенной...
-
Технические требования Техническое задание данной работы требует разработать программу для визуального редактирования HTML-кода. Программа должна быть...
-
ОС Android - операционная система для мобильных телефонов, планшетных компьютеров и нетбуков, основанная на ядре Linux. Изначально разрабатывалась...
-
Обоснование выбора средств для разработки В качестве платформы была взята платформа NET, потому что платформа NET на текущий момент самая передовая и...
-
В работе возникает необходимость выбора предметной области, в которой будет тестироваться каскадный классификатор. Главными вопросами на данном этапе...
-
Алгоритм работы декодера кода Рида - Маллера будем разрабатывать на основе уже приведенных выше уравнений. Алгоритм приведен на рисунке 12. В начале...
-
При создании проекта нужно указать его свойства: Application Name (название приложения), Project location (расположение проекта на диске), Min SDK...
-
Основные компоненты и структура приложения Прежде чем приступить к установке и настройке среды программирования, построению технического задания и...
-
Выбор СУБД - Разработка прототипа веб-приложения "Репозиторий электронных ресурсов"
Самыми широкоиспользуемыми на данный момент СУБД являются MySQL, PostgreSQL и MSSQL Server, а также Oracle, SQLite, Firebird и другие СУБД. Выделим...
-
Разработка с "нуля", Выбор метода разработки - Различные виды программ для Multi-Touch столов
Разработка приложения на каком-либо языке с нуля достаточно трудоемкий процесс, так как в случае создания интерфейсов понадобиться множество времени для...
-
Обучение с учителем и формальная запись задачи классификации Теория машинного обучения решает задачи предсказания будущего поведения сложных систем в том...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
В программе присутствуют следующие основные модули: - PlatformManager - DeviceManager - ScenariosManager - ScenarioEngine - ExportManager - ImportManager...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
Обоснование выбора средств разработки проекта Для реализации корпоративной информационной системы "Бюджетное планирование и отчетность" в исследуемой...
-
Заключение - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Смартфон интерфейс мобильный приложение В результате проведенной работы были рассмотрены существующие мобильные ОС и изучены особенности и архитектура...
-
Для работы с базами данных созданы системы управлением базами данных. Существует довольно большое количество СУБД, особенно предназначенных для работы с...
-
Для перехода к описанию выбора средств разработки, необходимо выделить этапы работы программы. Алгоритм работы программы представлен ниже: Пользователь...
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
Структура проекта Программа была реализована на языке Java в среде разработки AndroidStudio с помощью инструментов для разработки Android SDK. Разработка...
-
Разработка приложения, Инструменты разработки - Создание приложения
В этой главе будут перечислены инструменты разработки; процесс разработки Андроид-приложения; системные требования к устройствам, на которых приложение...
-
Домашнее использование чаще всего представляет из себя набор сенсоров, собирающих информацию об индивидах, которые напрямую владеют этой сетью. Это могут...
-
В процессе выполнения дипломной работы было проведено ознакомление с принципами построения баз данных. Мною изучена СУБД "MS SQL Server", которая на...
-
Разработаем алгоритм одного из основных методов, используемого в данной программе. Private void pictureBox1_MouseDown(objects sender, MouseEventArgs e)...
-
В настоящее время биометрия входит в состав наиболее распространенных технологий и средств защиты информации. Отпечатки пальцев являются самой широко...
-
Описание алгоритмов Рассмотрим один из основных алгоритмов, задействованных в программе, - алгоритм передвижения мяча. Блок-схема алгоритма изображена на...
-
Программа экспериментальных исследований В предыдущей главе была описана процедура создания приложения, а также его структура и интерфейс. В данной главе...
-
Структура и интерфейс программы - Исследование алгоритмов
В этой части работы описывается процесс создания мобильного приложения на платформе Android, способного использовать обученные каскадные классификаторы...
-
Мобильный телефон один из немногих потребительских товаров, получивший всеобщее признание в течение относительно короткого периода времени. Сегодня...
-
На текущий момент AMQP 1.0 официально поддерживается всеми сервисами Azure, которые являются частью шлюза соединения. Microsoft сориентировался на этом...
-
В рамках работы над разработкой модуля программируемых сценариев взаимодействия была подробно изучена и описана предметная область Интернета Вещей, ее...
-
Выбор способа объединения подсетей на магистрали, например, с помощью маршрутизации, с помощью шлюзов или же с помощью транслирующих коммутаторов. При...
-
Следующим этапом, когда документация найдена, источники изучены, а другие решения проанализированы, является реализация автоматизированной системы...
-
Несмотря на то, что к IoT Hub можно подключиться напрямую, используя протоколы HTTP или AMQP), Microsoft также предоставляет разные SDK для разных языков...
Выбор мобильной платформы и изучение инструментов разработки - Исследование алгоритмов