Разработка программного продукта для мини-отеля для платформы Android
Содержание
Введение
. Техническое задание
1.1 Введение
.2 Основания для разработки
.3 Назначение разработки
.3.1 Функциональное назначение
.3.2 Эксплуатационное назначение
.3.3 Требования к надежности
.3.3.1 Требования к обеспечению надежного функционирования
программы
1.3.3.2 Время восстановления после отказа
.3.3.3 Отказы из-за некорректных действий пользователей
системы
1.4 Требования к программе или программному изделию
.4.1 Требования к функциональным характеристикам
.4.2 Условия эксплуатации
.4.3 Требования к составу и параметрам технических средств
.4.4 Требования к информационной и программной совместимости
.4.4.1 Требования к информационным структурам и методам
решения
.4.4.2 Требования к исходным кодам и языкам программирования
.4.4.3 Требования к программным средствам, используемым
программой
.4.5 Требования к маркировке и упаковке
.4.6 Требования к транспортировке и хранению
.5 Требования к программной документации
.6 Технико-экономические показатели
.7 Стадии и этапы разработки
.8 Порядок контроля и приемки
1.8.1 Виды испытаний
. Технико-экономическое обоснование
3. Анализ аппаратной части и выбор средств разработки ПО
3.1 Выбор оборудования для системы
3.2 Выбор средств хранения и обмена данными между серверной и
клиентской частью программного комплекса
.3 Выбор средств разработки программных продуктов
. Разработка основных алгоритмов и структуры получаемых
данных
.1 Структурная схема проекта
.2 Алгоритм получения данных
.3 Структура получаемых данных
4.4 Структурная схема взаимодействия базы данных с другими
компонентами системы обслуживания клиентов мини — отеля
.5 Таблицы базы данных
5. Реализация программного обеспечения
5.1 Разработка серверной части программного комплекса на базе
операционной системы Windows
.2 Разработка клиентской части программного комплекса на базе
операционной системы Android
5.3
Разработка диаграмма вариантов использования и логической схемы переходов по
интерфейсу программы
6. Руководство пользователя
. Организационно-экономическая часть
. Безопасность и экологичность проекта
Заключение
Список литературы
Приложение
Введение
На данный момент во всех странах большая роль отведена информационным
технологиям. В настоящее время во многих организациях актуальна проблема
автоматизации рабочего процесса. Основная цель автоматизации — получить
конкурентные преимущества засчет использования современных технологий, которые
предназначены повысить эффективность деятельности организации.
Много времени уходит на оформление документов, организацию приема
клиентов и оформление их документов. Выходом из сложившейся ситуации может
стать программное обеспечение, которое поможет автоматизировать работу с
клиентами.
Существует много различных гостиничных комплексов, отелей, мини-отелей,
где работает большое количество сотрудников. Таким образом, автоматизация
рабочего процесса позволяет сократить затраты на оплату труда сотрудникам,
упростить работу администратору отеля, а, клиентам — без каких — либо
трудностей получить всю информацию, а, также, воспользоваться различными видами
услуг.
Целью дипломного проекта является разработка программного продукта для
мини — отеля для платформы Android. Для клиентов программа «Информационная
система обслуживания клиентов мини — отеля» — это описание услуг мини — отеля,
возможность бронирования номеров либо других услуг; для администратора —
ведение учёта гостей, постоянный контроль и изменение информации о
предоставлении тех или иных услуг гостям.
Программа позволит автоматизировать работу по ведению учета о свободных
номерах, о занятых номерах и предоставляемых услугах, что позволит уменьшить
трудоемкость работы.
Функциональное назначение данной программы — она позволяет легко
редактировать базу данных (добавлять новые записи, удалять старые, вносить
необходимые изменения в существующие записи).
Результатом будет приложение для программной платформы Android.
1. Техническое задание
.1 Введение
Настоящее техническое задание распространяется на разработку программы,
позволяющей автоматизировать работу администратора мини — отеля с клиентами.
Программа предназначена для пользователей смартфонов, планшетных компьютеров с
операционной системой Android.
1.2 Основания для разработки
Основанием для разработки является учебный план по специальности 230101
«Вычислительные машины, комплексы, системы и сети».
1.3 Назначение разработки
.3.1 Функциональное назначение
Целью разработки является создание программного комплекса, состоящего из
следующих основных компонентов:
— Программа для персонального компьютера на базе операционной
системы Windows;
— Приложение для смартфонов на базе операционной системы
Android 4.0;
— База данных, работающая в СУБД MySQL
— Веб-сервис для обмена данными, работающий на базе веб-сервера
Apache.
Данный программный продукт должен соответствовать следующим требованиям:
— Хранить в базе данных все наименования услуг, стоимость и
информацию о данных услугах и другую необходимую для работы комплекса
информацию;
— Обеспечить передачу данных между смартфонами и базой данных
MySQL через интернет с помощью запросов и СУБД ;
— Обеспечить передачу данных между смартфоном и базой данных
MySQL через веб-сервис на базе веб-сервера Apache.
— Обеспечить обработку информации хранящейся в базе данных
MySQL на персональном компьютере и выдачу в необходимой форме и печати на
принтере;
— Обеспечить занесение в базу данных новых услуг, меню,
изменений в стоимости через приложение на персональном компьютере.
Функциональным назначением программы является редактирование базы данных
(добавление новых записей, удаление старых, занесение необходимых изменений в
существующие записи).
1.3.2 Эксплуатационное назначение
Программа должна эксплуатироваться как приложение на различных
устройствах, на которых установлена операционная система Android.
1.3.3 Требования к надежности
.3.3.1 Требования к обеспечению надежного функционирования
программы
Надежное (устойчивое) функционирование программы должно быть обеспечено
выполнением совокупности организационно-технических мероприятий, перечень
которых приведен ниже:
— организацией бесперебойного питания технических средств;
— использованием лицензионного программного обеспечения;
— регулярным выполнением рекомендаций Министерства труда и
социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об
утверждении межотраслевых типовых норм времени на работы по сервисному
обслуживанию ПЭВМ и оргтехники и сопровождению программных средств;
— регулярным выполнением требований ГОСТ 51188-98. Защита
информации. Испытания программных средств на наличие компьютерных вирусов.
1.3.3.2 Время восстановления после отказа
Время восстановления после отказа, вызванного сбоем электропитания
технических средств (иными внешними факторами), не фатальным сбоем (не крахом)
операционной системы, не должно превышать 30-ти минут при условии соблюдения
условий эксплуатации технических и программных средств. Время восстановления
после отказа, вызванного неисправностью технических средств, фатальным сбоем
(крахом) операционной системы, не должно превышать времени, требуемого на
устранение неисправностей технических средств и переустановки программных
средств.
1.3.3.3 Отказы из-за некорректных действий
пользователей системы
Отказы программы вследствие некорректных действий пользователя при
взаимодействии с программой недопустимы.
1.4 Требования к программе или программному
изделию
.4.1 Требования к функциональным характеристикам
Программа должна обеспечивать пользователю возможность выполнения
следующих функций:
Для клиента:
— выбор интересующей пользователя услуги;
— получение информации о выбранной услуге;
— бронирование выбранной услуги;
Для администратора:
— получение запроса от клиента;
— обработка информации и обновление базы данных.
1.4.2 Условия эксплуатации
Температура эксплуатации: от 0 °C до 35 °C.
Относительная влажность: от 5% до 95% без конденсации.
1.4.3 Требования к составу и параметрам
технических средств
Программа должна выполняться на любом планшетном компьютере, смартфоне
либо другом устройстве, на котором установлена операционная система Android. С сотовыми и беспроводными каналами
связи:
— UMTS/HSDPA (850 МГц, 1900 МГц, 2100 МГц);
— GSM/EDGE (850 МГц, 900 МГц, 1800 МГц, 1900 МГц);
— Wi-Fi 802.11b/g.
1.4.4 Требования к информационной и программной
совместимости
.4.4.1 Требования к информационным структурам и
методам решения
Получение оперативных данных о бронировании какой-либо услуги осуществить
с помощью протокола HTTP. Хранение
данных о забронированных номерах и заказанных услугах осуществлять в базе
данных в формате JSON.
.4.4.2 Требования к исходным кодам и языкам
программирования
Исходные коды программы должны быть реализованы на языке Java. В качестве интегрированной среды
разработки программы должна быть использована среда Eclipse.
1.4.4.3 Требования к программным средствам,
используемым программой
Программа должна работать под управлением операционной системы Android и выше.
1.4.5 Требования к маркировке и упаковке
Программа поставляется на оптических носителях типа CD-ROM, упакованных в пластиковый контейнер с бумажным
вкладышем. Маркировка должна быть выполнена как на самом диске, так и на
бумажном вкладыше контейнера.
1.4.6 Требования к транспортировке и хранению
Допускается транспортировка программного изделия всеми видами транспорта.
При транспортировке и хранении программного изделия должна быть
обеспечена защита от пыли, атмосферных осадков и прямых солнечных лучей.
Климатические условия хранения и транспортировки: температура от 5°С до 50°С,
относительная влажность воздуха при температуре 25°С от 10% до 70%.
1.5 Требования к программной документации
Основной документацией на программный продукт является пояснительная
записка.
1.6 Технико-экономические показатели
Предполагаемый годовой экономический эффект 158400 руб.
1.7 Стадии и этапы разработки
Февраль 2012. Разработка технического задания.
Март — Апрель 2012. Разработка Программы и документации к ней.
Май 2012. Тестирование Программы. Сдача работы заказчику.
1.8 Порядок контроля и приемки
.8.1 Виды испытаний
Приемо-сдаточные испытания должны проводиться на объекте Заказчика в
оговоренные сроки. Приемо-сдаточные испытания программы должны проводиться
согласно разработанной Исполнителем и согласованной Заказчиком Программы и
методик испытаний. Ход проведения приемо-сдаточных испытаний Заказчик и
Исполнитель документируют в Протоколе проведения испытаний.
2. Технико-экономическое обоснование
Программное обеспечение, разрабатываемое в данном дипломном проекте,
необходимо для автоматизации работы администратора при взаимодействии с
клиентом. Оно должно заменить бумажную документацию, касающуюся бронирования
различных видов услуг, а, также, ускорить и упростить процесс получения
информации об услугах мини — отеля и бронирования любой из услуг. Вся
информация, предоставляемая программным продуктом, обновляется в реальном
времени. Это большое преимущество, так как на бумажных носителях информации
сложно отобразить весь процесс бронирования и обновления базы данных. Также,
это может быть достаточно неудобно, так как каждый день придётся заполнять
большое количество бумаг. У программного продукта нет этих недостатков.
Разработанное программное обеспечение поможет сократить количество
обслуживающего персонала. Работу, связанную с обслуживанием гостей, сможет
выполнять один администратор, что сократит затраты мини — отеля на заработную
плату. В итоге за несколько лет использования программного продукта, он может
себя полностью окупить.
В проекте мне, как специалисту, отведена роль исполнителя (разработчика
клиентской части ПО). Экономическую эффективность от реализации проекта я
получаю засчёт сокращения сотрудников и уменьшения затрат на оплату труда.
3. Анализ аппаратной части и выбор средств
разработки ПО
3.1 Выбор оборудования для системы
Для системы обслуживания клиентов мини — отеля было выбрано следующее
оборудование:
— физический сервер;
— персональный компьютер;
— смартфон;
— Wi-Fi роутер.
Для хранения данных был выбран физический сервер Team Server R1304.
Серверы данной серии — на базе нового поколения процессоров Intel Xeon с
процессорной микроархитектурой Intel Sandy Bridge, которая обеспечивает
повышение производительности и снижение энергопотребления. Также, выбор данного
сервера позволит нам получить быстрый доступ к базе данных и повысить
отказоустойчивость системы. Характеристики данного сервера представлены в
таблице 3.1.
Таблица 3.1 — Характеристики физического сервера
Платформа |
Серверная платформа Intel |
Серверный корпус |
Серверный корпус Intel Server Chassis R1304 |
Блок питания |
Фиксированный блок питания |
Системная плата |
Intel Server |
Панель управления |
Стандартная панель |
Чипсет |
Intel C204 |
Процессор |
Один процессор Intel Xeon |
шины PCI Express 2.0, 20 |
|
До 32ГБ 1333MHz ECC |
|
Оперативная память |
До 4-х дисков SATA и/или |
Дисковая подсистема |
Два интегрированный |
Сетевой контроллер |
Три фиксированных системных |
Система охлаждения |
Рабочая температура от |
Габариты |
Высота 4.24см (1U), Ширина |
Рисунок 3.1 — Физический сервер Team Server R1304
Для установки серверного программного обеспечения был выбран персональный
компьютер с системным блоком DNS Office.
Характеристики персонального компьютера приведены в таблице 3.2
Таблица 3.2 — Характеристики персонального компьютера
Операционная система |
Windows® 7 Домашняя Базовая |
Процессор |
Intel Core i3, 2 ядра |
Частота процессора |
3210 МГц |
Продолжение таблицы 3.2 |
|
Оперативная память |
2048 Мб |
Объем жёсткого диска |
500 Гб |
Графический контроллер |
Встроеный, Intel HD Graphics |
Монитор |
ViewSonic VX2210MH-LED |
Клавиатура |
A4TECH LCDS-720 Golden |
Мышь |
SPEED-LINK KAPPA |
Для установки клиентского программного обеспечения был выбран Смартфон
Samsung Galaxy S3. Характеристики смартфона представлены в таблице 3.3
Таблица 3.3 — Характеристики смартфона Samsung Galaxy S3
Операционная система |
Android 4.0 (Ice Cream |
Размер |
ШxВxТ 70.60×136.60×8.60 мм. |
Время работы в режиме |
До 1200 часов (3G) / до |
Интерфейсы |
USB, Wi-Fi, |
Доступ в интернет |
WAP, GPRS, EDGE, |
Процессор |
Samsung Exynos |
Объём встроенной памяти |
16 Гб |
Объём оперативной памяти |
1 Гб |
Поддержка карт памяти |
microSD (TransFlash), |
Особенности |
Время разговора: до |
Для связи сервера и смартфона был выбран Wi-Fi роутер TRENDnet TEW-651BR.
Характеристики данного роутера представлены в таблице 3.4
Таблица 3.4 — Характеристики Wi-Fi роутера
Количество портов WAN |
1 порт RJ-45 10/100 |
Внешние антенны |
1 антенна (несъемная). |
Частоты работы, ГГц |
2.4 ГГц |
Количество портов LAN |
4 порта 10/100 Мбит/сек |
Скорость передачи данных |
150 Мбит/сек |
Размеры |
150 x 110 x 30 мм |
Рисунок 3.2 — Wi-Fi роутер TRENDnet TEW-651BR
3.2 Выбор средств хранения и обмена данными
между серверной и клиентской частью программного комплекса
Для хранения и обработки данных, необходимых для работы системы
обслуживания клиентов мини — отеля выбрана система управления базами данных MySQL.- свободная реляционная система
управления базами данных. Разработку и поддержку MySQL осуществляет корпорация
Oracle. Продукт распространяется как под GNU (General Public License), так и
под собственной коммерческой лицензией. Помимо этого, разработчики создают
функциональность по заказу лицензионных пользователей, именно благодаря такому
заказу почти в самых ранних версиях появился механизм репликации.является
решением для малых и средних приложений. Обычно MySQL используется в качестве
сервера, к которому обращаются локальные или удалённые клиенты, однако в
дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в
автономные программы.
Основные преимущества MySQL:
— MySQL является бесплатной СУБД;
— Многопоточность и поддержка несколько одновременных запросов;
— Быстрая обработка запросов, выборка и выдача запрашиваемых
данных.
Для обмена данными, между клиентской части программного комплекса, на
платформе Android и системой управления базами данных MySQL было принято решение создать Web-сервис, работающий на базе Web сервера Apache, представляющий собой набор PHP(JSON)
скриптов.
PHP
(англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных
веб-страниц») — скриптовый язык программирования общего назначения, интенсивно
применяемый для разработки веб-приложений. В настоящее время поддерживается
подавляющим большинством хостинг-провайдеров и является одним из лидеров среди
языков программирования, применяющихся для создания динамических веб-сайтов.
Использование Web-сервиса на базе
Web-сервера Apache, значительно ускоряет обмен данными, между
приложением разработанным на платформе Android и СУБД MySQL.
.3 Выбор средств разработки программных
продуктов
Для разработки приложений для Android необходим Android SDK (Software Development Kit) — комплект средств разработки, который позволяет
специалистам по программному обеспечению создавать приложения для определённого
пакета программ, программного обеспечения базовых средств разработки,
аппаратной платформы, компьютерной системы, игровых консолей, операционных
систем и прочих платформ. Он включает: Eclipse IDE, ADT (Android Development
Tools — плагин для Eclipse), Эмулятор, Файловый менеджер. и некоторые другие
компоненты.- свободная интегрированная среда разработки модульных кроссплатформенных
приложений.
Наиболее известные приложения на основе Eclipse Platform — различные
«Eclipse IDE» для разработки ПО на множестве языков (например, наиболее
популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо
закрытые расширения, использует стандартный открытый API для доступа к Eclipse
Platform).- Интегри́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated
development environment или integrated debugging environment) — система
программных средств, используемая программистами для разработки программного
обеспечения (ПО).
Обычно, среда разработки включает в себя:
— текстовый редактор;
— компилятор и/или интерпретатор;
— средства автоматизации сборки;
— отладчик.служит в первую очередь платформой для разработки
расширений, чем он и завоевал популярность: любой разработчик может расширить
Eclipse своими модулями. Множество расширений дополняет среду Eclipse
менеджерами для работы с базами данных, серверами приложений и др.Development
Tools — плагин для Eclipse IDE, позволяющий создавать приложения под Android.
Плагин для Eclipse, Android Development Tools (ADT), поможет писать
приложения для Android. Он интегрируется с Eclipse IDE для того, чтобы
обеспечить возможности создания, отладки и тестирования android-приложений.
Менеджеры виртуальных устройств — инструменты для создания и управления
виртуальными устройствами в Android (AVD) и управления ими в виде отдельных
экземпляров эмулятора. AVD содержит эмулятор, внутри которого работает
соответствующая версия Android. C его помощью можно указать версию SDK,
разрешение экрана, емкость SD-карты, аппаратные возможности (сенсорный экран,
GPS).
Каждое виртуальное устройство должно иметь название, целевую сборку
Android, емкость SD-карты и разрешение экрана. Кроме того, виртуальные устройства
поддерживают разные аппаратные настройки и ограничения:
— плотность пикселей на экране;
— поддержка SD-карт;
— наличие сенсорного экрана и клавиатуры;
— поддержка GPS;
— доступная память;
— аппаратная камера и ее разрешение;
— поддержка звукозаписи;
— менеджер SDK.
Для управления версиями SDK можно использовать менеджер SDK через панель,
доступную в меню Window → Android SDK and AVD Manager. Вы можете
просматривать установленные версии SDK, а также обновлять их по мере
надобности.
Эмулятор.
Виртуальная машина Android для тестирования и отладки ваших приложений
прямо на компьютере, не имея реального устройства. Является реализацией
виртуальной машины Dalvik, что делает его совместимым с любым Android —
телефоном. Чтобы запустить эмулятор, необходимо создать виртуальное устройство.
С помощью эмулятора вы можете иметь полноценный доступ к интернету,
настраивать скорость и латентность соединения. Также можно имитировать входящие
и исходящие телефонные звонки и SMS-сообщения.
В то же время эмулятор не поддерживает виброзвонок, светодиоды, камеру,
соединения по USB, захват аудиоданных, уровень заряда батареи.
Дополнение ADT интегрирует эмулятор в Eclipse, поэтому при запуске и
отладке проектов он автоматически стартует внутри выбранного экземпляра AVD.
DDMS (Dalvik Debug Monitoring Service).
Панель DDMS (Служба для отслеживания процесса отладки в Dalvik)
используется для отслеживания и контроля за виртуальными машинами Dalvik. Это
мощный отладочный инструмент, позволяющий изучать активные процессы, просматривать
стек, останавливать рабочие потоки, исследовать файловую систему подключенного
устройства.
Возможности:
— управление задачами;
— управление файлами;
— взаимодействие с эмулятором;
— журналирование (журнальные записи LogCat);
— Создание скриншотов (захват изображения с экрана эмулятора).
При использовании ADT утилита DDMS интегрируется в Eclipse и доступна из
соответствующей панели (Window→Open Perspective→DDMS). В противном
случае вы можете запускать DDMS из командной строки — ее исполняемый файл находится
в папке Android SDK /tools.
Управление задачами.
На панели Devices перспективы DDMS можно увидеть список эмуляторов и
телефонов, подключенных в текущий момент. Можно выбрать отдельные экземпляры,
просмотреть текущие процессы и потоки. Чтобы просмотреть поток, щелкните мышью
по нужному процессу устройства, затем на кнопке обновления потока.
Обзор файловой системы.
Для просмотра файлов и папок в эмуляторе или на устройстве вы можете
использовать панель File Explorer. Вы можете копировать файлы между системой
Android и вашим компьютером с помощью кнопок перемещения. Также можно удалять
файлы. При этом на экран не выводится сообщение о подтверждении операции и
отмены операции.
Взаимодействие с эмулятором.
Панель Emulator Control позволяет выполнять голосовые вызовы, отправку и
прием SMS, запрос геолокационных координат.
AAPT (Android Asset Packaging Tool).
AAPT (Инструмент для создания пакетов) создает файлы пакетов для Android
(.apk), готовые к распространению.(Android Debug Bridge).
Клиент-серверное приложение, которое предоставляет доступ к работающему
эмулятору или устройству. С его помощью можно копировать файлы, устанавливать
скомпилированные программные пакеты и запускать консольные команды. Используя
консоль, вы можете изменять настройки журнала и взаимодействовать с базами
данных SQLite, которые хранятся на устройстве. В старых версиях SDK программа
находилась в папке /tools. Теперь находится в папке /platform-tools. Состоит из
трех компонентов: фоновой службы (демона), работающей в эмуляторе, сервиса,
запущенного на компьютере разработчика, и клиентской программы (наподобие
DDMS), которая связывается со службой через Сервис.
Чтобы увидеть весь список параметров и команд, которые можно запустить
при помощи adb, введите в командной строке следующее:help
Если у вас есть файл приложения APK и вы хотите его установить на
эмуляторе, то используйте команду:
adb.exe install d:program.apk
d:program.apk — это путь к файлу, который хотите установить в эмулятор.
После этого установленное приложение появится в эмуляторе. Если приложение
слишком большое (несколько мегабайт), то придётся немного подождать, пока
установится. Во время установки в консоли курсор будет мигать, а потом появится
надпись Success, что означает успешную установку программы.
Также, можно удалить ненужную программу по имени его пакета:uninstall
<package name>
Чтобы перезапустить сервер:
adb stop-serverstart-server
Для копирования файлов с устройства на компьютер и обратно используются
команды pull и push.
adb push <local source file path> <device
destination file path>pull <device source file path> <local
destination file path>
Чтобы запустить оболочку (shell) на подключенном устройстве, выполните
следующую команду:shell
Символ # обозначает приглашение оболочки (shell prompt).
Вы можете просмотреть список команд, доступных при работе в оболочке,
введя следующую информацию по приглашению оболочки:
# ls /system/bin
Для разработки приложения выбран язык программирования Java.- объектно-ориентированный язык
программирования, разработанный компанией Sun Microsystems (в последующем
приобретённой компанией Oracle). Приложения Java обычно компилируются в
специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине
(JVM) вне зависимости от компьютерной архитектуры. Дата официального выпуска —
23 мая 1995 года.
Достоинством подобного способа выполнения программ является полная
независимость байт-кода от операционной системы и оборудования, что позволяет
выполнять Java-приложения на любом устройстве, для которого существует
соответствующая виртуальная машина. Другой важной особенностью технологии Java
является гибкая система безопасности благодаря тому, что исполнение программы
полностью контролируется виртуальной машиной. Любые операции, которые превышают
установленные полномочия программы (например, попытка несанкционированного
доступа к данным или соединения с другим компьютером) вызывают немедленное
прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что
исполнение байт-кода виртуальной машиной может снижать производительность
программ и алгоритмов, реализованных на языке Java. В последнее время был
внесен ряд усовершенствований, которые несколько увеличили скорость выполнения
программ на Java:
— применение технологии трансляции байт-кода в машинный код
непосредственно во время работы программы (JIT-технология) с возможностью
сохранения версий класса в машинном коде;
— широкое использование платформенно — ориентированного кода
(native-код) в стандартных библиотеках;
— аппаратные средства, обеспечивающие ускоренную обработку
байт-кода (например, технология Jazelle (семейство технологий, разработанных и
продвигаемых компанией ARM, предназначенных для аппаратного ускорения
выполнения приложений, написанных на языке Java), поддерживаемая некоторыми
процессорами фирмы ARM).
Java и
Android.
Язык Java активно используется для создания мобильных приложений под
операционную систему Android. При этом программы компилируются в нестандартный
байт-код, для использования их виртуальной машиной Dalvik. Для такой компиляции
используется дополнительный инструмент, а именно Software Development Kit,
который предназначен для x86-машины под операционной системой Linux.
Разработку приложений можно вести в среде Eclipse, используя при этом
плагин — Android Development Tools (ADT) или в IntelliJ IDEA (коммерческая
интегрированная cреда разработки программного обеспечения). Версия JDK при этом
должна быть 5.0 или выше.
Программы, написанные на Java, имеют репутацию более медленных и
занимающих больше оперативной памяти, чем написанные на языке Си. Тем не менее,
скорость выполнения программ, написанных на языке Java, была существенно
улучшена с выпуском в 1997-1998 годах так называемого JIT-компилятора в версии
1.1 в дополнение к другим особенностям языка для поддержки лучшего анализа
кода. Кроме того, была произведена оптимизация виртуальной машины Java — с 2000
года для этого используется виртуальная машина HotSpot.
Некоторые платформы предлагают аппаратную поддержку выполнения для Java.
К примеру, микроконтроллеры выполняющие код Java на аппаратном обеспечении
вместо программной JVM, а также основанные на ARM процессоры, которые
поддерживают выполнение байткода Java через опцию Jazelle.
Основные возможности Java:
— автоматическое управление памятью;
— расширенные возможности обработки исключительных ситуаций;
— богатый набор средств фильтрации ввода/вывода;
— набор стандартных коллекций: массив, список, стек и т. п.;
— наличие простых средств создания сетевых приложений (в том
числе с использованием протокола RMI);
— наличие классов, позволяющих выполнять HTTP-запросы и
обрабатывать ответы;
— встроенные в язык средства создания многопоточных приложений;
— параллельное выполнение программ.
Для разработки клиентской части программного комплекса выбрана платформа Android.(Андро́ид) — операционная система для
коммуникаторов, планшетных компьютеров, электронных книг, цифровых
проигрывателей, наручных часов, нетбуков, смартбуков и других устройств,
основанная на ядре Linux и собственной реализации Java от Google. Изначально
разрабатывалась компанией Android Inc., которую затем купила Google.
Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA),
который сейчас занимается поддержкой и дальнейшим развитием платформы. Android
позволяет создавать Java-приложения, управляющие устройством через
разработанные Google библиотеки. Android Native Development Kit позволяет
портировать (но не отлаживать) библиотеки и компоненты приложений, написанные
на С и других языках.
В 70,1 % смартфонов, проданных в четвёртом квартале 2012 года, была
установлена операционная система Android. Первым устройством, работающим под
управлением Android, стал разработанный компанией HTC смартфон HTC Dream (рис.
3.3) (официально выпущен сотовым оператором T-Mobile под названием T-Mobile
G1), презентация которого состоялась 23 сентября 2008 года.
Рисунок 3.3 — Смартфон HTC Dream
Вскоре последовали многочисленные заявления других производителей
смартфонов о намерении выпустить устройства на базе Android. В России первым
Android-смартфоном поступившим в продажу (июль 2009 года) стал Highscreen
PP5420 (рис. 3.4).
Рисунок 3.4 — Android-смартфон Highscreen PP5420
С выходом Android третьей версии (Honeycomb), ориентированной на
планшеты, всё больше производителей стали объявлять и о выпуске планшетов на
этой платформе. Также компания Google в сотрудничестве с разными гигантами
мобильной индустрии выпускает собственные устройства в серии «Google Nexus».
Именно эти устройства первыми получают обновления до новых версий.
Кроме смартфонов и планшетов, операционную систему Android устанавливают
и на другие устройства. Так, в конце 2009 года появилась в продаже первая
фоторамка, работающая на Android. В июне 2011 года итальянская компания Blue
Sky анонсировала выпуск интеллектуальных наручных часов i’mWatch под
управлением ОС Android. В августе 2012 года Nikon представила первую в мире
фотокамеру, которая также работает на Android. В серии «Google Nexus»
присутствуют не только смартфоны и планшеты, но и медиаплеер Nexus Q,
работающий на Android.
Кроме того, портировали Android на ряд известных устройств, среди
которых, например, смартфоны на платформе Windows Mobile HTC Touch Dual и HTC
TyTN II, на которых Android был запущен в режиме эмуляции. Также было
осуществлено полноценное портирование на такие устройства, как
интернет-планшеты, работающие на Maemo — Nokia N810 и Nokia N900 (порт под
названием Nitdroid), на смартфоны Nokia N9, работающий на платформе MeeGo, и
HTC HD2, работающий на операционной системе Windows Mobile, на котором ОС
Android можно запускать как с microSD-карты, так и с внутренней NAND-памяти.
При этом установленная система имеет полную, ничем особо не ограниченную
функциональность. Также Android портирован на архитектуру x86.
В октябре 2012 года исполнительный директор компании Ларри Пейдж сообщил
о более 500 миллионов активированных смартфонов и планшетов на базе
операционной системы Android и о ежедневной активации 1,3 миллиона устройств.
Приложения под операционную систему Android являются программами в
нестандартном байт-коде для виртуальной машины Dalvik, для которых был
разработан формат установочных пакетов .apk. Для работы над приложениями
доступно множество библиотек: Bionic (библиотека стандартных функций,
несовместимая с libc); libc (стандартная системная библиотека языка Си);
мультимедийные библиотеки на базе PacketVideo OpenCORE (поддерживают такие
форматы, как MPEG4, H.264, MP3, AAC, AMR, JPG и PNG); SGL (движок двухмерной
графики); OpenGL ES 1.0 ES 2.0 (движок трёхмерной графики); Surface Manager
(обеспечивает для приложений доступ к 2D/3D); WebKit (готовый движок для
Web-браузера; обрабатывает HTML, JavaScript); FreeType (движок обработки
шрифтов); SQLite (легковесная СУБД, доступная для всех приложений); SSL
(протокол, обеспечивающий безопасную передачу данных по сети). По сравнению с
обычными приложениями Linux, приложения Android подчиняются дополнительным
правилам: Content Providers — обмен данными между приложениями; Resource
Manager — доступ к таким ресурсам, как файлы XML, PNG, JPEG; Notification
Manager — доступ к строке состояния; Activity Manager — управление активными
приложениями.
4. Разработка основных алгоритмов и структуры
получаемых данных
4.1 Структурная схема проекта
Структурная схема автоматизированной информационной системы представлена
на рисунке 4.1
Рисунок 4.1 — Структурная схема информационной системы обслуживания
клиентов мини — отеля
Клиент, выбрав интересующие его услуги, переходит на страницу получения
информации и заказа в приложении, реализующем клиентскую часть. В этот момент
приложение формирует запрос к базе данных, указывая параметры отбора. Запрос
отправляется по сети internet к серверу. Сервер обрабатывает запрос и формирует
массив возвращаемых данных. Массив возвращается к клиентской части, где данные
отображаются. Когда клиент совершает, заказ приложение формирует запрос к базе
данных на добавление в неё новой информации. Клиентская часть администратора
отеля периодически отправляет запросы к базе данных. Запрос отправляется по
сети internet к серверу. Сервер обрабатывает запрос и формирует массив
возвращаемых данных. Массив возвращается к клиентской части администратора, где
новые данные отображаются в виде оповещения о действиях клиента.
4.2 Алгоритм получения данных
(англ. HyperText Transfer Protocol — «протокол передачи гипертекста») —
протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых
документов). Основой HTTP является технология «клиент-сервер», то есть
предполагается существование потребителей (клиентов), которые инициируют
соединение и посылают запрос, и поставщиков (серверов), которые ожидают
соединения для получения запроса, производят необходимые действия и возвращают
обратно сообщение с результатом.
Особенностью протокола HTTP является возможность указать в запросе и
ответе способ представления одного и того же ресурса по различным параметрам:
формату, кодировке, языку и т. д. (В частности для этого используется
HTTP-заголовок.) Именно благодаря возможности указания способа кодирования
сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный
протокол является текстовым.
Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ». Для
идентификации ресурсов HTTP использует глобальные URI (унифицированный
(единообразный) идентификатор ресурса). В отличие от многих других протоколов,
HTTP не сохраняет своего состояния. Это означает отсутствие сохранения
промежуточного состояния между парами «запрос-ответ». Компоненты, использующие
HTTP, могут самостоятельно осуществлять сохранение информации о состоянии,
связанной с последними запросами и ответами (например, «куки» на стороне
клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может
отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки
запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих
запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к
нему не предъявляются такие требования. Протокол прост в реализации, что
позволяет легко создавать клиентские приложения.
Взаимодействие клиента и сервера по протоколу HTTP.
World
Wide Web или просто Web — это сеть информационных ресурсов. Служба WWW —
представляет собой множество независимых, но взаимосвязанных серверов и
предназначена для обмена текстовой, графической, аудио и видео информацией.
Работая с Web, пользователь последовательно соединяется с Web-серверами и
получает информацию.построена по схеме «клиент-сервер».
Взаимодействие клиента и сервера по протоколу HTTP показано на рис. 4.2
Рисунок 4.2 — Взаимодействие клиента и сервера по протоколу HTTP
В качестве клиента выступает браузер, который является также и
интерпретатором HTML. Как интерпретатор, браузер в зависимости от команд
(тегов) выполняет различные функции: размещение текста на экране, обмен
информацией с сервером по мере анализа полученного HTML-текста и др.
Сервер HTTP обрабатывает запросы клиента на получение файлов, выполнение
программ и др.
Протокол HTTP используется службой WWW для передачи Web-страниц.
Tранспортным протоколом для HTTP является протокол TCP (один из основных
протоколов передачи данных Интернета), причем сервер HTTP (сервер Web)
находится в состоянии ожидания соединения со стороны клиента стандартно по
порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения.
В самом общем случае URL (стандартизированный способ записи адреса
ресурса в сети Интернет) выглядит следующим
образом:://user:password@host:port/path/file?paremeters#fragment
Отдельные поля URL имеют следующий смысл:
protocol
— прикладной протокол, посредством которого получают доступ к ресурсу;-
пользователь, от имени которого получают доступ к ресурсу;- пароль пользователя
для аутентификации при доступе к ресурсу;- IP-адрес или имя сервера, на котором
расположен ресурс;- номер порта, на котором работает сервер, предоставляющий
доступ к ресурсу;- путь к файлу, содержащему ресурс;- файл, содержащий ресурс;-
параметры для обработки ресурсом-программой;- точка в файле, начиная с которой
следует отображать ресурс.
Взаимодействие между клиентом и сервером Web осуществляется путем обмена
сообщениями. Сообщения HTTP делятся на запросы клиента серверу и ответы сервера
клиенту.
Запросы и ответы выглядят следующим образом:
начальная строка
заголовок 1
…
заголовок NLF (пустая строка)
тело сообщения (может отсутствовать)
Формат начальной строки (start-line) клиента и сервера различаются.
Заголовки бывают четырех видов:
— общие заголовки (general-headers), которые могут
присутствовать как в запросе, так и в ответе;
— заголовки запросов (request-headers), которые могут
присутствовать только в запросе;
— заголовки ответов (response-headers), которые могут
присутствовать только в ответе;
— заголовки объекта (entity-headers), которые относятся к телу
сообщения и описывают его содержимое.
В теле сообщения содержится собственно передаваемая информация. Тело
сообщения представляет собой последовательность октетов (байтов). Тело
сообщения может быть закодировано, например, для уменьшения объема передаваемой
информации, при этом способ кодирования указывается в заголовке объекта
Content-Encoding. Запрос от клиента к серверу состоит из строки запроса
(request-line), заголовков (общих, запросов, объекта) и, возможно, тела
сообщения.
Строка запроса:
<Команда HTTP> <Идентификатор запрашиваемого ресурса> <Версия
HTTP>
Основные команды протокола HTTP:
Запрос информации об опциях соединения (например, методах, типах
документов, кодировках), которые поддерживает сервер для запрашиваемого
ресурса. Если идентификатор запрашиваемого ресурса — звездочка («*»),
то запрос предназначен для обращения к серверу в целом.
Позволяет получить информацию, связанную с запрашиваемым ресурсом. Если
идентификатор запрашиваемого ресурса указывает на документ, то сервер
возвращает содержимое этого документа (содержимое файла). Если запрашиваемый
ресурс является приложением (программой), формирующим в процессе своей работы
некоторые данные, то в теле сообщения ответа возвращаются эти данные. Если
идентификатор запрашиваемого ресурса указывает на директорию (каталог, папку),
то, в зависимости от настроек сервера, может быть возвращено либо содержимое
директории (список файлов), либо содержимое одного из файлов, находящегося в
этой директории (как правило, index.html). В случае запроса папки ее имя может
указываться как с символом «/» на конце, так и без него. При
отсутствии на конце идентификатора ресурса данного символа сервер выдает один
из ответов с перенаправлением (с кодами статуса 301 или 302).
Разновидностями команды GET является «условный GET»
(«conditional GET») и «частичный GET» («partial
GET»). Условный GET запрашивает передачу объекта, только если он
удовлетворяет условиям, описанным в приведенных заголовках. Частичный GET
запрашивает передачу только части объекта.
HEAD
Идентична команде GET, за исключением того, что сервер не возвращает в
ответе тело сообщения.
POST
Используется для запроса, при котором адресуемый сервер принимает данные,
включенные в тело сообщения (объект) запроса, и отправляет их на обработку
приложению, указанному как запрашиваемый ресурс.
PUT
Тело сообщения, которое передается в запросе, сохраняется на сервере,
причем идентификатор запрашиваемого ресурса будет идентификатором сохраненного
документа.
Запрос на удаление ресурса, имеющего запрашиваемый идентификатор.
Используется для тестирования или диагностики. Получатель запроса (сервер
Web) отправляет полученное сообщение обратно клиенту как тело сообщения ответа.
После получения и интерпретации сообщения запроса, сервер отвечает
сообщением HTTP ответа.
Ответ сервера клиенту:
Первая строка ответа — это строка состояния (Status-Line):
<Версия HTTP> <Код состояния> <Поясняющая фраза>
Код состояния (Status-Code) — это целочисленный трехразрядный код
результата понимания и удовлетворения запроса. Поясняющая фраза (Reason-Phrase)
— короткое текстовое описание кода состояния. Код состояния предназначен для
обработки программным обеспечением, а поясняющая фраза предназначена для
пользователей.
Первая цифра кода состояния определяет класс ответа. Последние две цифры
не имеют определенной роли в классификации. Имеется 5 значений первой цифры:
1xx — Информационные коды — запрос получен, продолжается обработка.
xx — Успешные коды — действие было успешно получено, понято и обработано.
xx — Коды перенаправления — для выполнения запроса должны быть
предприняты дальнейшие действия.
xx — Коды ошибок клиента — запрос имеет ошибку синтаксиса или не может
быть выполнен.
xx — Коды ошибок сервера — сервер не в состоянии выполнить допустимый
запрос.
4.3 Структура получаемых данных
Для передачи сообщений выбран формат данных JSON.(англ. JavaScript Object Notation) — текстовый формат
обмена данными, основанный на JavaScript и обычно используемый именно с этим
языком. Как и многие другие текстовые форматы, JSON легко читается людьми.
Несмотря на происхождение от JavaScript (точнее, от подмножества языка
стандарта ECMA-262 1999 года), формат считается языконезависимым и может
использоваться практически с любым языком программирования. Для многих языков
существует готовый код для создания и обработки данных в формате JSON.
Если говорить о веб-приложениях, в таком ключе он уместен в задачах
обмена данными как между браузером и сервером (AJAX), так и между самими
серверами (программные HTTP-интерфейсы). Формат JSON также хорошо подходит для
хранения сложных динамических структур в реляционных базах данных или файловом
кэше.строится на двух структурах:
— Набор пар ключ/значение. В различных языках это реализовано
как объект, запись, структура, словарь, хэш-таблица, список с ключом или
ассоциативный массив.
— Пронумерованный набор значений. Во многих языках это
реализовано как массив, вектор, список или последовательность.
Это универсальные структуры данных. JSON используется для обмена данными
между различными языками программирования.
Приведём пример бронирования номера:
reserve_room = {
user = {_name = “ Yana”;_name = “Lebedeva”;
phone
= ‘79370”;
};
room =
“5”
}
Для бронирования номера получаем массив данных о клиенте:
first_name — имя клиента; — phone — номер телефона клиента;
last_name — фамилия клиента; — room — номер, в который он хочет заселиться.
.4 Структурная схема взаимодействия базы данных
с другими компонентами системы обслуживания клиентов мини — отеля
POST
Рисунок 4.3 — Структурная схема взаимодействия базы данных с другими
компонентами системы
Расскажем о структурной схеме базы данных системы. В базе данных, которая
расположена на сервере, находится несколько таблиц, в каждой из которых
содержится определённая информация. Всего 6 таблиц: цены, номера, питание,
учётные данные, уведомление о бронировании номеров, уведомление об услугах. В
таблицах «Уведомления о бронировании номеров» и «Уведомление об услугах»
хранится информация только для администратора. Клиент, работая через
приложение, посылает запросы в данные таблицы, сервер обрабатывает эти данные,
и администратор, работая через Web —
приложение, выходит на экран, где отображаются эти данные. В свою очередь,
администратор посылает запросы в остальные таблицы (т.е. он записывает туда
данные), сервер обрабатывает их, и клиент получает эти данные (т.е. он их
читает). Добавление данных осуществляется с помощью команды «POST», а, получение — с помощью команды «GET».
4.5 Таблицы базы данных системы
Цены |
|||
Вид услуги |
Стоимость часа |
Кол-во человек |
Стоимость часа сверх |
Баня |
800 |
8 |
200 |
Бильярд |
150 |
||
Кафе |
150 |
1 |
Питание (по стоимости) |
||
ID блюда |
Название |
Стоимость |
Учётные данные |
||||||
Номер телефона |
Номер в отеле |
|||||
Уведомления о бронировании |
||||||
Фамилия |
Имя |
Телефон |
Номер |
Услуга |
||
Уведомления об услугах |
||||||
Телефон |
Фамилия |
Имя |
Баня |
Бильярд |
Кафе |
Питание |
{ кол-во человек= ”5”; время= ”13:30” } |
{ название= “Блюдо 1” } |
Расскажем о таблицах базы данных. Таблицы: цены, питание (по стоимости),
номера и учётные данные нужны для клиента. Когда клиент переходит по вкладкам
приложения, информация об услугах берётся из этих таблиц. В таблице «Цены»
содержится информация о стоимости услуг, количестве человек и стоимости сверх
ограничения за человека. В таблице «Номера» содержится информация о состоянии
занятости каждого номера. Состояния: 1 — свободен, 0 — занят. В таблицу
«Питание (по стоимости)» входит индивидуальный номер блюда, его название и
стоимость. В таблице «Учётные данные» записан номер телефона клиента и номер, в
котором он проживает. В эту таблицу администратор вносит данные, когда
принимает решение о брони на данный номер, т.е., если клиент забронировал
определённый номер, администратор вносит данные в эту таблицу о том, что номер
забронирован на данного клиента. Данная таблица предназначена, чтобы сервер мог
определить, что действительно данные клиент проживает в данном номере.
Таблица «Уведомление о бронировании номеров» включает фамилию, имя,
телефон клиента, номер, который он хочет забронировать и услугу, которую он
хочет забронировать. Данная таблица нужна для администратора. Таблица
«Уведомления об услугах» включает фамилию, имя, телефон клиента, а, также,
поля: баня, бильярд, кафе и питание. Данная таблица нужна для хранения услуг,
заказанных клиентами. Для того, чтобы администратор видел набор тех услуг,
которые заказал тот или иной клиент. Эта таблица также нужна администратору.
Когда клиент делает запрос, информация заносится в данную таблицу в виде
массива в формате JSON в таких
полях, как «баня» или «питание». В полях «бильярд» или «кафе» информация
отображается в виде числа — количества часов.
В каждой таблице есть ключевое поле, по которому распознаётся данная
таблица.
5. Реализация программного обеспечения
5.1 Разработка серверной части программного
комплекса на базе операционной системы Windows
Серверная часть программного комплекса должна обеспечивать возможность
выполнение следующих действий:
— добавление, изменение и удаление любой информации об отеле;
— добавление, изменение и удаление информации о заселении и
выезде клиента из номера;
— добавление, изменение и удаление блюд, которые выбирают
клиенты мини — отеля;
— добавление, изменение и удаление мест в кафе;
— регистрация новых посетителей, а так же заполнение всей
необходимой информации о них;
— добавление, изменение или удаление любой услуги, которые
предоставлены в данной системе обслуживания клиентов мини — отеля.
5.2 Разработка клиентской части программного
комплекса на базе операционной системы Android
Клиентская часть программного комплекса должна обеспечивать возможность
выполнения следующих действий:
— заполнять и изменять заказы и брони посетителей системы
обслуживания клиентов;
— обеспечить пользователя всей необходимой справочной
информацией.
5.3 Разработка диаграммы вариантов использования и логической схемы
Разработаем диаграмму использования приложения. Действующее лицо у данной
программы одно — клиент. На рисунке 5.1 представлена диаграмма использования
приложения. Связи указанные двунаправленными стрелками означают, что переходы
могут осуществляться в обоих направлениях. При нажатии кнопки «домой»,
приложение закрывается на любом этапе использования. Или кнопкой «Назад» из
главного меню.
Рисунок 5.1 — Диаграмма использования приложения
Данное программное обеспечение создаётся для удобства восприятия
информации пользователем. Чем проще и понятнее будет интерфейс данного
программного продукта, тем успешнее он будет. Теперь перейдём к логической
схеме программного обеспечения. В данном случае логической схемой является
схема переходов пользователя по пользовательскому интерфейсу. На рисунке 5.2
представлена схема переходов по пользовательскому интерфейсу.
Рисунок 5.2 — Логическая схема переходов по интерфейсу программы
Начальным этапом работы является окно «главное меню», где мы можем
выбрать следующие опции: забронировать номер, узнать информацию об отеле засчёт
выхода на сайт мини — отеля, заказать какую — либо услугу либо выселиться. На
любом этапе ввода информации можно вернуться в предыдущее окно и ввести другую
информацию. Если мы выбираем опцию «Информация об отеле», мы выходим на сайт
мини — отеля и получаем всю необходимую нам информацию. Далее, введя свои
данные, мы можем воспользоваться любыми услугами. Если мы выбираем опцию
«Забронировать номер», мы выбираем любой свободный номер и бронируем его.
Также, мы можем выбрать опцию «Заказать услуги», где из предложенного списка
выбираем нужную нам услугу и заказываем её.
6. Руководство пользователя
Пользователь скачивает приложение с персонального компьютера
администратора. Устанавливает на свой смартфон или планшетный компьютер с
операционной системой Android
4.0 и выше. Ярлык приложения появляется на экране смартфона. Для запуска
приложения необходимо нажать на ярлык приложения на экране. После запуска
программы пользователь попадает в главное меню программы, изображенное на
рисунке 6.1.
Рисунок 6.1 — Главное меню
В данном меню клиент может выбрать опцию «Информация об отеле». Если мы
хотим узнать какую — либо информацию об отеле, выбираем данную опцию и
переходим на сайт мини — отеля, как показано на рисунке 6.2.
Рисунок 6.2 — Переход на сайт мини — отеля
Если мы хотим заказать какую — либо услугу или забронировать номер, мы
должны ввести свои данные: фамилию, имя, номер телефона и номер, в котором
проживаем (при заказе услуги). На смартфоне есть кнопка «Меню», нажав на
которую открывается окно, в котором клиент должен ввести свои данные. Поля для
заполнения данных показаны на рисунке 6.3. На рисунке 6.4 приведён пример ввода
информации о клиенте.
Рисунок 6.3 — Поля для заполнения данных клиентом
Рисунок 6.4 — Ввод информации о клиенте
Введя все свои данные клиент имеет возможность воспользоваться любой
услугой мини — отеля. Теперь опции будут выделены для него белым цветом.
Рисунок 6.5 — Главное меню после ввода данных клиентом
Если мы выбираем «Забронировать номер», перед нами откроется следующее
окно:
Рисунок 6.6 — Бронирование номеров
Белым цветом выделены свободные номера, серым — занятые. В данном случае
мы можем выбрать любой свободный номер и забронировать его, в ином случае —
вернуться в главное меню.
Также, мы можем выбрать опцию «Заказать услуги». Перед нами открывается
окно, в котором предложены услуги, представленные в нашей системе обслуживания
клиентов мини — отеля.
Рисунок 6.7 — Выбор услуги
Рассмотрим вариант выбора услуги «Баня». При выборе данной услуги
открывается окно, в котором мы должны заполнить необходимую информацию: ввести
количество человек, количество часов, на которое мы заказываем баню, затем
нажать кнопку «Заказать». Также, автоматически рассчитывается стоимость данной
услуги, то есть, клиент сразу будет знать, какую сумму он должен будет внести
за данную услугу. Выбор данной услуги представлен на рисунке 6.8.
Рисунок 6.8 — Выбор услуги «Баня»
Также, мы можем выбрать услугу «Бильярд». Как и в предыдущем случае, мы
заполняем поля. В данном случае — это поле «Количество часов». Количество
человек в данной услуге значения не имеет. Здесь также рассчитывается стоимость
услуги. Выбор данной услуги представлен на рисунке 6.9.
Рисунок 6.9 — Выбор услуги «Бильярд»
Ещё одна услуга — «Питание». Клиент может заказать любое блюдо к себе в
номер. Для этого он выбирает нужные ему блюда. Выбор данной услуги представлен
на рисунке 6.10.
Рисунок 6.10 — Выбор услуги «Питание»
Последняя услуга — это «Кафе». Здесь клиент может забронировать столы в
кафе на определённое количество человек. При входе в данную опцию, в окне
показано количество мест, которое свободно в данное время. Если мест
недостаточно, клиент может зайти позже, иначе — бронирует места. За
дополнительной информацией также можно обратиться к администратору мини- отеля,
позвонив ему. Выбор данной услуги представлен на рисунке 6.11.
Рисунок 6.11 — Выбор услуги «Кафе»
7. Организационно-экономическая часть
.1 Организационная часть
Основой проекта является клиент серверное — приложение (программа).
7.1.1 Оценка потребительских свойств
проектируемой системы
Разработка данной системы позволит:
Сократить время обслуживания клиента при взаимодействии его с
администратором;
Предоставить возможность просмотра и выбора любых услуг мини —
отеля, не выходя из номера;
Упростить администратору хранение и изменение любой информации о
брони и обслуживании клиентов.
7.2 Экономическая часть
.2.1 Стадии разработки
Стадии выполнения проекта приведены в таблице 7.1
Таблица 7.1 — Стадии работы над программным продуктом
Стадии |
Этапы работ |
Время выполнения |
1 Формирование требований к |
1.1 Формирование требований |
2 дня |
2 Разработка общей |
Сбор необходимой информации |
3 дня |
3 Разработка технического |
Разработка и утверждение |
1 день |
4 Эскизный проект |
4.1 Разработка |
10 дней |
5 Выполнение технического |
5.1 Создание программного |
25 дней |
6 Сопровождение разработки |
Техническая поддержка |
Период эксплуатации |
Итого: |
41 день |
Для реализации проекта требуется инженер-программист и инженер по
тестированию. Сопровождение программного продукта осуществляется
инженером-программистом.
7.2.2 Расчёт сметы затрат на разработку
Затраты на разработку рассчитываются по следующим статьям:
— покупные материалы;
— расходы на оплату труда исполнителей;
— отчисления на страховые взносы;
— амортизационные отчисления;
— энергия;
— содержание и ремонт оборудования;
— накладные расходы.
7.2.3 Покупные материалы
Для разработки программного продукта требуются расходные материалы.
Расчёт затрат на покупные материалы ведётся на основании потребности и покупной
цены с учётом транспортно-заготовительных расходов. В нашем случае необходима
бумага для составления принципиальных схем работы программы и печати исходных
кодов, а, также, оборудование для разработки программного продукта с учётом
транспортно — заготовительных расходов.
Затраты на покупные материалы приведены в таблице 7.2.
Таблица 7.2 — Расчёт затрат на покупные материалы
Наименование продукта |
Количество, ед. |
Цена, руб. |
Стоимость, руб. |
Картридж для HP LaserJet |
1 ед. |
1490,00 |
1490,00 |
Бумага A4 |
1 ед. |
120,00 |
120,00 |
CD-диски |
10 ед. |
13,00 |
130,00 |
Смартфон Samsung Galaxy S3 |
1 ед. |
18490,00 |
18490,00 |
Компьютер DNS Office |
1 ед. |
12090,00 |
12090,00 |
Wi-Fi роутер |
1 ед. |
1 163,00 |
1 163,00 |
Монитор ViewSonic VX2210MH-LED |
1 ед. |
4849,00 |
4849,00 |
Мышь SPEED-LINK KAPPA MOUSE WIRELESS |
1 ед. |
499,00 |
499,00 |
Лазерный принтер HP |
1 ед. |
3546,00 |
3546,00 |
Физический сервер |
1 ед. |
29993,00 |
29993,00 |
Транспортно — |
800,00 |
800,00 |
|
Итого: |
73170,00 |
7.2.4 Расходы на оплату труда исполнителей
Основная заработная плата исполнителя проекта определяется по формуле
7.1:
(7.1)
где— тарифная ставка исполнителя проекта, руб./день,
Т-
время выполнения проекта, дней.
Тарифная
ставка инженер — программиста составляет 1000,00 руб./день. Он участвует в создании
проекта 41 день, в соответствии с таблицей 7.1.
Тарифная
ставка инженера по тестированию составляет 800,00 руб./день. Он участвует в
работе 25 дней.
Таким
образом, фонд основной заработной платы для данного проекта составляет:
Дополнительная
заработная плата — 15% от основной заработной платы.
Значит,
7.2.5 Отчисления на страховые взносы
Отчисления
на страховые взносы определяются в соответствии с федеральным законом №212
«О страховых взносах в Пенсионный фонд РФ, Фонд социального страхования РФ
и фонды обязательного медицинского страхования» на каждое физическое лицо
исчисляются следующим образом (таблица 7.3):
Таблица
7.3 — Отчисления на страховые взносы
Отчисления в Пенсионный |
Отчисления в Фонд |
Отчисления в федеральный |
22,00% |
2,90% |
5,10% |
Итого: |
30,00% |
Таким образом, для определения суммы отчислений на социальные нужды
воспользуемся формулой 7.2.
(7.2)
7.2.6 Амортизационные отчисления
Электронно-вычислительная
техника относится ко второй амортизационной группе. Имущество, относящееся ко
второй группе, имеет срок полезного использования свыше 2 лет до 3 лет
включительно.
Амортизационные
отчисления производятся на следующее оборудование, приведённое в таблице 7.4.
Таблица
7.4 — Оборудование, подлежащее амортизации
Наименование |
Первоначальная стоимость, |
Срок службы |
Смартфон |
18490,00 |
3 года |
Компьютер |
12090,00 |
3 года |
Wi-Fi роутер |
1 163,00 |
3 года |
Физический сервер |
29993,00 |
3 года |
Лазерный принтер |
3546,00 |
3 года |
Линейный способ начисления амортизационных отчислений происходит по
формуле 7.3.
(7.3)
где— первоначальная стоимость объекта, руб.,
На
— норма амортизации, %.
Рассчитаем норму амортизации (На) по формуле 7.4.
(7.4)
где
ТН — нормативный срок службы объекта основного средства, лет.
Таблица
7.5 — Амортизационные отчисления
Группа основных фондов |
Стоимость, руб. |
Норма амортизации, % |
Коэффициент использования |
Сумма амортизационных |
Сумма амортизационных |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Смартфон |
18490,00 |
33,3 |
36/248 |
6157,17 |
862,00 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Компьютер |
12090,00 |
33,3 |
41/248 |
4025,97 |
614,15 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лазерный принтер |
3546,00 |
33,3 |
36/248 |
1180,81 |
165,31 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Физический сервер |
29993,00 |
33,3 |
36/248 |
9987,66 |
1398,27 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wi-Fi роутер |
1 163,00 |
33,3 |
41/248 |
3872,79 |
69,06 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Итого |
25224,4 |
3108,79 7.2.7 Энергия Рассчитаем затраты на электроэнергию, производимые при выполнении данного (7.5) где — время эксплуатации, — — — Стоимость Таблица
7.2.8 Содержание и ремонт оборудования Расходы на содержание и ремонт оборудования принимаются в размере 12% от Таблица 7.7 — Балансовая стоимость оборудования
Тогда расходы на содержание и ремонт оборудования определяются по формуле (7.6) где— балансовая стоимость единицы оборудования, руб, — время Результаты Таблица
7.2.9 Основные расходы Подсчитаем основные расходы на разработку и внедрение данного проекта. Таблица 7.9 — Смета затрат на внедрение проекта
7.2.10 Накладные расходы Накладные расходы включают затраты на оплату труда 166285,74*0,3=49885,72 7.2.11 Общие расходы на разработку Определяются как сумма основных расходов и накладных расходов. Таким Таблица 7.10 — Общие расходы на разработку
Таким образом, для создания программного продукта требуется 213426,46 рублей. .2.12 Расчет экономической выгоды от использования Источниками экономической эффективности, возникающей от использования — существенное уменьшение времени поиска необходимых данных; — оперативность; — уменьшение вероятности ввода ошибок. Основная цель системы состоит в возможности быстрого поиска нужной Изначально для выполнения данной работы требовалось 2 человека: Тарифная ставка помощника администратора составляет 600 руб. в день, в Экономия в год составит: 13200*12=158400 руб. Так как суммарный объем затрат на внедрение проекта составит 213426,46 руб., 7.2.13 Оценка доходности проекта Исходные данные: — затраты на внедрение проекта — 213426,46 рублей; — срок использования проекта — 5 лет; — ежегодный ожидаемый экономический эффект (выгода) -158400 — процентная ставка — 12%, инфляция на данном рынке — 10%, Расчёты чистого дисконтированного дохода и чистой текущей стоимости Коэффициент дисконтирования находят по формуле 7.7: = (7.7) где d- дисконтная ставка, t -текущий год Таблица 7.11 — Расчёты чистого дисконтированного дохода (ЧДД) и чистой
Индекс доходности проекта определяется по формуле 7.8. (7.8) где Среднегодовая (7.9) где Срок (7.10) где 1 год; ЧТС1 (2 года) 7.2.14 Технико-экономические показатели Технико-экономические показатели сведены в таблицу 7.12. Таблица 7.12 — Технико-экономические показатели
8. Безопасность и экологичность проекта .1 Оценка опасных и вредных производственных Тема дипломного проекта предполагает разработку программного продукта для Данный раздел «Безопасность и экологичность проекта» разрабатывается Рисунок 8.1 — План помещения В соответствии с ГОСТ 12.0.003-74 «Опасные и вредные производственные Физические факторы: — повышенная или пониженная температура воздуха рабочей зоны; — повышенная или пониженная влажность воздуха; — повышенная или пониженная подвижность воздуха; — повышенное значение напряжения в электрической цепи, — повышенный уровень электромагнитных излучений; — повышенная напряжённость электрического поля; — отсутствие или недостаток естественного света; — недостаточная освещённость рабочей зоны; — повышенная яркость света; — пониженная контрастность; — прямая и отражённая блесткость; — повышенная пульсация светового потока; — психофизиологические факторы, в частности нервно-психические — умственное перенапряжение; — перенапряжение анализаторов; — монотонность труда; — эмоциональные перегрузки. 8.2 Микроклимат Показателями, характеризующими микроклимат, являются: — температура воздуха; — относительная влажность воздуха; — скорость движения воздуха. Нормирование параметров микроклимата осуществляется с учётом периода года Легкие физические работы разделяются на категорию Iа — энергозатраты до Работа с ПЭВМ предполагает проведение большей части рабочего времени сидя В производственных помещениях, в которых работа с использованием ПЭВМ Согласно СанПиН 2.2.4.548-96 «Гигиенические требования к микроклимату Таблица 8.1 — Оптимальные параметры микроклимата
Заданные параметры микроклимата на рабочих местах пользователей ПЭВМ 8.3 Производственное освещение Одним из важнейших условий комфортной работы является правильно В рассматриваемом случае имеется система естественного бокового освещения Нормы освещённости устанавливаются согласно СанПиН 2.2.1/2.1.1.2585-10 Таблица 8.2 — Нормируемые показатели естественного, искусственного и
Нормированная освещённость при общем искусственном освещении помещений с Произведём расчёт общего искусственного освещения. Основной задачей расчёта искусственного освещения является определение Выбранный тип светильников с люминесцентными лампами даёт световой поток, Фл = (EнSkz)/(N) (8.1) где — — — — — — — — число Число Npn1 = (EнSkz)/(Фл) (8.2) Освещаемая S = A×Б (8.3) Где А Коэффициент = (АБ)/(Hp(А+Б)) (8.4) где Коэффициент Теперь, светильников. Получается, Рисунок 8.2 — Схема расположения светильников 8.4 Защита от шума Основным источником шума на рабочем месте пользователя ПЭВМ является — система охлаждения ПЭВМ, шум постоянный, широкополосный; — периферийное оборудование (принтер), шум непостоянный, — система кондиционирования воздуха, шум постоянный, Всё используемое оборудование должно удовлетворять нормируемым Таблица 8.3 — Допустимые уровни звукового давления и уровни звука
8.5 Защита от электромагнитных излучений При работе различного электрооборудования и электронных устройств — видеодисплей; — трансформатор блока питания; — трансформатор источника бесперебойного питания; — соединительные провода. При превышении допустимых норм излучения при работе с оборудованием СанПиН 2.2.2/2.4.1340-03 «Гигиенические требования к персональным Таблица 8.4 — Допустимые уровни электромагнитных полей
На рабочем месте администратора установлена ПЭВМ с ЖК монитором, 8.6 Организация рабочего места Для предотвращения неблагоприятного воздействия на человека вредных — площадь на одно рабочее место пользователей ПЭВМ с монитором — рабочие места с терминальными системами или ПЭВМ по отношению — окна в помещениях использования компьютеров должны быть — рекомендуется изолировать рабочие места с ПЭВМ при выполнении — размещать экран монитора на расстоянии 600-700мм от глаз — помещение необходимо оборудовать одноместными столами, — две раздельные поверхности: одна горизонтальная для — ширину поверхностей для монитора и клавиатуры не менее 750мм — опору поверхностей для ПЭВМ и для клавиатуры на стояк, в — увеличение ширины поверхностей до 1200мм при оснащении — высота края стола, обращённого к работающему с ПЭВМ и высота Таблица 8.5 — Требования к рабочему столу
— линия взора должна быть перпендикулярна центру экрана и — рабочее место с ПЭВМ оборудуют стулом: — поверхность сиденья и спинки стула (кресла) должна быть — клавиатуру следует располагать на поверхности стола на 8.7 Безопасность производственного процесса Необходимо соблюдать правила работы и требования безопасности при работе В работе можно использовать лишь то оборудование, которое соответствует Перед началом работы необходимо произвести внешний осмотр оборудования на При работе оборудования необходимо избегать контакта с электрическими После окончания работы оборудование необходимо отключить от электросети. При работе с ПЭВМ важно соблюдать порядок на рабочем месте. Во время 8.8 Электробезопасность При работе с ПЭВМ существует опасность поражения электрическим током. В Чтобы максимально обезопасить людей от вероятности получения травмы Необходимо определить класс помещения по опасности поражения Для обеспечения защиты от случайного прикосновения к токоведущим частям в Технические способы: — малое напряжение; — контроль и профилактика изоляции; — изоляция токоведущих частей; — для обеспечения защиты от поражения электрическим током при Организационно-технические мероприятия: — обучение и аттестация персонала по работе с электричеством; — правильная организация ремонтных работ. 8.9 Пожарная безопасность Основными причинами, по которым может возникнуть пожар в помещении, где В соответствии с НПБ 105-03 «Определение категорий помещений, зданий и Для локализации пожара применяются огнестойкие конструкции. В Таблица 8.6. Параметры защищённости зданий первого типа огнестойкости
В соответствии с этим нормативом предел огнестойкости строительных — потери несущей способности (R); — потери целостности (Е); — потери теплоизолирующей способности (I). Разработаны нормативы, предусматривающие наиболее эффективные средства ППБ 01-03 «Правила пожарной безопасности в Российской Федерации» Используемое для работы помещение должно отвечать требованиям Заключение В дипломном проекте была разработана автоматизированная система Я занималась разработкой клиентской части программного обеспечения и Разработанные алгоритмы и программа протестированы на реальном Передача данных реализована посредством протокола HTTP. Основой HTTP является технология — набор пар ключ/значение; — пронумерованный набор значений. Данная система предназначена для автоматизации обслуживания клиентов Усовершенствование системы может состоять в дальнейшей автоматизации БД, Список литературы 1. Денис . http://android-shark.ru/ustanovka-android-development-tools/ . http://opds.sut.ru/old/electronic_manuals/itm_sait/tema87.htm 4. <http://ru.wikipedia.org/wiki/Java> . http://ru.wikipedia.org/wiki/Android . http://market.yandex.ru/model-spec.xml?modelid=8226067&hid=91491 . Рето Майер . http://digitalshop.ru/shop/Wi-Fi_router_TRENDnet_TEW-651BR_219697.html . <http://www.team.ru/server/builder_new.php?model=R1304> . <http://ru.wikipedia.org/wiki/MySQL> . Безопасность и . Методические Приложение Листинг файла «MainActivity.java» package @Inject TumblrApi api; @Overridevoid onCreate(Bundle savedInstanceState) }void regularStartup() {(R.layout.main);();(); }boolean showDashBoard() {getSharePreferences().getBoolean(«DASHBOARD_STARTUP», }SharedPreferences getSharePreferences() {settings = }void setupButtons() } });(R.id.postImageBtn).setOnClickListener(View.OnClickListener() } });(R.id.postQuoteBtn).setOnClickListener(View.OnClickListener() infoView.setText(«Забронируте номер или введите ваши данные, чтобы infoView.setVisibility(View.VISIBLE);(R.id.dashboardBtn).setEnabled(true);(R.id.postTextBtn).setEnabled(false);(R.id.postImageBtn).setEnabled(true);(R.id.postQuoteBtn).setEnabled(false); } }); /*(R.id.postLinkBtn).setOnClickListener(View.OnClickListener() } });(R.id.postConversationBtn).setOnClickListener(View.OnClickListener() } });*/(R.id.dashboardBtn).setOnClickListener(View.OnClickListener() } }); } @Overridevoid onDestroy() {.onDestroy();.stop(); }boolean onCreateOptionsMenu(Menu menu) {inflater = } @Overrideboolean onOptionsItemSelected(MenuItem item) }super.onOptionsItemSelected(item); } @Overridevoid onActivityResult(int requestCode, int }void createAboutDialog() {version = .setMessage( «ttTumblr » + version + «nnIf you find any errors please contact me so that .setCancelable(true).setPositiveButton(«Ok»,DialogInterface.OnClickListener() } });alert = builder.create();.show(); }String getApplicationVersion() {pm = «com.tacticalnuclearstrike.tttumblr», 0);= } catch (NameNotFoundException e) { }version; }void CheckIsUserNameAndPasswordCorrect() {infoView = .setText(«Забронируте номер или введите ваши данные, чтобы воспользоваться нашими } else { .setText(«Здравствуйте, » + api.getUserName() + » » + } }void startDashboardActivity() {(new }void setSetting(String name, String value) {settings = } } Листинг файла @Inject TumblrApi api; @Overridevoid onCreate(Bundle savedInstanceState) }void regularStartup() {(R.layout.billiardsview);(R.id.calcSummaBilliardsBtn).setOnClickListener(View.OnClickListener() } }); } } Листинг для файла «Cafe.java» package @Inject TumblrApi api; @Overridevoid onCreate(Bundle savedInstanceState) }void regularStartup() {(R.layout.cafeview);freePlaces = } }); } } Листинг для файла «Food.java» package @Inject TumblrApi api; @Overridevoid onCreate(Bundle savedInstanceState) }void regularStartup() {randomGenerator = new Random();randomInt = }(((CheckBox)findViewById(R.id.checkBox2)).isChecked()) {randomGenerator = new Random();randomInt = }(((CheckBox)findViewById(R.id.checkBox3)).isChecked()) {randomGenerator = new Random();randomInt = }(((CheckBox)findViewById(R.id.checkBox4)).isChecked()) {randomGenerator = new Random();randomInt = }(((CheckBox)findViewById(R.id.checkBox5)).isChecked()) {randomGenerator = new Random();randomInt = }summaText = (TextView) } }); } } Листинг для файла «Rooms.java» package @Inject TumblrApi api; @Overridevoid onCreate(Bundle savedInstanceState) }void regularStartup() {(R.layout.roomsview);randomGenerator ((RadioButton)findViewById(R.id.radioButton1)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton2)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton3)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton4)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton5)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton6)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton7)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton8)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton9)).setEnabled(randomGenerator.nextBoolean()); ((RadioButton)findViewById(R.id.radioButton10)).setEnabled(randomGenerator.nextBoolean()); } } Листинг для файла «Sauna.java» package @Inject TumblrApi api; @Overridevoid onCreate(Bundle savedInstanceState) }void regularStartup() {(R.layout.saunaview);(R.id.calcBtn).setOnClickListener(View.OnClickListener() {= 850*timeNumber; } {= 850*timeNumber + 200*peopleNumber; }summaText = (TextView) } }); } /* @Overridevoid onDestroy() {.onDestroy();.stop(); } */ } Листинг для файла @Inject TumblrApi api; @Overridevoid onCreate(Bundle savedInstanceState) }void regularStartup() {(R.layout.serviceview);(); }void setupButtons() {(R.id.saunaBtn).setOnClickListener(View.OnClickListener() //tracker.trackPageView(«/Sauna»);intent = new } });(R.id.cafeBtn).setOnClickListener(View.OnClickListener() //tracker.trackPageView(«/UploadImageActivity»);intent } });(R.id.foodBtn).setOnClickListener(View.OnClickListener() //tracker.trackPageView(«/UploadVideoActivity»);intent } });(R.id.billiardsBtn).setOnClickListener(View.OnClickListener() //tracker.trackPageView(«/Billiards»);intent = new } }); } /* @Overridevoid onDestroy() {.onDestroy();.stop(); }*/ /*boolean onCreateOptionsMenu(Menu menu) {inflater = }*/ } Похожие работы на — Разработка программного продукта для мини-отеля для платформы Android |
Добрый день!
Я как-то раз писал сервис по бронированию номеров отелей. Это реальный проект или учебный?
Если реальный проект, то посмотрите в сторону использования API Hotelbeds или GoGlobal.
Рекомендую Hotelbeds. У них в тестовом режиме доступно до 50 запросов в сутки, а в препродакшн неограниченное кол-во запросов. Правда, нужно заплатить сумму 3-4К у.е. и рассказать про деятельность (b2b, b2c) и т.д.
Если учебный проект, то тут зависит от того в каком объеме вы хотите реализовать вашу задачу.
Например, для поиска можно подключить Hibernate Search или ElasticSearch, а можно обойтись простым sql запросом.
Есть класс комнат и класс с резервацией, а так-же DTOшки к ним, теперь мне нужно написать примерно такой код: если в коллекции есть комната X, проверить, есть ли промежуток дат (timestamp) от A1 до A2.
Фишка в том, что я приблизительно понимаю что делать и в то же время не знаю, как это написать.
Как вы и сказали, код писать не буду, но расскажу примерно, как это можно сделать. Предположим, что есть некий контроллер, метод которого принимает некий DTO состоящий из: номера комнаты (roomNum), а также 2-х дат (from & to).
Далее вы передаете этот DTO на уровень сервисного слоя и обрабатываете. Далее вам необходимо на уровне репозитория написать метод, который ищет по вхождению даты.
Вот, похожий вопрос:
https://stackoverflow.com/questions/39784344/check…
Вот, примеры кода:
findAllByStartDateLessThanEqualAndEndDateGreaterThanEqual(OffsetDateTime endDate, OffsetDateTime startDate);
или:
@Query(value = "from EntityClassTable t where yourDate BETWEEN :startDate AND :endDate")
public List<EntityClassTable> getAllBetweenDates(@Param("startDate")Date startDate,@Param("endDate")Date endDate);
Несколько аспектов, на которые вам нужно обратить внимание:
— также нужно проверить номер на занятость. Т.е. если у вас есть резервация на указанную дату, то не бронировать номер.
— Если номер не найдет, то выбросить исключение и т.д.
Помогаю со студенческими работами здесь
Как создать программу справочник телефонных номеров
Здравствуйте! как создать программу в делфи 6? нужно сделать справочник телефонных номеров.
как…
Найти для чётных номеров — максимальный, для нечётных номеров — минимальный элемент матрицы
Ребят помогите пожалуйста с 2 -мя задачами.
1)Найти для чётных номеров — максимальный, для…
Найти для чётных номеров — максимальный, для нечётных номеров — минимальный элемент матрицы M (m,n)
Ребят помогите пожалуйста задачей.
Найти для чётных номеров — максимальный, для нечётных номеров -…
Создать программу определения номеров групп с наибольшим значением качественной успеваемости за прошлый и текущий период
Создать программу определения номеров групп с наибольшим значением качественной успеваемости за…
Создать класс с STUDENT, вывести на экран фамилии и номеров групп для всех студентов, имеющих оценки 4 и 5
Не могу, жизни и смерти, я не понимаю как это сделать, помогите
Класс с именем STUDENT, содержащий…
Составить программу для нахождения номеров и значений наибольших элементов каждой строки матрицы H размером p=3;q=4
Ребята(((((( Помогите пожалуйста((((((((((( Не могу написать три программы(((((((((( Кто…
Искать еще темы с ответами
Или воспользуйтесь поиском по форуму:
2.1. Описание и обоснование выбора состава технических и программных средств разработки
Система
Delphi 7 Studio – полное решение для разработки
корпоративных приложений от проектирования
до развертывания по архитектуре,
управляемой моделью (MDA), которое позволяет
интегрировать моделирование, разработку
и развертывание приложений и систем
электронного бизнеса для платформы
Windows. Delphi 7 Studio содержит развитые библиотеки
и инструменты для создания приложений
электронного бизнеса и веб-сервисов,
полностью интегрирует соответствующие
технологии и качественно повышает
производительность разработчиков,
предоставляя все необходимое для
исследования вопросов перехода на
Microsoft .NET. При помощи включенного в
комплект поставки Kylix 3 для Delphi разработчики
могут переносить свои приложения на
Linux, повышая отдачу своих инвестиций и
расширяя спектр платформ, на которых
доступны их приложения. Интегрируя
ведущие приложения разработки в единый
и легкий в использовании пакет, Delphi 7
Studio сокращает жизненный цикл разработки
приложений и ускоряет вывод создаваемых
с его помощью продуктов на рынок ПО.
Ключевые
возможности, появившиеся в Delphi 7 Studio:
-
предварительный
вариант средств для работы с Microsoft .NET
Framework; -
Kylix
3.0 для Linux в составе пакета; -
бесплатная
лицензия на развертывание многозвенных
приложений (которая до этого была
платной), использующих технологию
DataSnap (прежнее название — MIDAS); -
полное
решение проектирования и развертывания
корпоративных приложений по технологии
Model Driven Architecture (MDA); -
мощные
и удобные средства разработки
WEB-приложений; -
средства
создания качественных кроссплатформенных
отчетов Rave Reports; -
среда
моделирования ModelMaker (по технологии
UML).
Компания
Borland первой предоставила разработчикам
возможность перехода на .NET при помощи
Delphi 7 Studio. Поддержка компанией Borland
платформы .NET позволяет разработчиками,
использующим Delphi, быстро и продуктивно
создавать приложения для .NET с сохранением
существующих инвестиций в информационные
технологии. Теперь работа в Delphi 7 Studio
позволяет программистам легко переносить
имеющиеся у них знания, навыки и ресурсы
на платформу .NET.
Delphi
7 Studio обладает возможностями проектирования
и развертывания корпоративных приложений.
Это позволяет разработчикам быстрее
воспользоваться преимуществами
разработки корпоративных приложений
от концепции до коммерческой версии
при помощи новой системы проектирования
UML и технологии Model Driven Architecture (MDA).
PHP
и Perl
Язык
Perl (Practical Extraction and Report Language — язык для
практического извлечения данных и
составления отчетов). Язык удобен для
создания динамических Web — страниц, Perl
проигрывает PHP в изяществе, притом, что
PHP предлагает функциональность,
аналогичную Perl при значительно меньшей
избыточности и сравнительно простоте
синтаксиса. Избыточность языка Perl
связана с тем, что он разрабатывался
для самых разнообразных приложений,
что не могло не сказаться на его
синтаксисе, в то время как PHP изначально
разрабатывался для Интернета.
PHP
и Java
Технология
Java включает в себя клиентскую и серверную
часть, а так же доступ к базам данных,
поэтому наиболее корректно проводить
сравнение технологии Java со связкой
Apache/PHP/MySQL. PHP почти не уступает Java в
гибкости и масштабируемости созданных
приложений. Кроме того, использование
Java для разработки достаточно простых
приложений вряд ли оправдано, а при
работе над серьезными задачами обходится
дороже. К числу недостатков можно отнести
медленное выполнение, потребление
большого количества памяти и сложность
разработки Web — приложений по сравнению
с PHP.
PHP
и ASP.NET
ASP
(Active Server Pages) – язык
сценариев от
Microsoft. Если язык ASP значительно
уступал РНР по многим параметрам, в
первую очередь, по времени выполнения
сценариев, то с появлением технологии
ASP.NET ситуация изменилась. Основное
достоинство ASP.NET заключается в возможности
применения всей мощи интерфейса Windows
для разработки Web-приложений. Это
позволяет разрабатывать страницы со
сложным интерфейсом, не заботясь о
сохранении, шифровании и передаче
переменных, используемых на динамических
страницах. ASP.NET тесно интегрирован в
новую технологию NET компании Microsoft.
Главной особенностью разработки
Web-приложений при помощи ASP.NET является
возможность использовать любой язык
программирования среды исполнения NET.
Выполнение Web-приложений ASP.NET на серверах,
работающих не под Windows, практически
невозможно. Более того, если Web-приложение
интенсивно использует компоненты NET,
просмотр динамической страницы будет
возможен только под Windows и только с
помощью браузера Internet Explorer. Поэтому в
смысле переносимости РНР, безусловно,
отличается от ASP.NET в лучшую сторону.
Другой крайне немаловажный довод в
пользу РНР заключается в быстром
исправлении обнаруженных ошибок. Еще
одним плюсом РНР, особенно важным для
начинающих, является то, что его легче
использовать для построения Web-приложений.
Таким образом, при выборе между ASP.NET и
РНР следует исходить из стоящей перед
вами задачи. Если в сети Интернет крупной
корпорации большинство серверов и
клиентских машин работают под управлением
Windows, применение ASP.NET более чем оправдано.
В то же время для разработки Web-сайта,
размещаемого в Интернете, целесообразнее
использовать РНР.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Особенности разработки мобильного приложения для отеля
Собственное приложение для отеля или гостиницы — это возможность оптимизации процесса бронирования и привлечения новых клиентов. А также упрощение работы с клиентами и снижение нагрузки на колл-центр.
У разработки приложения для отеля есть некоторые особенности. Обсудим их подробнее:
- При разработке такого приложения требуется интеграция его с CRM-системой компании или же ручной ввод данных о свободных номерах и возможности заселения. Так клиент сможет оперативно узнать, какие номера свободны и забронировать их.
- Также необходимо будет разработать удобную систему фильтрации, чтобы пользователь мог легко и быстро находить нужную информацию. Фильтрацию можно сделать по множеству параметров: начиная от цены номера и заканчивая наличием балкона.
- При необходимости вносить предоплату за бронирование не лишним будет интегрировать в приложение платежные сервисы. Так пользователю будет гораздо удобнее внести предоплату и забронировать выбранный номер — что положительно повлияет на конверсию.
Этапы разработки
Создание приложения для отеля условно можно разделить на несколько этапов. Расскажем о них подробнее:
- Анализ. На этом этапе собираем и анализируем входные данные. Фиксируем цели проекта, задачи приложения, целевую аудиторию. Также можем провести свое исследование, чтобы актуализировать данные.
- Разработка ТЗ. Важно однозначно зафиксировать требования, чтобы избежать разночтений и перерасходов бюджета на следующих этапах.
- Проектирование дизайна. Разрабатываем несколько вариантов дизайн-концепции будущего приложения — утверждаем вместе с заказчиком. На основе концепта прорабатываем UX и UI, создаем финальные макеты всех экранов.
- Программирование. На данном этапе разработчики пишут код, реализуя дизайн и наполняя функционалом будущее приложение гостиницы.
- Тестирование. Перед запуском продукта, тестировщики проверяют приложение и тестируют его функциональность и визуальное отображение на разных устройствах. Если приложение кроссплатформенное, проверяется его работоспособность на разных операционных системах.
- Запуск и поддержка. После того, как приложение проверено, осуществляем его публикацию в магазине приложений. Если у заказчика есть потребность, мы можем и дальше осуществлять техническую поддержку и развитие сервиса.
Модели сотрудничества
При разработке приложения для отеля применяются два варианта взаимодействия:
Fixed Price. Этот подход предполагает юридическую фиксацию стоимости и сроков — до начала работ. Это возможно при наличии полноценного технического задания или спецификации требований. Такая модель востребована, когда необходимо точно знать сроки и цену заранее.
Time&Materials. Принцип данного подхода разработки заключается в гибкости. Сроки и стоимость устанавливаются ориентировочно, а окончательный расчет происходит после выполнения работ. Это наиболее оптимальное решение для проектов с такими требованиями, которые изменяются или формулируются по ходу разрабокти.
Генеральный директор ЗАО «Гостиничные технологии» и разработчик системы управления для гостиничного бизнеса
«1С: Отель» Павел Бабенко написал для vc.ru колонку о целесообразности создания мобильного приложения для отеля.
Зачем вашей гостинице мобильное приложение? Конечно, чтобы зарабатывать. Мы поговорим не о приложениях для внутреннего управления отелем: просмотра и отмены бронирований, контроля номеров и сотрудников
— эти задачи решают PMS. Речь пойдет о мобильном приложении для гостей, которое они скачают, в котором забронируют номер, закажут room service, оставят фотоотзыв. Или нет?
Приложения — тренд. Гость не хочет смотреть вам в глаза. Он не хочет с вами говорить. Он выбирает телефон
Разработчики приложений пугают цифрами. За каждой из них — исследование Google, Cisco, TNS,«Яндекса»,
— компаний, с которыми не поспоришь. 99% россиян выбирают отель в интернете, 65% из них — со смартфона. 95% гостей приедут к вам с телефоном, 85% из них воспользуются вашим Wi-Fi. Людей со смартфонами больше, чем с автомобилем. С приложения конверсия выше, чем с мобильного сайта. В конце речи — впечатляющая демонстрация. 23 секунды, чтобы забронировать спа-вечер. 19 секунд — ужин на двоих в номер. 15 секунд — узнать о вечерней анимации.
— А теперь давайте запишемся на спа через ваш ресепшен и сравним, — предлагает разработчик.
— Всё хорошо, вот только спа у нас нет, — отвечает отельер.
Не бегите за трендом. Задумайтесь, будет ли приложение полезным для вашей гостиницы.
Идеальное приложение
Общаясь с разработчиком, отельер воображает идеальное приложение, способное на всё. Оно:
- Продает номера напрямую, без комиссий посредникам.
- Продает сервис: экскурсии, прокат, трансфер, такси, мини-бар, ужин, завтрак, обед, ТВ, сувениры, спа, конные прогулки.
-
Продает таргетированно. Гостю на вечерной прогулке предложит скидку на стейк и проложит маршрут в ресторан. Людям, искавшим в поисковике достопримечательности, — обзорную экскурсию. «Долгожителям» — прачечную и химчистку.
-
Продает эффективно. Простаивающий массажист, неполный зал на вечернем шоу, свободные места в ресторане исправляются push-уведомлениями.
-
Рекламирует, информирует, ориентирует гостя каталогом услуг, афишей мероприятий и интерактивной картой.
-
Превращает разового клиента в постоянного гостя. Начисляет бонусы в программе лояльности, поздравляет с днем рождения и праздниками.
-
Увлекает. Отпереть дверь, приглушить лампы, включить кондиционер с телефона — круто.
-
Решает проблемы. Мгновенно. Отдел Guest Relation в онлайн-чате отвечает на жалобы гостей.
-
Получает обратную связь. Опрашивает гостей после выезда, через геолокацию контролирует посещаемость мероприятий.
-
Скачано каждым гостем.
После запуска приложения отельер сталкивается с реальностью. Приложение не скачивают. Скачивают и не запускают. Запускают, но не заказывают. Заказывают, а после отъезда удаляют.
Идеального приложения не существует.
Реальность: идеальное приложение не скачивают
Мы опросили гостей у стойки регистрации в нескольких крупных отелях. 50% респондентов не смогли установить приложение из-за технических моментов: гости не помнили пароль к iTunes или Google Play, у них не был настроен аккаунт, не хватало памяти в телефоне. За рубежом так же. «У французской сети Accor, объединяющей более 4000 отелей, скачивают приложение только 3% гостей», — рассказывает Глеб Михайлов, разработчик электронного ассистента для
AccorHotels.
Почему приложения не скачивают
Гости не хотят. Им неинтересно и просто лень, они не видят ценности. Гостям проще бронировать через Booking, чем каждое путешествие скачивать «кота в мешке» от очередного отеля.
«Основным барьером для использования мобильного приложения эксперты Независимого гостиничного альянса считают сложность его скачивания, особенно в независимом отеле», — говорит исполнительный директор НГА Андрей Михайлец.
«Все «залетные» гости просто не будут засорять свои устройства ненужными приложениями, — соглашается владелец московского Local Hostel Михаил Фоминов. — Мобильное приложение в основном ориентировано на постоянных гостей».
Чтобы приложение скачивали, гостей нужно мотивировать.
Исключение: в каких отелях приложение скачивают
1. В сетевых гостиницах премиум-класса c программой лояльности, которые продвигают приложение как тренд low-touch luxury («бесконтактная роскошь»)
В Hilton участники программы лояльности hhonors могут посетить отель, ни разу не пообщавшись с персоналом. Через приложение гость выбирает номер на поэтажных планах гостиницы и бронирует его. Регистрация, открытие двери в номер, выписка — тоже в приложении.
«Наши гости сами выбирают, как, где и когда с нами связываться, — говорит директор по маркетингу и цифровым технологиям Hilton Worldwide Джералдин Калпин. — Они ждут этого, и мы соответствуем». Но даже при таком сервисе гости предпочитают бронировать номера через онлайн-турагентства (ОТА), так как считают цены агентства самыми низкими на рынке.
Выбор номера на поэтажном плане гостиницы Hilton
2. В отелях со сложной инфраструктурой и территорией, в resort-отелях
«В городских отелях мобильное приложение вторично, в resort — полноценный маркетинговый инструмент, с помощью которого мы можем вести календарь активности (анимация), продавать доп-услуги, вести программу лояльности, реализовывать инвайты и push-уведомления», — говорит исполнительный директор НГА Андрей Михайлец.
Гость скачает приложение, чтобы ориентироваться на территории отеля, знать расписание мероприятий и ближайшие достопримечательности. При выезде, скорее всего, удалит приложение: его ценность исчерпана.
1. У спа-отеля «Довиль» нет приложения. Карта большой территории опубликована на сайте картинкой. Пользоваться неудобно.
2. В приложении крупнейшего в России отеля «Азимут Сочи» интерактивную карту сделали на основе «Яндекс.Карт». Просто и дешево. «Довиль» мог бы сделать такую же карту и без приложения, на мобильной версии сайта.
3. Интерактивная карта гостиницы «Парк-отель Империал» прекрасно работает в мобильном браузере. Но ссылки на неё на мобильном сайте нет: только очень внимательный гость перейдет с телефона на полную версию сайта ради карты. Карту отеля можно опубликовать в Google Indoor Maps.
3. В отелях с глубоко интегрированными ИТ
Гость скачает приложение, чтобы выключать свет с телефона, отдыхая в кровати. Чтобы открывать дверь смартфоном. Чтобы оставить ребенка в детской комнате и наблюдать за ним по видео за романтическим ужином. Чтобы оплатить счет и заказать полотенце, нежась в ванной. Чтобы решая, идти на море или к бассейну, посмотреть по камерам, где больше свободных лежаков. Чтобы вместо картонной «do not disturb» один раз щелкнуть в приложении.
На изображении ниже — примеры экранов заказа услуг. В первом случае представлен «Будильник» отеля Barvikha Hotel&SPA в агрегаторе отелей HRS. Далее — фотоотзыв в приложении гостиницы «Космос». В приложении отеля hub by Premier Inn есть контроль температуры в номере, а в Starwood Hotels & Resorts Worldwide гости открывают двери часами.
4. В отелях с большим количеством
«долгожителей» и постоянных клиентов
Гости скачивают приложение, потому что остаются надолго. Они не удаляют приложение, зная, что они вернутся в отель.
5. В отелях, позиционирующих приложение как игру
Сеть Accor предлагает гостям виртуальное путешествие по отелю в фирменных VR-очках.
Виртуальная реальность в отелях Accor
Реальность: в приложение не заходят
Заставить гостя скачать приложение — полбеды. Дальше он должен авторизоваться. Большинство приложений просят логин и пароль, которые создаются автоматически при бронировании. В лучшем случае — высылаются на телефон или почту. В худшем — их нужно спросить на стойке ресепшена.
Парадокс, но чтобы не общаться с персоналом отеля, нужно пообщаться с персоналом отеля. Если гость впервые посещает гостиницу и бронирует её через приложение, его поощряют длинной формой регистрации. Некоторые приложения российских отелей и вовсе не обладают функцией бронирования, представляя собой просто каталог услуг.
Так, в приложении-агрегаторе отелей HRC для авторизации достаточно ввести шестизначный код заселения, а сеть отелей Hyatt требует логин и пароль. Приложение отелей «Истра Holiday» после первого запуска начисляет потенциальному гостю 10 баллов программы лояльности. На втором включении оно не пускает вас дальше, пока не введете свои данные, чтобы сохранить эти 10 баллов. Если одолеете форму и нажмете на кнопку «Забронировать номер», приложение перенаправит вас на сайт отеля.
Реальность: приложение используют не так
Гости хотят самостоятельно решать, что достойно их, а что нет. При первом запуске отключают геолокацию и push-уведомления. Вместо чата в приложении пишут отелю в Facebook или WhatsApp. Не отвечают на опросы и удаляют приложения после выезда. Это стандартные и логичные сценарии. Не делайте ставку только на приложение, разговаривайте с гостем и через мобильный сайт, и в соцсетях, и на OTA-сервисах.
Гость всегда может отключить геолокацию и push-уведомления. Не рассчитывайте только на них.
Реальность: приложение нужно поддерживать
Кончился судак в ресторане, отменилась анимация, открылся бассейн, переехала детская комната? Если вы не внесли новые данные в приложение, гость об этом не узнает. Если гость не обновил приложение, он об этом не узнает.
Фактически вы рискуете обмануть гостя. И жаловаться он будет не на приложение, а на отдел Guest Relations. Не поручайте обновлять приложение персоналу отеля: первые месяцы после запуска будет круто, потом они начнут забывать.
Назначьте ответственного за поддержку приложения.
В приложении Azimut Hotel Сочи не обновили систему бронирования. Приложение бесполезно.
Реальность: приложение дорогое
Разрабатывать приложение с нуля — дорого. От 400 тысяч рублей за две версии — под Apple и Android. Потолка не существует, зависит от сроков и функциональности.
«Сделали оценку во множестве компаний, примерная стоимость клиентской части — от 360 тысяч рублей, серверной — от 30 тысяч, но это в нашем случае, чтобы работала форма бронирования и была нормальная обратная связь», — делится владелец московского Local Hostel Михаил Фоминов. В его приложении нет интерактивной карты, геолокации, room control или виртуальной реальности.
Есть другой вариант — приложение «из коробки». Создать приложение в конструкторе можно самостоятельно и бесплатно или за 50 тысяч рублей с помощью разработчика-фрилансера. Такие приложения однотипны, отличаются расцветкой, логотипом и блюдами в меню, не увлекая пользователя. Возможны проблемы при интеграции с PMS.
Вариант третий — одно приложение, содержащее услуги и информацию обо всех отелях. Гость приезжает в новую гостиницу, выбирает другой отель из списка и заказывает услуги в уже привычном интерфейсе. Гипотетически решает проблему «нескачивания» приложений, поднимая его ценность. Подойдет для независимых отелей. Минус — фактически вы привлекаете гостей в чужой продукт.
Делать или не делать
Прежде чем принимать решение, задумайтесь, кто ваши гости и будут ли они использовать приложение. Что даст приложение, чего нельзя достичь другими способами.
«Насчет мобильного приложения последние два месяца ведем опрос гостей, изучаем, стоит ли внедрять его в нашем случае, — рассказывает владелец московского Local Hostel Михаил Фоминов. — Вопросы из серии, чтобы было удобно… Например, хотите получать уведомления о новых акциях и скидках? Хотите бронировать онлайн и сразу оплачивать, получать электронный чек? Нужно ли вам напоминание о бронировании, если да, то за сколько суток?»
Перед созданием приложения пропишите кейсы его использования. Если запланированные функции можно воплотить без приложения, значит, вам оно не нужно.
Альтернатива приложению — все остальные мобильные каналы связи
1. Социальные сети и мессенджеры
Не заставляйте гостя общаться с отелем через приложение — это удобно отелю. Говорите с гостем в удобных ему каналах: Facebook, «ВКонтакте», Instagram, Skype, Telegram, Viber, WhatsApp, SMS. Для удобства менеджера отеля можно использовать агрегаторы, которые все каналы объединяют в один интерфейс.
2. Мобильный сайт
Адаптивная верстка или специальная мобильная версия. Хороший мобильный сайт содержит модуль бронирования, список услуг отеля, интерактивную карту (легко создается на базе карт Google или «Яндекс»), схему проезда до отеля, контакты отеля и ссылки на соцсети. Мобильный сайт информирует гостей, помогает им ориентироваться, рассказывает об акциях. Но через него нельзя заказать room service, вызвать уборщицу или оплатить счет.
3. Мобильный счет
Личный кабинет гостя на мобильном сайте, где он оплачивает счета и заказывает услуги. При заезде гостю на телефон или почту отправляется уникальная персональная ссылка. Нет необходимости скачивать приложение, авторизоваться в нем или на сайте: достаточно открыть SMS, перейти по ссылке и сразу оказаться в личном кабинете.
Мобильный сайт неэффективен без соцсетей и мессенджеров, мобильный счет — без сайта, и наоборот. Не хотите разрабатывать приложение — используйте сообща все остальные мобильные каналы связи.
Выводы
-
В идеальном мире мобильное приложение — отличный маркетинговый инструмент отеля.
- В реальности приложения не cкачивают.
-
Гость мотивирован скачать приложение в сетевых гостиницах, отелях премиум-класса, гостиницах с продуманной программой лояльности, в отелях со сложной инфраструктурой и территорией, в resort-отелях, в отелях с большим количеством долгожителей и постоянных клиентов.
-
Чтобы приложение работало, его нужно постоянно обновлять и поддерживать.
-
Перед созданием приложения пропишите кейсы его использования. Если запланированные функции можно воплотить без приложения, воплощайте.
-
Альтернатива мобильному приложению — все остальные мобильные каналы связи, используемые в связке: социальные сети, мессенджеры, мобильный сайт и мобильный счет.
Цели и описание курсовой работы:
В целях ускорения и повышения работы гостиницы была поставлена задача разработки новой системы учета и контроля работы гостиницы, а именно: процесс бронирования номеров, регистрация и обслуживание посетителей, хранение информации о сотрудниках и номерах.
Клиент приходит в гостиницу и просит сотрудника забронировать для него комнату. На главной форме программы сотруднику сразу видны, какие номера заняты на сегодня. Чтобы приступить к процессу бронирования сотрудник нажимает на соответствующую кнопку и открывается форма для бронирования. Сотрудник спрашивает у клиента необходимые для него критерии выбора номера, например, цену номера, либо его категорию, затем сотрудник спрашивает на какие даты собирается бронировать номер клиент, после ответа, сотрудник проверяет занятость номера на данные даты, если клиента все устраивает, сотрудник вносит номер комнаты в поле и спрашивает у клиента регистрировался ли он раннее в данной гостинице, если да – то сотрудник спрашивает лишь номер паспорта, чтобы удостовериться в личности, и вносит паспортные данные поле, если нет – то открывается форма регистрации нового клиента. Далее сотрудник подтверждает выбранные даты и нажимает на кнопку «забронировать», на этом процесс бронирования номера заканчивается.
Содержание курсовой:
- ВВЕДЕНИЕ
- ОСНОВНАЯ ЧАСТЬ
- ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
- ФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ К СИСТЕМЕ
- ГЛАВА 2. РАБОТА С БАЗОЙ ДАННЫХ
- ГЛАВА 3. ИНТЕРФЕЙСНАЯ ЧАСТЬ
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Фрагмент кода из программы:
// Поиск по заданным датам private void button1_Click(object sender, EventArgs e) { string date_; textBox10.Clear(); if (dateTimePicker1.Value > dateTimePicker2.Value) { MessageBox.Show("Дата начала не может быть позже даты конца"); } else { bookingclass bkng = new bookingclass(dateTimePicker1.Value.ToString("yyyy-MM-ddTHH:mm:ss"),dateTimePicker2.Value.ToString("yyyy-MM-ddTHH:mm:ss"),textBox6.Text, textBox5.Text, dateTimePicker3.Value.ToString("yyyy-MM-ddTHH:mm:ss"), dateTimePicker4.Value.ToString("yyyy-MM-ddTHH:mm:ss"),comboBox1.SelectedItem.ToString(), comboBox2.SelectedItem.ToString(), comboBox3.SelectedItem.ToString(), comboBox4.SelectedItem.ToString(), comboBox5.SelectedItem.ToString()); date_ = bkng.datetime(); textBox10.Text += "Заняты данные номера:"+Environment.NewLine+date_.ToString(); dateTimePicker3.Value = dateTimePicker1.Value; dateTimePicker4.Value = dateTimePicker2.Value; } }
ER-модель базы данных:
Содержание работы:
- Текст готового курсового проекта с достаточной высокой оригинальностью (29 страниц)
- Архив с исходным кодом программы
- Архив с файлам для базы данных
Скриншоты архивов проекта:
Видео демонстрация:
Первое видео — https://youtu.be/E_rEcg2RkVE
Здесь демонстрируется основной функционал программы.
Второе видео — https://youtu.be/WhHtd0amStk
В нем объясняю, как подключить БД к программе, чтобы у вас все работало.