Разработка мобильного приложения для обмена фотографиями

Анализ рынка на предмет аналогов. Построение архитектуры приложения. Внедрение зависимостей и репозиторий, итоговая архитектура всего приложения. Выбор стека технологий, операционной системы, корутины. Серверная часть с помощью Backend-as-a-Service.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.08.2020
Размер файла 6,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Факультет информатики, математики и компьютерных наук

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Программа подготовки бакалавров по направлению 09.03.04 Программная инженерия

Разработка мобильного приложения для обмена фотографиями

Семенов Дмитрий Алексеевич

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

Старший преподаватель «Базовой кафедры группы компаний MERA»,

Бычков И.С.

Нижний Новгород, 2020

Введение

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

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

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

Проект выполнялся в сотрудничестве с еще одним Androidразработчиком. Подробнее о разделении задач рассказано в Главе 6.

Глава 1. Постановка задачи

Цель работы - разработка приложения для платформы Android для обмена фотографиями со случайными людьми.

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

Список требований к готовому приложению:

· Пользователь может войти в приложение с помощью номера телефона, а также с аккаунтами Googleили Facebook.

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

· Чтобы создать новый пейринг, пользователь делает фото в самом приложении. На экране создания пейринга кроме фото находится карта, отображающая его местоположение с точностью до города.

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

· Экран с профилем содержит следующую информацию о пользователе: имя, пол, количество созданных пейрингов, средняя оценка от других пользователей, идентификатор аккаунта (электронная почта или номер телефона)

Глава 2. Анализ рынка на предмет аналогов

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

Инструментами для распространения мобильных приложений служат магазины приложений. Для анализа были выбраны два крупнейших магазина Androidприложений - GooglePlayи HuaweiAppGallery.

2.1 Rando4Me

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

Rando4Me - это проект с открытым исходным кодом, репозиторий можно найти на GitHub. Приложение написано на Java.

Рисунок 1. Экран входа в приложение Rando4Me

Рисунок 2. Главный экран приложения Rando4Me

У проекта имеются серьезные недостатки, которые делают его непригодным к использованию.

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

· Дизайн приложения сильно устарел. Кроме того, UX команда проекта не справилась с проектированием интуитивного интерфейса, поэтому сложно понять, какие функции есть у приложения и как оно работает в целом.

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

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

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

Глава 3.Построение архитектуры приложения

Чтобы обеспечить качественную поддержку приложению в будущем нужно на начальных этапахразработкизадуматься об архитектуре.Грамотное разделение кода на архитектурные уровни серьезно увеличивает читаемость кода, упрощает процесс поиска и исправления ошибок, а также улучшает масштабируемость. Прежде чем выбрать один из существующих паттернов был проведен анализ всех популярных паттернов для разработки под ОС Android.

3.1 Анализ и сравнение популярных архитектур

Список выбранных паттернов:

· MVC - Model-View-Controller

· MPV - Model-View-Presenter

· MVVM - Model-View-ViewModel

Рисунок 3. Схемапаттерна Model-View-Controller

MVC - это фундаментальный паттерн (pattern), который нашел применение во многих технологиях, дал развитие новым технологиям и каждый день облегчает жизнь разработчикам.Основная идея этого паттерна в том, что иконтроллер, и представление зависят от модели, но модель никак не зависит от этих двух компонент. Независимость модели (бизнес-логики) приложения делает ее легко тестируемой и переиспользуемой, что крайне важно, если речь идет о промышленной разработке программного обеспечения. Сейчас этот паттерн устарел и популярность набрали егопроизводные - MVPиMVVM.

MVP - данный подход позволяет создавать абстракцию представления. Для этого необходимо выделить интерфейс представления с определенным набором свойств и методов. Презентер (Presenter), в свою очередь, получает ссылку на реализацию интерфейса, подписывается на события представления и по запросу изменяет модель. Этот подход оказался более удачным, так как теперь представление не зависит от модели, и архитектурные уровни разместились линейно сверху (View, то с чем взаимодействует пользователь) вниз (Model-часть приложения, отвечающая за функционал, бизнес-логика)

Рисунок 4. Схемапаттерна Model-View-Presenter

