Методология решения проектных задач с помощью средств вычислительной техники

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

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

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

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

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

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ СОЦИАЛЬНЫЙ УНИВЕРСИТЕТ

Информатика и вычислительная техника

КУРСОВАЯ РАБОТА

на тему: МЕТОДОЛОГИЯ РЕШЕНИЯ ПРОЕКТНЫХ ЗАДАЧ С ПОМОЩЬЮ СРЕДСТВ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Москва 2017

ВВЕДЕНИЕ

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

Сияние Тамани - жилой комплекс, который предоставляет людям номера для отдыха или командировок.

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

Объектом исследования является разработка ПО для жилого комплекса.

Предмет исследования - разработка программного обеспечения на языке Object Pascal в среде разработки Delphi XE5 и построение базы данных.

Для достижения цели необходимо выполнить следующие задачи:

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

- провести анализ аппаратной и программной части;

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

- выбрать среду разработки;

- составить техническое задание;

- разработать концептуальную модель;

- разработать логическую и физическую модели данных;

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

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

ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

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

1.1 Описание организации

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

Инфраструктура жилого комплекса "Сияние Тамани" включает в себя: 18 номеров (12 апартаментов с возможностью размещения до 5 человек в двухкомнатных апартаментах; 2 однокомнатных апартамента с возможностью размещения до 3 человек; 4 стандартных однокомнатных номера с возможностью размещения до 4 человек. В двухкомнатных номерах жилого комплекса предусмотрены полностью оборудованные кухни для самостоятельного приготовления пищи.[1]

Организационная структура жилого комплекса представлена на рисунке 1

Рисунок 1 - Организационная схема предприятия

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

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

Администратор занимается приемом и регистрацией гостей и осуществляет связь с внутренними службами. Так же администратор принимает звонки клиентов, проводит консультирование и осуществляет бронирование номеров.

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

1.2 Бизнес процесс регистрации клиентов

Схема бизнес процесса представлена на рисунке 2.

Рисунок 2 - Схема бизнес процесса регистрации клиентов

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

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

ГЛАВА 2. ОБЗОР ПРОГРАММНЫХ СРЕДСТВ АВТОМАТИЗАЦИИ ОТЕЛЕЙ

2.1 Анализ Аналогов

Существует большое количество программных средств для автоматизации гостиничного бизнеса. Рассмотрим некоторые из них:

- "Гость" - программа автоматизации портье, администратора гостиницы.

- "Корс Отель Про" - профессиональная программа для гостиниц, отелей, баз отдыха, хостелов.

- "HOTEL" - программа автоматизации учета гостей в гостинице. Основные функции: бронирование, заселение, проживание, выезд, формирование документов отчетности.

Рассмотрим функционал, достоинства и недостатки выбранных программ.

Первый аналог - Гость 15.6.23

Разработчик: Левин Лев Львович. Стоимость программы: 12000 рублей.

Гость - программа автоматизации портье, администратора гостиницы и печати уведомления для ФМС. Размещение клиентов, бронирование мест в гостинице, санатории, пансионате и мини-гостинице. Номерной фонд отеля и анкеты гостей разворачиваются на шахматках Номера (евро-технология) или Места (СНГ-технология), показываются на пульте управления, где и производятся операции поселения и бронирования.[2]

Главная форма программы представлена на рисунке 3. Она представляет собой картотеку клиентов. Картотека клиентов позволяет быстро находить информацию о клиентах и взаимоотношениях между клиентами и организацией.

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

Рисунок 3 - Картотека клиентов

Шахматка номеров представлена на рисунке 4.

Рисунок 4 - Шахматки номеров

Достоинства:

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

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

Недостатки:

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

- излишняя функциональная загруженность;

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

Второй аналог - Корс Отель Про

Разработчик: компания ООО "Корс-Софт".

Для работы программы в Windows Server 2003/2008 в терминальном режиме необходим специальный "серверный" ключ на определенное количество пользователей:

- Корс-Отель Про с 1 ключом (5200 руб.);

- Корс-Отель Про с 2 ключами (9000 руб.);

- Корс-Отель Про с 3 ключами (11700 руб.);

- Корс-Отель Про с 4 ключами (13600 руб.);

- Корс-Отель Про с 5 ключами (14500 руб.).

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

Достоинства:

- достаточно простой интерфейс;

- наглядное отображение состояния номеров;

- удобный режим бронирования и заселения номеров.

Недостатки:

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

- достаточно высокая цена программы;

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

Третий аналог - HOTEL

Разработчик: фирма "Интел-Сфере".

Стоимость программы зависит от типа лицензии. В этой программе присутствует три типа лицензии: S, M и XL. Каждый из этих типов позволяет вписывать в программу определённое количество комнат:

- S = до 20 комнат = 10 000 рублей;

- M = до 100 комнат = 25 000 рублей;

- XL = количество комнат не ограничено = 50 000 рублей.

Программа предназначена для использования в службах размещения, бронирования, эксплуатации гостиниц, пансионатов, домов отдыха. Программа работает с базой данных MS SQL Server. На сервере и рабочих местах пользователей должна быть установлена операционная система MS Windows XP SP3 и старше. Предусмотрены конфигурации для рабочих мест Руководителя, Администратора, Бухгалтера. В состав дистрибутива входит бесплатная полнофункциональная версия MS SQL Server Express 2008 R2.[4]

Возможности программы:

- ведение справочника типов номеров. Поддержка блоков совмещенных номеров;

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

- ведение справочника видов размещения гостей в номерах;

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

Главное окно программы Hotel представлено на рисунке 6.

Рисунок 6 - Программа Hotel

Достоинства:

- поддерживается сетевая работа и через интернет;

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

Недостатки:

- весьма неудобный интерфейс программы;

- сложно разобраться во всех имеющихся функциях;

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

В результате исследования вышеприведённых программных средств для автоматизации гостиниц и проанализировав их достоинства и недостатки, были выявлены основные причины по которым данное программное обеспечение не подходит для жилого комплекса "Сияние Тамани":

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

- присутствуют проблемы с надёжностью базы данных;

- у программ весьма высокая стоимость лицензии.

Учитывая все эти недостатки было принято решение создать собственную автоматизированную систему учёта клиентов для жилого комплекса. Соответственно сделать её более дешёвой и с более простым и понятным интерфейсом.

ГЛАВА 3. ПОСТАНОВКА ЗАДАЧИ ПРОЕКТИРОВАНИЯ

3.1 Цель и задачи проектирования

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

Для достижения поставленной цели необходимо решить следующие задачи:

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

- обоснование необходимости автоматизации: выявление проблемы и путей её решения;

- разработка концептуальной модели БД;

- выбор архитектуры системы и инструментов разработки;

- разработка логической модели БД;

- разработка физической модели БД;

- программная реализация;

- разработка интерфейса системы: разработка отчетов и экранных форм.

3.2 Техническое задание на разработку программы "Модуль регистрации проживающих жилого комплекса "Сияние Тамани"

Наименование системы и ее условное обозначение

Наименование программы

Модуль регистрации проживающих жилого комплекса "Сияние Тамани".

Назначение и область применения

Программа предназначена для автоматизации работы администратора отеля на примере жилого комплекса "Сияние Тамани".

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

Разработчик системы

Разработчиком является студент 4 курса специальности ИиВТ Российского Государственного Социального Университета, филиал г. Анапа Казаков Александр Олегович.

Заказчик системы

Заказчиком является Российский Государственный Социальный Университет филиал в г. Анапе ул. Тургенева д. 261

Перечень нормативно-технических документов, методических материалов, использованных при разработке ТЗ:

- ГОСТ 19.201-78.Техническое задание, требование к содержанию и оформлению;

- ГОСТ 34.601-90. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания;

- ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплексность и обозначение документов при создании автоматизированных систем;

- РД 50-34.698-90. Методические указания. Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Требования к содержанию документов.

Требования к программе

Требования к функциональным характеристикам

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

- бронирование номеров;

- регистрация посетителей;

- размещение посетителей;

- выписка посетителей;

- подготовка отчетной документации.

Входные данные

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

Выходные данные

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

Требования к интерфейсу

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

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

Требования к надежности

Требования к обеспечению надежного функционирования программы

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

- организацией бесперебойного питания технических средств;

- использованием лицензионного программного обеспечения;

- регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;

- регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов.

Время восстановления после отказа

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

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

Отказы из-за некорректных действий пользователей системы

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

Условия эксплуатации

Климатические условия эксплуатации

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

Требования к квалификации и численности персонала

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

- задача поддержания работоспособности технических средств;

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

- задача установки (инсталляции) программы;

- задача создания резервных копий базы данных.

Требования к составу и параметрам технических средств

В состав технических средств должен входить IВМ-совместимый персональный компьютер (ПЭВМ), включающий в себя:

- процессор с частотой не менее 2.0Hz;

- оперативную память объемом не менее 512 Мегабайт;

- HDD, 4 Гигабайта;

- операционную систему Windows 7/8/10.

Требования к информационной и программной совместимости

Требования к исходным кодам и языкам программирования

Программа разрабатывается на языке программирования Object Pascal в среде разработки Delphi XE5.

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

Системные программные средства, используемые программой, должны быть представлены лицензионной локализованной версией операционной системы Windows 7/8/10.

Требования к программной документации

Предварительный состав программной документации

Состав программной документации должен включать в себя:

- техническое задание;

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

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

Плановые сроки представлены в таблице 1.

Таблица 1 - Плановые сроки начала и окончания работ

Название

Интервал работ

Описание

Анализ предметной области

09.09.2015-30.09.2015

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

Обзор программных средств

30.09.2015-07.10.2015

Обзор аналогов, делается вывод о необходимости собственной разработки.

Постановка задачи проектирования

07.10.2015-28.10.2015

Описывается цель и задачи проектирования и техническое задание.

Разработка базы данных

28.10.2015-11.11.2015

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

Разработка программного обеспечения

11.11.2015-09.12.2015

Создание экранных форм и интерфейса конечного пользователя.

Написание документации

09.12.2015-17.12.2015

Написание технической документации к программе.

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

Стадии разработки

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

- разработка технического задания;

- рабочее проектирование.

Этапы разработки

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

На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

- разработка модуля программы;

- разработка программной документации.

Содержание работ по этапам

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

- постановка задачи;

- определение и уточнение требований к техническим средствам;

- определение требований к модулю программы;

- определение стадий, этапов и сроков разработки программы и документации на неё;

- согласование и утверждение технического задания.

На этапе разработки модуля программы должна быть выполнена работа по программированию (кодированию) и отладке.

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

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

ГЛАВА 4. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

4.1 Концептуальная модель базы данных

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

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

Затем формализованное описание преобразуется в программу - имитатор в соответствии с некоторой методикой (технологией программирования).[5]

Концептуальная модель базы данных для модуля регистрации проживающих представлена на рисунке 7.

4.2 Логическая модель базы данных

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

Преобразование концептуальной модели в логическую модель, как правило, осуществляется по формальным правилам. Этот этап может быть в значительной степени автоматизирован.[6]

В логической модели точно определены все атрибуты, добавлено по одному атрибуту с ID номером в каждое отношение. Атрибут с ID номер заполняется автоматически и является первичным ключом. Так же в логической модели нормализованы связи между сущностями. Атрибуты, которые являются первичными ключами (PK) в одних сущностях связаны с такими же атрибутами других сущностей, которые являются внешними ключами (FK).

Нормализация базы данных

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

Функциональная зависимость между атрибутами (множествами атрибутов) X и Y означает, что для любого допустимого набора кортежей в данном отношении: если два кортежа совпадают по значению X, то они совпадают по значению Y.

Метод нормальных форм (НФ) состоит в сборе информации о объектах решения задачи в рамках одного отношения и последующей декомпозиции этого отношения на несколько взаимосвязанных отношений на основе процедур нормализации отношений.

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

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

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

Отношение находится во 2НФ, если оно находится в 1НФ и каждый не ключевой атрибут неприводимо зависит от Первичного Ключа(ПК). Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость.

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

Определение 3НФ не совсем подходит для следующих отношений:

- отношение имеет две или более потенциальных ключа;

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

- они пересекаются, т.е. имеют хотя бы один атрибут.

Для отношений, имеющих один потенциальный ключ (первичный), нормальная форма Бойса-Кодда (НФБК) является 3НФ.

Отношение находится в НФБК, когда каждая нетривиальная и неприводимая слева функциональная зависимость обладает потенциальным ключом в качестве детерминанта.[7]

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

Логическая модель базы данных представлена на рисунке 8.

Рисунок 8 - Логическая модель БД

4.3 Выбор СУБД

Обзор существующих типов СУБД

Классификация СУБД по модели данных

Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева. Тип дерева состоит из одного «корневого» типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи.[8]

Сетевая СУБД - система управления базами данных, поддерживающая сетевую организацию: любая запись, называемая записью старшего уровня, может содержать данные, которые относятся к набору других записей, называемых записями подчиненного уровня.[9]

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

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

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

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

- каждый элемент таблицы - один элемент данных;

- все ячейки в столбце таблицы однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.);

