Файл: Этапы разработки, тестирования и ввода в эксплуатацию мобильных приложений (Теоретические сведения о разработки мобильных приложений).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 108

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Преимущества языка Java:

1. Одно из основных преимуществ языка Java - независимость от платформы, на которой выполняются программы: один и тот же код можно запускать под управлением операционных систем Windows, Solaris, Linux, Machintosh и др. Это действительно необходимо, когда программы загружаются через Интернет для дальнейшего выполнения под управлением различных операционных систем.

2. Синтаксис языка Java похож на синтаксис языка C ++, и программистам, знают языка С и C ++, его изучение не составляет труда.

3. Кроме того, Java - полностью объектно-ориентированный язык, даже в большей степени, чем C ++. Все сущности в языке Java являются объектами, за исключением немногих основных типов (primitive types), например чисел.

4. Высокая надежность. Разработчики снабдили язык Java средствами, позволяющими исключить саму возможность создавать программы, в которых были бы скрыты наиболее распространенные ошибки. Для этого в языке Java сделано следующее: - исключена возможность явного выделения и освобождения памяти. Память в языке Java освобождается автоматически с помощью механизма сборки мусора.

Программист застрахован от ошибок, связанных с неправильным использованием памяти; - введены истинные массивы и запрещена арифметика указателей. Теперь программисты в принципе не могут стереть данные из памяти в результате неправильного использования указателей; - исключена возможность перепутать оператор присваивания с оператором сравнения на равенство. Теперь нельзя даже скомпилировать выражение if (еntries = 3); - исключено множественное наследование. Оно заменено новым понятием - интерфейсом. Интерфейс дает программисту почти все, что он может получить от множественного наследования, избегая при этом сложностей, возникающих при управлении иерархиями классов. Несмотря на все вышеперечисленные преимущества языка Java, решено осуществлять разработку мобильного приложения именно с ее использованием.

1.4 Анализ сред программирования

Для разработки приложений на языке программирования Java популярны Eclipse и Android Studio. Eclipse [4] - свободно модульные интегрированные среды разработки программного обеспечения. Разрабатывается и поддерживается Eclipse Foundation и включает проекты, такие как платформа Eclipse, набор инструментов для разработчиков на языке Java, средства для управления исходными кодами, визуальные построители GUI и тому подобное. Написанный в основном на Java, может быть использован для разработки приложений на Java и, с помощью различных плагинов, на других языках программирования, включая Ada, C, C ++, COBOL, Fortran, Perl, PHP, Python, R, Ruby (включая каркасом Ruby on Rails), Scala, Clojure и Scheme. Среды разработки частности включают Eclipse ADT (Ada Development Toolkit) для Ada, Eclipse CDT для C / C ++, Eclipse JDT для Java, Eclipse PDT для PHP. Eclipse представляет собой фреймворк для разработки модульных кросплатформових приложений с рядом особенностей: - возможность разработки ПО на многих языках программирования (родным является Java) - кросс-платформенных; - модульная предназначена для дальнейшего расширения независимым разработчиками; - с открытым исходным кодом; - разрабатывается и поддерживается фондом Eclipse, куда входят такие поставщики ПО, как IBM, Oracle, Borland. Eclipse прежде всего полноценная Java IDE, нацеленная на групповую разработку, имеет средства работы с системами контроля версий (поддержка CVS входит в поставку Eclipse, активно развиваются несколько вариантов SVN модулей, существует 28 пидтримкаVSS и других).


Учитывая бесплатность, во многих организациях Eclipse - корпоративный стандарт для разработки ПО на Java. Второе назначение Eclipse - служить платформой для новых расширений. Таковы C / C ++ Development Tools (CDT), разрабатываемые инженерами QNX вместе с IBM, средства для поддержки других языков разных разработчиков. Множество расширений дополняет Eclipse менеджерами для работы с базами данных, серверами приложений и других. Eclipse - это универсальная среда разработки, поддерживает много языков программирования. Есть и другие среды разработки с поддержкой Android (Net Beans, например), но для удобства используют среду Eclipse с установленным плагином ADT. Разработка ведется на языке программирования Java. Есть возможность налаживания с использованием эмулятора встроенного в ADT или непосредственно на мобильном устройстве с ОС Android. Для описания интерфейса приложений используется еще один язык - XML (расширяемый язык разметки). ADT плагин позволяет конструировать интерфейс Android-приложений без написания XML кода вручную. Этот же плагин связывает среду Eclipse с эмулятором Android-устройства. Эмулятор - это виртуальный аналог реального телефона с ограниченной функциональностью. Он необходим для тестирования написанных приложений.

Android Studio [5] - это относительно новая среда разработки Андроид приложений, основанная на платформе Intellij IDEA компании JetBrains. Среда разработки адаптировано для выполнения типовых задач, решаемых в процессе разработки приложений для платформы Android. В том числе в среду включены средства для упрощения тестирования программ на совместимость с различными версиями платформы и инструменты для проектирования приложений, работающих на устройствах с экранами разного разрешения (планшеты, смартфоны, ноутбуки, часы, очки и т.д.). Кроме возможностей, присутствующих в IntelliJ IDEA, в Android Studio реализовано несколько дополнительных функций, таких как новая унифицированная подсистема составления, тестирования и развертывания приложений, основанная на сборочном инструментарии Gradle и поддерживающая использование средств непрерывной интеграции. Для ускорения разработки приложений представлена коллекция типовых элементов интерфейса и визуальный редактор для их компоновки, предоставляет удобный предварительный просмотр различных состояний интерфейса приложения (например, можно посмотреть, как интерфейс будет выглядеть для различных версий Android и для различных размеров экрана). Для создания нестандартных интерфейсов присутствует мастер создания собственных элементов оформления, поддерживает использование шаблонов.


