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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,63 Мб
  • Опубликовано:
    2013-04-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Министерство образования и науки РФ

Государственное образовательное учреждение высшего

профессионального образования

«ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра «Программное обеспечение»






ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к выпускной квалификационной работе бакалавра на тему:

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

Дипломник         М.В. Калужских студент гр. 8-78-11

Руководитель М.Л. Романов

Нормоконтролер:        В.Я. Баранова

Зав. кафедрой ПО И.О. Архипов к.т.н., доцент






Ижевск 2010

Реферат

 

Пояснительная записка состоит из __ страниц, включающих 14 рисунков и 6 таблиц, позволяющих наиболее полно составить представление о предметной области и решаемых задачах.

Ключевые слова: база данных, система составления графиков, база данных, печатные формы, графики.

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

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

Введение

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

Данная ситуация наблюдается и в задаче составления графиков работы подвижного состава предприятий общественного транспорта. Эта задача является частным случаем задачи составления расписаний и различается для разных видов транспорта.

В настоящее время на предприятиях общественного транспорта города Ижевска рассматриваемая задача не автоматизирована - все графики составляются вручную квалифицированным персоналом: начальниками маршрутов или инженерами по эксплуатации, что на мой взгляд нерационально. Вместе с тем, на предприятии МУП ИжГЭТ учет персонала, работающего в составе экипажей подвижного состава, планирование технических осмотров и ремонтов подвижного состава, составление расписаний движения подвижного состава ведется на компьютерах, в системе автоматизированного планирования движения. В данной ситуации, внедрение системы составления графиков работы подвижного состава трамвайного депо является логичным направление развития существующей системы.

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

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

1. Разработка системы составления графиков работы подвижного состава трамвайного депо


1.1 Обоснование целесообразности разработки системы

 

.1.1 Назначение системы составления графиков работы подвижного состава трамвайного депо

Система составления графиков работы подвижного состава трамвайного депо, далее просто система, предназначена для автоматизации процесса составления месячных графиков работы экипажей подвижного состава трамвайного депо, в рамках трамвайного депо МУП ИжГЭТ, для формирования различного вида отчетных документов, используемых различными подразделениями внутри предприятия.

Данная система разрабатывается в рамках единой системы автоматизированного планирования движения.

В настоящее время процесс составления рассматриваемых графиков абсолютно не автоматизирован, все работы ведутся вручную, хранятся в единственном бумажном экземпляре. Вместе с тем, на предприятии МУП ИжГЭТ учет персонала, работающего в составе экипажей подвижного состава, планирование технических осмотров и ремонтов подвижного состава, составление расписаний движения подвижного состава ведется на компьютерах, что позволяет получить для рассматриваемой задачи все исходные данные в электронном виде, минуя стадию ручного ввода данных.

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

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

Все документы соответствуют утвержденным образцам.

Время формирования и печати отчетных документов зависит от объема базы данных, обрабатываемого периода времени и общей производительности вычислительной системы (ЭВМ).

Конечными пользователями системы являются работники отдела эксплуатации трамвайного депо и отдела эксплуатации управления МУП ИжГЭТ.

Разработанная система обеспечивает выполнение следующих задач:

1)   заполнение и корректировку БД по подвижному составу трамвайного депо;

2)  автоматизация процесса составления графиков работы экипажей подвижного состава;

)    формирование и печать необходимых документов.

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

 

.1.2 Обоснование цели создания подсистемы

Основанием для разработки системы является облегчение и ускорение труда работников отдела эксплуатации трамвайного депо и, как следствие, повышение производительности труда в нем.

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

Внедрение подсистемы позволяет:

1)   существенно снизить трудоемкость процесса составления графиков;

2)      повысить производительность труда работников отдела эксплуатации;

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

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

1.1.3 Обоснование состава решаемых задач

Система должна обеспечить выполнение следующих операций:

1)   импорт исходных данных из других подсистем системы, их корректировку;

2)      проверка импортированных данных на корректность и их передача в информационную базу;

)        ввод справочной информации для составления графика (вид сменности, кол-во рабочих смен в день и т.д.);

)        ограничение доступа к данным по паролю;

)        выполнение запросов к информационной базе на составление графиков и нарядов водителей;

)        выдача графиков и нарядов водителей на принтер, в файл или на дисплей;

)        выполнение резервного копирования информационной базы для предотвращения потери введенных данных;

8)   предоставление пользователям системы удобного интерфейса.

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

1.2 Аналитический обзор


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

1.3 Основные требования к системе

 

.3.1 Основные цели создания системы

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

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

Кроме вышеуказанной цели создания системы можно выделить еще ряд целей:

1)   хранение, возможность просмотра и распечатки ранее составленных графиков;

2)      формирование печатных форм документов (графиков, нарядов водителей) в соответствии с установленным стандартом;

1.3.2 Функциональное назначение системы

Функциональным предназначением системы является как можно более полная автоматизация процессов составления графиков работы подвижного состава трамвайного депо. К основным функциям системы можно отнести следующие:

1)   автоматическое составление графиков работы экипажей подвижного состава на основании данных, импортированных из других систем;

2)      накопление составленных графиков и их просмотр;

)        формирование и выдача печатных форм месячных нарядов водителей;

)        достижение полного и дружественного интерфейса с пользователем системы независимо от уровня его подготовленности.

 

.3.3 Условия эксплуатации системы

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

1)    система работает с большими объемами данных, что требует высокой скорости при обработке команд пользователя;

2)      разнообразие дополнительных функций, реализуемых системой, требует грамотно и детально проработанного интерфейса;

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

Система должна отвечать следующим условиям эксплуатации:

1)    все пользователи системы должны иметь собственный уровень доступа в зависимости от решаемых задач;

2)      работа пользователя с системой должна отличаться простотой, дружественностью и надежностью, так как уровень подготовленности сотрудников, работающих с системой, может сильно отличаться;

3)    подсистема должна работать на большинстве аппаратного и программного обеспечения и настраиваться на большинство типов внешних устройств, таких как принтер и графический адаптер.

Подготовленность пользователя не играет большой роли при работе с системой, но скорость работы пары пользователь-подсистема при неопытности или неподготовленности пользователя может резко упасть. Поэтому для повышения производительности работы желательно наличие у пользователя навыков работы в ОС Windows.

 

