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

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

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

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

Добавлен: 31.03.2023

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

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

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

ВВЕДЕНИЕ

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

Объектом исследования является

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

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

Для реализации этой цели необходимо разрешить следующие задачи:

- изучить теоретические основы мобильных приложений;

- разработать мобильное приложение для Android.

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

Глава 1 Теоретические основы разработки мобильных приложений

1.1 Основы разработки приложений для ОС Android

Операционная система Android – это открытая платформа, а значит, что она не привязана к одному провайдеру. Это помогает Android завоевать рынок, так как любой производитель и провайдер может создавать и продавать устройства, поддерживающие эту операционную систему. Исходный код Android доступен каждому для изучения или модифицирования. Это позволяет дать широкий простор для создания удобных интерфейсов и приложений для Android-устройств [1].

ОС Android может использоваться на устройствах с разными размерами экрана и другими техническими характеристиками, поэтому она поставляется с набором инструментов, которые помогают приложению адаптироваться под конкретное устройство. Политика Google более жесткая. Например, если приложение требует наличие фронтальной камеры, то это приложение в Android Market увидят телефоны только с фронтальной камерой.

Мобильное приложение – это самостоятельный программный продукт, устанавливаемый под необходимую операционную систему устройства (смартфона, планшетного компьютера и т.п.).


Android приложение пишется на языке Java, однако при разработке необходимы также документы XML. Язык Java используется здесь не в полнофункциональном варианте, а только в небольшом подмножестве, которое иногда называют виртуальной машиной Davlik. В этом подмножестве не используются те классы Java, которые не могут быть применены или не имеют смысла при разработке приложений на мобильные устройства.

Android приложение включает в себя одну или несколько деятельностей (activities). Деятельность можно представить в виде контейнера, содержащего пользовательский интерфейс и код, который его запускает.

Намерения (intents) составляют систему сообщений на Android. Намерение состоит из действия (action), которое необходимо выполнить (посмотреть, редактировать и др.) и данных. Действие – это то, что должно быть совершено при получении намерения и данных, с которыми необходимо оперировать.

Намерения используются при запуске деятельности и при коммуникации между различными частями Android системы. Приложение может получать или отправлять намерения.

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

Если просто отправить намерение, это не означает, что что-то произойдет автоматически. Для этого необходимо зарегистрировать приемник намерений (intent receiver), который получает намерение и указывает Android системе, что нужно сделать: выполнить задачу в новой деятельности или запустить другое приложение. Если же имеется несколько приемников для получения intent, можно создать инструмент, позволяющий пользователю самому выбрать необходимое действие. Одним намерением могут быть найдены несколько приемников, поэтому пользователь лично определяет action, которое нужно выполнить. Например, при долгом нажатии на изображение в галерее, появляется инструмент выбора, который предлагает отправить картинку через e-mail или социальные сети, редактировать или удалить и др.

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

Виджеты и видовые окна.

Видовое окно (view) представляет собой базовый элемент управления интерфейса в виде прямоугольной области, где можно рисовать и обрабатывать события. Примерами видовых окон являются: контекстное меню (ContextMenu), меню (Menu), вид (View), поверхность рисования (SurfaceView).


Виджеты (widgets) – это более продвинутые элементы пользовательского интерфейса, например, флажки с переключателями, где можно выбрать одно из нескольких возможных состояний. Виджеты являются теми элементами управления, с которыми взаимодействует пользователь. Виджетами являются: кнопка (Button), выбор даты (DatePicker), галерея (Gallery), флажок (CheckBox) и др.

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

Ассинхронные вызовы.

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

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

Асинхронные потоки применяются при выполнении задач, которые занимают много времени, например, загрузка файла из Интернета, воспроизведение аудиозаписи или просмотр видеоклипа, т.е. то, что заставляет пользователя ждать. Если пользователю необходимо подождать решения какой-либо задачи, то лучший выход из ситуации – создать асинхронный поток, чтобы дать возможность пользователю заниматься в это время чем-нибудь другим.

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

