Разработка модуля информационной системы для отдела по контролю полетов и личного состава и справочной службы аэропорта

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

СУМСКОЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ



















Курсовая работа

по предмету «Базы данных

и информационные системы»

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



	

	Выполнил студент группы ИН-52: 	Билак Н.П.

	Проверил преподаватель: 	Чекалов А.П.

















Сумы-2007


Оглавление



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

1.1 Вариант задания курсовой работы. 

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

2.Анализ области применения и планирование требований. Семантика построенных DFD диаграмм в Case Studio 2.19 

2.1 DFD диаграмма 0 уровня

2.3 1 часть DFD диаграммы 0 уровня

2.4. DFD диаграмма 1 уровня

2.5 2 часть DFD диаграммы 0 уровня

3.Проектирование базы данных.

4 Реализации таблиц.

4.1 Создание таблиц.

4.2 Реализация бизнес правил.

4.3 Формирование основных SQL запросов.

5 Программная реализация.

Список использованной литературы.

Приложение


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



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



1.1 Вариант задания курсовой работы



Задание № 6

Спроектируйте базу данных аэропорта так, чтобы она позволяла реализовать следующее запросы:

список моделей самолетов летающих по рейсу Z;

номер экипажа и фамиля командира самолета с номером N;

наличие свободных мест на рейс в город Х с временем отправления Y.



1.2 Результаты предпроектного исследования



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

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

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

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




2.Анализ области применения и планирование требований. Семантика построенных DFD диаграмм в Case Studio 2.19



2.1 DFD диаграмма 0 уровня







1. В ходе выполнения курсовой работы при реализации зарпосов была построена DFD диаграммы 0 уровня и составлено следующее описание хода событий : 

Запускаем Запустить среду построения DFD диаграм («CASEStudio»).

Исходя из условия поставленной задачи создаем 2 внешних сущности: одну из них называем «Администрация аэропорта», а вторую – «Потенциальный пассажир». 

Добавляем 2 процесса, переименовываем их так: первый называем «Выборка самолетов рейса Z» (внешняя сущность по средствам потока данных обращается к процессу с запросом о списке моделей самолетов летающих по рейсу Z, то есть характеристики самолетов(модель, бортовой номер и дальность возможного перелета.) а так же о номере экипажа и фамилии командира самолета с номером N). Второй же процесс называем «Поиск Билетов». 

Создаем поток данных от внешней сущности «Администрация аэропорта» к процессу «Выборка самолетов рейса», и изменяем его имя на «Характеристики самолетов рейса Z» в Edit Data Flow на вкладке Data Flow.

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

Создаем поток данных от внешней сущности «Потенциальный пассажир» к процессу «поиск билетов», и изменяем его имя на «Свободные места рейса Z направления Y.» 

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

Добавляем новое хранилище данных «Данные аэропорта» на нашу диаграмму, соединяем хранилище данных парами потоков данных с процессами.

Изменяем цвет внешних сущностей(светло-синий), процессов(желтый) а так же хранилища данных(серый). 

На вкладке «Edit Process» на каждом из двух процессов, задействованных в нашей DFD диаграмме 0 - уровня снимаем флажок с пункта Lowest level и нажимаем OK.




2.2 Семантика DFD диаграммы 0 уровня



Сотруднику администрации аэропорта необходимо узнать список моделей самолетов летающих по рейсу Z. Он делает запрос по рейсу Z и получает результат в виде списка всех моделей самолетов, летающих по этому рейсу.

 Сотруднику администрации аэропорта необходимо узнать номер экипажа и фамилию командира самолета с номером N. Он делает запрос по конкретному бортовому номеру самолета и получает интересующую его информацию. 

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



2.3 1 часть DFD диаграммы 0 уровня







Добавим процесс в нашу DFD диаграмму 1 уровня, процесс называем «Выборка характеристик самолетов» (номер экипажа и фамилия командира самолета с номером N, характеристики самолетов(модель, бортовой номер и дальность возможного перелета)) . 

Создаем поток данных от внешней сущности «Администрация аэропорта» к процессу «Выборка характеристик самолетов», и изменяем его имя на «Характеристики самолетов рейса Z» в Edit Data Flow на вкладке Data Flow.

Добавляем новое хранилище данных «Данные аэропорта» на нашу диаграмму, соединяем хранилище данных парой потоков данных с процессом.

Изменяем цвет внешних сущностей(светло-синий), процессов(желтый) а так же хранилища данных(серый). 

