1 Клиентское приложение для информационной системы «Аэропорт»

1.1 Постановка задачи

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

Выделим базовые сущности предметной области «Аэропорт»:

1) авиакомпания. Атрибутами являются: код авиакомпании, название;

2) типы самолетов. Атрибуты сущности – код типа, наименование, назначение;

3) самолеты. Содержит связь между типами самолетов и авиакомпанией. Атрибуты – код самолёта, наименование, вместимость, грузоподъемность, код типа, дата выпуска, налётано часов, дата последнего технического осмотра, код авиакомпании;

4) сотрудники. Атрибуты – код сотрудника, фамилия, имя, отчество, адрес, телефон, паспортные данные;

5) пассажиры. Атрибуты сущности – код пассажира, фамилия, имя, отчество, паспортные данные;

6) рейсы. Содержит связь между самолетами. Атрибуты – код рейса, дата, время вылета, откуда, куда, код самолёта, время полёта;

7) билеты. Содержит связь между сотрудниками, пассажирами, рейсами. Атрибутами являются – код билета, код пассажира, код рейса, код сотрудника, место, цена.

1.2 Выбор инструментальных средств

Разработка данного клиентского приложения осуществляется на языке Delphi в среде программирования Borland Delphi 7 Enterprise Edition.

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

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

- удобство в работе. Для этого программа должна иметь современный и удобный интерфейс пользователя;

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

- совместимость исходного кода программы с операционной системой (ОС) Windows.

В ходе следующего анализа имеющихся средств программирования на основании перечисленных критериев была выбрана система визуального программирования Borland Delphi 7.

Среда визуального программирования Delphi 7.0 является мощным средством для качественной и быстрой разработки программ для ОС Windows. Имеющаяся библиотека визуальных компонентов позволяет создать интерфейс пользователем за считанные минуты. Объектно-ориентированный язык Object Pascal, положенный в основу Delphi, является расширением языков Borland Pascal и Turbo Pascal фирмы Borland и нашел в себе отражение новых веяний в программировании. Delphi представляет собой открытую систему, позволяя добавлять в систему свои компоненты, модифицировать уже имеющиеся стандартные компоненты благодаря тому, что представлены их исходные коды [3]. Среда визуального программирования Delphi 7.0 имеет достаточно большую скорость компиляции и выполнения программ, что также делает её очень удобной в использовании.

Следовательно, выбранная среда программирования удовлетворяет поставленным требованиям.

1.3 Анализ информационных задач и круга пользователей системы

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

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

- для получения пассажирами информации создать приложение, через которое невозможно получить доступ к изменению информации в ИС;

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

- разработать удобный интерфейс;

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

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

1) пассажиры;

2) диспетчер;

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

4) сотрудники отдела продаж.

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

В связи с этим использование ИС обязательно и обеспечивает бесперебойное и оптимальное функционирование при непрерывной работе аэропорта.

Графически использование клиентского приложения информационной системы «Аэропорт» сотрудниками можно представить в виде диаграммы развертывания (рисунок 1).

Рисунок 1 – Диаграмма развертывания

К узлу разрабатываемого приложения ИС «Аэропорт» подключается сервер базы данных «Airport». К приложению также подключаются компьютеры пассажиров, диспетчера, сотрудников отдела продаж и отдела кадров.

1.4 Функциональные возможности

Разрабатываемое клиентское приложение ИС «Аэропорт» должно предоставлять пользователю удобный интерфейс, позволяющий:

1) добавлять новые записи в БД;

2) редактировать данные;

3) удалять записи из БД;

4) просматривать записи;

5) осуществлять поиск записей;

6) производить сортировку;

7) составлять отчеты;

8) закрывать приложение.

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

Рисунок 2 – Диаграмма вариантов использования

В диаграмме вариантов использования был выделен актер «Приложение», имеющий отношения ассоциации со следующими вариантами использования:

- «Подключиться в базе данных»;

- «Редактировать данные», имеет отношение – включение с вариантом использования «Выбрать данных для редактирования»;

- «удалить записи из БД»;

- «просмотреть записи» имеет отношение – включение с вариантом использования «Выбрать таблицу»;

- «Осуществить поиск данных» имеет отношение – включение с вариантом использования «Выбрать данных для поиска»;

- «Сортировать данные»;

- «Сохранить изменения».

Вариант использования «Сортировать данные» имеет связь – обощение с вариантами использования: «Сортировать по фамилии», «Сортировать по дате вылета», «Сортировать по типу».

1.5 Логическое проектирование базы данных информационной системы «Аэропорт»

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

Рисунок 3 – Диаграмма классов базы данных

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

1.6 Выработка ограничений

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

Таблица 1 – Таблица сущностей

Название сущности Идентификатор сущности Назначение сущности
Авиакомпания Airline Содержит сведения об авиакомпании
Самолёты A irplane Содержит сведения о самолётах
Рейсы Flights Содержит сведения о рейсах
Типы самолётов Aircraft_ T ypes Содержит сведения о типах самолётов
Сотрудники Staff Содержит сведения о сотрудниках
Пассажиры Passengers Содержит сведения о пассажирах
Билеты Tickets Содержит сведения о билетах