Фоновые службы.

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

Архитектура Android приложения.

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

Деятельности состоят из видовых окон (View). Общую структуру стандартного Android приложения можно представить в виде схемы (рисунок 1).

Рисунок 1 – Структура Android приложения

1.2 Основы программного обеспечения для устройств

Тесты существенно по задачам, которые с их решаются, и по используемой . Различие тестирования приводит, образом, к необходимости весьма разнообразные (виды) . Принято подразделять на виды по следующим [3]:


по объектам (элементам) , часто на виды тестов по критерию называют тестирования на уровни;

по тестирования, то разделение тестовых на типы проводится в от количества времени и тестируемых программного продукта.

Тем не , основная классификация на виды производится в с традиционными качества, которые с их помощью [4].

Уровни :

Модульное тестирование ( или Unit-):

Входные требования – компонентов или модель « уровня» системы ( Design или Low Design).

Объект – разработанные компоненты.

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

тестирование (Сборочное , integration или interface testing) [6]:

требования – Архитектура или модель «верхнего » системы ( Design или High Design).

Объект – собранная из компонентов или подсистема.

: на данном уровне объединенные элементы ( или подсистемы) общей , чаще некоторая взаимодействующая собой группа .

Комплексное тестирование не на проверку каждого из компонентов, а на взаимодействия компонентов в с «Архитектурой системы».

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

тестирование ( testing):

Входные – системные спецификации ( Specification).

Объект – разработанная .

Определение: после , как система собрана из компонентов, она должна протестирована на «Системным спецификациям» – ли все функциональные и нефункциональные к разрабатываемой системе.

На уровне приложение или система ( или более приложений) .

Приемочное тестирование ( тестирование или testing):

Входные – требования (requirements).

тестирования – разработанная .

Определение: на уровне завершенное (система) тестируется заказчиком, конечными пользователями или уполномоченными с определения соответствия «Требованиям Заказчика» и системы к внедрению. испытания процесс передачи от Разработчика Заказчику. В от особенностей продукта и от Заказчика они проводиться в различной . Например, в виде альфа- или [10].

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


Бета - тестирование, этапом программного обеспечения альфа-тестирования. Программное в стадии бета - также как betaware [27]. Бета - обычно начинается, программное обеспечение законченным продуктом, но , , содержит ряд известных или ошибок [27]. Программное в фазе бета - , как правило, гораздо больше , чем в законченном программном обеспечении, а также вопросы / производительности и может привести к или потери данных. В внимания бета - является воздействия на пользователей, включая юзабилити-тестирование. Процесс бета - тестирования до продукт бета - версией, и как , это первый раз, когда обеспечение доступно за и организации, над ним. Бета - версия обеспечения часто полезно для демонстрации и просмотров в организации и для потенциальных . Некоторые разработчики эту версию в качестве просмотра, версии, прототипа, просмотра, или ранний [28]. Некоторые программные хранятся в постоянной бета - , где новые возможности и постоянно добавляют к обеспечению без создания фирмы «» выпуска .

Приёмочное тестирование с системным тестированием, но со различием:

Системное проверяет, что система соответствует требованиям;

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

Операционное (Release Testing):

требования – Бизнес (Business Case или Model).

тестирования – Разработанная .

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

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

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

(Verification) – это процесс системы или её с целью определения ли результаты текущего разработки условиям, в начале этапа [21]. Т.е. выполняются ли цели, сроки, по разработке проекта, в начале фазы.

Валидация () – это определение соответствия, ПО ожиданиям и потребностям , требованиям к [21].

Основное разделение на виды по объектам , или, точнее, на уровни , было нами при определении модели. Уровни приведены выше. Для уровня могут использоваться виды тестирования, для из которых, в свою , могут различные типы испытаний [25].