На вкладке «Edit Process» на процессе, задействованном в нашей DFD диаграмме 1 - уровня снимаем флажок с пункта Lowest level и нажимаем OK.

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

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

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



2.4 DFD диаграмма 1 уровня







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

2. Создаем поток данных от внешней сущности «Администрация аэропорта» к процессу ««выборка моделей и дальности полетов», и изменяем его имя на «Характеристики самолетов рейса Z» в Edit Data Flow на вкладке Data Flow.

3. Создаем поток данных от процесса «выборка моделей и дальности полетов» к внешней сущности «Администрация аэропорта», и изменяем его имя на «Отчет», т.е. результат в виде списка всех моделей самолетов, летающих по этому рейсу, а так же их бортовых номеров и летных характеристик (дальность полета), номер экипажа и фамилия командира самолета с номером N.

4. Добавляем новое хранилище данных «Данные аэропорта» на нашу диаграмму, соединяем хранилище данных парами потоков данных с процессом выборка характеристик экипажа .

5. Изменяем цвет внешних сущностей(светло-синий), процессов(желтый) а так же хранилища данных(серый). 




2.5 2 часть DFD диаграммы 0 уровня







1. Добавим процесс в нашу DFD диаграмму 1 уровня, процесс называем «Сведенья о билетах » (сведенья о наличии свободных мест на рейс Z направления Y)) . 

2. Создаем поток данных от внешней сущности «потенциальный пассажир» к процессу «Сведенья о билетах», и изменяем его имя на «свободные места рейса Z направления Y» в Edit Data Flow на вкладке Data Flow.

3. Добавляем новое хранилище данных «Данные аэропорта» на нашу диаграмму, соединяем хранилище данных парой потоков данных с процессом.

4. Изменяем цвет внешних сущностей(светло-синий), процессов(желтый) а так же хранилища данных(серый). 

2 Анализ области применения и планирование требований

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







На основе концептуальной модели создаем структуру приложения:







табл. 1 Условные обозначения

Обозначение 

Описание 

request

Составление отчета

fmFind

Поиск соотв. полей


3 Проектирование базы данных



Отношению Подразделения соответствует полная ФЗ №ПодразделенияСпециализация, Руководитель.

Отношению Объекты соответствует полная ФЗ№ ОбъектаАдрес обьекта.

Отношению Данные о графиках соответствует полная ФЗ№ Объекта

№ПодразделенияДата нач. работДата оконч. работ.

Диаграмма базы данных будет иметь вид:








4 Реализации таблиц



4.1 Создание таблиц



Для реализации таблиц запускаем database desktop где описываем содержимое наших таблиц:





После этого запускаем SQL explorer






в поле Path прописываем путь к созданным в database таблицам и сохраняем проект.



4.2 Реализация бизнес правил на уровне таблиц:



1.Поле Chief всегда должно заполнятся с целью повышения ответственности за качество работ.

2.Должно указываться начало и окончание работ для возможности отбора данных учитывая время проведения.






4.3 Формирование основных SQL запросов



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

Вот как будет виглядеть основной SQL запрос 

SELECT SUBD.CHIEF AS РУКОВОДИТЕЛЬ ,TARG.ADDRES AS ОБЬЕКТ,GRAFIC.START AS START, GRAFIC.FIN AS FINISH

FROM SUBD,GRAFIC,TARG

WHERE (SUBD.PROFIL="Каменьщики")

and (GRAFIC.NSUBD=SUBD.NPODR)

AND(TARG.NOBJ=GRAFIC.NOB)

AND(GRAFIC.START BETWEEN "01.01.06"AND "1.02.06")

В программной реализации 4-ая и 6-ая строчки запроса будут изменятся во время работы программы.


5 Программная реализация



Для программной реализации было создано пять форм а именно:

1) Окно основной программы, где формируется и выводится запрос Рис(1);

2) Окно редактирования таблицы SUBD.db;

3) Окно редактирования таблицы TARG.db Рис(2);

4) Окно редактирования таблицы GRAFIC.db;

5) Окно просмотра отчета для печати Рис(3)



Рис(1)





Рис(2)




Рис(3)





Соответствующие модули обеспечивающие работу всех форм показаны в приложении.


Список использованной литературы.



1.Чекалов А.П.Базы данных от проектирования доразработки приложений СПб.: БХВ-Петербург, 2003. - 384 с.