.3.4 Требования к функциональной структуре системы

Функциональная структура системы составления графиков работы подвижного состава трамвайного депо представлена на рис.1.

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

Можно выделить следующие части системы:

1)       блок “Импорт исходных данных” - предназначен для импорта из других подсистем системы таких данных, как состав экипажа подвижного состава, поездные расписания, даты осмотров;

2)      блок “Корректировка импортированных данных” - осуществляет изменение/просмотр импортированных данных;

)        блок “База данных” - файл базы данных.

)        блок “Диспетчер резервного копирования и восстановления после сбоев” - выполняет резервное копирование файлов базы данных для обеспечения возможности восстановления информации.

)        блок “Резервная копия базы данных” - архив файлов базы данных на выделенном сервере или в месте, указанном пользователем при выполнении резервного копирования.

)        блок “Файл настроек системы” - файл с различной конфигурационной информацией.

)        блок “Запрос данных для составления графика” - выполняет запрос к базе данных на необходимую для составления графика информацию и на основе нее составляет месячный график работы подвижного состава заданного маршрута.

)        блок “Просмотр и корректировка” - просмотр и корректировка составленного графика; просмотр графика из архива; просмотр и корректировка календарных данных.

)        блок “Документ” - управляет печатью составленного или взятого из архива графика.

10)      блок “Файл календарных данных” - файл, хранящий данные о календаре текущего месяца с указанием выходных (праздничных) и будних дней.

11)    блок “Архив графиков” - архив файлов составленных графиков.

Рис. 1

1.3.5 Требования к техническому обеспечению

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

Так как система работает с большими объемами данных, находящимися на жестком диске ПК, то наиболее критичными будут требования к той аппаратной части, которая напрямую отвечает за скорость обработки данных.

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

1)   рабочее место должно быть оснащено персональным компьютером типа IBM PC или любым совместимым с ним;

2)      персональная ЭВМ должна иметь процессор типа Intel или совместимый с ним (не ниже Pentium 100);

)        оперативная память должна составлять не менее 16 Мб, рекомендуемый объем оперативной памяти - 32 Мб;

)        жесткий диск должен иметь свободное пространство не

)        менее 10 Мб;

)        для удобства работы желательно иметь манипулятор типа «мышь»;

)        интерфейс системы настроен на разрешение 800Х600, поэтому рекомендуется наличие видеоадаптера поддерживающего данный режим;

)        для печати документов необходимо наличие принтера формата А4.

 

.3.6 Требования к информационному обеспечению

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

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

Информационная база должна содержать массивы, описывающие следующие кадровые данные:

1)   данные об экипаже подвижного состава (водитель, кондуктор);

2)      данные о подвижном составе (с разбиением по маршрутам);

)        данные о поездных расписаниях;

)        данные о зарегистрированных пользователях системы.

При проектировании информационной базы необходимо учесть следующие моменты:

)     при разработке структуры баз данных, использовать метод реляционного моделирования;

2)      логические структуры базы данных не должны зависеть от структуры носителя;

)        открытость, модифицируемость и модульность (наращиваемость) структуры базы данных и самой базы;

Таким образом, основными требованиями к информационному обеспечению являются:

)     достоверность и полнота информации, необходимой для решения задач подсистемы и выдаваемой по запросам пользователей;

2)      высокая эффективность методов и средств сбора данных, хранения, накопления, обновления, поиска и отображения информации;

)        простой и удобный интерфейс с пользователем для доступа к данным информационной базы;

)        авторизация работы с данными с различным уровнем доступа, для устранения возможности несанкционированного доступа.

 

.3.7 Требования к программному обеспечению

Главным требованием системы составления графиков работы подвижного состава трамвайного депо является наличие на ЭВМ BDE (Borland Database Engine), который является управляющей для разработанной подсистемы.

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

1)    персональный компьютер должен работать под управлением ОС Windows 9x /NT/2000/XP или совместимой с ней;

2)      необходимо наличие BDE (версии не ниже 5.01)

)        все устройства должны быть оснащены драйверами для корректной работы с ними (принтер, монитор, мышь);

)        если работа с подсистемой осуществляется в локальной сети, то необходим один из следующих протоколов для работы: TCP/IP, SPX или NetBIOS.

Этот перечень обязательных требований может быть дополнен сервисными программными продуктами для облегчения работы и/или повышения производительности.

 

.3.8 Перспективность подсистемы, возможности ее развития

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

Гибкость и настраиваемость системы дает ей широкие перспективы развития (для реализации выполнения новой функции системы, нужно лишь добавить соответствующий программный модуль).

 

.4 Основные технические решения проекта системы

 

.4.1 Описание организации информационной базы

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

База данных разрабатываемой системы состоит из совокупности таблиц, которые несут основную информационную нагрузку и являются хранилищем информации. Пользователь имеет доступ к таблицам и имеет право изменять, добавлять, удалять, корректировать, просматривать информацию из таблиц, если у него соответствующим образом настроены права доступа.

Таблицы хранятся на жестком диске в файле, связь и работу с ними осуществляет BDE.

В разработанной системе определены следующие таблицы:

1)  таблица маршрутов (marshruty.dbf);

2)      таблица поездных расписаний (raspis.DBF);

)        таблица трамваев (tramv.DBF);

)        таблица экипажей трамваев (workers.DBF);

)        таблица зарегистрированных пользователей (Users.DBF);

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

Взаимосвязь таблиц показана на рис.2. Форматом баз данных выбран формат баз данных dBase IV. Этот выбор обоснован наличием эффективных средств BDE для работы с данными, такими как:

1)   встроенная система оптимизации работы с базами данных;

2)      поддержка национальных символов;

)        система визуальных компонентов для интерфейса пользователя.

 

.4.3 Описание системы программного обеспечения

Программное обеспечение в системе Составления графиков работы подвижного состава трамвайного депо не подразделяется на какие-либо части.

Разработанная система является самостоятельным приложением, работающим под управлением операционной системы семейства Microsoft Windows (при наличии BDE).

Все алгоритмы разработанной системы написаны в среде программирования Delphi (также все экранные формы, отчеты).

Отладка написанной подсистемы производилась непосредственно в среде Delphi 7.0.

Рис. 2

