Информационная система гостиница

 

ОГЛАВЛЕНИЕ

 

ВВЕДЕНИЕ 4

1. РАЗРАБОТКА  СИСТЕМНОГО ПРОЕКТА 7

1.1. НАЗНАЧЕНИЕ  РАЗРАБОТКИ 7

1.2. ТРЕБОВАНИЯ  К ФУНКЦИОНАЛЬНЫМ ХАРАКТЕРИСТИКАМ 8

1.2.1. СОСТАВ  ВЫПОЛНЯЕМЫХ ФУНКЦИЙ 8

1.2.2. ОРГАНИЗАЦИЯ  ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ 8

1.3. ТРЕБОВАНИЯ  К НАДЕЖНОСТИ И БЕЗОПАСНОСТИ 10

1.4. ТРЕБОВАНИЯ  К СОСТАВУ АППАРАТНЫХ И ПРОГРАММНЫХ 10

2. РАЗРАБОТКА  ТЕХНИЧЕСКОГО ПРОЕКТА 14

2.1. ПОСТРОЕНИЕ  ФУНКЦИОНАЛЬНОЙ МОДЕЛИ 14

2.2. ПРОЕКТИРОВАНИЕ  МОДЕЛИ ДАННЫХ 15

2.3. ДЕТАЛЬНОЕ  ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО 21

(КОНСТРУИРОВАНИЕ  ПРОТОТИПА) 21

3. РЕАЛИЗАЦИЯ 24

3.1. ОБОСНОВАНИЕ  ВЫБОРА СРЕДСТВ РАЗРАБОТКИ 24

3.2. ОПИСАНИЕ  ОСНОВНЫХ ПРОГРАММНЫХ МОДУЛЕЙ 26

4. ТЕСТИРОВАНИЕ  БАЗЫ ДАННЫХ И  ПРИЛОЖЕНИЙ  СИСТЕМЫ 28

5. РАЗРАБОТКА  ИНСТРУКЦИИ ПОЛЬЗОВАТЕЛЯ 30

ЗАКЛЮЧЕНИЕ 32

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 34

 

ВВЕДЕНИЕ

 

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

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

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

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

 

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

 

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

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

а) возможность случайной  ошибки в ручном заполнении бланков и заселения не в те номера;

б) невозможность быстро справиться с большим объемом  информации;

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

Все вышеперечисленное свидетельствует  об актуальности проблемы, вариант, решения  которой представлен в данном курсовом проекте.

Задачи курсового  проекта:

  1. Определить назначение разработки системного проекта
  2. Определить требования к функциональным характеристикам
  3. Определить состав выполняемых функций
  4. Определить входные и выходные данные
  5. Определить требования к надежности и безопасности
  6. Определить требования к составу технических средств
  7. Определить требования к информационной и программной совместимости
  8. Построить функциональную модель
  9. Осуществить проектирование ER-модели данных (или описание алгоритма решения задачи)
  10. Конструировать прототип
  11. Осуществить реализацию проекта
  12. Протестировать базу данных и  приложения системы
  13. Разработать инструкцию пользователя

 

1. РАЗРАБОТКА  СИСТЕМНОГО ПРОЕКТА

1.1. НАЗНАЧЕНИЕ  РАЗРАБОТКИ

 

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

- ведение базы данных  гостиницы;

- хранение и поиск данных  о сотрудниках гостиницы;

- хранение и поиск информации  о клиентах гостиницы;

- хранение и поиск информации  о номерах;

- хранение данных о  бронировании, заселении, выезде  клиентов и вычисление оплаты  за проживание

- вычисление и анализ  информации о поступлении оплаты  за проживание от клиентов  компании;

- поиск информации по  основным позициям: забронированные  номера, заезд за период, выезд  за период.

 

 

1.2. ТРЕБОВАНИЯ  К ФУНКЦИОНАЛЬНЫМ ХАРАКТЕРИСТИКАМ

