Додаток для автоматизації роботи готелю

Автор работы: Пользователь скрыл имя, 11 Декабря 2013 в 19:55, курсовая работа

Описание работы

Мета – спроектувати базу даних, в якій буде зберігатися інформація про номери та послуги, які надаються готелем; про клієнтів, які проживають у готелі; дані про бронювання кімнат; організувати додавання та редагування даних про клієнтів, кімнати, сервіс, проживання, бронювання. Інформація накопичується постійно з кожним днем і може змінюватися.
Ведення довідника проживання. При поселені дані вносяться більш детально, тобто це особисті дані про клієнта що поселяється, кількість осіб, тип кімнати, та інші деталі. Інформація зберігається в базі даних до тих пір коли необхідно буде видалити цю інформацію, що зможе зробити лише обізнаний адміністратор баз даних.

Содержание работы

Розділ 1. Постановка задачі обліку готелю ……………..………………3
Опис предметної області………………………………………….3
Специфікація вимог до системи обліку готелю…………………4
Вступ ………………………………………………………………4
Загальний опис ….………………………………………………...4
Характеристики системи ……………………….………………...6
Вимоги зовнішніх інтерфейсів ……………..……...…………….8
Нефункціональні вимоги до проекту ……………………...…….8
Вибір засобів розроблення системи ………………………..…….9
Розділ 2. Проектування бази даних…………….…………………..…....12
2.1. Концептуальне моделювання предметної області ………...……..12
2.2. Логічне проектування бази даних ………………………………....19
Розділ 3. Реалізація програми роботи з базою даних…………...……...20
3.1. Реалізація доступу до даних ………………………………………..21
3.2 Реалізація функціональних характеристик системи ……..………..22
3.3 Опис роботи програми ……………………………………….…..….32
Висновки……………………………………………………………………...39
Додаток А. Скрипт створення бази даних ……………..………………..41

Файлы: 1 файл

Записка.docx

— 3.34 Мб (Скачать файл)

            }

 

            var roomID = from r in hotel.Room

                          select r.ID_room;

 

            foreach (var r in roomID)

            {

                comboBox2.Items.Add(r);

            }

        }

    }

 

 

3.3. Опис роботи програми

Програма  представляє собою головне вікно  з вибором користувача який збирається користуватись її інструментами. Залежно  від задачі та цілі яку ставить  перед собою той хто зайшов у програму на вибір надається  декілька варіантів інструментів, а  саме : Огляд кімнат, послуг, клієнтів, проживання, бронювання, Додати клієнта, бронювання, проживання, послугу, Редагувати кімнати, послуги, проживання.

При запуску  програми користувач потрапляє на головне  вікно з різними групами кнопок для роботи із системою.

Нижче наведено знімок головного вікна.

Рис.12 Головне  вікно програми

 

Розглянемо перехід до вікна Огляд : Кімнати.

Рис.13 вікно  «Кімнати»

При переході на це вікно перед користувачем постає інформація про кімнати. Також присутня кнопка для переходу на форму для редагування інформації про кімнати, та вікно переходу на головну форму і закриття даної форми.

Переходимо  на вікно «Редагувати».

Рис.14 вікно  «Редагувати»

У цьому вікні  можна змінити інформацію про кімнату і занести її у базу. Для цього треба заповнити всі поля і  натиснути Готово. При успішному внесенні даних відбудеться перехід на форму Кімнати де ми маємо змогу перевірити внесену інформацію.

Рис.15. вікно  «Кімнати» після редагування

Розглянемо  перехід до вікна Огляд : Сервіс.

Рис.16 вікно «Сервіс»

При переході на це вікно перед користувачем постає список послуг, які надаються готелем. Також присутні кнопки для переходу на головну форму і закриття даної форми.

 

Розглянемо  перехід до вікна Огляд : Клієнти.

Рис.18 вікно «Клієнти»

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

Переходимо  на вікно «Додати».

Рис.19 вікно «Додати»

