Файл: Организационно-экономическая характеристика предприятия.pdf
Добавлен: 25.05.2023
Просмотров: 1146
Скачиваний: 5
СОДЕРЖАНИЕ
1.1. Организационно-экономическая характеристика предприятия
1.2. Описание проектируемой системы
1.5. Формализованное описание в виде набора основных диаграмм
2. Проектирование базы данных информационной системы
2.1. Концептуальное проектирование базы данных
2.2. Логическое проектирование базы данных
2.3. Физическое проектирование базы данных
3.2. Связывание базы данных с программой Delphi
3.3. Разработка программного средства
dx:=((Main.Width-40) div mest)-3;
//Вычисляем шаг (высоту ячейки места) по вертикали
dy:=((Main.Height-180) div ryadov)-3;
//Узнаем центральную точку ячейки по горизонтали
centerx:=dx div 2;
//Узнаем центральную точку ячейки по вертикали
centery:=dy div 2;
//Допуск
dop:=(main.Width-((dx+3)*mest)) div 2;
//Устанавливаем курсор на первую строку файла зала
reset(textf);
//Фильтруем таблицу "Залы ряды" по идентификатору зала (оставляем только записи для текущего зала)
DataModule1.TZaly_ryady.Filter:='id_zal = '+IntToStr(id);
DataModule1.TZaly_ryady.Filtered:=true;
//Начираем последовательно перебирать ряды
for I := 0 to ryadov-1 do
begin
//Считываем строку из файла схемы (она соответствует ряду)
readln(textf, s);
//Устанавливаем курсор на первую запись отфильтрованной таблицы
DataModule1.TZaly_ryady.First;
//Узнаем цвет текущего ряда, для этого
//Последовательно перебираем записи в табилце
for m := 1 to DataModule1.TZaly_ryady.RecordCount do
begin
//Если номер ряда входит в диапазон в таблице (соответствует типу места этого диапазона)
if (i+1>=DataModule1.TZaly_ryady.FieldByName('ryad_ot').AsInteger) and (i+1<=DataModule1.TZaly_ryady.FieldByName('ryad_do').AsInteger) then
begin
//Узнаем цвет этого типа места
//Для этого устанавливаем курсор на первую строку таблицы "Типы мест"
DataModule1.TTipyMest.First;
//Находим строку в таблице соответстующую этому типу
DataModule1.TTipyMest.Locate('id_type', DataModule1.TZaly_ryady.FieldByName('id_type').AsInteger, []);
//Запоминаем цвет этого типа ряда
Color:=ConvertHtmlHexToTColor(DataModule1.TTipyMest.FieldByName('Color').AsString);
//Указываем этот цвет для цвета заливки
Main.Canvas.Brush.Color:=Color;
end;
//Продолжаем перебирать таблицу "Залы ряды"
DataModule1.TZaly_ryady.Next;
end;
//Рисуем номер ряда
Main.Canvas.TextOut(5, 80+i*(dy+3)+centery-5, IntToStr(i+1));
//Рисуем зал, для этого
//Последовательно перебираем места (символы в выбранной ранее строке схемы зала)
for k:= 0 to mest-1 do
//Если в считанной ранее из файла схемы строке в текущем символе находится единица, т.е. на этом месте есть кресло
if s[k+1]='1' then
begin
//Рисуем квадрат на форме. Это наше место. Причем отрисуется запомненным ранне цветом.
Main.Canvas.Rectangle(dop+k*(dx+3), 80+i*(dy+3), dop+(k*(dx+3))+dx, 80+i*(dy+3)+dy);
//И рисуем номер этого места
Main.Canvas.TextOut(dop+k*(dx+3)+centerx-5, 80+i*(dy+3)+centery-5, IntToStr(k+1));
end;
end;
//Теперь необходимо отрисовать занятые на сеанс места
//Для этого запоминаем номер сеанса
id_seans:=DBLookupComboBox3.KeyValue;
DataModule1.TBilety.Active:=False;
DataModule1.TBilety.Active:=True;
//Фильтруем таблицу "Билеты", оставляя в ней только билеты, купленные на данный сеанс
DataModule1.TBilety.Filter:='id_seans ='+IntToStr(id_seans);
DataModule1.TBilety.Filtered:=False;
DataModule1.TBilety.Filtered:=True;
//Переходим к первой записи таблицы
DataModule1.TBilety.First;
//Повторяем с первой до последней записи в отфильтрованной таблице
for m := 1 to DataModule1.TBilety.RecordCount do
begin
//Запоминаем номер места из таблицы
k:=DataModule1.TBilety.FieldByName('number_mesto').AsInteger-1;
//Запоминаем номер ряда из таблицы
i:=DataModule1.TBilety.FieldByName('number_ryad').AsInteger-1;
//Устанавливаем цвет заливки в красный
Main.Canvas.Brush.Color:=clRed;
//Рисуем квадрат в соответствующем месте
Main.Canvas.Rectangle(dop+k*(dx+3), 80+i*(dy+3), dop+(k*(dx+3))+dx, 80+i*(dy+3)+dy);
//Рисуем номер места
Main.Canvas.TextOut(dop+k*(dx+3)+centerx-5, 80+i*(dy+3)+centery-5, IntToStr(k+1));
//Переходим к следующей записи
DataModule1.TBilety.Next;
end;
end;
end;
3.4. Руководство администратора
Для установки программы необходимо скачать программное средство Microsoft SQL Server 2012 Express и среду разработки для него MS SQL Server 2012 Management Studio с сайта компании Microsoft.
Их необходимо установить с параметрами по умолчанию.
После этого необходимо запусти MS SQL Server Management Studio, войти с параметрами по умолчанию и нажав правой кнопкой на заголовке «Базы данных» выбрать «Присоединить». Указать файл базы данных, поставляемый с программой.
После этого необходимо отрыть файл settings.ini из папки с исполняемым файлом программы, и указать в нем название сервера и рабочей станции.
После этого программа будет готова к работе.
3.5. Руководство пользователя
3.5.1. Требования к программным и аппаратным средствам
Для корректного функционирования программы требуется сервер со следующими параметрами.
- Процессор не ниже Pentium 4 1300 МГЦ.
- Оперативная память не менее Гбайт.
- Винчестер от 320 Гбайт.
Требования к клиентскому оборудованию аналогичные.
Для функционирования программы требуется ОС Windows XP/7/8/10.
3.5.2. Главная форма программы
Главная форма программы является основной рабочей формой программы.
В ней непосредственно просматриваются данные о залах, а также вносятся данные по реализованным билетам.
Главная форма выглядит следующим образом:
Рисунок 3.5. Главная форма программы
В начале работы необходимо последовательно выбрать зал для редактирования, фильм, идущий в нем, а также сеанс.
Следует отметить что программа допускает выбор только тех фильмов и залов, которые соответствуют выбранным ранее параметрам.
После выбора всех данных на экран будет выведена схема выбранного зала.
Для того, чтобы занести продажу билета – необходимо нажать на нужное место правой кнопкой мыши и выбрать нужный пункт из выпадающего меню.
Рисунок 3.5. Выпадающее меню
После нажатия на кнопку «Продать» продажа будет занесена в базу данных и занятое место выделено красным цветом.
Сведения о дате и стоимости билета заносятся в базу данных автоматически, на основании данных из справочников.
3.5.3. Навигация по формам
Компонент-навигатор, расположенный на каждой из форм справочника, имеет следующий вид.
6
7
8
9
5
4
3
2
1
10
В компоненте имеются следующие кнопки:
1 – перейти на первую запись таблицы.
2 – перейти к предыдущей записи.
3 – перейти к следующей записи.
4 – перейти к последней записи таблицы.
5 – добавить запись
6 – удалить запись.
7 – начать редактирование
8 – подтвердить изменения.
9 – отменить изменения.
10 – вернуть ввод.
3.5.4. Справочник стран
Справочник стран предназначен для внесения возможных стран, в которых произведены фильмы.
Справочник выглядит следующим образом:
Рисунок 3.7. Справочник стран
Данные вносятся непосредственно в компонент на форме.
3.5.5. Справочник фильмов
В справочник фильмов заносятся идущие в кинотеатре фильмы.
Рисунок 3.8. Справочник фильмов
3.5.6. Справочник сеансаов
В справочник сеансов заносится соответствие залов, фильмов и времени этих ссеансов.
Рисунок 3.9. Справочник сеансов
3.5.7. Справочник цен на билеты
В данный справочник заносятся соотношения сеансов, типов мест и цен для данных типов.
Доступен выбор из выпадающих списков значений из справочников.
Рисунок 3.10. Справочник цен на билеты
3.5.8. Справочник типов мест
В данный справочник заносятся названия типов мест и соответствующие им цвета в восьмеричном формате.
Рисунок 3.11. Справочник типов мест
3.5.9. Справочник залов
В данный справочник заносится название зала, количество мест и рядов в нем, и название соответствующего этому залу файла схемы.
Рисунок 3.12. Справочник залов
3.5.10. Справочник рядов в залах
В данный справочник заносятся название зала, тип места, и диапазон рядов соответствующих этому типу.
Рисунок 3.13. Справочник рядов
3.5.11. Отчет «Продажи билетов по типам»
В данном отчете выводится общая сумма продаж билетов за указанный пользователем период в разрезе типов билетов.
Рисунок 3.14. Отчет «Продажи билетов по типам»
3.5.12. Отчет «Продажи билетов по залам»
В данном отчете выводится общая сумма продаж билетов за указанный пользователем период в разрезе залов кинотеатра.
Рисунок 3.15. Отчет «Продажи билетов по залам»
Заключение
Автоматизация кинозала или, тем более, кинотеатра-мультиплекса с несколькими залами — сегодня такая же необходимость, как установка экрана. Хороший звук, качественная картинка и удобные кресла по умолчанию должны сочетаться с четкой работой системы продажи и бронирования билетов. Ведь современный кинолюбитель уже отвык от таких анахронизмов, как продажа нескольких билетов на одно и то же место. Ему также трудно представить, что билеты в кино нельзя забронировать по телефону или интернету. Выбирая место в зале, он ищет глазами экран, на котором демонстрируется схема с отмеченными на ней занятыми и свободными креслами. Мониторы с информацией о сеансах в режиме реального времени тоже входят в джентльменский набор приличного кинотеатра.
Конечно, разработанная система не обладает подобными излишествами, но в целом позволяет автоматизировать работу кинотеатра.
В первой главе было рассмотрено предприятие и проведено формализованное описание системы.
Во второй главе было проведено проектирование и физическая реализация базы данных.
В третьей главе проведена разработка программного средства, а также написано руководство пользователя информационной системы.
Список использованных источников
- Бен-Ган Ицик. Microsoft SQL Server 2012. Высокопроизводительный код T-SQL.М.: Русская редакция, 2013. – 256 с.
- Бен-Ган Ицик, Сарка Диджан. Microsoft SQL Server 2012. Создание запросов. Учебный курс Mirosoft. М.: Русская редакция, 2012. – 1000 с.
- Бондарь А. Microsoft SQL Server 2012. СПб.: БХВ, 2013. – 608 с.
- Буч Г., Рамбо Д., Якобсон А. Введение в UML от создателей языка. М.: ДМК Пресс, 2015. – 496 с.
- Программирование на языке Object Pascal: Учеб. пос. / Т.И.Немцова и др; Под ред. Л.Г.Гагариной. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2013. - 496 с
- Введение в специальность программиста: Учебник / В.А. Гвоздева. - 2-e изд., испр. и доп. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 208 с.
- Возневич Э. Освой самостоятельно Delphi: Полное руководство для самостоятельного обучения. /Под ред. В. Тимофеева. – М.: Бином, 2006. – 563 с.
- Гофман В. Э., Хомоненко А. Д. Delphi. Быстрый старт. – СПб.: БХВ-Петербург, 2012. – 288 с.
- Дарахвелидзе П. Г. Марков Е.П. Delphi – средства визуального программирования. – СПБ.: BHV – С-Петербург, 2006. – 765 с.
- Конопка Р. Создание оригинальных компонент в среде Delphi: Пер. с англ. – Киев: DiaSoftLtd, 2014. – 675 с.
- Культин Н. Основы программирования в Delphi XE. СПб.: БХВ, 2011. – 416 с.
- Леоненков А. Самоучитель UML 2. СПб.: БХВ, 2007. – 576 с.
- Мельников С. Delphi и Turbo Pascal на занимательных примерах. СПб.: БХВ, 2013. – 356 с.
- Осипов Д. Базы данных и Delphi. Теория и практика. СПб.: БХВ, 2012. = 671 с.
- Петкович Д. Microsoft SQL Server 2012. Руководство для начинающих. СПб.: БХВ, 2013. – 431 с.
- Рубанцев С. Самоучитель Delphi в примерах, играх и программах. М.: Наука и техника, 2011. – 521 с.
- Санников Е.В. Курс практического программировния в Delphi. М.: Солон-Пресс, 2015. – 188 с.
- Сарка Диджан, Лах Мария. Microsoft SQL Server 2012. Реализация хранилищ данных. М.: Русская редакция, 2012. – 816 с.
- Станек Уильям Р. Microsoft SQL Server 2012. Справочник администратора. СПб.: БХВ, 2012. – 576 с.
- Фленов М. Библия Delphi. СПб.: БХВ, 2014. – 426 с.
- Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - 3-e изд., перераб. и доп. - М.: Форум: ИНФРА-М, 2015. - 400 с
- Якобсон А., Рамбо Д., Буч Г. Язык UML. Руководство пользователя. М.: Книга по требованию, 2007. – 494 с.