Android Studio имеет некоторые недостатки, а именно связанные с быстродействием: 1) процессы выполняются неоправданно долго, так как постоянная синхронизация с Gradle значительно замедляет компиляцию проектов, по сравнению с Eclipse; 2) частые зависания окон программы, очень медленная работа с SpellChecker.

2. Разработка моделей и структур мобильного приложения

2.1. Этапы разработки мобильного приложения

Бизнес-анализ целевого рынка

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

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

Планируются ли продажи / конверсия переходов в продажу товаров и услуг в рамках приложения?

Кто ваша целевая аудитория и за счет кого она может пополниться?

Насколько высока конкуренция в сфере, в которой вы планируете работать (в том числе — с приложением)?

Какими приложениями пользуется ваша аудитория и аудитория ваших конкурентов, пересекаются ли они между собой? Готовы ли они пользоваться вашим приложением вместо приложений-аналогов?

Каков бюджет на разработку и продвижение полученного приложения?

Выработка согласованного решения

Перед началом разработки необходимо получить от заказчика техническое задание (ТЗ) или предоставить ему бриф для заполнения и дальнейшей работы по этому документу.

После получения заполненного брифа и / или ТЗ можно приступать к прототипированию и составлению пользовательских профилей для оценки возможностей итогового продукта.

На основе видения дизайнера, бизнес-оценки и согласования подробностей ТЗ можно запускать процесс разработки.

Прототипирование

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


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

Написание кода и внедрение технологий

С готовым дизайном приложение переходит к разработчикам: им предстоит на основе языков программирования, фреймворков и различных технологий создать мобильное приложение в соответствии с ТЗ, брифом и утвержденным прототипом.

Тестирование

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

Создание предрелизной версии

В результате серии тестов и доработок приложения должна быть получена рабочая версия приложения. Именно эту версию и предстоит добавить в магазин приложений: Apple App Store, Google Play, магазин приложений Windows Phone (в зависимости от того, для какой платформы ведется разработка) или любой аналогичный сервис для дистрибуции приложений.

Добавление приложения в магазин

Финальный этап работы студии — добавление приложения на ревью в один из указанных выше магазинов приложений (в случае Componentix речь идет об App Store или о Google Play).

Необязательный этап: дальнейшая техническая поддержка и маркетинговое продвижение приложения.

При желании заказчика возможно предоставление дополнительных услуг, таких как техническая поддержка приложения, дальнейший выпуск новых версий под обновляемые версии мобильных ОС, а также маркетинговое продвижение.

Поскольку эти услуги предоставляются отдельно от основного пакета услуг, то и оплачиваются отдельно. Помимо маркетинга и техподдержки возможно также размещение приложения в App Store или Google Play от имени заказчика (услуга White Label), обеспечение серверной поддержки для приложения.

Android использует специальные механизмы описания действий основанные на Internet. При необходимости выполнить действие (вызов, отправка почты, SMS) вызывается Internet. Для обмена данными между приложениями используется Content Providers. Обычно для создания проекта используются Android SDK, Java и IDE. Каждый язык программирования - уникальная и копирует методы и классы. В парадигме программирования, каждый из языков связана одна с одной концепциями, принципами и абстракциями, определяющих фундаментальный стиль программирования. Родных языках для Android является языка разметки XML, C ++ и C #.


Методы программирования под Android [6]: программирование под Android - это Java, приложения которой транслируются в байт-код, выполняемый виртуальной Java-машиной JVM; использование разметки RelativeLayout и свойство «fill_parent» для этой разметки; использование пустых элементов разметки TextField с нулевой высотой и шириной с параметром «centerInParent» равным «true» для выравнивания элементов по центру экрана; использование элегантных способов доступа к данным, таких как values [SensorManager.DATA_X]; использование методов onPause () / onResume () для сохранения или закрытия всего того, что этого требует; использование цветной разметки для объектов. Установление цвета фона для некоторых объектов. Это позволяет выделить ошибки и находить их быстрее; использование IDE, которая соответствует личным предпочтениям и требованиям разработчика.

Eclipse - IDE класса «все в одном» для которой существует множество дополнений. Eclipse имеет расширенный визуальный редактор интерфейса, есть возможность редактирования XML-файлов в GUI по принципу конструктора, просто собирая 32 Layout-и из предложенных «деталей»; плагин Eclipse MAT поможет найти истоки в памяти проекта; IntelliJ IDEA одна из самых быстрых и удобных IDE; использование нескольких рабочих мониторов для программирования. Добавление окна приложений на нескольких экранах (окно IDE, эмулятор, превью и документация) использование команды Source - Format для форматирования XML-файлов для приведения их в читабельный вид; использования плагина XML Tools для Notepad ++ для быстрого редактирования XML-файлов и понимание структуры кода использование Intents с помощью отдельного метода; избежание создания множества объектов. Использование существующих объектов; использования пулов потоков (thread pools), встроенных классов AsyncTask; хранения данных в SQLite, если они занимают большой объем; использование шаблонов (заранее заготовленные кусочки кода), которые можно быстро воспользоваться для вставки в проект при нажатии Ctrl + Space.

Существуют принципы разработки производительных приложений под Android. Основные из них: необходимо экономить аппаратные ресурсы, эффективно работать с выделением памяти, протоколировать и анализировать ход выполнения приложения, избегать лишних объектов и создавать методы статическими; для констант, классов необходимо использовать модификатор static final и не использовать enum там, где модификатор не вписывается.

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