MVVM - данный подход позволяет связывать элементы представления со свойствами и событиями ViewModel. Можно утверждать, что каждый слой этого паттерна не знает о существовании другого слоя.ViewModelхранит состояние экрана в конкретный момент времени, благодаря чему можно без проблем разрушать и собирать обратно пользовательский интерфейс на экране, он всегда будет восстанавливатьнужное состояние из ViewModel. Это очень важный параметр при разработке под ОС Androidиз-за специфики перестроения интерфейса при определенных обстоятельствах (так, при повороте экрана activityразрушается и перестраивается заново с новыми параметрами, чего, например, в iOSне происходит).Это рекомендуемый компанией Google паттерн при разработке под Android.Существует большое количество удобных и современных инструментов, облегчающих реализацию этого паттерна. О них будет подробнее рассказано в Главе 3.

Именно этот паттерн был выбран в качестве основы для данной работы.

3.2 Паттерн Внедрение зависимостей (Dependencyinjection)

В программной инженерии внедрение зависимостей - это метод, при котором один объект (или статический метод) предоставляет зависимости другого объекта. Зависимость - это объект, который можно использовать (сервис).Обычно внедрение производится через параметры конструктора либо с использованием делегатов инициализации.

Практика внедрения зависимостей значительно улучшает тестируемость приложения. Появляется возможность в нужный момент просто подменить все зависимости модуля или класса на заглушки для проведения изолированных тестов (Unit-testing).

Архитектура данного проекта выстроена с применением этой практики.

3.3 Паттерн Репозиторий (Repository)

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

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

Репозиторий -- это коллекция, которая содержит сущности и может фильтровать и возвращать результат обратно в зависимости от требований вашего приложения. Где и как он хранит эти объекты является деталями реализации.

Паттерн Репозиторий был применен в данном проекте.

3.4 Итоговая архитектура всего приложения

На Рисунке 6 представлена архитектура всего приложения.

Глава 4.Выбор стека технологий

4.1 Выбор операционной системы

На сегодняшний день есть только две операционные системы, разработку под которые можно рассматривать, если цель - широкая аудитория. Это Androidи iOS.Androidзанимает примерно 74% всего рынка, что делает его значительно популярнее конкурента. Также, под Androidвести разработку несколько проще, для этого подойдет любой компьютер с практически любой операционной системой, в то время как для разработки под iOS требуется компьютер на MacOS и обязательным условием является разработка в Xcode - фирменной IDEот Apple.

Основываясь на всем вышесказанном, была выбрана ОС Android.

4.2 Язык программирования

Для нативной разработки под ОС Androidсуществует два варианта - JavaиKotlin. Оба языка работают на JVM и полностью совместимы, то есть возможно часть приложения написать на Kotlin, часть на Java, код на этих языках бесшовно взаимодействует. Для данного проекта был выбран Kotlin, так как он современный, лаконичный и обладает свойством null-safety, что избавляет от возможности возникновения ошибок, связанных к обращению объекта, равного null. Кроме того, в Kotlin есть поддержка корутин и делегатов на уровне языка. Именно его рекомендует Googleдля разработки под Android.

4.3 Корутины (Coroutines)

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

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

4.4 AndroidJetpack

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

· ViewModel - библиотека, которая помогает реализовать архитектурный паттерн MVVM.

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

· DataBinding - библиотека для удобной связки элементов пользовательского интерфейса и ViewModel. В связке с LiveData позволяет построить постоянную двустороннюю связь, то есть в любой момент времени изменяя ViewModel сразу видно изменения на экране и наоборот.

4.5 Внедрение зависимостей (Dependencyinjection)

Для инъекции зависимостей была выбрана библиотекаKoin, так как она проста в использовании, достаточно производительная, а также написана на Kotlin. В ней активно используется механизм делегатов, что делает ее использование очень удобным, а код читаемым.

4.6 Серверная часть с помощьюBackend-as-a-Service (BaaS)

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

После сравнения условий, тарифов и качества документации был выбран сервис Firebase от компании Google с бесплатным тарифом Spark, который полностью покрыл потребности проекта.

4.7 База данных

Все данные храниться локально, поэтому необходима локальная база данных. Androidподдерживает SQLite - библиотеку на языке C, которая реализует небольшой, быстрый, автономный, высоконадежный, полнофункциональный механизм базы данных SQL.

Для удобства работы сSQLite существует библиотека Room из ArchitectureComponents, которая благодаря кодогенерации существенно ускоряет создание таких баз. Было решено использовать ее для данного проекта.