1.2.1. СОСТАВ  ВЫПОЛНЯЕМЫХ ФУНКЦИЙ

 

Разрабатываемая автоматизированная информационная система «Гостиница»  должна обеспечивать:

- сбор данных заселившихся  клиентов;

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

- печатание счетов по  оплате;

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

1.2.2. ОРГАНИЗАЦИЯ ВХОДНЫХ И ВЫХОДНЫХ ДАННЫХ

 

Исходная информация в  систему поступает из заявок клиентов, из документов на номера и т.д. Входными данными являются:

- номер;

- категория;

- количество комнат;

- стоимость в сутки;

- бронь, заезд, выезд;

- фамилия, имя, отчество;

- дата рождения;

- пол;

- вид документа, серия,  номер, кем выдан, дата выдачи;

 

 

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

Система должна функционировать  и в многопользовательском режиме и давать возможность:

- просматривать записи  и базы данных, в том числе  и с помощью 

различных фильтров;

- добавлять новые записи  и изменять существующие;

- удалять записи.

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

- отчет оплаты за проживание;

- отчеты по поиску информации  о состоянии номеров;

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

- список заездов и выездов  из номеров;

- список клиентов, которые  поселились с детьми;

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

1.3. ТРЕБОВАНИЯ  К НАДЕЖНОСТИ И БЕЗОПАСНОСТИ

 

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

 

 

1.4. ТРЕБОВАНИЯ  К СОСТАВУ АППАРАТНЫХ И ПРОГРАММНЫХ СРЕДСТВ

 

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

База данных информационной системы должна быть реализована  на SQL Server Management Studio. Исходные коды программы - на языке С#. В качестве интегрированной среды разработки программы должна быть использована среда .NET Framework.

Установка необходимого программного обеспечения для начала программирования на C#: 

Microsoft .NET Framework SDK beta 1. Для начала работы с C# необходимо поставить .NET Framework SDK на свой компьютер.

Минимальные системные требования для Microsoft .NET Framework SDK beta 1:

    • Процессор Pentium II 300;
    • Оперативная память 96 mb;
    • Дисковое пространство для установки: 360 mb;

После установки: 210 mb;

Пространство для установки  и компиляции примеров: 300 mb;

    • Разрешение экрана  - 800x600 - 256 цветов.

Рекомендуемые системные требования Microsoft .NET Framework SDK beta 1:

    • Процессор Pentium III 600;
    • Оперативная память 128 mb;
    • Дисковое пространство для установки: 360 mb;

После установки: 210 mb;

Пространство для установки  и компиляции примеров: 300 mb;

    • Разрешение экрана  - 1024x768 - 256 цветов;
    • Прочее ПО: Microsoft Data Access Components (MDAC) 2.6 (также поставляется на установочном CD) Setup .

 

Microsoft .NET Framework SDK beta 1 доступна на следующих платформах:

  • Windows 2000 (предпочтительно);
  • Windows NT 4.0;
  • Windows Millenium Edition (Windows Me) и Windows 98;
  • Windows 95. Поддерживается только выполнение, с то время как разработка возможна только на вышеуказанных платформах.
  • Windows XP и выше

Предпочтительными являются серверные платформы - Windows 2000 и Windows NT. На иных платформах могут возникнуть проблемы с запуском ASP.NET. Перед установкой на этих платформах следует убедиться в наличии IIS. А в случае Windows NT 4.0 и наличии Service Pack 6a и Windows NT 4.0 Option Pack

Системные требования для  Visual Studio.NET

Минимальные системные требования для VS.NET:

  • Процессор Pentium II – 450;
  • Оперативная память 128 мб;
  • Дисковое пространство - 1 Gb;

 

 

Рекомендуемые системные  требования для VS.NET:

  • Процессор Pentium III – 733;
  • Оперативная память 256 мб;
  • Дисковое пространство - 1 Gb.

 