- каждый столбец имеет уникальное имя;

- одинаковые строки в таблице отсутствуют;

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

Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По данным аналитиков на 2010 год, реляционные СУБД используются в абсолютном большинстве крупных проектов по разработке информационных систем. По результатам исследований компании IDC 2009 года всего около 7% составляют проекты, в которых используются СУБД не реляционного типа.

Базовыми понятиями реляционных СУБД являются:

- атрибут;

- отношения;

- кортеж.

Атрибут (поле) - любой столбец в таблице.

Кортежи (записи) - строки таблицы.

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

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

Объектно-реляционная СУБД (ОРСУБД) - реляционная СУБД (РСУБД), поддерживающая некоторые технологии, реализующие объектно-ориентированный подход: объекты, классы и наследование реализованы в структуре баз данных и языке запросов.

Объектно-реляционными СУБД являются, например, широко известные Oracle Database, Informix, DB2, PostgreSQL.

Классификация СУБД по способу доступа к БД

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

Преимуществом этой архитектуры является низкая нагрузка на процессор файлового сервера.

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

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

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно.

Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу.

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

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Cache, ЛИНТЕР.

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

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.[11]

Обоснование выбора СУБД

Учитывая рассмотренные типы СУБД было принято решение использовать реляционную систему управления базой данных.

