Сервис бронирования столиков в заведениях ZakaZone

Этапы разработки автоматизированной системы приема и бронирования заказов столиков в заведениях. Анализ среды разработки Android Development Tools. Общая характеристика диаграммы компонентов IOS приложения. Рассмотрение системы контроля версий сервера.

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

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

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

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

Введение

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

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

автоматизированный сервер бронирование столик

1.Описание предметной области

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

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

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

Цели и задачи

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

Главными задачами системы являются:

- приём заказов на резервирование столиков;

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

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

2.Используемые технологии и инструменты

Сервер и сайт

Разработка серверной части системы выполняется в среде Microsoft Visual Studio 2012, используя язык C#и платформу .NetFramework.

Разработка сайта, выполняется в среде Microsoft Visual Studio 2012 на языке C# с применением платформы ASP.NET.

Серверная часть системы расположена на облачной платформе с применением операционной системы Windows Server 2012.

Тестовая версия серверной части расположена на VPS с применением операционной системы Windows Server 2008.

Применяемой системой управления базами данных является реляционная Microsoft Sql Server 2008.

Сайт располагается на Windows хостинге, использующем IISв качестве сервера.

В качестве системы контроля версий по типу git используется BitBucket.

IOS приложение.

При разработке IOS приложения использовались следующие технологии:

1) среда разработки XCode с встроенным Interface Builder версий 4.2 и позднее - 5.1.1, язык - Objective C с фреймворком Cocoa и Cocoa Touch;

2) для разработки криптографической части была использована библиотека Chilkat RSA и Chilkat Crypto версии 2;

3) для работы с XML была использована библиотека Touch XML , основанная на библиотеке libXml;

4) система контроля версий git с хранением на внешнем репозитории bitbucket.com.

Android приложение:

1) сервис проектирования интерфейсов ninjamock.com;

2) среда разработки Android Development Tools, язык - Java;

3) встроенная функциональность альфа и бета тестирования Google Play.

3.Участники проекта и их обязанности

Романов Андрей Владимирович - разработка серверной части проекта, а именно:

1) проектирование модели базы данных проекта;

2) проектирование API взаимодействия с клиентами (языка обмена информацией клиентов и сервера);

3) проектирование серверной части проекта;

4) разработка сервера на языке C#;

5) тестирование сервера;

6) составление документации сервера;

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

Марунько Антон Евгеньевич:

разработка клиентского приложения для платформы IOS, а именно:

1) проектирование модели базы данных проекта;

2) проектирование API взаимодействия с клиентами;

3) проектирование клиентского приложения для платформы IOS (проектирование интерфейса и программной части);

4) разработка клиентского приложения для платформы IOS;

5) тестирование клиентского приложения;

6) написание документации клиентского приложения;

7) публикация клиентского приложения в App Store;

менеджмент проекта, а именно:

1) управление разработкой проекта;

2) формирование задач участникам проекта;

3) интеграция участников между собой;

4) тестирование системы в целом;

5) написание текстов технического задания;

6) проектирование интерфейса Android приложений;

7) публикация приложений платформы Android.

Синчурин Станислав - разработка клиентского и администраторского приложения для платформы Android, а именно:

1) проектирование клиентского и администраторского приложения для платформы Android (проектирование интерфейса и программной части)

2) разработка клиентского и администраторского приложения для платформы Android;

3) тестирование Android приложений;

4) написание документации Android приложений.

Николаева Валерия Сергеевна - разработка дизайна проекта, а именно:

1) проектирование интерфейсов приложений и сайта;

2) создание графики для приложений и сайта;

3) разработка рекламных макетов проекта и представительской графики.

Ащепков Павел - разработка сайта проекта, а именно:

1) проектирование сайта проекта;

2) разработка сайта проекта;

3) размещение и конфигурация сайта на хостинге, в том числе привязка домена;

4) тестирование сайта;

5) написание документации сайта.

Веревкин Владислав:

1) финансовое сопровождение проекта;

2) подготовка отчетов (в государственные структуры);

3) юридическое сопровождение проекта;

4) распространение проекта.

4.Структура системы

Диаграмма компонентов IOS приложения:

Рис.

5.Стадии и этапы разработки

В проекте можно выделить следующие стадии разработки.