2. Разработка подсистемы - Автоматизация процесса составления графиков работы экипажей подвижного состава трамвайного депо

.1 Описание постановки задачи

.1.1 Характеристика задачи

В настоящее время процесс составления графиков абсолютно не автоматизирован. Графики составляются вручную на единственном для каждого маршрута бумажном носителе, что затрудняет их хранение и анализ.

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

.1.2 Входная информация

На вход задачи могут поставлены данные из следующих таблиц БД:

1)  таблица маршрутов (marshruty);

2)      таблица трамваев (tramv);

)        таблица поездных расписаний (raspis);

)        таблица экипажей трамваев (workers);

)        таблица зарегистрированных пользователей (users);

На вход задачи так же подается файл календарных данных (vocations).

.1.3 Выходная информация         

Выходной информацией данной подсистемы являются графики работы подвижного состава выбранного маршрута, структура которых представлена на рис. 3.

Рис. 3

.1.4 Математическая постановка задачи

График работы экипажей ПС представим в виде матрицы Gm,n, где - число столбцов матрицы, соответствующее количеству дней в месяце; - число строк, соответствующее кол-ву единиц подвижного состава.

Элементами данной матрицы являются кортежи, соответствующие поездным расписаниям, представлены в формуле 1.

m,n = <N, K>, (1)

где Gm,n.N - начало работы водителя, по данному расписанию (в мин.);m,n.K - конец работы водителя по данному расписанию (в мин.).

Все доступные расписания составляют множество R = {Ri},

где i = 1..m.

Учитывая приведенные выше обозначения, определим условия, выполнение которых определяет правильно составленный график:

1)   Любой столбец матрицы G составлен из элементов множества R таким образом, что любой элемент Ri встречается в данном столбце только один раз.

2)   Данное условие определяется тем фактом, что в один день на линии не могут работать по одному расписанию несколько (более одного) трамваев.

3)   Для всех элементов матрицы G должно выполняться:

i,j.N = Gi-1,j.K - 840                          (2)

где i = 1..m;= 1..n.

Данное условие определяется тем фактом, что промежуток между рабочими сменами водителей должен быть не менее 10 часов.

Для всех строк матрицы G должно выполняться:

                            (3)

.2 Описание алгоритма

.2.1 Назначение и характеристика алгоритма         

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

.2.2 Используемая информация

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

.2.3 Результаты решения

В результате решения данного алгоритма всем экипажам ПС обрабатываемого маршрута на каждый день месяца будет установлено поездное расписание с учетом требований.

.2.4 Алгоритм решения

Введем следующие переменные:- список расписаний данного маршрута;.D - продолжительность работы водителя по данному расписанию;- список значений отработанного водителями времени;.S - отработанное водителем время;.N - порядковый номер водителя;- составляемый график, представляющий собой матрицу размерностью Nd x Nr, элементами которой являются значения из R; - количество водителей;- количество дней в обрабатываемом месяце;, i - вспомогательные переменные.

1. Заполнить R;

2.      Упорядочить R по убыванию Ri.D;

.        tek::= 1;

.        DLi.S::= 0; DLi.N::= i, для i = 1..Nr;

.        Упорядочить DL по возрастанию DLi.S;

.        Gtek,i::= RDli.N, для i = 1..Nr;

.        Упорядочить DL по возрастанию DLi.N;

.        DLi.S::= DLi.S + Gtek,i.D;

.        tek::= tek + 1;

.        Если tek £ Nd, то переход к п.4;

.        Конец.

2.3 Описание программы

.3.1 Функциональное назначение

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

Программа выполняет автоматическое составление месячных графиков работы подвижного состава.

Для выполнения программы необходимы:

) компьютер типа IBM PC или любым совместимым с ним, имеющий процессор типа Intel или совместимый с ним (не ниже Pentium 100);

) оперативная память должна составлять не менее 16 Мб;

) жесткий диск должен иметь свободное пространство не

менее 10 Мб;

) манипулятор типа «мышь»;

) видеоадаптер и монитор, поддерживающие разрешение 800х600 пиксел;

) для печати документов необходимо наличие принтера формата А4.

) набор библиотек Borland Database Engine (BDE) версии 5.0 или выше.

.3.2 Описание информации

На вход задачи могут поставлены данные из следующих таблиц БД:

) таблица маршрутов (marshruty);

2)      таблица трамваев (tramv);

3)      таблица поездных расписаний (raspis);

)        таблица экипажей трамваев (workers);

)        таблица зарегистрированных пользователей (users);

На вход задачи так же подается файл календарных данных (vocations).    

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

.3.3 Используемые подпрограммы

Модуль AllViewForm.pas:- установление связи с таблицами БД при отображении формы; - закрытие таблиц по завершению работы с формой;- смена маршрута, по которому просматриваются данные.

Модуль DataForAllView.pas:

Подпрограммы отсутствуют.

Модуль DateFunc.pas:date - строковое представление даты из численного;- получение дня недели по дате;julian - получение даты в числовом представлении из строкового.

Модуль GraphOKForm.pas:- составление графика.

Модуль MainForm.pas:- заполнение календаря текущего месяца;- добавление(удаление) выходного дня в календаре;- запуск аутентификации, установка состояния элементов управления формы в зависимости от подключившегося пользователя;- изменение маршрута составления графика;Click - вызов справки из меню;- загрузка сохраненного календаря или его создание при открытии формы;- смена года в календаре;- смена месяца в календаре;- прорисовка ячейки календаря;- добавление/удаление выходного дня в календаре «мышью»;- закрытие формы, сохранение календаря;- добавление/удаление выходного дня в календаре по нажатию клавиши «пробел»;Click - запуск формы редактирования зарегистрированных пользователей;Click - импорт расписаний;Click - просмотр таблицы «Расписания»;Click - просмотр таблицы «Работники»;Click - импорт данных об экипажах ПС;- загрузка доступных маршрутов при активации формы;Click - просмотр всей хранящейся в БД информации;Click - импорт данных о ПС;Click - просмотр данных о ПС;- запуск формы составления графиков.

Модуль RaspViewForm.pas:Click - чтение списка доступных маршрутов при загрузке формы;- выборка расписаний в соответствии с выбранным маршрутом;- закрытие таблицы «Расписания» при закрытии формы.