В реляционных моделях данных объекты и взаимосвязи между ними представляются с помощью таблиц. Каждая таблица представляет один объект и состоит из строк и столбцов. Такое представление данных очень простое и удобное. К тому же на сегодняшний день практически все разработчики стараются использовать реляционный тип СУБД.

Рассмотрим наиболее популярные СУБД:

- Firebird;

- Oracle Database;

- PostgreSQL;

- MySQL.

Firebird

Разработчик: сообщество Firebird.

Firebird -- реляционная кроссплатформенная система управления базами данных (СУБД), работающая на Mac OS X, Linux, Microsoft Windows и разнообразных Unix платформах.

Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников.

Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов, значительное падение производительности при росте внутренней фрагментации базы.[12]

Oracle Database

Разработчики: компания Oracle. Стоимость лицензий и технической поддержки рассчитывается на основании всемирного Прейскуранта Oracle ( Oracle Global Price List). Примерная цена продукта составляет 11900 рублей и выше.

Oracle Database или Oracle RDBMS -- объектно-реляционная система управления базами данных.[13]

Главным недостатком этой СУБД является ёе высокая стоимость.

PostgreSQL

Разработчик: сообщество PostgreSQL.

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

Существует в реализациях для множества UNIX-подобных платформ, включая AIX, различные BSD-системы, HP-UX, IRIX, Linux, Mac OS X, Solaris/OpenSolaris, Tru64, QNX, а также для Microsoft Windows. [14]