У цьому вікні  можна додати клієнта у базу. Для  цього треба заповнити всі  поля і  натиснути  Додати. При успішному внесенні даних відбудеться перехід на форму Клієнти де ми маємо змогу перевірити внесену інформацію.

Рис.20 вікно «Клієнти» після додавання нового клієнта

 

 

Розглянемо  перехід до вікна Огляд : Проживання.

Рис.21 вікно «Проживання»

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

Переходимо  на вікно «Редагувати».

Рис.22 вікно «Редагувати»

У цьому вікні  можна редагування інформацію про проживання і занести дані у базу. Для цього треба заповнити всі поля і  натиснути Редагувати. При успішному внесенні даних відбудеться перехід на форму Проживання де ми маємо змогу перевірити внесену інформацію.

Рис.23 вікно «Проживання» після редагування

 

Розглянемо  перехід до вікна Огляд : Бронювання.

Рис.24 вікно «Бронювання»

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

Переходимо  на вікно «Додати».

Рис.25 вікно «Додати»

У цьому вікні  можна додати бронювання і занести дані у базу. Для цього треба заповнити всі поля і натиснути Забронювати. При успішному внесенні даних відбудеться перехід на форму Бронювання де ми маємо змогу перевірити внесену інформацію.

Рис.26 вікно «Бронювання» після редагування

Рис.27 вікно «Бронювання» до і після відміни

Рис.28 вікно «Бронювання» поселення

 

Розглянемо перехід до вікна  Огляд : Надані послуги

Рис.29 вікно  «Надані послуги»

Заповнюємо  дані для додавання послуги.

Рис.30 «Додати»

При успішному  внесенні даних відбудеться перехід на форму Надані послуги де ми маємо змогу перевірити внесену інформацію.

Рис.31 вікно  «Надані послуги» після додавання

 

Форми Додати клієнта, бронювання, проживання, послугу, Редагувати кімнати, послуги, проживання використовуються у формах Огляду і вже продемонстровані.

 

 

ВИСНОВКИ

Даний проект є результатом вивчення, практикування  та освоєння досить великого обсягу матеріалу  з області проектування баз даних, реалізації додатків для роботи з  базами даних, технологій з’єднання та опрацювання запитів до БД. В процесі були використані такі технології як ADO.NET Entity Framework та інтерфейс для з’єднання з БД -  ODBC.

Вважаю  що в процесі виконання проекту  я оволоділа практичними навиками роботи з базами даних, навиками створення додатків для доступу до даних у БД.

Розроблена  програмна система та база даних  відповідають усім вимогам, що описані  в специфікації до програмного продукту та готові до використання. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Додаток А. Скрипт створення БД.

CREATE TABLE Client

(

ID_client            integer  NOT NULL ,

NameSurname          varchar(50)  NULL ,

Birthday             varchar(10)  NULL ,

Gender               varchar(1)  NULL CHECK(Gender IN ('m', 'f', 'ч', 'ж')),

Phone_client         varchar(20)  NULL

)

go

 

 

ALTER TABLE Client

ADD CONSTRAINT XPKClient PRIMARY KEY  CLUSTERED (ID_client ASC)

go

 

CREATE TABLE Reservation

(

ID_reservation       integer  NOT NULL ,

From_the_date        datetime  NULL ,

ID_room              integer  NOT NULL UNIQUE,

ID_client            integer  NOT NULL

)

go

 

 

ALTER TABLE Reservation

ADD CONSTRAINT XPKReservation PRIMARY KEY  CLUSTERED (ID_reservation ASC)

go

 

 

CREATE TABLE Residence

(

ID_residence         integer  NOT NULL ,

From_the_date_residence   datetime  NULL ,

To_date              datetime  NULL ,

Number_of_persons    integer  NULL DEFAULT 1,

Number_of_children   integer  NULL DEFAULT 0,

ID_client            integer  NOT NULL ,

ID_room              integer  NOT NULL ,

All_Cost             float  NULL

 

)

go

 

 

ALTER TABLE Residence