Минимальные требования к  аппаратному обеспечению MS SQL Server 2008:

  • Процессор Intel (или совместимый) Pentium III 1000 МГц или выше;
  • Оперативная память 512 МБ или более;
  • Жесткий диск 20 ГБ или более.

Рекомендуемые требования к  аппаратному обеспечению:

  • Процессор Intel Pentium4 3000 МГц или выше;
  • Оперативная память 2 ГБ или более;
  • Жесткий диск 100 ГБ или более.

Требования к программному обеспечению:

Необходимо наличие установленных  пакетов: Microsoft .NET Framework 3.5 SP1, Windows Installer 4.5 и Windows PowerShell 1.0.

Операционная система: MS Windows 2003 Server SP2 (Standard Edition, Enterprise Edition, Data Center Edition), MS Windows 2003 Small Business Server SP2 (Standard Edition, Premium Edition), MS Windows 2008 Server (Standard Edition, Enterprise Edition, Data Center Edition, Web Edition).

 Кроме того, некоторые редакции SQL Server 2008, в том числе бесплатную редакцию (Express Edition), можно устанавливать на следующие ОС: MS Windows XP SP2 (Home Edition, Professional Edition, Media Center Edition, Tablet Edition), MS Windows Vista (Home Basic Edition, Home Premium Edition, Business Edition, Enterprise Edition, Ultimate Edition).

 

 

2. РАЗРАБОТКА  ТЕХНИЧЕСКОГО ПРОЕКТА

2.1. ПОСТРОЕНИЕ  ФУНКЦИОНАЛЬНОЙ МОДЕЛИ

 

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

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

 

Рис 1. Контекстная диаграмма «Гостиница»

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

Сведения о них сохраняются  в соответствующих таблицах. Первичные данные  (номер, фамилия, имя, отчество, вид документа, серия, номер, категория, бронь, заезд, выезд и т.д.) фиксируются в базе данных и сохраняются в соответствующих накопителях. В гостинице также формируются данные о бронировании номеров, услуг, на основании этого происходит сдача номеров. Диаграмма потоков данных АИС «Гостиница» приведена в приложении 1.

2.2. ПРОЕКТИРОВАНИЕ  МОДЕЛИ ДАННЫХ

 

Теперь разработаем диаграмму  «сущность – связь» (ER – модель данных, см. прил. 3.), которая обеспечивает способ определения данных и отношений между ними. Модель данных включает сущности и связи между ними.

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

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

  • Сотрудник (предоставляют номера)
  • Должность (имеет сотрудник)
  • Категории (имеют номера)
  • Номера (предоставляются сотрудниками)
  • Клиенты (снимают номера)

 

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

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

R1

R5



A1, A2, A3, A4, A5, A6

B1,B2,B3





={}

=,,

=,,

S=,

Результат минимизации:

= S =  ,,,…

=,,

 

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

R2

R3



 

С1,С2,С3, С4

D1, D2 D3, D4, D5, D6, D7


 

={}

=,,

=,,

S=,

Результат минимизации:

= S =  ,,

=,,

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

R1

R2



 

A1, A2, A3, A4, A5, A6

С1,С2,С3, С4


 

={}

=,,

=,,

S=,

Результат минимизации:

= S =  ,,,…

=,,

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

R2

R4




С1,С2,С3, С4

E1, E2, E3, E4, E5, E6, E7, E8


 

={}

=,,

=,,

S=,

Результат минимизации:

= S =  ,,…

=,,

 

Основные отношения между  указанными сущностями показаны на рис.2.

 

Рис 2. ER-диаграмма «Гостиница»

 

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

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

 

 

Таблица 1. Сущность «Сотрудник»

Атрибуты

Семантика

Домен

А1

Тн.Сотрудника

C(4)

А2

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

C (60)

А3

Код должности

C (6)

А4

Должность

С (20)

А5

Адрес

C (20)

А6

Телефон

C (10)




 

Таблица 2. Сущность «Должность»

Атрибуты

Семантика

Домен

В1

Код должности

С (6)

