Создание мобильного приложения на основе геолокации с элементами социальной сети

Тип:
Добавлен:

Оглавление

Введение

. Аналитический обзор

1.1 Обзор рынка мобильных приложений

.2 Обзор социальных сетей

.3 Обзор аналогов

2. Техническое предложение

Обзор инструментов разработки

3.1 Android Studio

.2 Microsoft visual С# 2012

.3 PostgreeSQL

.4 API Открытых данных Вологодской области

.5 API Социальных сетей

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

. Программный код

. Разработка интерфейса

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

. Документация пользователя

8.1 Руководство пользователя

.2 Пользовательское соглашение

Заключение

Список использованных источников

Приложения

Введение

мобильный приложение android программный

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

В наши дни многие программисты трудятся над созданием разных приложений для платформ Android и IOS. Такие приложения могут служить разным целям:

Общение;

Обучение;

Продажа товаров;

Игры;

Чтение;

Геолокация;

Поиск выгодных предложений.

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

Игры;

Видеоплейеры;

Аудиоплейеры;

Социальные сети.

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

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

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

1. Аналитический обзор

1.1 Обзор рынка мобильных приложений

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

Как вывести свое приложение в магазины приложений Google и Apple?

Как узнать реальный объем своего рынка?

Много ли прибыли принесет программный продукт?

Для продаж своего программного продукта полезно знать:

Ключевые компании на мировом рынке.

На самом ли деле это большой рынок?

Можно ли получить прибыль от такого приложения?

Как стартовать?

Может ли рынок быть прибыльным и на сколько?

Нужно ли ваше приложение пользователю?

Хватит ли средств на поддержание аппаратной части приложения?

Есть ли у вас конкуренты?

Прибыльный ли рынок приложений для мобильных устройств?

В 2012 году оценка рынка мобильных приложений примерно 53 миллиарда долларов, в 2016 году - 100 миллиардов долларов. Прибыль у разработчиков получается с помощью:

Внутренних покупок;

Рекламы в приложение;

Сотрудничество с бизнесом.

На рисунке 1.1 представлена диаграмма роста рынка мобильных приложений с 2011 года по 2015 год.

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

Рисунок 1.1 - Глобальная диаграмма роста рынка мобильных приложений

Сейчас примерно 2.4 миллиона программистов разрабатывают софт для платформ IOS и Android. Получается что примерно восьмая часть всех программистов - это разработчики программного обеспечения для IOS и Android.

Сейчас популярными у пользователей являются платформы:

Android;

-IOS;

-Windows phone;

-Blackberry.

Компания Apple в 2014 году во время WorldWide Developer Conference рассказала:

В их магазине приложений присутствует 1.30 миллионов программ;

Скачивали приложения примерно 51 миллиард раз;

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

В таблице 1.1 показаны средние доходы создателей приложений. Из этих данных видно, что наибольший доход разработчикам приносят приложения выложенные в AppStore.

Таблица 1.1 - Средний доход разработчиков мобильных приложений

показатель / компанияGoogleAppleMicrosoftЧисло пользователей (в миллионах человек)90060012Число приложений (в тысячах штук)8001250160Число разработчиков (в тысячах человек)15023545Число загрузок приложений (в миллиардах раз)485065Доход разработчиков (в миллионах долларов)9005000100Средний доход на приложение1125$4000$625$Средний доход на разработчика6000$21276$2222$

На данный момент от рынка в 2017 году ожидают следующее:

Количество скачиваний приложений увеличится до 210 миллиардов в год;

Доходы вырастут до 64.5 миллиардов долларов;

Рыночная стоимость мобильных платежей вырастет до 732 миллиардов долларов.

Сейчас многие приложения относятся к В2С категории (Business to client).

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

Рисунок 1.2 - Время, проведенное при использовании мобильных приложений

Как выбрать аудиторию для своего мобильного приложения?

В США примерно 70 % людей выходят в интернет с помощью смартфона. Многие из них не покидают дом без своего телефона. Такой же рост использования телефонов наблюдается и в России - многие пользователи, чаще выбирают покупку нового смартфона вместо нового компьютера.

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

На рисунке 1.3 представлен демографический обзор пользователей от компании Google.

Рисунок 1.3 - Демографический обзор пользователей от компании Google

1.2 Обзор социальных сетей

В наше время социальные сети очень популярны поскольку:

Люди могут общаться с друзьями и знакомыми на любом расстоянии;

С помощью социальных сетей можно обмениваться информацией;

Можно наблюдать за жизнью своих друзей, просматривая их фото;

Есть возможность создания сообществ и общения в них;

Можно открыто выражать свои мысли;

Есть возможность узнавать о событиях поблизости;

Социальные сети помогают найти единомышленников.

Есть несколько категорий социальных сетей:

)Сети, предоставляющие для пользователя список сайтов определенной тематики, собирая вместе все ссылки на эти сайты, работая по принципу «коллективных закладок».

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

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

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

Какие социальные сети популярны в Российском интернете?

Между Российскими и западными социальными сетями есть несколько различий, таких как:

Контент, содержащийся в социальных сетях;

Возраст аудитории социальной сети;

Темы, которые обсуждают пользователи;

Темы, которые пользователям запрещено обсуждать законом;

Тренды;

Визуальное оформление;

Популярность у аудитории;

Заработки в социальных сетях.

По данным ФОМ и ВЦИОМ Можно привести частичную статистику:

)53 % Россиян старше 18 лет пользуется интернетом, что составляет 62.3 миллиона человек (ФОМ, осень 2016).

)Россияне занимают шестое место в мире по количеству пользователей интернетом. (ВЦИОМ).

)В 2012 году 80 % Россиян имели хотя бы один аккаунт в социальных сетях (ВЦИОМ).

Третья часть россиян использует мобильный интернет (ВЦИОМ).

Социальные сети, имеющие в России наибольшую популярность:

«Одноклассники» - используют 72 % пользователей;

«В контакте» - используют 63 % пользователей;

«Мой мир» - используют 32 % пользователей;

«Facebook» - используют 20 % пользователей;

«Twitter» - используют 9 % пользователей;

«Instagramm» - используют 10 % пользователей.

Возраст половины пользователей социальных сетей - от 18 до 34 лет,

Ежедневно в социальных сетях пользователи обмениваются большим количеством сообщений.

Количество сообщений между пользователями (без учета приватных бесед):

«В контакте» - 2,3 миллиона сообщений;

«Twitter» - 4,6 миллиона сообщений;

«Live Journal» - 171 тысяча сообщений.

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

Рисунок 1.4 - Количество авторов в социальных сетях

Для многих пользователей сайт «В контакте» - удобная площадка для дискуссий. В отличие от западных стран, там такие дискуссии по большей части ведутся в twitter.

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

Итог:

Социальные сети все сильнее захватывают людей, их влияние очень быстро растет;

На данный момент самая развивающаяся сеть - Twitter;

«В контакте» теперь не просто социальная сеть для общения с друзьями, но и место для дискуссий и медийная сеть;

Интернет-СМИ начинают быть более близко к социальным сетям;

В России социальные сети стали очень популярными средствами общения, дискуссий, выражения своего мнения;

Реклама в социальных сетях - выгодна для рекламодателей и эффективна для бизнеса.

1.3 Обзор аналогов

У разрабатываемого приложения существует несколько прямых конкурентов:

-MyFriends (Рисунок 1.5).

-GotYou (Рисунок 1.6).

Рисунок 1.5 - Внешний вид приложения MyFriends

Рисунок 1.6 - Внешний вид приложения GotYou

У этих приложений много общего с разрабатываемым мною. Тоже имеется:

Геолокация;

Элементы социальных сетей;

Назначение встреч.

Но так же в моем приложении есть функции, которые отсутствуют в аналогах:

Назначение встреч с группой людей;

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

Создание напоминаний о встречах;

Возможность делиться встречами в социальных сетях;

Вывод ближайших мероприятий с помощью открытых данных.

Еще у разрабатываемого приложения существует несколько косвенных конкурентов:

·Swarm (Рисунок 1.7).

·Forsqare (Рисунок 1.8).

Рисунок 1.7 - Внешний вид приложения Swarm

Эти приложения объединяет то, что они похожи на справочник мест и отзывов об этих местах.

Рисунок 1.8 - Внешний вид приложения Foursqare

Эти приложения позволяют:

Искать места поблизости;

Читать отзывы о местах поблизости;

Смотреть, кто из пользователей находится в этих местах на данный момент времени;

Пользоваться геолокацией;

Но эти приложения не позволяют:

Организовывать встречи в этих местах;

Двигать свой маркер местонахождения по карте;