4.8 Библиотека для загрузки изображений

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

4.9 Логирование

Логирование - это вывод сообщений о работе программы во время ее работы в консоль или в файл. Это делается для удобного поиска ошибок в программе.

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

Глава5. Организация процессов разработки

5.1 Agile

Agileужедавно стал стандартом индустрии. Это современная и гибкая методология разработки, строящаяся на утверждениях в своем манифесте:

· Люди и взаимодействие важнее процессов и инструментов

· Работающий продукт важнее исчерпывающей документации

· Сотрудничество с заказчиком важнее согласования условий контракта

· Готовность к изменениям важнее следования первоначальному плану

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

5.2 Стратегия нумерации версий

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

Версии в данном проекте нумеровались строго по правиламоткрытого соглашения SemanticVersioning, что предполагает три числа: majorversion, minorversion, patch, Этот подход давно получил признание сообществе разработчиков.

5.3 Система контроля версий

В проекте используется самая популярная система контроля версий Git, как всемирно признанный стандарт.

Репозиторий хранится на сервисе GitHub, который позволил не только работать с исходным кодом приложения, но и проводить процедуру Code-Review.

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

Глава6. Описание основных функций

6.1 Регистрация и вход для пользователей

Система пользовательских аккаунтов была реализована с помощью сервиса FirebaseAuthentication. Его возможности весьма широки, есть несколько методов входа, можно выбрать как один из них, так и несколько. В рамках проекта была реализована возможность входа в приложение с помощью номера телефона (приходит СМС с кодом подтверждения), а также входа с использованием аккаунтов Googleи Facebook.

Рисунок10. Экран входа в приложение

Рисунок11. Экран подтверждения номера телефона

6.2 Профиль пользователя.

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

· Идентификатор аккаунта (это либо номер телефона, либо электронная почта в случае входа через Googleили Facebook). Видит только пользователь.

· Пол. Видят все.

· Количество сделанных пейрингов. Видит только пользователь.

· Средняя оценка от других пользователей. Видит только пользователь.

6.3 Процесс создания фотографии

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

Рисунок 12. Экран с запросом разрешения на использование камеры

Рисунок13. Экран с камерой

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

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

После того, как пользователь нажал на кнопку «startpairing», в базу данных FirebaseFirestore добавляется новый запрос на создание пейринга. В запрос попадает следующая информация:

· Город

· Страна

· Пол

· Фото

· Время создания

· Подпись от пользователя

· Идентификатор пейринга

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

На Firebaseнастроены CloudFunctions, на которых и завязана вся серверная логика.CloudFunctions - это бессерверная инфраструктура, которая позволяет автоматически запускать JavaScriptили TypeScriptкод в ответ на события, вызванные функциями Firebase и запросами HTTPS. Скрипты хранятся в облаке Google и работают в управляемой среде.С помощью такого скрипта происходит выбор случайных запросов на сервере, которые дальше сливаются в пейринг.

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

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

Рисунок15. Экран создания пейринга

Рисунок16. Главный экран приложения

6.5 Список основных задач в проекте

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

Верстка:

· Экран входа в приложение

· Главный экран со списком пейрингов

· Экран начала пейринга

· Экран с камерой

· Экран с результатом пейринга

· Экран с информацией о профиле пользователя

Функции:

· Вход в приложение с помощью номера телефона

· Вход в приложение с аккаунтом Googleи Facebook

· Возможность делать фотографии

· Определение местоположения

· Размещение запроса на создание пейринга

· Получение информации о готовом пейринге

· Профиль пользователя со статистикой активности

· Уведомления

Другие задачи:

· Серверная логика на CloudFunctions

· Репозиторий данных о запросах на создание пейрингов

· Репозиторий данных о пейрингах

· Проектирование архитектуры

· Настройка автоматической нумерации версий

Заключение

Проект успешно прошел все стадии разработки и полностью готов к распространению среди пользователей Androidустройств. Удалось разработать приложение, не имеющее недостатков единственного аналога.

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

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

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

В ходе работы были приобретены ценные навыки:

· Опыт работы по методологии AgileKanban

· Навык верстки адаптируемых пользовательских интерфейсов

· Опыт создания клиент-серверных приложений

· Навык работы с BaaSрешениями на примере Firebase

· Опыт работы с пуш-уведомлениями

· Опыт создания готового продукта с нуля

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