Недостатки PostgreSQL:

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

- популярность - по своей природе, популярностью эта СУБД похвастаться не может;

- хостинг - довольно сложно найти хостинг с поддержкой этой СУБД.

MySQL

Разработчик: MySQL AB (до 2008), Sun Microsystems (2008-2010), Oracle (с 2010).

MySQL - свободная реляционная система управления базами данных.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

Проблемой в этой СУБД является то, что MySQL не позволяет корректно применять регулярные выражения (операторы REGEXP и RLIKE) на строках в многобайтовых кодировках, например, для Юникода (UTF-8). При необходимости таких операций приходится переходить на однобайтовые кодировки, например на русскую Win-1251 или KOI-8.

Основные преимущества:

- открытая и модульная разработка;

- кроссплатформенность (UNIX системы и среда Microsoft Windows);

- достаточно высокая производительность;

- низкие совокупные затраты (платить нужно только при потребности в поддержке);

- простота внедрения;

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

- гибкая политика лицензирования.[15]

После анализа некоторых конкретных систем управления базами данных, было принято решение использовать СУБД MySQL. Эта СУБД более распространённая и для неё есть множество документации.

4.4 Физическая модель базы данных

Физическое проектирование базы данных - процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты.[16] В физической модели данных названия таблиц и полей были изменены на английские. В таблицах используются поля с ID номером они обязательные и заполняются автоматически. Так же становят полностью определены все поля, типы данных полей, ограничения на количество символов и допустимость отсутствия или нулевого значения.