Искать пользователей поблизости;

Общаться в общем чате.

2. Техническое предложение

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

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

)Найти место и компанию для встреч;

)Организовать вечеринку, прогулку, отдых, развлечение;

)Индивидуально подобрать интересную встречу (работает по указанным в профиле интересам);

)Вести поиск мест встреч поблизости;

)Удобно следить за встречами, в которых участвует пользователь;

)Видеть новостную ленту с мероприятиями.

Данное приложение было написано с целью получения дохода, поэтому для него была создана бизнес - модель:

Клиентские сегменты: Владельцы смартфонов (android), пользователи социальных сетей в возрасте от 16 до 35 лет Проживающие в городе Вологда, либо туристы;

Проблема/боль: Отсутствие компании, сложности поиска мест для развлечений;

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

Ценностное предложение: Быстрый способ найти компанию по интересам посредством мобильного приложения;

Продукт/сервис: Мобильное (android) приложение с геолокацией и элементами социальной сети;

Каналы привлечения: Социальные сети (В контакте, Фейсбук, Инстаграмм), Play маркет, реклама от блогеров;

Воронка/ЦЦД: Рекламное сообщение, клик на рекламу, установка приложения, регистрация, поиск мероприятий, выбор мероприятия, развлечение;

Рынок(PAM): 80 % населения пользуются смартфонами android. Из них 70 % устанавливают мобильные приложения. Около 80 % людей пользуются социальными сетями, 25 % - целевая аудитория приложения (Итого: 0.80 * 0.70 * 0.8 * 0.25 = 0.11 = 11 % пользователей);

Структура доходов (модель монетизации): Реклама и продвижение организаций в ТОП разными способами. Привилегированные функции для пользователей;

Структура расходов: аккаунт в GooglePlay, Сервер с базой данных, Оплата работы модераторов, реклама проекта.

На текущий момент спрогнозированы доходы от приложения: Точка безубыточности 128 000 рублей. Для покрытия вложений предстоит осуществить продажи на сумму 128 000 рублей 800 пользователям, а продажи свыше этого уровня начнут приносить прибыль. Такое количество платящих пользователей планируется привлечь через шесть месяцев.

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

Работа со встречами;

Работа с мероприятиями;

Возможность использовать чат;

Интеграция с социальными сетями.

3. Обзор инструментов разработки

3.1 Android Studio

Для написания мобильного приложения была выбрана android studio, поскольку является полностью бесплатной и содержит много полезных функций при работе с Android.Studio - это интегрированная среда разработки (IDE) для работы с платформой Android, анонсированная 16 мая 2013 года на конференции Google I/O.находилась в свободном доступе начиная с версии 0.1, опубликованной в мае 2013, а затем перешла в стадию бета-тестирования, начиная с версии 0.8, которая была выпущена в июне 2014 года. Первая стабильная версия 1.0 была выпущена в декабре 2014 года, тогда же прекратилась поддержка плагина Android Development Tools (ADT) для Eclipse.Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains, официальное средство разработки Android приложений. Данная среда разработки доступна для Windows, OS X и Linux.

Особенности

Новые функции появляются с каждой новой версией Android Studio. На данный момент доступны следующие функции:

Расширенный редактор макетов: WYSIWYG, способность работать с UI компонентами при помощи Drag-and-Drop, функция предпросмотра макета на нескольких конфигурациях экрана;

Сборка приложений, основанная на Gradle;

Различные виды сборок и генерация нескольких apk файлов;

Рефакторинг кода;

Статический анализатор кода (Lint), позволяющий находить проблемы производительности, несовместимости версий и другое;

Встроенный ProGuard и утилита для подписывания приложений;

Шаблоны основных макетов и компонентов Android;

Поддержка разработки приложений для Android Wear и Android TV;

Встроенная поддержка Google Cloud Platform, которая включает в себя интеграцию с сервисами Google Cloud Messaging и App Engine;

Android Studio 2.1 поддерживает Android N Preview SDK, а это значит, что разработчики смогут начать работу по созданию приложения для новой программной платформы;

Новая версия Android Studio 2.1 способна работать с обновленным компилятором Jack, а также получила улучшенную поддержку Java 8 и усовершенствованную функцию Instant Run;

Platform-tools 23.1.0 для Linux без объявления стала исключительно 64-разрядной, даже при попытке установить 32-разрядную версию. Иными словами Android Studio больше НЕ работает (выдаёт неустранимые ошибки) в 32-разрядных версиях Linux.

