Диплом (1207222), страница 6
Текст из файла (страница 6)
Для передачи данных будет использоваться язык xml либо json.JSON – текстовый формат обмена данными, основанный на JavaScript иобычно используемый именно с этим языком. Как и многие другие текстовыеформаты, JSON легко читается людьми.Несмотря на происхождение от JavaScript (точнее, от подмножестваязыка стандарта ECMA-262 1999 года), формат считается независимым от языка и может использоваться практически с любым языком программирования.Для многих языков существует готовый код для создания и обработки данных вформате JSON.В выпускной квалификационной работе текстовый формат JSON будетиспользован со скриптовым языком PHP.
В языке PHP, начиная с версии 5.2.0,поддержка JSON включена в ядро в виде функций json_decode()и json_encode(),которые сами преобразуют типы данных JSON в соответствующие типы PHP инаоборот.За счёт своей лаконичности по сравнению с XML, формат JSON можетбыть более подходящим для сериализации сложных структур. Если говорить овеб-приложениях, то он уместен в задачах обмена данными как между браузером и сервером (AJAX), так и между самими серверами (программные HTTPинтерфейсы).Преимуществами второго способа является то, что логика обработкивсех данных находится на сервере, а сами данные защищены от внешнего использование, так как запросы напрямую обрабатываются на сервере. Всю логику работы можно перенести на другую платформу.
Если структура базы поменяется – нужно просто переписать серверный скрипт. Более того, если запись вбазу происходит не часто, а выборка значительно чаще, то кеширования файлас результатом сильно все разгрузит и ускорит.31Недостатками этого способа являются необходимость работы с объектами xml и json, работа с которыми может существенно снизить работу приложения при больших объемах данных. Эти объекты сильно избыточны, так каких использование на клиенте не так быстро, а для распаковки их параметровнеобходимо достаточно времени.В случает создания мобильного приложения для интернет-магазинапредставляется разумным использовать второй подход для соединения мобильного приложения на платформе Android с базой данных.МобильноеприложениеОтветЗапросСерверРисунок 6 – Потоки данных мобильного приложенияПотоки данных на рисунке 6 направлены от мобильного приложения,которое формирует php-запросы, на сервер с расположенным на нем сайтом ибазой данных.
В свою очередь сервер формирует ответ с помощью объектовjson и высылает их обратно на мобильное приложение.322.3 Структура передаваемых данныхJSON (JavaScript Object Notation) – простой формат обмена данными,удобный для чтения и написания как человеком, так и компьютером. Это текстовый формат, полностью независимый от языка реализации, но он используетсоглашения, знакомые программистам C-подобных языков, таких как C, C++,C#, Java, JavaScript, Perl, Python и многих других.
Эти свойства делают JSONидеальным языком обмена данными.Коллекция пар ключ/значение. В разных языках, эта концепция реализована как объект, запись, структура, словарь, хэш, именованный список или ассоциативный массив.Упорядоченный список значений. В большинстве языков это реализовано как массив, вектор, список или последовательность.Это универсальные структуры данных. Почти все современные языкипрограммирования поддерживают их в какой-либо форме.
Логично предположить, что формат данных, независимый от языка программирования, долженбыть основан на этих структурах.В нотации JSON это выглядит так, как описано ниже.Объект – неупорядоченный набор пар ключ/значение. Объект, изображенный на рисунке 7, начинается с { (открывающей фигурной скобки) и заканчивается} (закрывающей фигурной скобкой). Каждое имя сопровождается :(двоеточием), пары ключ/значение разделяются, (запятой).Рисунок 7 – Объект в структуре JSONМассив – упорядоченная коллекция значений. Массив, изображенный нарисунке 8, начинается с [ (открывающей квадратной скобки) и заканчивается ](закрывающей квадратной скобкой).
Значения разделены, (запятой).33Рисунок 8 – Массив в структуре JSONДанные в формате JSON представляют собой:– JavaScript-объекты { ... };– массивы [ ... ];– значения одного из типов:– строки в двойных кавычках;– число;– логическое значение true/false;– null.Вышеперечисленные структуры могут быть вложенными, как показанона рисунке 9.Рисунок 9 – Типы данных в структуре JSONСтрока – коллекция нуля или больше символов Unicode, заключенная вдвойные кавычки, используя \ (обратную косую черту) в качестве символаэкранирования. Символ, как показано на рисунке 10, представляется как односимвольная строка.
Похожий синтаксис используется в C и Java.34Рисунок 10 – Строка в структуре JSONЧисло, как показано на рисунке 11, представляется так же, как в C илиJava, кроме того, что используется только десятичная система счисления.Рисунок 11 – Число в структуре JSONФормирование JSON файла в мобильном приложении:– считать файл с данными на сервере;– выбрать запись;– добавить запись в JSON объект;– перейти к шагу 2 пока не закончатся записи;– отправить объект JSON.35Таблица 5 – Структура данныхНаименование атрибутовСтруктуры в JSONЗначениеIDNameСтрокаPriceЗначениеWeightЗначениеImageЗначениеКаждому атрибуту будет присвоена определенная структура JSON, какпоказано в таблице 5. ID, Price, Weigt, Image – имеют структуру Значение. Значение может быть строкой в двойных кавычках, числом, объектом, массивом,одним из литералов: true, false или null.
Т.о. структуры могут быть вложеныдруг в друга.Атрибуту Name будет присвоена структура Строка. Строка – это упорядоченное множество из нуля или более символов юникода, заключенное вдвойные кавычки. Символы могут быть указаны с использованием escapeпоследовательностей, начинающихся с обратной косой черты «\», или записаныв кодировке UTF-8.2.4 Интерфейс пользователяИнтерфейс сайта и веб-приложения представляет собой визуальное егоотображение на экране монитора компьютера и является одним из наиболееважных элементов не только интернет-сайта, но и любого приложения, программного обеспечения. Именно пользовательский интерфейс отвечает за то,насколько удобно пользователю будет взаимодействовать с сайтом или приложением, соответственно, захочет ли он использовать этот ресурс и в дальнейшем.
Интерфейс интернет-магазина, сайта, любого портала должен быть простым и понятным. Главный элемент пользовательского интерфейса – простаянавигация.36На разработанном сайте отображен интерфейс главной страницыpirogdv.ru, показанный на рисунке 12. Навигация выполнена в верхней частисайта и содержит следующие разделы: «Главная», «О пекарне», «Магазин»,«Акция», «О доставке», «Новости», «Контакты», «Отзывы».Рисунок 12 – Интерфейс главной страницыПомимо навигации на главной странице располагается Корзина сайта,которая способствует нормальной работе интернет-магазина и выполняютглавную функцию.Данная Корзина обладает следующими свойствами:– наличие «маленькой корзины».
Маленькая корзина служит своеобразным индикатором для посетителей на всех страницах сайта, по которому пользователь может ориентироваться в количестве отложенных товаров и итоговойсумме заказа;– простота в понимании пользователем;– наличие возможности управлять содержимым Корзины. Корзина пользователя всегда должна быть в актуальном состоянии. Помимо этого в нейдолжна быть предусмотрена возможность удалить товар из корзины вовсе, выбрать количество заказываемых товаров и т.д. – в общем, полный перечень необходимых действий над содержимым, как показано на рисунке 13.37Рисунок 13 – Окно управления содержимым корзины– наличие уведомлений о заказе менеджеру, как показано на рисунке 14.Предоставляется возможность наблюдать за поступлением заказов с помощьюэлектронной почты.Рисунок 14 – Письмо на электронную почту о новом заказеКорзина содержит нужную информацию для менеджера и курьера, какпоказано на рисунке 15.
С помощью информации, вносимой в данное окно, менеджер и курьер узнают на какую дату и время необходимо будет подготовитьпродукцию и по какому адресу ее доставить. Для заполнения предоставляютсяследующие поля: «Имя», «Телефон», «Адрес», «Дата доставки», «Время доставки».38Рисунок 15 – Окно оформления заказаВажным разделом интернет-магазина является раздел «Магазин», указанный на рисунке 16. Данный раздел содержит информацию об имеющейсяпродукции: «Название», «Вес», «Цену», «Изображение».
Каждый товар расположен в блоке с тегом <div> для удобного визуального представления. Внутриблока данные располагаются помощью тега <table>, который упорядочиваетданные по столбцам и строкам. Каждый продукт имеет свою кнопку «Положить в корзину». Данная кнопка добавляет товар в корзину для дальнейшийдействий.Рисунок 16 – Интерфейс страницы Магазин39Помимо интерфейса для пользователя разработан интерфейс для администратора (менеджера), как показано на рисунке 17.
Раздел для администратора содержит следующие закладки: «Добивать товар», «Настройки», «Заказы»,«Логин и пароль», «Выход».Рисунок 17 – Интерфейс администратора2.5 Архитектура мобильного приложенияРаспространенным подходом для создания современных мобильныхприложений является использование шаблона Model-View-Controller (MVC).MVC – это конструкционный шаблон, который описывает способ построенияструктуры нашего приложения, сферы ответственности и взаимодействие каждой из частей в данной структуре.Учитывая рекомендации для разработчиков от корпорации Гугл и общепринятые практики, при построение архитектуры приложения будет использоваться шаблон MVC.MVC – это не шаблон проекта, это конструкционный шаблон, которыйописывает способ построения структуры нашего приложения, сферы ответственности и взаимодействие каждой из частей в данной структуре.