Физическая модель данных представлена в таблицах 2 - 12.

Таблица 2 - Гость

Guest

Поле

Тип данных

Длина в байтах

Ограничения

ID_Guest

int

11

Not null auto increment

Family

varchar

30

Not null

FirstName

varchar

30

Not null

MiddleName

varchar

30

Not null

DateBirth

date

Not null

PlaceBirth

int

11

Not null

Sex

int

2

Not null

Pasport

int

11

Not null

AddDocum

int

11

Not null

HomeAddress

int

11

Not null

Таблица 3 - Заселение

Settlement

Поле

Тип данных

Длина в байтах

Ограничения

ID_Settlement

int

11

Not null auto increment

Guest

int

11

Not null

Place

int

11

Not null

Status

int

11

Not null

Таблица 4 - Статусы

Status

Поле

Тип данных

Длина в байтах

Ограничения

ID_Status

int

11

Not null auto increment

Statuses

varchar

15

Not null

Таблица 5 - Места

Places

Поле

Тип данных

Длина в байтах

Ограничения

ID_Plac

int

11

Not null auto increment

Number

int

11

Not null

Таблица 6 - Номера

Numbers

Поле

Тип данных

Длина в байтах

Ограничения

ID_Number

int

11

Not null auto increment

NumRoom

int

11

Not null

Category

int

11

Not null

Status

int

11

Not null

Таблица 7 - Регистрация по месту жительства

HomeAddress

Поле

Тип данных

Длина в байтах

Ограничения

ID_HomeAddress

int

11

Not null auto increment

Country

varchar

20

Not null

Oblast

varchar

35

Not null

City

int

11

Not null

Street

varchar

35

Not null

NumHome

varchar

10

Not null

NumFlat

varchar

10

Not null

Таблица 8 - Категории

Category

Поле

Тип данных

Длина в байтах

Ограничения

ID_Category

int

11

Not null auto increment

Categories

varchar

30

Not null

Таблица 9 - Области

Oblast

Поле

Тип данных

Длина в байтах

Ограничения

ID_Oblast

int

11

Not null auto increment

Oblasty

varchar

35

Not null

Таблица 10 - Города

City

Поле

Тип данных

Длина в байтах

Ограничения

ID_City

int