1. Анализ требований, предъявленных к системе

Были определены используемые технологии разработки проекта, требуемые ресурсы - материальные, людские, сроки разработки проекта, стоимость ошибок при проектировании проекта

2. Определение спецификаций

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

3. Проектирование

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

Рисунок 6.1 - Модель базы данных

На рисунке 6.1, располагается исходный вариант диаграммы FA уровня.

Диаграмма представлена следующими сущностями, описание в таблице 6.1.

Таблица 6.1. - Сущности

Сущность

Определение

USER

Зарегистрированный в системе пользователь

BOOKING

Метка для стола, в которой указано, время заказа, ФИО и телефон заказавшего.

TABLE

Объект в пространстве зала, имеющий определенные координаты и оборудованный местами для сидения

REVIEWS

Запись оставленная пользователем, на сайте или в приложении о заведении.

DISH

Блюдо, которое можно получить в данном заведении и которое входит в меню.

MENU

Совокупность блюд для данного заведения

BAR

Представляет собой заведение, имеющее определенный адрес, время работы, тип.

LOUGE

Представляет собой помещение в заведении с находящимися в нем столиками

TOWN

Область расположения нескольких заведений

Таблица 6.2 - Атрибуты

Атрибут

Определение

Сущность

Telefon

Контактный телефон пользователя

USER

Password

Пароль пользователя для доступа к сервису

USER

Fio

Фамилия Имя Отчество пользователя

USER

DateTime

Время от начала работы заведения, до окончания

BOOKING

Review

Запись о заведении, созданная пользователем на сайте или в мобильном приложении

REVIEWS

DishId

Идентификатор блюда

DISH

Price

Цена за одну порцию блюда

DISH

Description

Краткое описание блюда

DISH

townId

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

BAR

Name

Название города

TOWN

Address

Физический адрес заведения

BAR

BarId

Идентификатор бара

BAR

TableCount

Количество столиков в заведении

BAR

ShowBookForTable

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

BAR

TableId

Идентификатор столика

TABLE

Seats

Количество место за столиком

TABLE

LoungeId

Идентификатор зала

LOUNGEID

isSmoke

Метка, указыв. можно ли курить в данном зале

LOUNGEID

Image

Указывает место расположения на жестком диске сервера, картинки зала

LOUNGEID

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

Рисунок 6.2 - Конечная версия модели структуры базы данных

Таблица 6.3 - Обновление сущностей

Сущность

Определение

SESSION

Сущность, характеризующая факт авторизации пользователя.

ROLE

Метка уровня прав которая может быть сопоставлена пользователю

USER-BAR

Факт соп. сотрудника заведения (пользователя) с конкретным заведением.

USER-BAR-ROLE

Факт сопоставления метки уровня прав с некоторым пользователем

Таблица 6.4 - Обновление атрибутов

Атрибут

Определение

Сущность

Type

Тип заведения

BAR

WorkTime

Время от начала работы заведения, до окончания

BAR

TableCount

Количество столиков в зале

LOUNGE

coord

Геометрическое расположение центра стола на плоскости зала

TABLE

HashTel

SHA1 хэш от номера телефона пользователя

SESSION

SID

Идентификатор сессии

SESSION

SessionKey

Сессионный ключ, используемый в алгоритме AES

SESSION

Path

Путь до хранилища информации о сессии

SESSION

Domain

URI для которого идентификатор сессии считается правильным

SESSION

DataEnd

Время и дата окончания действия сессии

SESSION

InitialVector

Вектор инициализации, используемый в алгоритме AES

SESSION

Login

Логин администратора для досутпа к сервису

ADMIN

Password

Пароль администратора для досутпа к сервису

ADMIN

DescBar

Описание заведения

BAR

MapAttr

Координаты геометрического центра заведения на карте

BAR

roleId

Идентификатор роли

ROLE

namerole

Описание роли

ROLE

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

4. Кодирование

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

Представим реализацию этапа кодирования в виде снимков экрана системы контроля версий.

Серверная часть:

автоматизированный сервер бронирование столик

Рисунок 6.3 - система контроля версий сервера, часть 1

Рисунок 6.4 - система контроля версий сервера, часть 2

Рисунок 6.5 - система контроля версий сервера, часть 3