Для каждой сущности базы данных в таблицах 2-8 приведены описания атрибутов.

Таблица 2 – Сущность «Билеты»

Идентификатор столбца Содержательное описание Тип данных Размерность Область допустимых значений Возможность значения NULL Роль Пример Примечание
ID_Ticket Код билета целый 6 000001-999999 нет PK    
ID_Passenger Код пассажира целый 4 0001-9999 нет FK 4712  
ID_Flight Код рейса целый 4 0001-9999 нет FK 254  
ID_Staff Код сотрудника целый 3 001-999 нет FK 189  
Place Место символьный 4 ‘A-Z’, ‘0-9‘ нет   4A  
Price Цена целый 5 00001-99999 нет   10500  

Таблица 3 – Сущность «Пассажиры»

Идентификатор столбца Содержательное описание Тип данных Размерность Область допустимых значений Возможность значения NULL Роль Пример Примечание
ID_Passenger Код пассажира целый 4 0001-9999 нет PK 5478  
Surname Фамилия символьный 30 ‘А-я’, ‘-‘ нет   Фокин  
First_Name Имя символьный 15 ‘А-я’ нет   Александр  
Last_Name Отчество символьный 20 ‘А-я’ да   Владимирович  
Passport Паспортные данные символьный 12 ‘0-9’, ‘ ’ нет AK 14 85 474215  

Таблица 4 – Сущность «Самолёты»

Идентификатор столбца Содержательное описание Тип данных Размерность Область допустимых значений Возможность значения NULL Роль Пример Примечание
ID_Airplane Код самолёта целый 4 0001-9999 нет PK 1275  
Name_Airplane Наименование символьный 45 ‘А-я’, ‘-‘, ‘0-9’, ‘A-z’, ‘ ’ нет   Airbus А320  
Capacity Вместимость целый 3 001-999 нет   247  
Carrying Грузоподъемность вещественный 2 01-99 нет   10 в тоннах
ID_Type Код типа целый 3 001-999 нет FK 544  
Naletano Налётано часов вещественный 4 0001-9999 нет   147  
Service_Date Дата последнего т/о дата/время 8 01.01.2018 – 31.12.2030 да   12.05.2018  
ID_Airline Код авиакомпании целый 3 001-999 нет FK 578  

Таблица 5 – Сущность «Рейсы»

Идентификатор столбца Содержательное описание Тип данных Размерность Область допустимых значений Возможность значения NULL Роль Пример Примечание
ID_Flight Код рейса целый 4 0001-9999 нет PK 657  
Flight_Date Дата дата/время 8 01.01.2021 – 31.12.2030 нет   16.02.2021  
Departure_Time Время вылета дата/время 6 00:00:00 – 23:59:59 нет   11:25:00  
From_Flight Откуда символьный 45 ‘А-я’, ‘-‘, ‘ ’ нет   Лондон  
To_Flight Куда символьный 45 ‘А-я’, ‘-‘, ‘ ’ нет   Москва  
ID_Airplane Код самолёта целый 4 0001-9999 нет FK 1275  
Flight_Time Время полёта числовой 5 000.00-999.99 нет   12.10 часы, минуты

Таблица 6 – Сущность «Авиакомпания»

Идентификатор столбца Содержательное описание Тип данных Размерность Область допустимых значений Возможность значения NULL Роль Пример Примечание
ID_Airline Код авиакомпании целый 3 001-999 нет PK 148  
Name_Airline Название символьный 45 ‘А-я’, ‘-‘, ‘ ’ нет   Аэрофлот  

 

Таблица 7 – Сущность «Типы самолётов»

Идентификатор столбца Содержательное описание Тип данных Размерность Область допустимых значений Возможность значения NULL Роль Пример Примечание
ID_Type Код типа целый 3 001-999 нет PK 544  
Name_Type Наименование символьный 45 ‘А-я’, ‘-‘, ‘ ’ нет   Средней протяженности    
Purpose Назначение символьный 45 ‘А-я’, ‘-‘, ‘ ’ нет   Пассажирский  

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

Идентификатор столбца Содержательное описание Тип данных Размерность Область допустимых значений Возможность значения NULL Роль Пример Примечание
ID_Staff Код сотрудника целый 3 001-999 нет PK 312  
Surname Фамилия символьный 30 ‘А-я’, ‘-‘ нет   Айвазова  
First_Name Имя символьный 15 ‘А-я’ нет   Александра  
Last_Name Отчество символьный 20 ‘А-я’ да   Дмитриевна  
Address_Staff Адрес символьный 100 ‘А-я’, ‘-‘, ‘,’, ‘.’, ‘0-9’ нет   г. Пенза, ул. Калинина, д. 125, кв. 46  
Telephone Телефон символьный 12 ‘0-9’, ‘+’ нет   +79875287415  
Passport Паспортные данные символьный 12 ‘0-9’, ‘ ’ нет AK 48 15 471245