Файл: Критерии выбора средств разработки мобильных приложений (Android Studio).pdf

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

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

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

Добавлен: 01.04.2023

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

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

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

Введение

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

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

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

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

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

1. Понятие мобильного приложения и его жизненного цикла

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

1.1. Основные виды и классификация мобильных приложений


Мобильное приложение может создаваться следующими способами:

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

В таблице 1 приведено сравнение основных видов мобильных приложений.

Таблица 1 – сравнение видов мобильных приложений

Вид мобильного приложения

Доступ к функционалу приложения

Скорость работы

Стоимость разработки

Распространение через магазин приложений

Процесс одобрения

Нативный

Полный

Очень высокая

Высокая

Доступно

Обязательный

Гибридный

Полный

Высокая

Средняя

Доступно

Обязательный

Веб - приложение

Частичный

Средняя

Средняя

Не доступно

Отсутствует

Мобильные приложение также можно классифицировать по разновидностям работы:

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

Приложения, по роду деятельности, можно разделить на следующие группы[1]:

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

1.2. Жизненный цикл мобильного приложения

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

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

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

Рис. 1 – каскадная модель жизненного цикла

Достоинствами такой модели являются:

  • формирование законченного набора проектной документации на каждой стадии, которая отвечает критериям полноты и согласованности;
  • возможность объективного планирования сроков и затрат.

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

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


Рис. 2 - спиральная модель жизненного цикла

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

Достоинствами спиральной модели является:

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

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

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

Рис. 3 – Эволюционная модель жизненного цикла

Рассмотрим достоинства данной модели:


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

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

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

Основатель компании по разработке мобильных приложений e-Legion, Роман Белодед, склоняется к жизненному циклу, основанному на каскадной модели. По его мнению, жизненный цикл должен быть представлен этапами, отраженными в Таблице 2[3].

Таблица 2 – этапы жизненного цикла при разработке мобильного приложения

Этапы жизненного цикла

Функции этапа

Установка цели

  1. Определяем целевую аудиторию;
  2. исследуем маркетинговые задачи;
  3. разрабатываем концепцию и способы привлечения аудитории.

Анализ требований

  1. Определяем требования к разрабатываемому продукту;
  2. пишем ТЗ.

Проектирование интерфейса и строение программного кода

  1. Разрабатываем дизайн;
  2. создаем схемы экранов;
  3. делаем черновые прототипы;
  4. прорабатываем план использования программы;
  5. прорабатываем условия сервера;
  6. создаем модель классов высшего уровня.

Утверждение дизайна интерфейса

  1. Разрабатываем модель высокой детализации;
  2. проводим испытание модели пользователем.

Программирование и разработка функций

  1. Разрабатываем сторону клиента;
  2. разрабатываем сторону сервера;
  3. прорабатываем вопросы безопасности;
  4. тестируем на модульных тестах.

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

Проводим тестирование по тест-кейсам и определяем соответствие первоначальным условиям.

Публикация в магазинах

Оформление, регистрация и презентация готового приложения

Техническая поддержка

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

Развитие и поддержка

Подразумевает выполнение всех вышеописанных этапов цикла

Отказ от поддержки

Снятие мобильного приложение с поддержки с последующей утилизацией продукта.