Модуль TrollViewForm.pas:- чтение списка доступных маршрутов при загрузке формы;- закрытие таблицы «Трамваи» при закрытии формы;- выборка расписаний в соответствии с выбранным маршрутом.

Модуль UVocations.pas:- выяснение статуса дня (выходной/рабочий) в календаре;- добавление выходного дня в календарь;- удаление выходного дня из календаря;- сохранение календаря в файл;- загрузка календаря из файла.

.3.4 Описание логики

Логика программы приведена в виде укрупненной схемы программы, представленной на рис. 4.

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

Рис. 4

Продолжение рис. 4

.4 Описание контрольного примера

.4.1 Назначение

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

.4.2. Исходные данные

Пусть в таблице «Пользователи» БД хранится информация о зарегистрированных пользователях, как представлено в табл. 1.

Таблица 1

Зарегистрированные пользователи подсистемы

Сокращенное имя

Пароль (зашифрованный)

Фамилия

Имя

Отчество

albina

yw7-wOURkU

Будина

Альбина

Юрьевна

farit

w0agTm4jEd

Шакиров

Фарит

Исмагилович

root

fg4q7PqhY4

Флейшман

Андрей

Рейнгольдович


Запустим программу. В ответ на запрос имени пользователя введем root, а в ответ на запрос пароля введем «ibNr0Er=GN». В результате на экран должна быть выведена основная форма программы, со всеми доступными к использованию пунктами меню. При выборе пункта меню ‘Админ’ должно быть показано содержимое таблицы «Пользователи» в соответствии с табл.1.

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

Пусть данные для импорта из других подсистем системы представлены в виде текстовых файлов следующего содержания:

1) Данные о работниках, поставляемые подсистемой «Кадры»:

         4       3305 Юшков                35335                  Шамшутдинова

         4       2585 Медведев            35297                  Русских

         4       3081 Пешков               35123                  Широбокова

         4       2738 Сунцова             35104                  Никитина

         4       3869 Ешкеева              35003                  Ильин

         4       3516 Михайлов           35121                  Мокрушина

         4       3078 Коземаслова       35341                  Елисеева

         4       3071 Званская              35072                  Чухлова

         4       2672 Корепанов          35235                  Шункова

         4       3830 Мамилова           35060                  Пчельникова

         4       3208 Малых                35001                  Кузина

         4       2664 Оглоблин            35037                  Хлыбова

         4       3655 Кузьмин              35285                  Вьюшкова

         4       3012 Новоселов           35244                  Романова

         4       3099 Иванов                35999                  Петров

         4       3328 Сидельникова    35090                  Шибаева

) Данные о поездных расписаниях, поставляемые подсистемой «Расписания»:

         101.10        06:09          19:40          11:57          1

         102.10        05:31          19:18          11:54          0

         103.10        05:45          19:32          11:51          0

         104.10        05:59          19:46          11:54          0

         105.10        06:12          20:00          11:56          0

         106.10        06:27          19:29          11:10          0

         107.10        05:55          19:03          10:24          0

         108.10        05:55          19:03          10:24          0

         101.11        06:09          19:40          11:57          0

         102.11        05:31          19:18          11:54          0

         103.11        05:45          19:32          11:51          0

         104.11        05:59          19:46          11:54          0

         105.11        06:12          20:00          11:56          1

         106.11        06:27          19:29          11:10          0

         107.11        05:55          19:03          10:24          0

         108.11        05:55          19:03          10:24          0

) Данные о подвижном составе, поставляемые подсистемой «Подвижной состав»:

         239   1       9       17     25

         268 2 10     18     26

         283 3 11     19     27

         287 4 12     20     28

         257 5 13     21     29

         294 6 14     22     30

         331 7 15     23     0

         237 8 16     24     0

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

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

Заключение


Дипломная работа посвящена разработке системы составления графиков работы подвижного состава трамвайного депо.

В ходе проделанной работы была изучена база данных dBase и среда программирования Delphi 7, что позволило наиболее полно использовать их функции для создания данной работы.

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

1.      получение данных для составления графиков;

2.      проверка данных на корректность;

.        разработка модуля составления графиков;

.        разработка модуля корректировки и просмотра составленных графиков;

.        вывод графиков на печать.

Разработанная подсистема входит в состав системы составления графиков работы подвижного состава трамвайного депо, которая автоматизирует данный процесс, который до этого составлялся вручную. Система повышает работоспособность предприятия МУП ИжГЭТ.

Список литературы


1. Рубенкинг Н.Д. Язык программирования Delphi для «чайников». - Киев.: Диалектика, 2006.

.Тексейра С., Пачеко К. Delphi 6. Руководство разработчика, том 1.: Пер. с англ.: Уч. пос. - М.: Издательский дом “Вильямс”, 2000.

. Тексейра С., Пачеко К. Delphi 6. Руководство разработчика, том 2.: Пер. с англ.: Уч. пос. - М.: Издательский дом “Вильямс”, 2004.

. Конопка Р. Создание оригинальных компонент в среде Delphi: Пер. с англ./Рей Конопка.- К.: НИПФ - "ДиаСофт Лтд.", 1996.

. Лишнер Р.Секреты Delphi 2: Пер. с англ./Рэй Лишнер.- К.: НИПФ - "ДиаСофт Лтд.", 1996.

. Кириллов В.В. Основы проектирования реляционных баз данных. Учебное пособие. - СПб.: ИТМО, 2007.

. Диго С.М. Проектирование и использование БД: Учебник для студентов вузов. - М.: Финансы и статистика, 1995.

. Кириллов В.В. Основы проектирования баз данных. - М.: Финансы и статистика, 1997.

. Ульман Дж., Уидом Дж. Введение в системы баз данных. - М.: Лори, 2000.

автоматизированная система трамвайное депо

Приложение 1

СТРУКТУРА ФАЙЛОВ БАЗЫ ДАННЫХ

Таблица П.1.1

Структура таблицы raspis.dbf

Наименование поля

Тип

Ключ

Описание

MARSH

Числовой

Да

Номер маршрута

RASP

Числовой


Номер расписания

VYH

Числовой


Признак расписания выходного дня

NACH

Числовой

KON

Числовой


Конец работы

LONG

Числовой


Длительность работы