В2

Должность

С (20)

В3

Заработная плата

Money


 

Таблица 3. Сущность «Номера»

Атрибуты

Семантика

Домен

С1

№ номера

C (4)

С2

Категория

C (10)

C3

ТН сотрудника

C (4)

C4

Код клиента

C (4)


 

Таблица 4. Сущность «Категория»

Атрибуты

Семантика

Домен

D1

Код номера

C (4)

D2

№ Номера

C (4)

D3

Категория

C (10)

D4

Количество мест

N (2)

D5

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

N (2)

D6

Стоимость в сутки

Money

D7

Состояние номера

C (10)


 

Таблица 5. Сущность «Клиенты»

Атрибуты

Семантика

Домен

E1

Код клиента

C (4)

E2

Фамилия

C (20)

E3

Имя

C (20)

E4

Отчество

C (20)

E5

Дата рождения

C (10)

E6

Вид документа

C (10)

E7

Номер и серия

C (10)

E8

Заезд

Data

E9

Выезд

Data

E10

Бронирование

C (3)

E11

№  номера

C (4)


 

 

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

(КОНСТРУИРОВАНИЕ  ПРОТОТИПА)

 

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

Исходя из этого, строится структурная схема программы  и на ее основании проектируется  структура Главного меню программы.

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

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

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

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

 

 

Рис.3. Форма на ввод фамилии

 

 

Рис.4.Форма на добавление, сохранение и удаление записей

3. РЕАЛИЗАЦИЯ

3.1. ОБОСНОВАНИЕ  ВЫБОРА СРЕДСТВ РАЗРАБОТКИ

 

Язык C# как средство разработки и реализации программ обладает рядом несомненных, достоинств. Он хорошо организован, строг, большинство его конструкций логичны и удобны. Развитые средства диагностики и редактирования кода делают процесс программирования приятным и эффективным.

Мощная библиотека классов  платформы .NET берет на себя массу  рутинных операций, что дает возможность  решать более сложные задачи, используя  готовые «Строительные блоки». Все  это позволяет расценивать C# как  перспективную замену языков Паскаль, BASIC и C++ при обучении программированию.

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

Мощь языка C# имеет и  оборотную сторону: во-первых он достаточно требователен к ресурсам компьютера, во-вторых, для осмысленного написания простейшей программы, вычисляющей, « сколько будет дважды два», требуется изучить достаточно много материала, но многочисленные достоинства языка и платформы .NET  перевешивают все недостатки.

Последнее время С и С++ являются наиболее используемыми языками для разработки коммерческих и бизнес приложений. Эти языки устраивают многих разработчиков, но в действительности не обеспечивают должной продуктивности разработки. К примеру, процесс написания приложения на С++ зачастую занимает значительно больше времени, чем разработка эквивалентного приложения, скажем, на Visual Basic.

Сейчас существуют языки, увеличивающие продуктивность разработки за счет потери в гибкости, которая  так привычна и необходима программистам  на С/С++. Подобные решения являются весьма неудобными для разработчиков и зачастую предлагают значительно меньшие возможности. Эти языки также не ориентированы на взаимодействие с появляющимися сегодня системами и очень часто они не соответствуют существующей практике программирования для Web.

Многие разработчики хотели бы использовать современный язык, который позволял бы писать, читать и сопровождать программы с простотой  Visual Basic и в то же время давал мощь и гибкость C++, обеспечивал доступ ко всем функциональным возможностям системы, взаимодействовал бы с существующими программами и легко работал с возникающими Web стандартами.

Учитывая все подобные пожелания, Microsoft разработала новый язык - C#. В него входит много полезных особенностей - простота, объектная ориентированность, типовая защищенность, "сборка мусора", поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения, особенно COM+ приложения и Web сервисы. При создании C#, его авторы учитывали достижения многих других языков программирования: C++, C, Java, SmallTalk, Delphi, Visual Basic и т.д.

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

Информационная система гостиница