11

Not null auto increment

Cityes

varchar

30

Not null

Таблица 11 - Дополнительный документ

AddDocum

Поле

Тип данных

Длина в байтах

Ограничения

ID_AddDocum

int

11

Not null auto increment

TitleAddDocum

varchar

20

Null

Num

int

11

Null

Issued

varchar

35

Null

DateIssued

date

Null

Таблица 12 - Паспорт

Pasport

Поле

Тип данных

Длина в байтах

Ограничения

ID_Pasport

int

11

Not null auto increment

SeriyPasport

varchar

11

Not null

NumPasport

varchar

11

Not null

IssuedPasport

varchar

35

Not null

DateIssuedPasport

date

Not null

Nationality

varchar

30

Not null

ГЛАВА 5. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

5.1 Выбор языка программирования и среды разработки

На сегодняшний день существует множество языков программирования. Но для разработки компьютерных программ в операционной системе Windows основными являются языки Object Pascal и С++.

Object Pascal (сейчас известен как Delphi) - императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования -- написание прикладного программного обеспечения. Начиная с версии среды Delphi 7, фирма Borland стала официально называть язык Object Pascal как Delphi. [14]

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

Для разработки программного обеспечения (ПО) было принято решение использовать язык программирования Delphi (Object Pascal). Язык C++ в основном используют для разработки крупных проектов, поэтому для разработки требуемой программы достаточно использовать язык Delphi.

Синтаксис этого языка более прост и понятен по сравнению с языком C++. В нём легче искать ошибки, а значит и времени на разработку нужно меньше.

Рассмотрим некоторые среды разработки в которых используется язык Delphi (Object Pascal):

- Lazarus;

- Embarcadero RAD Studio (Delphi XE5);

- Delphi 7.

Lazarus - открытая среда разработки программного обеспечения на языке Object Pascal для компилятора Free Pascal (часто используется сокращение FPC - Free Pascal Compiler, бесплатно распространяемый компилятор языка программирования Pascal). Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении.[18]

Embarcadero RAD Studio - среда быстрой разработки приложений (RAD) для Microsoft Windows фирмы Embarcadero Technologies.[19]

Borland Delphi 7 - одно из самых популярных в мире средств быстрой
разработки программ для Windows. Программный комплекс предоставляет разработчику богатейший инструментарий и позволяет использовать всю мощь и гибкость языка Pascal.[20]

Из рассмотренных сред разработки было принято решение использовать среду Embarcadero RAD Studio, а именно Delphi XE5. Эта среда разработки более оптимизирована, имеет больше возможностей и в ней отсутствуют ошибки которые могли появится в Delphi 7 или Lazarus.

5.2 Пользовательский интерфейс

Форма авторизации

При запуске программы открывается окно авторизации. В этом окне выбирается пользователь и вводится пароль. Выбор пользователя осуществляется из выпадающего списка, а пароль вводится в поле для ввода расположенное ниже. Для каждого пользователя нужно вводить свой пароль. Так же на этой форме расположены две кнопки "Войти" и "Отмена". Если пароль введён верно, тогда при нажатии на кнопку "Войти" форма авторизации закроется и откроется главная форма, если пароль не верный, тогда откроется небольшое окошко с предупреждением. Если нажать на кнопку "Отмена" то программа просто закроется.

Форма авторизации представлена на рисунке 9.

Рисунок 9 - Авторизация пользователя

Окно с предупреждением представлено на рисунке 10.

Рисунок 10 - Окно предупреждения

Главная форма

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

Если номер занят, то ячейка в зависимости от числа месяца и номера в таблице будет закрашена другим цветом.

Главная форма представлена на рисунке 11

Рисунок 11 - Главная форма

Запись клиентов

Если в таблице на главной форме выбрать какую-нибудь ячейку и на жать по ней дважды левой кнопкой мышь то откроется форма для записи клиентов. В поле "Номер" Будет отображаться номер в зависимости того, какую строку выбрал пользователь, а в поле "Заезд" отображается дата, в зависимости от того, какой столбец выбран, дату можно изменить. Так к же в этой форме можно выбрать количество суток проживания. Выбрать состояние номера можно из всплывающего списка "Состояние".