OSM

Числовой


Признак осмотрового расписания


Таблица П.1.2

Структура таблицы tramv.dbf

Наименование поляТипКлючОписание




TRAM

Числовой

Да

Номер ПС

MARSH

Числовой


Закрепленный маршрут

OSM1

Числовой


Дата (число) первого осмотра

OSM2

Числовой


Дата (число) второго осмотра

OSM3

Числовой


Дата (число) третьего осмотра

OSM4

Числовой


Дата (число) четвертого осмотра


Таблица П.1.3

Структура таблицы workers.dbf

Наименование поля

Тип

Ключ

Описание

TR_NO

Числовой

Да

Номер ПС

MARSH

Числовой


Маршрут

VOD_NO

Числовой


Табельный номер водителя

VOD_NAME

Символьный (20)


Фамилия водителя

KOND_NO

Числовой


Табельный номер кондуктора

KOND_NAME

Символьный (20)


Фамилия кондуктора



Таблица П.1.4

Структура таблицы marshruty.dbf

Наименование поля

Тип

Ключ

Описание

MARSH_NO

Числовой

Да

Номер маршрута


Таблица П.1.5

Структура таблицы users.dbf

Наименование поля

Тип

Ключ

Описание

LOGIN

Символьный (10)

Да

Сокращенное имя пользователя

PWD

Символьный (10)


Зашифрованный пароль

FAM

Символьный (15)


Фамилия

NAME

Символьный (15)


Имя

OTCH

Символьный (15)


Отчество


Приложение 2


ТЕКСТ ПРОГРАММЫ

П.2.1. Текст модуля Diploma.dpr

Diploma;,in 'MainForm.pas' {MainFrm},in 'LoginForm.pas' {LoginFrm},in 'DateFunc.pas',in 'UVocations.pas',in 'UsersEditForm.pas' {UsersEditFrm},in 'UsersMng.pas' {UsersMngFrm},in 'PwdCrypt.pas',in 'RaspViewForm.pas' {RaspViewFrm},in 'WorkViewForm.pas' {WorkView},in 'AllViewForm.pas' {AllView},in 'TrollViewForm.pas' {TrollView},in 'DataForAllView.pas' {AllTablesDataModule: TDataModule},in 'GraphOKForm.pas' {RaspOut};

{$R *.res}.Initialize;.Title:= '¦T+';.CreateForm(TMainFrm, MainFrm);.CreateForm(TLoginFrm, LoginFrm);.CreateForm(TUsersEditFrm, UsersEditFrm);.CreateForm(TUsersMngFrm, UsersMngFrm);.CreateForm(TRaspViewFrm, RaspViewFrm);.CreateForm(TWorkView, WorkView);.CreateForm(TAllView, AllView);.CreateForm(TTrollView, TrollView);.CreateForm(TAllTablesDataModule, AllTablesDataModule);.CreateForm(TRaspOut, RaspOut);.Run;.

П.2.2. Текст модуля AllViewForm.pas

AllViewForm;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DataForAllView, jpeg, ExtCtrls, StdCtrls, DB,;= class(TForm): TDBGrid;: TDBGrid;: TDBGrid;: TImage;: TComboBox;: TTable;FormActivate(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);MarshNoComboChange(Sender: TObject);

{ Private declarations }

{ Public declarations };: TAllView;

{$R *.dfm}TAllView.FormActivate(Sender: TObject);i: integer;AllTablesDataModule do begin.Active:=true;.Active:=true;.Active:=true;.Active:=true;;.Items.Clear;.Active:=true;.First;i:=1 to MarshTable.RecordCount do begin.Items.Add(IntToStr(MarshTable.FieldValues['MARSH_NO']));

{if i<>MarshTable.RecordCount} MarshTable.Next;;.ItemIndex:=0;.Active:=false;.Trolls.DataSet.Filter:='Marsh='+MarshNoCombo.Text;;TAllView.FormClose(Sender: TObject; var Action: TCloseAction);AllTablesDataModule do begin.Active:=false;.Active:=false;.Active:=false;.Active:=false;;;TAllView.MarshNoComboChange(Sender: TObject);.Trolls.DataSet.Filter:='Marsh='+MarshNoCombo.Text;;.

П.2.3. Текст модуля DataForAllView.pas

DataForAllView;, Classes, DB, DBTables;= class(TDataModule): TTable;: TTable;: TTable;: TTable;: TDataSource;: TDataSource;: TDataSource;: TDataSource;

{ Private declarations }

{ Public declarations };: TAllTablesDataModule;

{$R *.dfm}.

П.2.4. Текст модуля UVocations.pas

UVocations;= record: SmallInt;: array [1..31] of string[2];;= Array [0..12,2001..2015] of VocationsData;= ^Vocations;: PVocations;FindVoc(siMonth: Smallint; siYear: Smallint; PVoc: PVocations; SDay:string; var Index: smallint):boolean;AddVoc(siMonth: Smallint; siYear: Smallint; PVoc: PVocations; SDay:string);DelVoc(siMonth: Smallint; siYear: Smallint; PVoc: PVocations; SDay:string);SaveVoc(PVoc: PVocations; Destination: string);LoadVoc(PVoc: PVocations; Destination: string);LoadVoc(PVoc: PVocations; Destination: string);: file of VocationsData;: Vocations;,j,k: smallint;(f,Destination);(f);i:=1 to 12 doj:=2002 to 2015 do begin(f,Voc[i,j]);k:=1 to Voc[i,j].VocNum do AddVoc(i,j,PVoc,Voc[i,j].Days[k]);;(f);;SaveVoc(PVoc: PVocations;: string);F: file of VocationsData;,j: smallint;(F,Destination);(f);i:=1 to 12 doj:=2002 to 2015 do Write(f,PVoc^[i,j]);(f);;FindVoc(siMonth: Smallint;: Smallint;: PVocations;: string;Index: smallint):boolean;i: smallint;:=false;i:=1 to PVoc^[siMonth,siYear].VocNum doPVoc^[siMonth,siYear].Days[i]=Sday then begin:=true;:=i;;;AddVoc(siMonth: Smallint;: Smallint;: PVocations;: string);id: smallint;(sday<>'')and not findvoc(siMonth, siYear, PVoc, SDay,id) then begin(PVoc^[siMonth,siYear].VocNum);^[siMonth,siYear].Days[PVoc^[siMonth,siYear].VocNum]:=Sday;;;DelVoc(siMonth: Smallint;: Smallint;: PVocations;: string);i, index: smallint;FindVoc(siMonth,siYear,PVoc,SDay,index) then begini:=index to PVoc^[siMonth,siYear].VocNum-1 do^[siMonth,siYear].Days[i]:= PVoc^[siMonth,siYear].Days[i+1];(PVoc^[siMonth,siYear].VocNum);;;.