3.2 Microsoft visual С# 2012

Microsoft Visual Studio - линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как, например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования) или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

В проекте на Microsoft visual С# 2012 написан веб-сервер приложения, который позволяет вести работу с базой данных при помощи HTTP запросов.

3.3 PostgreeSQL

В проекте данная СУБД находится на удаленном сервере.- свободная объектно-реляционная система управления базами данных (СУБД).

Существует в реализациях для множества UNIX-подобных платформ, включая AIX,различные BSD-системы, Linux, macOS, Solaris/OpenSolaris, Tru64, QNX, а также для Microsoft Windows.базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2011. В PostgreSQL версии 9.5.3 есть следующие параметры, приведенные в таблице 3.1:

Таблица 3.1 - Характеристики postgresql

Максимальный размер базы данныхНет ограниченийМаксимальный размер таблицы32 ТбайтМаксимальный размер записи1,6 ТбайтМаксимальный размер поля1 ГбайтМаксимум записей в таблицеНет ограниченийМаксимум полей в записи250-1600, в зависимости от типов полейМаксимум индексов в таблицеНет ограничений

Сильными сторонами PostgreSQL считаются:

-Высокопроизводительные и надёжные механизмы транзакций и репликации;

Расширяемая система встроенных языков программирования: в стандартной поставке поддерживаются PL/pgSQL, PL/Perl, PL/Python и PL/Tcl; дополнительно можно использовать PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme, PL/sh и PL/V8, а также имеется поддержка загрузки C-совместимых модулей;

Наследование;

Легкая расширяемость;

Бесплатная лицензия.

Прочие возможности:

Соблюдение принципов ACID;

Соответствие стандартам ANSI SQL-92 и SQL-99;

Поддержка запросов с OUTER JOIN, UNION, UNION ALL, EXCEPT, INTERSECT и подзапросов;

-Последовательности;

Контроль целостности;

Репликация;

Общие табличные выражения и рекурсивные запросы;

Аналитические функции;

Поддержка Юникода (UTF-8);

Поддержка регулярных выражений в стиле Perl;

Встроенная поддержка SSL, SELinux и Kerberos;

Протокол разделяемых блокировок;

Подгружаемые расширения, поддерживающие SHA1, MD5, XML;

Расширения для написания сложных выборок, отчётов и т. д. (API открыт);

Средства для генерации совместимого с другими системами SQL-кода и импорта из других систем;

Автономные блоки на доступных языках, а не только SQL.

Так же данная СУБД была выбрана, поскольку является бесплатной и совместимой с Android приложениями.

3.4 API Открытых данных Вологодской области

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

Сведения постепенно устаревают, утрачивают свою ценность.

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

До недавнего времени о крайне низком значении «коэффициента полезного действия» государственной информации задумывались единицы.

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

на государственном уровне признана актуальность задачи повышения «коэффициента полезного действия» государственной информации;

сформирована и последовательно реализуется государственная политика в области публикации открытых государственных данных;

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

развивается государственная информационно-технологическая инфраструктура открытых данных;

постепенно формируется культура и экосистема открытых данных.

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

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

На сегодня основными возможностями Портала открытых данных являются:

возможность отбора и поиска наборов открытых данных по заданным критериям и ключевым словам;

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

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

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

возможность участия в государственно-гражданском диалоге по определению предметных приоритетов раскрытия данных;

возможность размещения наборов данных и ссылок на наборы данных, размещенные на сайтах организаций;

возможность паспортизации наборов данных и преобразования форматов данных в «открытые форматы»;

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

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

Для получения данных использовано HTTP соединение, которое открывается в отдельном потоке и портал возвращает даные в виде массива JSON, который сохраняется и используется в программе.

3.5 API Социальных сетей

Социальные сети - мощный инструмент для раскрутки и ведения бизнеса, включающий обширную базу потенциальных клиентов, как говорится «из коробки». Помимо ведения бизнеса непосредственно в интерфейсе социальных сетей (от надоедливого спама до рекламных инструментов), существует также вариант использования функциональности и мощностей социальных сетей в своих внешних проектах (веб-сайты и веб-сервисы, мобильные приложения и др.). Такого рода возможности реализуются посредством API (Application Programming Interface) - набора готовых программных методов, предоставляемых тем или иным сервисом, той или иной системой. Некоторые социальные сети также предоставляют специальные виджеты, основанные на API, для интеграции в свои проекты. Кроме того, уже существует ряд программных продуктов для автоматизации операций, программная реализация которых основана как раз на использовании API.

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