Рисунок 6.6 - система контроля версий сервера, часть 4

Рисунок 6.7 - система контроля версий сервера, часть 5

Приложение платформы IOS:

Рисунок 6.8 - система контроля версий IOS приложения

Приложение платформы Android:

Рисунок 6.9 - система контроля версий Android приложения

6. Тестирование системы

Сервис тестировался автономно, комплексно и системно.

В качестве примера комплексного тестирования можно привести таблицу автоматического тестирования сервера:

Для системного тестирования были использованы различные устройства на платформах Android (версий API -2.2; 2.3.3; 4.0; 4.1; 4.2; 4.4) и IOS (версии 6.0, 6.1.1, 7.0, 7.1). Для тестирования использовались максимально возможно устройства с разными характеристиками ( размером экрана, мощностью процессоров и прочими аппаратными характеристиками). Для тестирования сайта использовались различные браузеры - Mozilla Firefox, Safari, Opera, Google Chrome, Internet Explorer версий 7.0 и выше, а также мобильные аналоги браузеров Safari, Google Chrome, Opera.

Заключение

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

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

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

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

1.В.Д. Сибилев «Базы данных»: Учебное пособие - Томск: ТУСУР, 2006

2.С. Макконнелл «Совершенный код» - Санкт-Петербург: Питер, 2007

3.MSDN [Электронный ресурс] - http://msdn.microsoft.com/ru-ru/default.aspx (дата обращения 02.12.2013)

4.Android for developers [Электронный ресурс] - http://developer.android.com/index.html (дата обращения 05.03.2014)

5.IOS for developers [Электронный ресурс] - https://developer.apple.com/ (дата обращения 12.02.2014)

Приложение А

Рисунок А.1 - окно авторизации

Рисунок А.2 - окно с схемой зала

Рисунок А.3 - окно удаления и добавления брони

Приложение Б

Цель - создание сервиса бронирования столиков.

Структура сайта.

a. Главная страница

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

Вторая колонка - описание сервиса. Внизу кнопка «начать работу с сервисом» с ссылкой на страницу бронирования.

Третья - вход для пользователей. Текстовые поля для ввода телефона и пароля. Кнопка «войти» и ссылка на форму регистрации.

После успешного входа - открыть страницу бронирования.

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

Внизу страницы - ссылки на Google Play и App store.

Рисунок Б.1 - вид главной страницы

Страница бронирования:

Верхняя часть - неизменяемая картинка с логотипом.

Несколько checkbox'ов, а именно - выбор города, выбор заведения, выбор даты.

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

Рисунок Б.2 - вид календаря для выбора даты

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

Если у заведения несколько залов - картинки залов можно листать влево - вправо. Небольшими стрелками сбоку.

При отсутствии бронирования по столикам у заведения - появление внизу кнопки «забронировать». При нажатии переход на форму бронирования (рисунок б.3).

Рисунок Б.3 - вид заведения с метками

Для заведения с отсутствием меток:

Рисунок Б.4 - вид заведения без меток

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

7. Форма входа:

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

Рисунок Б.5 - вид формы входа

8. Форма бронирования:

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

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

Подтверждение выбора параметров брони. Всплывающее окошко для ввода смс-кода подтверждения брони. При успешном вводе - показать сообщение об этом с данными о бронировании (времени, даты, заведения)

Рисунок Б.6 - вид формы бронирования

9. Форма регистрации:

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

Рисунок Б.7 - вид формы регистрации

Приложение В

Рисунок В.1 - окно опций администраторского приложения

Рисунок В.2 - окно бронирования Android приложения

Рисунок В.3 - окно входа Android приложения

Рисунок В.4 - окно входа приложение IOS

Рисунок В.5 - главная страница сайта

Рисунок В.6 - страница выбора столика на сайте

Рисунок В.7 - заставка при запуске приложения IOS

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


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

  • Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.

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

  • Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.

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

  • Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.

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

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

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

  • Характеристика ООО "Speed Agent", рассмотрение видов деятельности компании. Знакомство с этапами разработки автоматизированной информационной системы обработки заказов в сфере праздничных и деловых мероприятий. Анализ диаграммы вариантов использования.

    курсовая работа [5,7 M], добавлен 23.04.2019

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

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

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

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

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

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

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

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

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

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

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