П.2.5. Текст модуля WorkViewForm.pas

WorkViewForm;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, DBTables, Grids, DBGrids, jpeg, ExtCtrls, StdCtrls;= class(TForm): TTable;: TDataSource;: TDBGrid;: TImage;: TComboBox;: TTable;FormActivate(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);MarshNoComboChange(Sender: TObject);

{ Private declarations }

{ Public declarations };: TWorkView;

{$R *.dfm}TWorkView.FormActivate(Sender: TObject);i: integer;.DataSet.Active:=True;.Items.Clear;.Active:=true;.First;i:=1 to MarshTable.RecordCount do begin.Items.Add(IntToStr(MarshTable.FieldValues['MARSH_NO']));

{if i<>MarshTable.RecordCount} MarshTable.Next;;.ItemIndex:=0;.Active:=false;.DataSet.Filter:='Marsh='+MarshNoCombo.Text;;TWorkView.FormClose(Sender: TObject; var Action: TCloseAction);.DataSet.Active:=False;;TWorkView.MarshNoComboChange(Sender: TObject);.DataSet.Filter:='MARSH='+MarshNoCombo.Text;;.

 

П.2.6. Текст модуля GraphOKForm.pas

GraphOKForm;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ComCtrls, ExtCtrls, DBCtrls, DB, DBTables, Grids,, dbcgrids, Buttons;= class(TForm): TPanel;: TGroupBox;: TProgressBar;: TLabel;: TGroupBox;: TLabel;: TLabel;: TEdit;: TEdit;: TPanel;: TButton;VyhCntChange(Sender: TObject);WorkCntChange(Sender: TObject);

{ Private declarations }

{ Public declarations };: TRaspOut;,iWork: integer;

{$R *.dfm}TRaspOut.VyhCntChange(Sender: TObject);c1,c2: integer;(VyhCnt.Text,iVyh,c1); val(WorkCnt.Text,iWork,c2);:=c1+c2;c1=0 then StartBtn.Enabled:=trueStartBtn.Enabled:=false;;TRaspOut.WorkCntChange(Sender: TObject);c1,c2: integer;(VyhCnt.Text,iVyh,c1); val(WorkCnt.Text,iWork,c2);:=c1+c2;c1=0 then StartBtn.Enabled:=trueStartBtn.Enabled:=false;;.

П.2.7. Текст модуля MainForm.pas

MainForm;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Menus, ComCtrls, ExtCtrls, jpeg, Buttons, Grids, DateUtils,, ImgList, UVocations, DB, DBTables;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TComboBox;: TBitBtn;: TImage;: TStringGrid;: TLabel;: TUpDown;: TLabel;: TUpDown;: TTable;: TOpenDialog;: TImageList;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TTable;: TTable;: TMenuItem;: TTable;MonthFilling(IYear: SmallInt; IMonth:Smallint);DayAdd(ACol: integer; ARow: Integer);FormShow(Sender: TObject);MarshNoComboChange(Sender: TObject);N2Click(Sender: TObject);FormCreate(Sender: TObject);YearBClick(Sender: TObject; Button: TUDBtnType);MonthBClick(Sender: TObject; Button: TUDBtnType);MCalendarDrawCell(Sender: TObject; ACol, ARow: Integer;: TRect; State: TGridDrawState);MCalendarMouseUp(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);FormClose(Sender: TObject; var Action: TCloseAction);MCalendarKeyPress(Sender: TObject; var Key: Char);N1Click(Sender: TObject);N15Click(Sender: TObject);N18Click(Sender: TObject);N19Click(Sender: TObject);N16Click(Sender: TObject);FormActivate(Sender: TObject);N3Click(Sender: TObject);N17Click(Sender: TObject);N20Click(Sender: TObject);OKBtnClick(Sender: TObject);

{ Private declarations }

{ Public declarations };= record: shortint;: shortint;: shortint;: integer;: string[5];: string[5];: string[5];: shortint;;= record: cardinal;: cardinal;: cardinal;: cardinal;: string[20];: string[20];;= record: cardinal;: cardinal;: byte;: byte;: byte;: byte;;: array[1..12]of string[15]=(

'Январь',

'Февраль',

'Март',

'Апрель',

'Май',

'Июнь',

'Июль',

'Август',

'Сентябрь',

'Октябрь',

'Ноябрь',

'Декабрь'

);: array[1..12]of smallint=(

,28,31,30,31,30,31,31,30,31,30,31);: TMainFrm;,TekYear: SmallInt;

//Vocations: Array [1..12,2002..2015] of VocationsData;: Boolean;: PVocations;LoginForm, UsersEditForm, RaspViewForm, WorkViewForm, AllViewForm,, GraphOKForm;

{$R *.dfm}TMainFrm.DayAdd(ACol: integer; ARow: Integer);id: SmallInt;findvoc(TekMonth,TekYear,PVoc,MCalendar.Cells[ACol,ARow],id)//and(MCalendar.Cells[ACol,ARow]>'')DelVoc(TekMonth,TekYear,PVoc,MCalendar.Cells[ACol,ARow])AddVoc(TekMonth,TekYear,PVoc,MCalendar.Cells[ACol,ARow]);;TMainFrm.MonthFilling(IYear: SmallInt; IMonth:Smallint);i,j,row: integer;

// id: SmallInt;: string[2];