Группы API

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

-API «Авторизация»

Программные методы в рамках данного раздела API позволяют внешнему пользователю «авторизоваться» на Вашем ресурсе через социальную сеть. Следует помнить, что помимо «авторизации» со стороны социальной сети, также требуется программная обработка полученных от сервера данных на Вашей стороне (авторегистрация пользователя на основе полученных данных, автоматическая авторизация и т.п.)

-API «Пользователи», «Друзья»

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

-API «Группы»

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

-API «Фотографии», «Фотоальбомы», «Видео», «Видеоальбомы», «Аудиозаписи»

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

-API «Сообщения»

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

-API «Реклама»

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

-API «Товары», «Маркет»

Некоторые социальные сети дают пользователю возможность упрощенной продажи товаров непосредственно в группе. Программные методы в рамках данных разделов API позволяют удаленно управлять продаваемыми товарами и условиями их продажи.

-Специфичное API

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

С помощью API социальных сетей в моем приложении реализована регистрация, авторизация и возможность делиться мероприятиями в социальных сетях.

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

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

Критерии описания архитектуры приложения:

Компоненты системы и их взаимодействие;

Самые важные классы и функции;

Организация данных (какие именно будут данные и где их хранить);

Структура пользовательского интерфейса (примерное описание, какие компоненты содержит);

Обработка исключительных ситуаций и сбоев;

Безопасность;

Использование технологий и стороннего программного обеспечения;

Использование ресурсов (сколько людей будет заниматься разработкой и какие машинные ресурсы потребуются);

Способы развития системы.

Архитектура

За основу архитектуры приложения было решено использовать трехслойный шаблон, из концепции слоев, который включает в себя:

Представление (Как пользователь видит приложение);

Домен (Бизнес логика);

Источник данных (Работа с данными).

Представление пользователя - полностью содержится в мобильном приложени.

Бизнес логика - частично находится в приложении(на клиенте), частично на сервере.

Данные пользователя хранятся на сервере.

Рисунок 4.1- Компоненты приложения

Работа этих слоев в основном обеспечивается программными средствами, которые можно представить в виде взаимосвязанных компонентов (рисунок 4.1), где:

Компонент представления отвечает за пользовательский интерфейс;

Прикладной компонент реализует алгоритм решения конкретной задачи;

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

Компонент представления(gui) содержит:

Форму для регистрации;

Tabed activity с тремя вкладками: профиль, карта, новости;

Кнопку с настройками.

В бизнес логику будут входить классы:

Работа с google maps;

Работа со встречами;

Работа со списком друзей;

Работа с локальной базой данных;

Работа с новостями;

Классы всех activity;

Работа с чатом;

Работа с пользовательскими аккаунтами.

Для доступа к ресурсам будет использоваться:

Стандартный класс DBHelper, для sqlite;

JDBC драйвер, для postgreeSQL.

Доступ к данным будет работать через Интернет с:

API google maps;

API базы данных;

API социальных сетей.

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

Для безопасности пользователя используется HTTPS соединение, пароли хранятся в кэшированном виде.

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

5. Программный код

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

Рисунок 5.1 - Файлы программного кода

Рассмотрим подробнее за что отвечает каждый класс:

MainActivity -Класс главной активности приложения, содержит в себе работу с TabHost, который содержит три вкладки:

Профиль;

Карта;

Новости.

ProfileActivity - Класс для работы с вкладкой профиля, позволяет работать с информацией пользователя, выводить:

Имя;

Фамилию;

Возраст;

Рейтинг;

Информацию о VIP;

Счет пользователя;

Список друзей;

Информация о ближайшем событии.

MapActivity - Класс для работы с вкладкой каты, позволяет работать с Google картой, загружает из БД координаты маркеров и отображает их на карте, так же позволяет сфокусироваться на текущем местоположении пользователя.

AddMarkerActivity - Класс для работы с добавлением на карту маркера. Позволяет создавать маркер на карте, используя название встречи и выбранные на карте координаты.

LoginActivity - Данная часть кода отвечает за вход или регистрацию пользователя в системе.

