Министерство образования и науки РоссийскойФедерации
Государственное образовательное учреждение
Высшего профессионального образования
«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙУНИВЕРСИТЕТ»
Факультет информационных технологий
Кафедра информационных систем итехнологий
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту
по дисциплине «Управление данными»
База Данных «Пассажирские железнодорожныеперевозки»
ГОУ ОГУ 230201.4007.01
Руководитель проекта
__________________Извозчикова С.А.
"_____"__________________2009г.
Исполнители
студенты гр. ИСТ
________________Антипова Т.В.
"_____"________________2009г.
Оренбург 2009
Содержание:
Введение
1 Аналитическая часть
1.1 Основные задачи предметнойобласти
1.2 Технологический процесс сбора иобработки информации
2 Проектная часть
2.1 Информационное обеспечениекомплекса задач
2.2 Характеристика входной информации
2.3 Характеристика выходнойинформации
2.4 Характеристика структуры данных
3 Описание программного обеспечения
3.1 Выбор и обоснование инструментальныхсредств
3.2 Описание программных модулей и ихвзаимодействие
3.3 Описание интерфейса пользователя
Заключение
Список использованных источников
Введение
Поскольку базы данных,вне всяких сомнений, занимают в настоящее время лидирующее положение в областиинформационных технологий, они становятся неотъемлемой частью в любой сфередеятельности, а особенно в обработке большого объёма информации.
Для того, чтобы обработкаданных не стала новой проблемой был создан стандарт структурированного языказапросов SQL (Structured Query Language).
Программное обеспечение,работающее с использованием SQL,функционирует незаметно для пользователя, предоставляя ему необходимую основудля манипуляции информацией.
Сейчас особое вниманиеуделяется на использование сетевых информационных технологий, базирующихся наархитектуре клиент – сервер, и переходе от малопонятных внутренних процедур ксодержательной работе с предметной областью, которую описывают хранимые данные.Поэтому предпочтение отдаётся СУБД, которая поддерживает многопользовательскийдоступ MySQLServer.
Все более актуальнымстановится вопрос об автоматизации продажи билетов на пассажирские поезда.Функциональность базы данных во многом зависит от предоставленной создателяминформации о предметной области. Большую роль играет создание интерфейса доступногодля любого пользователя, работающего с ней.
В соответствии споставленной целью в первом разделе рассматривается общие сведения и задачи, атакже функции предметной области.
Далее рассматривается технологическийпроцесс сбора и обработки информации создаваемой базы данных. Все входные ивыходные информационные потоки, которые надо использовать в работе.
В заключительном разделеописывается созданная база данных, её интерфейс, программные модули итехнические требования для её использования на персональном компьютере.
1 Аналитическая часть
1.1Основные задачи предметной области
Перевозка пассажиров на железнодорожном транспорте являетсяактуальной проблемой на сегодняшний день, так как продажа билетов ведётся хотьи автоматизировано, но зачастую у касс скапливается большое количество народу.То есть идёт медленное обслуживание пассажиров происходит это из-за неудобногоинтерфейса. Где требуемые данные находятся на 3-ем, 4-ом и более уровняхдоступа, что увеличивает время доступа к информации.
Перед нами стоит задача упростить доступ к данным, то естьсделать его более доступным в том плане, что информация, необходимая для продажибилетов пассажирам находилась максимум на 3-ем уровне доступа.
Наша база данных помогает облегчить поиск информации, требуемойпасса-жиру и самому оператору, по продажи билетов:
— выдать полнуюинформацию о требуемом рейсе;
а) название рейса;
б) код рейса;
в) время отправления;
г) время прибытия допункта назначения;
д) время в пути;
— предоставить информациюо наличие:
а) свободных мест;
б) стоимости билета потипу вагона:
1) плацкарт;
2) купе;
в) стоимость страхового сбора на время поездки;
В последнее время, люди часто интересуются о стоимостистрахового полиса на время поездки. Особенно, такую информацию просят предоставитьпассажиры дальних рейсов.
1.2 Технологический процесс сбора и обработки информации
Представим себе работу вокзалов, имеющее в наличии большоеколичество отдалённых касс, и целый штат операторов по продаже билетов.
В основной круг задач работников касс при оформлениипроездных документов входят следующие задачи:
— сбор информации опассажире;
— выбор нужнойинформации о необходимом рейсе;
— обработкаинформации о данном рейсе;
— формированиевыходных документов.
При сборе и обработке информации большое внимание должно уделятьсяфункции ведения отчётности о наличии билетов. Отчётность – это внутренняяинформация, на основе которой ведутся все расчеты и выводы в работе. В данномслучае отчётными данными для операторов будут являться следующие данные:
— списокпассажиров с указанием фамилии, имя и отчества, количества детей,присутствующих с родителями. Для того, чтобы знать поток пассажиров в данныйпункт, объём пассажиров в вагоне;
— список проданныхбилетов с указанием даты для расчета стоимости проезда;
Помимо этого, в системе расчета присутствует внутренний неизменяемыйсписок поездов. Неизменяемый – потому что на протяжении многих лет списокпоездов практически не меняется, так как нарушится поток поездов и будетпростой у железной дороги, поэтому будем считать его постоянным.
Таким образом, использование внутренней справочной информацииобуславливается самим процессом учёта билетов.
Поэтому разработка и создание удобной автоматизированной системыдля учёта билетов и потока пассажиров облегчит работу не только операторов, нои работников аналитического отдела ДЕПО. Компьютер выполняет любыеарифметические операции любой сложности за доли секунды с безошибочной точностью,что является залогом успеха в любом вычислении. На основании этого созданаупрощённая автоматизированная система, призванная помочь работнику неуглубляться в большой поток информации, а выбирать только требуемую(информацию) в данный момент времени. Отобразим на рисунке 1 информационныепотоки:
/>
Рисунок 1 – Схема информационных потоков
1-запрос от пассажира оператору;
2-ответ оператору;
3-данные для базы данных;
4-распоряжения по замене или добавлению данных.
2 Проектная часть
2.1 Информационное обеспечение комплекса задач
Информация в базе данных должна быть представлена простым языком.Мы решили представить базу данных в виде модели «сущность-связь», которая такжеизвестна как ER-диаграмма. Такие модели удобны для понимания.
Каждой сущности присваиваются уникальное имя. Между сущностямимогут существовать различные связи. Связь изображается линией, проводимой междусущностью-родителем и сущностью-потомком, с точкой на конце линии усущности-потомка. Атрибуты сущности изображаются в виде списка имен внутриблока сущности. Атрибуты, определяющие первичный ключ, размещаются наверхусписка и отделяются от других атрибутов горизонтальной чертой.
Проанализировав предметную область, мы выделили 6 сущностей:станции рейса, рейс, билет, тип вагона, станции, цены.
Обычно разработка модели базы данных состоит из двух этапов:составление логической модели и создание на ее основе физической модели.Средство разработки ER-диаграмм полностью поддерживает такой процесс, он имеетдва представления модели: логическое и физическое. Таким образом, разработчикможет строить логическую модель базы данных, не задумываясь над деталямифизической реализации, т.е. уделяя основное внимание требованиям к информации ибизнес-процессам, которые будет поддерживать будущая база данных.
2.2 Характеристика входной информации
В данной системе вся необходимая входная информация вводитсяпользователем системы, то непосредственно оператором по продажи билетов, вручнуюс клавиатуры или с помощью мыши. Вся эта информация представлена в виде следующихинформационных массивов:
— данные о пассажире (фамилия, имя, отчество),непосредственно отправляющегося в поездку;
— документ, удостоверяющий личность пассажира (номер, серия);
— информация о рейсе, на котором пассажир собирается выезжать(номер рейса, станции, время).
2.3 Характеристика выходной информации
Разработка данной программы ориентирована на формированиевсего лишь одного результирующего выходного документа – проездного билета. Вбилете будут указаны:
а) номер билета(уникальный);
б) номер рейса;
в) времяотправления;
г) время прибытия;
д) время стоянки;
е) дата отправления;
ж) дата прибытия;
з) номер вагона;
и) тип вагона;
к) количествочеловек;
л) фамилия, имя,отчество пассажира;
м) вид предъявленногодокумента;
н) номер и серияпредъявленного документа;
о) стоимость проезда(рассчитывается на основании расстояния, стоимости типа вагона);
п) стоимостьстрахового сбора на время движения поезда;
Билет действителен при наличии документа, удостоверяющего личность,только на время и дату отправления поезда, а также на время его движения.
2.4 Характеристикаструктуры данных
При создании программного продукта была использована базаданных, состоящая из 5 таблиц.
а) в таблице 1 «Reis» ведется учет всех возможных рейсовс указанием их номера, который является уникальным и служит ключевым индексомдля связи с другими таблицами, название рейса (начальная и конечная станции) ипуть, то есть все станции, которые проходит поезд в порядке следования.
б) в таблице 2 «Allpoints», содержатся станции, из названийкоторых формируется маршрут рейса. Для уникальности используется поле “No”.
в) Таблица 3 «Tickets» состоит из 10 полей, поле «No_ticket» является уникальным и кодируется датой и временемрегистрации пассажира. В поле «Start point» заноситсяпункт отправления пассажира, который может и не совпадать со станцией началапути. Аналогичным образом в поле «Endpoint» запоминается пункт прибытия пассажира. Поле «EndDate» вычисляемое, и зависит от времени,проведенном в пути.
г) В таблице 4 «Stationofreis», содержатся 7 полей, гдеуказывается информация о времени между двумя смежными станциями, стоимость участкапути, время прибытия, отправления и стоянки.
д) В таблице 5 «TypeVag» отображаются, какие вагоныотносятся к плацкар-тному классу вагонов, какие к купейному.
е) В таблице 6 «Price» является временной и используетсядля сохранения данных о билете заказа для последующего формирования билета.
Таблица 1- Reis
/>
Таблица 2– Allpoints
/>
Таблица 3— Tickets
/>
Stationeries
/>
Таблица 5– TypeVag
/>
Таблица 6 – Price
/>
3 Описание программного обеспечения
3.1 Выбор и обоснование инструментальных средств
Данная система создана с использованием технологии«файл-сервер». Разработанная база данных является локальной. Приложениенаписано с помощью средств разработки Delphi 7 и осуществляет многопользовательский режим доступа.
Delphi 7 – мощная система визуальногообъектно-ориентированного программмирования. С ее помощью даже начинающиепрограммисты могут создавать оконные интерфейсы, удовлетворяющие стандартам Windows, причем очень быстро. Спектротраслей, в которых можно применять Delphi, достаточно широк: инженерные, офисные, торговые и др. К тому же Delphi является одним из самыхраспространенных средств создания приложений баз данных. Простота языка иэффективность (небольшие размеры и высокая производительность) создаваемых сего помощью программ сделали Delphiнезаменимым средством разработки приложений для доступа к базам данных. Delphi используется для генерирования ивывода на печать сложных отчетов баз данных, а также предоставляет возможностьсвязываться из своего приложения с такими продуктами Microsoft, как Word, Excelи другие, используя их возможности в создании мощных систем помощи.
Занимает 16 Мб дискового пространства. Оперативная памятьдолжна быть 64 Мб минимум.
3.2 Описание программных модулей и их взаимодействие
Данный программныйпродукт состоит из 4 основных вычисляющих модулей:
а) поиск всех возможныхрейсов, последовательно проходящих через заданные начальную и конечную точкимаршрута.
Для каждого изсуществующих рейсов указываются станции, через которые поезд проходитпоследовательно, к примеру, Москва – Санкт-Петербург – Казань – Воронеж.
Следует отметить, чтопоезд может идти только в одном направлении (из Москвы в Воронеж).
Задаются пунктотправления и пункт прибытия, указанные пассажиром. Рейс считается подходящим,если в его маршруте содержатся пункты отправления и прибытия, причем пунктприбытия следует после пункта отправления. Например, если пассажир следует изСанкт-Петербурга в Воронеж, то указанный выше рейс считается подходящим. Еслиже пункт его отправления Казань, а пункт назначения Санкт-Петербург, то рейс№100 не будет соответствовать заданному условию.
Листинг программного модуля:
if(ComboBox1.Text '') and (ComboBox2.Text '') and (RzDateTimeEdit1.Text '') then
begin
Query1.Destroy;
DS1.Destroy;
Query1:=CreateQuery('select* from reis');
Query1.Open;
nomera:='';
Query1.First;
while notQuery1.Eof do
begin
m:=-1;
n:=-1;
trains:=TStringList.Create;
trains.Text:=StringReplace(Query1.FieldValues['stancii'],'-',#13#10,[rfReplaceAll]);
for i:=0 totrains.Count-1 do
begin
iftrains[i] = ComboBox1.Text then m:=i;
iftrains[i] = ComboBox2.Text then n:=i;
end;
if (m -1) and (n -1) then
if (m
begin
nomera:=nomera+Query1.Fields[0].AsString+',';
end;
trains.Destroy;
Query1.Next;
end;
if nomera ='' then
begin
Application.MessageBox('Такихрейсов нет','Внимание',MB_OK+MB_ICONERROR);
DS1:=CreateDataSource(Query1);
// DBGrid1.DataSource:=DS1;
end else
begin
Delete(nomera,length(nomera),1);
Query1.SQL.Clear;
SQLString:='select* from reis where no_reisa in ('+nomera+')';
Query1.SQL.Add(SQLString);
Query1.Open;
DS1:=CreateDataSource(Query1);
DBGrid1.DataSource:=DS1;
end;
end;
Результатом работыпрограммного модуля является список подходящих рейсов.
б) визуальное отображениевсех занятых и свободных мест выбранного рейса с учетом даты отправления,проверка освободившихся мест.
После выбора необходимогорейса и даты отправления пассажира таблично отображаются занятые и свободныеместа. Для каждого занятого места запоминаются пункт назначения и датаприбытия. Место считается освободившимся для данного пассажира, есливыполняется два условия: запомненный для места пункт назначения находится допункта отправления пассажира или совпадает с ним; запомненная дата прибытия дляместа совпадает с датой отправления пассажира или дата отправления являетсяболее поздней.
Листинг программного модуля:
SQLString:='select * from typevag where no_reisa="'+DBGrid1.Fields[0].Text+'"';
Query2:=CreateQuery(SQLString);
Query2.Open;
plackart:=TStringList.Create;
kupe:=TStringList.Create;
plackart.Text:=StringReplace(Query2.Fields[1].AsString,'',#13#10,[rfReplaceAll]);
kupe.Text:=StringReplace(Query2.Fields[2].AsString,'',#13#10,[rfReplaceAll]);
StringGrid1.RowCount:=plackart.Count+kupe.Count+1;
for i:=0 toplackart.Count-1 do
begin
StringGrid1.Cells[0,StrToInt(plackart[i])]:=plackart[i]+'плацкарт';
for j:=1 to55 do StringGrid1.Cells[j,i]:='';
end;
for i:=0 tokupe.Count-1 do
begin
StringGrid1.Cells[0,StrToInt(kupe[i])]:=kupe[i]+'купе';
// for j:=1to 55 do StringGrid1.Cells[j,i]:='';
for j:=37 to55 do StringGrid1.Cells[j,StrToInt(kupe[i])]:='X';
end;
plackart.Destroy;
kupe.Destroy;
with Query2do
begin
SQLString:='select* from tickets where no_reisa="'+DBGrid1.Fields[0].Text+'«and startdate=»'+FormatDateTime('dd.mm',RzDateTimeEdit1.Date)+'"';
SQL.Clear;
SQL.Add(SQLString);
Open;
end;
Query2.First;
while notQuery2.Eof do
begin
v:=Query2.Fields[8].AsInteger;
p:=Query2.Fields[9].AsInteger;
StringGrid1.Cells[p,v]:='*';
pnaz:=Query2.FieldValues['EndPoint'];
SQLString:='select * from stationofreis whereNo_reisa="'+DBGrid1.Fields[0].AsString+'"';
Query3:=CreateQuery(SQLString);
Query3.Open;
Query3.First;
whileQuery3.Fields[1].AsString pnaz do
begin
if Query3.FieldByName('station').AsString= ComboBox1.Text then
{ifFormatDateTime()
Query3.Next;
end;
Query3.Destroy;
StringGrid1.Cells[p,v]:='';
m1:
Query2.Next;
end;
Query2.Destroy;
в) вычисление основныхпараметров для заданного маршрута: даты прибытия, времени в пути, стоимостибилета.
Для каждого пунктамаршрута в отдельной таблице указываются следующие параметры: стоимость участкапути от предыдущей до текущей станции и время его прохождения, время прибытия,стоянки и отправления. Для того, чтобы вычислить стоимость маршрута, покоторому следует пассажир, нужно суммировать стоимости участков пути,составляющих данный маршрут. К цене маршрута добавляется наценка за классвагона и обязательный страховой сбор. Чтобы вычислить время.проведенное впути, нужно суммировать время прохождения каждого участка пути и время стоянкив каждом пункте. Дата прибытия вычисляется прибавлением времени в пути к дате отправления.
Листинг программного модуля:
if(StringGrid1.Cells[ACol,ARow] '*') and (StringGrid1.Cells[ACol,ARow] 'X') then
begin
if(ComboBox1.Text '') and (ComboBox2.Text '') and (RzDateTimeEdit1.Text '') then
begin
ifMessageDlg('Приступить к гегистрации пассажира?',mtConfirmation,[mbYes,mbNo],0) = mrYes then
begin
Application.CreateForm(TFormTicket,FormTicket);
withFormTicket do
begin
Label2.Caption:=DBGrid1.Fields[0].Text;
Label3.Caption:=DBGrid1.Fields[2].Text;
Label6.Caption:=FormatDateTime('dd.mm',RzDateTimeEdit1.Date);
Label17.Caption:=IntToStr(ACol);
Label15.Caption:=IntToStr(ARow);
Label10.Caption:=ComboBox1.Text;
Label11.Caption:=ComboBox2.Text;
time:=TStringList.Create;
time.Text:=StringReplace(StringGrid1.Cells[0,ARow],'',#13#10,[rfreplaceall]);
Label13.Caption:=time[1];
time.Destroy;
Label19.Caption:=FormatDateTime('dd.mm',RzDateTimeEdit1.Date);
SQLString:='select* from stationofreis where no_reisa="'+DBGrid1.Fields[0].Text+'"';
Query2:=CreateQuery(SQLString);
Query2.Open;
Query2.First;
hour:=0;
minute:=0;
price:=0;
s:='0';
while notQuery2.Eof do
begin
ifQuery2.Fields[1].AsString = ComboBox1.Text then
begin
Label21.Caption:=Query2.Fields[6].AsString;
s1:=Query2.Fields[6].AsFloat;
while notQuery2.Eof do
begin
Query2.Next;
s2:=Query2.Fields[4].AsFloat;
ifs1>s2 then
begin
Label6.Caption:=FormatDateTime('dd.mm',RzDateTimeEdit1.Date+1);
s1:=s2;
end;
ifQuery2.Fields[1].AsString = ComboBox2.Text then
begin
if s ='' then
begin
s:=Query2.Fields[3].AsString;
end;
Label23.Caption:=Query2.Fields[4].AsString;
s:=FloatToStr(sumhhmm(StrToFloat(s),Query2.Fields[3].AsFloat));
Label25.Caption:=s;
priceway:=price;
GetDir(0,Path);
withTIniFile.Create(Path+'\zd.ini') do
try
price:=price+Query2.Fields[2].AsFloat+StrToFloat(ReadString('cash',Label13.Caption,'noval ues'))+StrToFloat(ReadString('cash','сбор','no values'));
finally
Free;
end;
Label27.Caption:=FloatToStr(price);
// Edit3.Text:=StringReplace(Label27.Caption,',','.',[rfReplaceAll]);
{!!! добавить указание стоимостипроезда!!!!!}
goto m1;
end;
price:=price+Query2.Fields[2].AsFloat;
s:=FloatToStr(sumhhmm(StrToFloat(s),Query2.Fields[3].AsFloat));
s:=FloatToStr(sumhhmm(StrToFloat(s),Query2.Fields[5].AsFloat));
s1:=s2;
end;
end;
Query2.Next;
end;
m1:
end;
FormTicket.ShowModal;
end;
end;
end;
г) регистрация пассажираи формирование проездного документа.
После заполнения данныхпассажира (фамилии, имени, отчества, номера документа, удостоверяющеголичность) происходит регистрация пассажира на данный рейс и формируетсяпроездной документ, в котором указываются рейс, вычисленные ранее стоимостьбилета, время пути, время отправления и прибытия, дата прибытия, данныепассажира, пункт отправления и пункт следования.
Листинг программного модуля:
if(Edit1.Text '') or (MaskEdit1.Text '') then
begin
dat:=FormatDateTime('ddmmyyhhmm',Now);
SQLString:='insertinto tickets values("'+FormatDateTime('ddmmyyhhmm',Now)+'","'+Edit1.Text+'","'+MaskEdit1.Text+'","'+Label2.Caption+'","'+Label10.Caption+'","'+Label11.Caption+'","'+Label19.Caption+'","'+Label6.Caption+'","'+Label15.Caption+'","'+Label17.Caption+'","'+Label13.Caption+'","'+StringReplace(Label27.Caption,',','.',[rfReplaceAll])+'")';
ifExecuteSQL(SQLString) then
begin
GetDir(0,Path);
withTIniFile.Create(Path+'\zd.ini') do
try
SQLString:='insert into prices values("'+Label21.Caption+'","'+Label23.Caption+'","'+Label25.Caption+'","'+StringReplace(ReadString('cash',Label13.Caption,'novalues'),',','.',[rfReplaceAll])+'","'+StringReplace(ReadString('cash','сбор','no values'),',','.',[rfReplaceAll])+'","'+StringReplace(FloatToStr(priceway),',','.',[rfReplaceAll])+'")';
finally
Free;
end;
ExecuteSQL('deletefrom prices');
ifExecuteSQL(SQLString) then
begin
// ShowMessage('Успешная регистрация');
FormTicket.Close;
SQLString:='select * from tickets, prices where tickets.no_ticket="'+dat+'"';
QReport.SQL.Clear;
QReport.SQL.Add(SQLString);
QReport.Open;
frReport1.LoadFromFile(Path+'\ticket.frf');
frReport1.ShowReport;
withFormPay do
begin
ComboBox1.Text:='';
ComboBox2.Text:='';
RzDateTimeEdit1.Text:='';
// RzToolButton1Click(sender);
withStringGrid1 do
begin
RowCount:=2;
ColCount:=55;
for i:=1to ColCount-1 do
begin
ColWidths[i]:=20;
Cells[i,0]:=IntToStr(i);
end;
end;
end;
end;
end;
end else ShowMessage('Не введеныобязательные данные!');
3.3 Описание интерфейса пользователя
При запуске программы на выполнение на экране компьютера появляетсяследующее меню изображённое на рисунке 3.
/>
Рисунок 3 – Главное окно
Меню состоит из пунктов «Продажа билетов», «Администратор».При выборе пункта меню «Продажа билетов» появляется следующее подменю,изображённое на рисунке 4.
/>
Рисунок 4 – Форма продажи билетов
На форме указаны «Номер рейса», «Пункт отправления», «Пунктназначения», «Дата отправления» — это поля, которые заполняются оператором;поля «Рейсы», «Состав» — отображаются сразу после запроса. Как только информацияотобразилась, оператор приступает к регистрации пассажира, рисунок 5.
/>
Рисунок 5 – Форма регистрации пассажира
После регистрации идёт оформление документа, представленногона рисунке 6.
/>
Рисунок 6 – Проездной документ
При выборе пункта меню «Администратор», необходимо ввести пароль.Так как обычный оператор не вправе что-либо менять или исправлять в самой базеданных. Вид окошка представлен на рисунке 7.
/>
Рисунок 7 – Ввод пароля
Появляется форма администратора с вкладками «Станции», «Рейсы»,«Стоимость класса вагона», «Поезда», «Стоимость участка пути», форма изображенана рисунке 8.
/>
Рисунок 8 – Форма администратора (вкладка «Станции»)
При выборе команды «Рейсы» на экране появляется новое окно,отображённое на рисунке 9.
В данном окне администратор может добавлять новые рейсы,внося их номер и полный путь, а название рейса формируется автоматически – изначальной заданной станции и конечной прописанной в пути.
/>
Рисунок 9 – Рейсы (добавление)
В списке, изображенных в окне, отражаются все операции,произведенные по каждому рейсу, будь то добавление, редактирование или удалениестанций и его номера. Кнопка «Добавить» предназначена для добавления из спискастанций нового маршрута, содержащего полный путь рейса. Если после какой-либокорректировки данных кнопка не будет нажата, рейс не будет добавлен. Принажатии на кнопку на кнопку «Отмена» происходит возврат в предыдущее окно безсохранения. После выбора вкладки «Стоимость класса вагона» появляется новое окно,изображённое на рисунке 10.
/>
Рисунок 10 – Вкладка «Стоимость класса вагона»
Вносятся необходимые изменения, и нажимается кнопка «Применить».
Рассмотрим вкладку «Поезда», представленную на рисунке 10.Здесь отмечаются сколько вагонов находится в составе и под каким номером какиетипы вагонов. После нажатия кнопки «Применить», информация заносится в таблицу.
/>
Рисунок 11 – Вкладка «Поезда»
На вкладке «Стоимость участка пути», изображённой на рисунке11, администратор вносит необходимые данные: время в пути, время прибытия,стоянка, время отправления, стоимость участка. После нажатия кнопки«Применить», вне-сённые данные отображаются в верхней таблице.
/>
Рисунок 11 – Вкладка «Стоимость пути»
Заключение
Разработанный намипрограммный продукт является удобным и надежным средством для быстройрегистрации пассажиров для проезда на железнодорожном транспорте.
Программный продуктвыполняет следующие функции:
— возможность заказабилета из любой точки мира при наличии подключения к внутренней компьютернойсети;
— возможность добавленияи редактирования маршрутов, цен на билеты.
— заказ билета на любуюдату.
— быстрый расчет временив пути.
Возможные улучшения:
— выбор пассажиром местав вагоне (верхняя, нижняя полка)
— выдача рекомендаций пооптимальному с точки зрения времени, проведенному в пути и стоимости билета,маршруту между двумя пунктами.
Список литературы:
1. ГОСТ 2.105-95ЕСКД – общие требования к текстовым документам;
2. ГОСТ 2.304-81ЕСКД – шрифты чертёжные;
3. ГОСТ 2.106-68ЕСКД – текстовые документы;
4. Общие требованияи правила оформления выпускных квалификационных работ, курсовых проектов,отчетов ОГУ;
5. Программированиена Delphi 6, Глушаков С.В.