ADD CONSTRAINT XPKResidence PRIMARY KEY  CLUSTERED (ID_residence ASC)

go

 

 

CREATE TABLE Room

(

ID_room              integer  NOT NULL ,

Number_room          integer  NULL,

Type_room            varchar(20)  NULL ,

Note                 varchar(200)  NULL ,

Phone                varchar(10)  NULL DEFAULT '111-11-11',

Price_room           float  NULL DEFAULT 100.0,

State_room           varchar(20)  NULL DEFAULT 'вільна' CHECK( State_room in ('вільна', 'зайнята', 'зарезервована'))

)

go

 

 

ALTER TABLE Room

ADD CONSTRAINT XPKRoom PRIMARY KEY  CLUSTERED (ID_room ASC)

go

 

 

CREATE TABLE Service

(

ID_service           integer  NOT NULL ,

Name_service         varchar(20)  NULL ,

Note                 varchar(200)  NULL ,

Price                float  NULL DEFAULT 100.0

)

go

 

 

ALTER TABLE Service

ADD CONSTRAINT XPKService PRIMARY KEY  CLUSTERED (ID_service ASC)

go

 

 

CREATE TABLE Service_rendered

(

ID_service_rendered  integer  NOT NULL ,

ID_service           integer  NOT NULL ,

ID_client            integer  NOT NULL ,

Cost                 float  NULL DEFAULT 100.0,

Service_State        varchar(20)  NULL DEFAULT 'виконано' CHECK (Service_State in ('виконано','очікує','скасовано'))

)

go

 

 

ALTER TABLE Service_rendered

ADD CONSTRAINT XPKService_rendered PRIMARY KEY  CLUSTERED (ID_service_rendered ASC)

go

 

 

ALTER TABLE Reservation

ADD CONSTRAINT R_25 FOREIGN KEY (ID_room) REFERENCES Room(ID_room)

 

go

 

 

ALTER TABLE Reservation

ADD CONSTRAINT R_26 FOREIGN KEY (ID_client) REFERENCES Client(ID_client)

 

go

 

 

ALTER TABLE Residence

ADD CONSTRAINT R_28 FOREIGN KEY (ID_client) REFERENCES Client(ID_client)

 

go

 

 

ALTER TABLE Residence

ADD CONSTRAINT R_29 FOREIGN KEY (ID_room) REFERENCES Room(ID_room)

 

go

 

 

ALTER TABLE Service_rendered

ADD CONSTRAINT R_22 FOREIGN KEY (ID_client) REFERENCES Client(ID_client)

 

go

 

 

ALTER TABLE Service_rendered

ADD CONSTRAINT R_23 FOREIGN KEY (ID_service) REFERENCES Service(ID_service)

 

go

 

create view FreeRoom

as

select * from Room

where State_room in ('вільна')

go

 

create view ReservRoom

as

select * from Room

where State_room in ('зарезервована')

go

 

create view LivedRoom

as

select * from Room

where State_room in ('зайнята')

go

 

create view PopularRoom

(ID, Type_room, Note, Phone, Price, Number_room, Popularity)

as

select Room.ID_room,  Type_room,

Note, Phone, Price_room,

Number_room, COUNT(Residence.ID_room) from Room

join Residence

on Room.ID_room = Residence.ID_room

group by Room.ID_room, Type_room, Note, Phone, Price_room,

Number_room, Residence.ID_room

go

 

create view Living

as

select ID_reservation,

From_the_date,

NameSurname,

Room.Number_room

from Reservation join

Client

on Reservation.ID_client = Client.ID_Client

join Room

on Reservation.ID_room = Room.ID_room

 

create view NotAvailableRoom

as

select ID_residence

      ,All_Cost

      ,From_the_date_residence

      ,To_date

      ,ID_client

      ,Residence.ID_room

      ,Number_of_persons

      ,Number_of_children from Residence join Room

on Residence.ID_room = Room.ID_room

 

 


Информация о работе Додаток для автоматизації роботи готелю