MarkerPressActivity - Этот класс вызывается, при нажатии на надпись на маркере из вкладки «карта», позволяет просмотреть полное название встречи, её дату и количество участников.

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

ShowNewsActivity - Этот класс отвечает за показ новости, возможность поделиться новостью в социальной сети и присоединиться к данной встрече.

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

DBHelper - Данный класс создает локальную базу данных SQLite на телефоне. В этой базе хранятся настройки приложения.

FriendsListActivity - Данная активность отображает список друзей пользователя.

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

RegisterActivity - Этот класс работает с данными пользователя, при регистрации, введенные данные отправляются в базу данных.

User - модель пользователя для удобной работы.

6. Разработка интерфейса

В Android studio файлы интерфейса описываются на языке XML. XML -файл содержит информацию о расположении элементов и их идентификаторах. Данная информация нужна для вызова элементов из кода приложения. Очень важно правильно разметить интерфейс, поскольку у всех android - устройств разное разрешение экрана. Если разметить интерфейс плохо, то интерфейс будет отображаться некорректно. В ходе разработки был спроектирован интерфейс (На рисунках фон интерфейса белый, чтоб не возникло трудностей при печати). В список разработанных файлов разметки входит:

Восемь файлов разметки экрана;

Один файл разметки пункта списка.

Перечень файлов интерфейса приведен на рисунке 6.1.

Рисунок 6.1 - Перечень файлов интерфейса

Рассмотрим более подробно разработанный интерфейс. В самую важную часть интерфейса входят:

Окно логина;

Главное окно с тремя вкладками;

Вкладка «Профиль»;

Вкладка «Карта»;

Вкладка «Новости».

1) Окно логина

Первое что увидит пользователь, зайдя в приложение - окно логина. Оно имеет:

Два текстовых поля (для логина и пароля);

Кнопку для входа в приложение;

Кнопку для регистрации;

Анимацию при загрузке данных.

В окне логина, при нажатии кнопки «войти» идет проверка правильности введенных данных, которая сопровождается анимацией ожидания.

Рисунок 6.2 - Окно логина

2) Главный экран

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

Профиль;

Карта;

Новости.

Рисунок 6.3 - Главное окно приложения

Эта активность является коренной активностью приложения, при ее закрытии закрывается все приложение.

3) Профиль

Вкладка профиль - одна из главных вкладок приложения, она содержит информацию о пользователе:

Имя;

Фамилия;

Фотография;

Возраст;

Рейтинг;

Информация о ближайшем событии;

-Cписок друзей.

Рисунок 6.4 - Вкладка профиль

4) Карта

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

Пользователь может:

Передвигать карту;

Поворачивать карту;

Находить свое местоположение;

Нажимать на маркеры;

Рисунок 6.5 - Вкладка с картой

Кнопка «+» позволяет пользователю добавить на карту свою встречу, при помощи нового открывшегося окна с созданием встречи.

5) Новости

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

В пункте списка содержится информация:

Название мероприятия;

Дата проведения мероприятия;

Возрастная категория мероприятия.

Рисунок 6.6 - Вкладка с мероприятиями

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

6) Вкладка создания встречи

На данной вкладке пользователь может сам создать встречу, для этого есть:

Поле с вводом названия встречи;

Карта, на которой можно установить место встречи.

Программно запрещено вводить пустое имя встречи.

Рисунок 6.7 - Вкладка создания встречи

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

7) Вкладка описания встречи

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

Название;

Дата встречи;

Число участников;

Кнопка «Присоединиться к встрече».

Рисунок 6.8 - Вкладка описания встречи

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

Если пользователь захочет присоединиться к встрече, то он должен нажать кнопку «Присоединиться».

Если встреча пользователю не интересна, то он может вернуться на карту.

8) Вкладка описания мероприятия

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

Название мероприятия;

Дата мероприятия;

Описание мероприятия;

Изображение, связанное с мероприятием;

Кнопка «Поделиться» и кнопка «Присоединиться».

Рисунок 6.9 - Вкладка описания мероприятия

Посмотрев информацию о мероприятии, пользователь может решить пойдет он на него или нет.

Пользователь может нажать кнопку «Поделиться», кнопку «Я пойду на встречу» или кнопку «Назад».

9) Окно регистрации

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

Имя;

Фамилию;

Логин;

Пароль;

Возраст;

Свою фотографию.

Рисунок 6.10 - Вкладка регистрации