//Days[TekMonth]i:=0 to 7 doj:=1 to 6 do.Cells[i,j]:='';:=DayOfTheWeek(mdy2date(TekMonth,1,TekYear));:=1;i:=1 to Days[TekMonth] do begin(i,s);.Cells[j,row]:=s;(j);not VocLoaded and(j>5) then AddVoc(TekMonth,TekYear,Pvoc,s);j=7 then begin:=0;(row);;;;TMainFrm.FormShow(Sender: TObject);LoginFrm.ShowModal;LoginFrm.LoginEdit.Text='root' then N1.Enabled:=true;:=Caption+' для '+LoginFrm.LoginEdit.Text;;TMainFrm.MarshNoComboChange(Sender: TObject);Text='' then OKBtn.Enabled:=FalseOKBtn.Enabled:=True;;TMainFrm.N2Click(Sender: TObject);(Handle,'Когда-нибудь здесь будет справка...','',_OK or MB_ICONINFORMATION or MB_APPLMODAL);;TMainFrm.FormCreate(Sender: TObject);s: string;: TSearchRec;(PVoc);.Rows[0].Add('Пн'); MCalendar.Rows[0].Add('Вт');.Rows[0].Add('Ср'); MCalendar.Rows[0].Add('Чт');.Rows[0].Add('Пт'); MCalendar.Rows[0].Add('Сб');.Rows[0].Add('Вс');:=currentyear();(TekYear,s);.Caption:=s;.Position:=TekYear;:=Monthoftheyear(date);.Position:=TekMonth;.Caption:=Monthes[TekMonth];FindFirst('.\data\Vocations.dat',faAnyFile,sr)=0 then begin(PVoc,'.\data\Vocations.dat');:=True;else VocLoaded:=False;(TekYear,TekMonth);;TMainFrm.YearBClick(Sender: TObject; Button: TUDBtnType);s: string;:=YearB.Position;(TekYear,s);.Caption:=s;(TekYear,TekMonth);;TMainFrm.MonthBClick(Sender: TObject; Button: TUDBtnType);:=MonthB.Position;.Caption:=Monthes[TekMonth];(TekYear,TekMonth);;TMainFrm.MCalendarDrawCell(Sender: TObject; ACol, ARow: Integer;: TRect; State: TGridDrawState);id: smallint;ARow>0 thenfindvoc(TekMonth,TekYear,PVoc,MCalendar.Cells[Acol,Arow],id)MCalendar.Canvas.Brush.Color:=clRedMCalendar.Canvas.Brush.Color:=clWhiteMCalendar.Canvas.Brush.Color:=clLtGray;.Canvas.fillrect(rect);.Canvas.TextOut(Rect.Left+(Mcalendar.ColWidths[ACol] -.Canvas.TextWidth(Mcalendar.cells[ACol,Arow]))div 2,.Top+(Mcalendar.RowHeights[ARow] -.Canvas.TextHeight(Mcalendar.cells[ACol,Arow]))div 2,Mcalendar.cells[ACol,Arow]);(MCalendar.Row = ARow) and (MCalendar.Col=ACol) and (MCalendar = ActiveControl) then.Canvas.DrawFocusRect(Rect);;TMainFrm.MCalendarMouseUp(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);Acol,Arow: integer;.MouseToCell(x,y,ACol,ARow);(ACol,ARow);.Refresh;;TMainFrm.FormClose(Sender: TObject; var Action: TCloseAction);(PVoc,'d:\Staffa kar Terma\- TO DO -\Diploma\Data\Vocations.Dat');(PVoc);;TMainFrm.MCalendarKeyPress(Sender: TObject; var Key: Char);key=' ' then begin(MCalendar.Col, Mcalendar.Row);.Refresh;;;TMainFrm.N1Click(Sender: TObject);.ShowModal;;StrConvert_rasp(s: string): TraspInfo;tabulator: char = #9;Data:array [1..6] of string;,k,i: integer;: TRaspInfo;: real;:=1;k:=1;

{разбиваем строку на подстроки}i:=1 to length(s) do(s[i]=tabulator) or (i=length(s)) then begini=length(s) then data[k]:=copy(s,id,i-id+1)data[k]:=copy(s,id,i-id);:=k+1;:=i+1;;