Если выбрать "Забронирован", тогда будет видно три поля для ввода: заказчик, телефон и e-mail. Заполнив эти поля, нужно выбрать цель проживания. Поля "Заезд", "Выезд", "За сутки" и "Общая сумма" заполняются автоматически. Так же нужно ввести сумму которую клиент оплатил в поле "Оплачено".

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

Форма для записи клиентов с выбранным состоянием "Забронирован" представлена на рисунке 12.

Рисунок 12 - Форма для записи клиентов

Если выбрать состояние "Занят" то на форме будет всё тоже самое, только добавится две кнопки "Заполнить" и "Выбрать из имеющихся". Поля заказчик, телефон и e-mail будут заполняться автоматически после заполнения анкеты или при выборе из списка имеющихся анкет.

Форма для записи клиентов с выбранным состоянием "Занят" представлена на рисунке 13.

Рисунок 13 - Форма для записи клиентов

При нажатии на кнопку "Заполнить" откроется форма заполнения новой анкеты, в которую нужно записать всю нужную информацию о клиенте и нажать кнопку "Сохранить".

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

Рисунок 14 - Форма для записи клиентов

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

Форма с имеющимися анкетами представлена на рисунке 15.

Рисунок 15 - Анкеты

Если выбрать состояние "Ремонт" или "Свободен" в форме для записи клиентов, то на форме будет не будет полей для записи информации о клиенте. Нужно просто нажать кнопку "ОК" и если номер был занят и забронирован, а пользователь выбрал "Свободен", то в таблице на главной форме цвет ячейки будет первоначальный. Если пользователь выбрал состояние "Ремонт", тогда цвет ячейки изменится на отличный от принадлежащих цветов состояниям "Занят" или "Забронирован".

Формы справочников

В программе есть несколько справочников: справочник номеров, справочник пользователей и справочник состояния номеров.

Справочник номеров можно открыть через меню на главной форме. Из меню Справочники выберем Справочник номеров. Откроется форма со списком номеров и информацией о каждом номере.

Форма справочника номер представлена на рисунке 16.

Рисунок 16 - Справочник номеров

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

Рисунок 17 - Справочник пользователей

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

Форма изменения пароля представлена на рисунке 18.

Рисунок 18 - Смена пароля

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

Форма справочника состояний номеров представлена на рисунке 19.

Рисунок 19 - Справочник состояний номеров

Для того чтобы указать путь к базе данных, нужно из меню "Отель" на главной форме выбрать пункт "Настройка пути к БД".

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

В программе ещё присутствует небольшая настройка системы. Чтобы открыть форму с настройками нужно из меню Настройки выбрать пункт Настройка системы. На этой форме расположены два поля для ввода названия отеля и для ввода адреса отеля. Так же на форме есть три кнопки "Изменение цвета программы", нажав на эту кнопку можно полностью изменить цвет программы. Нажав на кнопку "ОК" форма закроется с сохранением изменений, а если нажать на кнопку "Отмена", то форма так же закроется, но изменения не сохранятся.

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

Введение

Назначение документа

Настоящее руководство предназначено для ознакомления пользователя с техническими характеристиками и функциональными возможностями программы "Auto-Hotel".

Краткое изложение основной части документа

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

Общие сведения о программе

Обозначение и наименование программы

Наименование программы - "Модуль регистрации проживающих жилого комплекса "Сияние Тамани".

Обозначение программы - " Auto-Hotel ".

Языки программирования, на которых написана программа

Разработка выполнялась на языке программирования Delphi (Object Pascal) в среде разработки Delphi XE5.

Назначение программы

Программа предназначена для автоматизации работы администратора отеля на примере жилого комплекса "Сияние Тамани".

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

Возможности программы

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

Функции, выполняемые программой

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


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

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