Когда пользователь введет все данные, можно будет нажать кнопку «Зарегистрироваться» и вернуться в меню логина.

10) Разметка пункта списка

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

Будем выводить в пункте списка:

Название мероприятия;

Дату мероприятия;

Возрастную категорию.

Рисунок 6.11 - Внешний вид пункта списка

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

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

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

В первую очередь проверим работу трёх главных вкладок:

Профиль;

Карта;

Новости.

Рисунок 7.1 - Внешний вид вкладки профиль

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

На вкладке «карта» видны маркеры, которые обозначают место встречи. По рисунку 7.2 видно, что карта работает корректно (загружается, двигается, на маркеры можно нажать и увидеть описание встречи), данные о встречах получаются из базы данных. А именно данные описывающие:

Место встречи;

Название встречи.

Рисунок 7.2 - Внешний вид вкладки карта

Так же кнопка определения своего местоположения и кнопка добавления встречи работают корректно.

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

Название мероприятия;

Дату мероприятия;

Возрастную категорию.

Рисунок 7.3 - Внешний вид вкладки новости

Из рисунка 7.3 видно, что все новости с портала грузятся и отображаются в приложении правильно. Нажатие на новость работает корректно (открывает подробное описание нажатой новости).

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

Авторизация помогает:

распознать пользователя;

отличить разных пользователей;

защитить данные пользователей.

Рисунок 7.4 - Внешний вид вкладки авторизация

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

Кроме основных вкладок были протестированы и второстепенные вкладки приложения:

Описание новости;

Описание встречи;

Создание встречи.

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

Рисунок 7.5 - Внешний вид вкладки новости

На рисунке 7.5 видно тестирование вкладки. Все данные отображаются корректно, программа ведет себя как нужно.

На вкладке описания встречи видим:

Название встречи;

Дату встречи;

Количество присоединившихся людей.

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

Рисунок 7.6 - Внешний вид вкладки описание встречи

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

Вкладка создания встречи содержит

Карту;

Ввод названия встречи;

Маркер, который можно передвигать по карте.

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

Рисунок 7.7 - Внешний вид вкладки создание встречи

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

Рисунок 7.8 - Внешний вид вкладки регистрация

При нажатии кнопки «Регистрация» все данные сохраняются и пользователь может зайти под своим логином и паролем в приложение.

В рамках тестирования были проверены следующие вкладки:

Профиль;

Карта;

Новости;

Авторизация;

Описание новости;

Описание встречи;

Создание встречи;

Регистрация;

Элемент списка.

Из скриншотов программы видно, что:

Все работает корректно;

Программа нигде не вылетает;

Данные из базы данных достаются правильно;

Нету неожиданных ошибок программы;

Разметка отображается правильно, все находится на своих местах.

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

8. Документация пользователя

Документация пользователя включает в себя руководство пользователя и пользовательское соглашение.

8.1 Руководство пользователя

Документ «Руководство пользователя» относится к пакету эксплуатационной документации. Основная цель руководства пользователя заключается в обеспечении пользователя необходимой информацией для самостоятельной работы с программой или автоматизированной системой.

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

Руководящими стандартами для создания документа Руководство пользователя могут являться как РД 50-34.698-90 в п.п. 3.4. «Руководство пользователя», так и ГОСТ 19.505-79 «Руководство оператора. Требования к содержанию и оформлению».

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

)Назначение системы.

)Условия применения системы.

)Подготовка системы к работе.

)Описание операций.

)Аварийные ситуации.

Назначение системы

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

Условия применения системы

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

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

Квалификация пользователя - данный подраздел должен содержать требования к навыкам и знаниям пользователя (пример: «Пользователи должны обладать навыками работы с операционной системой Windows XP»).

Подготовка системы к работе

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

Описание операций

Это основной раздел документа Руководство пользователя, который содержит пошаговую инструкцию для выполнения того или иного действия пользователем.

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

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

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

Для крупных автоматизированных систем рекомендуется создавать отдельное руководство для каждой категории пользователя (пользователь, модератор и т.п.). Если в работе с системой выделяются дополнительные роли пользователей, то в документе Руководство пользователя целесообразно поместить таблицу распределения функций между ролями.

Аварийные ситуации

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

Получившееся руководство пользователя приложения представлено в приложении 3.

8.2 Пользовательское соглашение

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

Copyright © 2018 WorldReferat.ru All rights reserved.