{преобразуем}(data[1],outp.M,k); {# marsh}(data[2],tmp,k);:=round((tmp*100)) mod 10; outp.V:=k; {vocation?}:=round((tmp*10)) mod 10; outp.S:=k; {smena}.n:=trunc(tmp);.Nach:=data[3];.Kon:=data[4];.Dlit:=data[5];(data[6],outp.osm,k);:=outp;;TMainFrm.N15Click(Sender: TObject);f: TextFile;: string;: TRaspInfo;

{импорт расписаний}OpenDialog.Execute then begin.Active:=true;not rasptable.IsEmpty then begin.Active:=false;.EmptyTable;{очистка таблицы}.Active:=true;;(f,opendialog.FileName);(f);(f,s);:=strconvert_rasp(s);.InsertRecord([outp.M,outp.n,outp.V,outp.s,outp.nach,outp.kon,outp.dlit,outp.osm]);EOF(F);(f);.Active:=false;;;TMainFrm.N18Click(Sender: TObject);.showmodal;;TMainFrm.N19Click(Sender: TObject);.ShowModal;;StrConvert_Work(s: string): TWorkInfo;tabulator: char = #9;Data:array [1..6] of string;,k,i: integer;: TWorkInfo;:=1;k:=1;

{разбиваем строку на подстроки}i:=1 to length(s) do(s[i]=tabulator) or (i=length(s)) then begini=length(s) then data[k]:=copy(s,id,i-id+1)data[k]:=copy(s,id,i-id);:=k+1;:=i+1;;

{преобразуем}(data[1],outp.T,k);(data[2],outp.M,k);(data[3],outp.NV,k);(data[5],outp.NK,k);.FV:= data[4];.FK:= data[6];:=outp;;TMainFrm.N16Click(Sender: TObject);f: TextFile;: string;: TWorkInfo;

{импорт работников}OpenDialog.Execute then begin.Active:=true;not WorkTable.IsEmpty then begin.Active:=false;.EmptyTable;{очистка таблицы}.Active:=true;;(f,opendialog.FileName);(f);readln(f,s);:=strconvert_work(s);.InsertRecord([outp.t,outp.m,outp.nv,outp.fv,outp.nk,outp.fk]);EOF(F);(f);.Active:=false;;;TMainFrm.FormActivate(Sender: TObject);i: integer;.Active:=true;.First;i:=1 to MarshTable.RecordCount do begin.Items.Add(IntToStr(MarshTable.FieldValues['MARSH_NO']));

{if i<>MarshTable.RecordCount} MarshTable.Next;;.Active:=false;;TMainFrm.N3Click(Sender: TObject);.ShowModal;;StrConvert_troll(s: string): TTrollInfo;tabulator: char = #9;Data:array [1..6] of string;,k,i: integer;: TTrollInfo;:=1;k:=1;

{разбиваем строку на подстроки}i:=1 to length(s) do(s[i]=tabulator) or (i=length(s)) then begini=length(s) then data[k]:=copy(s,id,i-id+1)data[k]:=copy(s,id,i-id);:=k+1;:=i+1;;

{преобразуем}(data[2],outp.T,k);(data[1],outp.M,k);(data[3],outp.o1,k);(data[4],outp.o2,k);(data[5],outp.o3,k);(data[6],outp.o4,k);:=outp;;TMainFrm.N17Click(Sender: TObject);f: TextFile;: string;: TTrollInfo;

{импорт работников}OpenDialog.Execute then begin.Active:=true;not TrollTable.IsEmpty then begin.Active:=false;.EmptyTable;{очистка таблицы}.Active:=true;;(f,opendialog.FileName);(f);readln(f,s);:=strconvert_troll(s);.InsertRecord([outp.T,outp.M,outp.o1,outp.o2,outp.o3,outp.o4]);EOF(F);(f);.Active:=false;;;TMainFrm.N20Click(Sender: TObject);.ShowModal;;TMainFrm.OKBtnClick(Sender: TObject);.ShowModal;;.

Приложение 3

 

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ


Форма ввода имени пользователя и пароля представлена на рис. П.3.1.

Рис. П.3.1

Основная форма программы представлена на рис. П.3.2.

Рис. П.3.2

Содержимое таблицы «Пользователи» представлено на рис. П.3.3.

Рис. П.3.3

Содержимое таблицы «Работники» после импорта данных представлено на рис. П.3.4.

Рис. П.3.4

Содержимое таблицы «Трамваи» после импорта данных представлено на рис. П.3.5.

Рис. П.3.5

Содержимое таблицы «Расписание» после импорта данных представлено на рис. П.3.5.

Рис. П.3.5

Форма составления графика представлена на рис. П.3.6.

Рис. П.3.6.

Приложение 4


РУКОВОДСТВО ОПЕРАТОРА ПО ПРОГРАММЕ

П.4.1. Назначение программы

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

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

) хранение, отображение и возможность корректировки информации о подвижном составе парка, его экипажах, поездных расписаниях;

) импорт исходных данных из других подсистем системы;

) резервное сохранение информационной базы и составленных графиков;

) автоматическое составление месячных графиков работы подвижного состава.

П.4.2. Условия применения программы

При работе с программой необходимо обеспечить выполнение следующих требований к комплексу технических средств:

) компьютер типа IBM PC или любым совместимым с ним, имеющий процессор типа Intel или совместимый с ним (не ниже Pentium 100);

2) оперативная память должна составлять не менее 16 Мб;

) жесткий диск должен иметь свободное пространство не

менее 10 Мб;

) манипулятор типа «мышь»;

) видеоадаптер и монитор, поддерживающие разрешение 800х600 пиксел;

) для печати документов необходимо наличие принтера формата А4.

Программа реализована в среде программирования Delphi версии 7 корпорации Borland.

В качестве формата базы данных выбран формат баз данных dBase IV.

П.4.3. Пуск программы

Программа представлена в виде исполнимого модуля diploma.exe. Запуск программы может быть произведен из командной строки любой программной оболочки или из системного меню программ операционной системы.

П.4.4. Команды оператора

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

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

Перемещение между полями осуществляется либо «мышью» либо посредством нажатия клавиши «Tab», обратный ход по полям - «Shift-Tab».

Для закрытия экранных форм используется либо кнопка «Закрыть» либо стандартные средства ОС Windows.

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

1)   работа с экранной формой;

2)   работа с печатной формой.

Работы с экранными формами осуществляется по правилам форм в ОС Windows (используются стандартные панели инструментов, меню и элементы ввода данных).

Работа с печатными формами отличается своей простотой: форма открывается в режиме предварительного просмотра, а для ее вывода на принтер используется стандартная пиктограмма в виде значка принтера (либо стандартное сочетание клавиш «Ctrl+P»).

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

П.4.5. Сообщения оператору

Сообщения, выдаваемые при работе программы и необходимые действия при их получении приведены в таблице П.4.1.

Таблица П.4.1.

Сообщения программы

Сообщение

Описание

Действия при получении сообщения

1

2

3

Пароль или имя пользователя не найдены

При аутентификации пользователь ввел неправильный пароль или имя

Повторить ввод имени пользователя и пароля

Неправильный формат файла для импорта

Попытка выполнить импорт данных из файла, неподходящего формата

Проверить правильность ввода имени файла.

Нельзя удалить пользователя root

Попытка удаления из таблицы зарегистрированных пользователей программы пользователя с именем root (администратора)

Данного пользователя нельзя удалить средствами программы

Количество машин не соответствует количеству экипажей

При проверке данных по выбранному маршруту выяснилось, что не для всех экипажей (машин) имеется машина (экипаж)

Проверить импортированные данные. Повторить импорт или добавить недостающие машины (экипажи) вручную

Количество расписаний не соответствует количеству машин

При проверке данных по выбранному маршруту выяснилось, что не для всех машин есть поездные расписания

Проверить импортированные данные. Повторить импорт или добавить недостающие расписания вручную

База данных повреждена! Восстановление из резервной копии

Обнаружено повреждение БД

Нажать в окне с сообщением кнопку «ОК». Данные будут восстановлены автоматически

Отсутствуют данные по ПС данного маршрута

Для выбранного маршрута нет данных по ПС

Импортировать недостающие данные или ввести их вручную

Отсутствуют данные по экипажам данного маршрута

Для выбранного маршрута нет данных по экипажам

Импортировать недостающие данные или ввести их вручную

Отсутствуют данные по расписаниям данного маршрута

Для выбранного поездным расписаниям экипажам

Импортировать недостающие данные или ввести их вручную


Похожие работы на - Автоматизация процесса составления графиков работы экипажей подвижного состава трамвайного депо

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!