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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    5,57 Мб
  • Опубликовано:
    2014-04-17
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Введение

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

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

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

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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис.

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


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

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

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

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

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

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

На стадии проектирования была разработана модель проекта, схема взаимодействия клиента и сервера и примерное 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

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

SESSION

Path

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

SESSION

Domain

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

SESSION

DataEnd

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

SESSION

InitialVector

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

SESSION

Login

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

ADMIN

Password

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

ADMIN

DescBar

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

BAR

MapAttr

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

BAR

roleId

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

ROLE

namerole

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

ROLE


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

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

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

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

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

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

Рисунок 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

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

.MSDN [Электронный ресурс] - #"724563.files/image012.gif">

Рисунок А.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

ено н

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!