Список использованной литературы

1. Android Developers [Электронный ресурс]. URL: https://developer.android.com/

2. Firebasedocs [Электронный ресурс]. URL: https://firebase.google.com/docs/android/setup

3. Habr [Электронный ресурс]. URL: https://habr.com/

4. Kotlinlang [Электронный ресурс]. URL: https://kotlinlang.org/

5. Medium[Электронный ресурс]. URL: https://medium.com/androiddevelopers

6. Moskala M. (2020). Effective Kotlin: Best practices [Книга].

7. ProAndroidDev[Электронный ресурс]. URL:https://proandroiddev.com/

8. Robert C. Martin (2008) Clean Code: A Handbook of Agile Software Craftsmanship [Книга].

9. StackOverflow [Электронный ресурс]. URL: https://stackoverflow.com/

10. YouTube[Электронный ресурс]. URL:https://www.youtube.com/

Размещено на Allbest.ru

...

Подобные документы

  • Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.

    дипломная работа [1,6 M], добавлен 17.06.2017

  • Современное состояние рынка мобильных приложений. Основные подходы к разработке мобильных приложений. Обоснование выбора целевой группы потребителей приложения. Этапы проектирования и разработки мобильного приложения для операционной системы Android.

    курсовая работа [987,1 K], добавлен 27.06.2019

  • Обзор мобильной операционной системы ios: Архитектура ОС iOS; уровень библиотек; среды разработки приложения (Xcode, Xamarin). Доступ к информации колледжа "Угреша". Требования к мобильному приложению. Подготовка среды разработки. Тестирование приложения.

    дипломная работа [5,6 M], добавлен 10.07.2014

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

    дипломная работа [2,6 M], добавлен 13.09.2017

  • Анализ российского рынка мобильных приложений. Мобильное приложение как новый канал коммуникации с целевой аудиторией. Этапы создания мобильного приложения. План продвижения мобильного приложения в сети Интернет. Бесплатные инструменты продвижения.

    дипломная работа [1,6 M], добавлен 23.06.2016

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

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

    курсовая работа [395,4 K], добавлен 28.04.2015

  • Выбор и обоснование аппаратного обеспечения. Типы архитектуры веб-приложений. Шаблоны проектирования архитектуры приложения. Разработка инфологической модели базы данных. Подготовка к разработке приложения. Рассмотрение причин возникновения паттернов.

    дипломная работа [3,0 M], добавлен 27.11.2022

  • Создание многоуровневого приложения с Web-интерфейсом выставления оценки фильму и просмотра оценок других пользователей. Клиентская часть приложения. Разработка многопользовательского веб-приложения на ASP.NET MVC 3 с разграничением доступа к данным.

    курсовая работа [949,7 K], добавлен 22.02.2015

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

    курсовая работа [3,6 M], добавлен 16.07.2016

  • Обзор существующих объектных архитектур. Архитектура программного обеспечения. Создание веб-сервиса "Библиотека", предоставляющего механизмы работы с данными на стороне клиентского приложения. WEB-сервис и трехуровневая архитектура в основе приложения.

    лабораторная работа [1,5 M], добавлен 16.06.2013

  • Мониторинг сервисов веб-приложения. Проблема отслеживания большого количества сервисов, поддерживающих работу веб-приложения, ее решение с помощью "Service discovery"-инструментов. Применение программного инструмента Consul как клиент-серверной системы.

    статья [184,4 K], добавлен 10.12.2016

  • Разработка информационной системы "Больница" на основе Java EE-технологий. Проект и реализация трехслойного enterprise-приложения, работающего с базой данных больницы, его структура. Предметная область; визуализация архитектуры с помощью UML-диаграмм.

    курсовая работа [2,0 M], добавлен 22.10.2012

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

    дипломная работа [2,7 M], добавлен 03.04.2015

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

    дипломная работа [2,5 M], добавлен 05.02.2017

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • Анализ предметной области. Выработка требований и ограничений. Серверная часть информационной системы. Запросы клиентского приложения. Триггеры для поддержки сложных ограничений целостности в базе данных. Пользовательский интерфейс клиентского приложения.

    курсовая работа [2,6 M], добавлен 21.02.2016

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

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

    дипломная работа [2,8 M], добавлен 03.07.2017

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

    дипломная работа [791,8 K], добавлен 10.07.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.