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

Автоматизация рабочего места диспетчера по транспорту

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista. Существует также порт MySQL к OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной… Читать ещё >

Автоматизация рабочего места диспетчера по транспорту (реферат, курсовая, диплом, контрольная)

Автоматизация рабочего места диспетчера по транспорту

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

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

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

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

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

Задачами данной системы являются:

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

2. автоматизация информации, хранящейся на бумажных носителях;

3. уменьшения объема хранимой информации;

4. быстрота и удобство получения необходимой информации.

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

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

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

1. изучить существующую информационную систему организации;

2. выбрать программное обеспечение для разработки;

3. разработать структуру программы;

4. оценить экономическую эффективность создаваемого программного продукта.

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

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

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

Этап 1.

Анализ задачи.

Этап 2.

Проектирование автоматизированного рабочего места диспетчера по транспорту:

1. Проектирование инфологической модели.

2. Проектирование даталогической модели.

3. Построение физической модели сайта.

4. В системе должна храниться информация о водителях, данные о автотранспорте предприятия, а также нормах расхода топлива.

Этап 3.

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

1. Установить программное обеспечение;

2. Создание таблиц с данными о водителях и автотранспорте, с возможностью добавления, удаления и редактирования;

3. Создание модуля учета ГСМ (учет выдачи ГСМ, учет расхода ГСМ);

4. Подготовка данных для статистических отчетов:

— ведомость работы автотранспорта;

— ведомость работы водителей;

— диаграмма состояния технических средств;

— журнал путевых листов.

2. Анализ задачи

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

Рис. 1. Диаграмма А0. Обработка путевых листов Рис. 2. Декомпозиция диаграммы А0. Обработка путевых листов

2.1 Диаграмма А0. Обработка путевых листов

Рассмотрим диаграмму A0 «Обработка путевых листов» (Рис. 1). На ней отражена последовательность разработки автоматизированной системы.

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

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

Вход (Input) — материал или информация, которые используются или преобразуется работой для получения результата (выхода). Информационные материалы — это то, что перерабатывается в процессе «Обработке путевых листов» для получения результата.

Выход (Output) — материал или информация, которые производятся выводятся на сайте. Каждая информация должна имеет стрелку выхода. На рисунке 1. стрелка «Выходные данные (отчетность)» является выходом для работы «Обработки путевых листов».

Механизм (Mechanism) — ресурсы, которые выполняют работу. Стрелка механизма рисуется как входящая в нижнюю грань работы. На рисунке 1. стрелки «Диспетчер», «Администратор» является механизмом для работы «Обработки информации».

2.1.1 Выводы

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

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

2.2 Декомпозиция диаграммы А0. Обработка путевых листов

Рассмотрим декомпозицию диаграммы A0 «Обработка путевых листов» (Рис. 2). На ней отражена последовательность создания путевых листов.

— Ввод данных о водителях;

— Ввод данных о транспорте;

— Расчет ГСМ;

— Создание путевых листов.

2.2.1 Выводы

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

— Ввод данных о водителях — общая информация о водителях.

— Ввод данных о транспорте — информация о транспорте предприятия (марки автомобилей, государственные номера, общий пробег);

— Расчет ГСМ — ведется учет выдачи ГСМ, учет расхода ГСМ;

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

2.3 Обзор существующих систем

2.3.1 «1С: Управление Автотранспортом»

В качестве обзора существующих программ, рассмотрена программа «1С: Управление Автотранспортом».

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

Программа «1С: Управление автотранспортом Стандарт» состоит из восьми основных подсистем:

— подсистема диспетчерская;

— подсистема ПТО;

— подсистема учета ГСМ;

— подсистема учета ремонтов;

— подсистема складского учета;

— подсистема взаиморасчетов;

— подсистема учета работы водителей;

— подсистема учета затрат.

Подсистема диспетчерская

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

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

Рис. 3. Разнарядка на выпуск ТС Программа позволяет выписывать и обрабатывать путевые листы следующих видов:

— Грузового автомобиля повременный (Форма № 4-П);

— Грузового автомобиля сдельный (Форма № 4-С);

— Специального автомобиля (Форма № 3 спец);

— Междугородного автомобиля (Форма № 4-М);

— Строительной машины (ЭСМ2);

— Автобуса необщего пользования (форма № 6 спец);

— Легкового автомобиля (Форма № 3);

— Путевые листы индивидуальных предпринимателей.

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

Карточка автомобиля содержит подробную информацию о технических характеристиках:

Рис. 4. Транспортное средство В программе ведется учет дорожно-транспортных происшествий (ДТП). В соответствующих документах заносятся данные автомобиля и водителя, участвовавшие в ДТП, список остальных сторонних участников ДТП, данные экспертизы ущерба и страховой компании. Аналитические отчеты позволяют проанализировать причины аварийности, частоту участия в ДТП водителей, сравнить затраты на восстановительный ремонт с суммами выплат страховых компаний.

Рис. 5. Регистрация ДТП: Дорожно-транспортное происшествие

Подсистема учет ГСМ Подсистема предназначена для настройки норм расхода ГСМ, учета поступления, выдачи и расхода ГСМ.

Поступление и выдача ГСМ оформляется документами «Поступление товаров» и «Заправка ГСМ», расчет расхода топлива ведется в путевых листах. В случае возврата топлива с автомобиля на склад предусмотрены специальные документы на слив ГСМ.

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

— Со склада;

— За наличные;

— По пластиковой карте;

— По талонам;

— От поставщика.

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

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

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

Рис. 6. Заказ на ремонт Подсистема складского учета Подсистема предназначена для проведения складских операций: поступления товаров и материалов на склад, внутреннее перемещение между складами, списание, проведение инвентаризаций. Списание материалов может быть выполнено одним из способов: ФИФО, ЛИФО и по среднему.

В отдельный складской учет вынесен учет шин, аккумуляторов, аптечек и прочей комплектации, так как такую комплектацию необходимо учитывать в разрезе каждой единицы. Для шин и аккумуляторов ведется учет подробной технической информации (Рис. 7):

Рис. 7. Учет технической информации

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

Расчет стоимости оказанных транспортных услуг выполняется при обработке путевых листов в товарно-транспортных документов (аналоги талонов заказчиков, ТТН). Программа автоматически рассчитывается стоимость услуг на основании введенных тарифов (Рис. 8):

Рис. 8. Товарно-транспортный документ Подсистема учета работы водителей В данной подсистеме реализуются две основные задачи: учет выработки и рабочего времени водителей и начисление заработной платы по путевым листам.

Расчет рабочего времени водителей выполняется при обработке путевых и ремонтных листов. Кроме этого предусмотрена возможность специальными документами вводить различные отклонения в использовании водителями рабочего времени. На основании этих данных автоматически формируется табель учета рабочего времени — унифицированная форма Т13.

Расчет начислений по заработной плате водителей в программе ведется различными способами:

— По сдельным тарифам от выработки;

— Процентом от выручки;

— Процентом от других начислений;

— Фиксированной суммой;

— Доплата за ночные часы.

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

Расчет рабочего времени водителей выполняется при обработке путевых и ремонтных листов. Кроме этого предусмотрена возможность специальными документами вводить различные отклонения в использовании водителями рабочего времени. На основании этих данных автоматически формируется табель учета рабочего времени — унифицированная форма Т13.

Расчет начислений по заработной плате водителей в программе ведется различными способами:

— По сдельным тарифам от выработки;

— Процентом от выручки;

— Процентом от других начислений;

— Фиксированной суммой;

— Доплата за ночные часы.

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

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

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

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

2.4.1 Клиент серверные СУБД

Microsoft SQL Server

Microsoft SQL Server — система управления реляционными базами данных, разработанная корпорацией Microsoft. Используется для небольших и средних по размеру баз данных, и в последние 5 лет — для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.

Сервер баз данных Microsoft SQL Server в качестве языка запросов использует версию языка SQL, получившую название Transact-SQL (сокращённо T-SQL). Язык T-SQL является реализацией SQL-92 (стандарт ISO для языка SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением).

При взаимодействии с сетью Microsoft SQL Server и Sybase ASE используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.

Для обеспечения доступа к данным Microsoft SQL Server поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД.

Также SQL Server поддерживает зеркалирование и кластеризацию баз данных.

В SQL Server 2005 встроена поддержка.NET Framework. Благодаря этому хранимые процедуры БД могут быть написаны на любом языке платформы.NET.

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

SQL Server 2012 Express — мощная и надежная бесплатная система управления данными, обеспечивающая функциональное и надежное хранилище данных для веб-сайтов и настольных приложений.

InterBase

Interbase — СУБД от компании Borland.

В 2000 году компания Borland выпустила версию InterBase 6.0 в открытых кодах — InterBase 6 Open Source Edition, под InterBase Public License (IPL). Не было выпущено ни документации, ни системы тестирования, ни системы сборки проекта — просто груда некомпилируемых исходников. Фактически Borland в тот момент отказался от дальнейшего развития InterBase.

31 июля 2000 года инициативная группа, отчаявшись добиться от Borland поддержки или хотя бы внятной позиции, скопировала исходные коды InterBase 6 и образовала проект Firebird — полностью Open Source проект, основанный на кодах InterBase 6 Open Source.

В 2001 году компания Borland снова решила развивать InterBase. В следующей версии InterBase (6.5) компания Borland очевидно отказалась от модели бизнеса на основе Open Source. Чуть позже официально полностью была прекращена поддержка InterBase Open Source Edition.

В настоящее время последней версией является InterBase 2009. InterBase 7.5/2007 и Firebird 1.5/2.0 похожи, но уже далеки от полной совместимости-то есть миграция между их форматами баз данных легче, чем между форматами совсем «чужих» баз данных, но все же сопряжена с определенными проблемами.

Основными достоинствами последней версии InterBase являются низкие требования к системе, с одновременной масштабируемостью на несколько процессоров, плюс развитая система мониторинга, временные таблицы, встраиваемая аутентификация пользователей, журналирование. Традиционным достоинством считается кросс-платформенность InterBase поддерживает GNU/Linux, Microsoft Windows, Unix и Solaris.

MySQL

MySQL — свободная система управления базами данных (СУБД). MySQL является собственностью компании Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista. Существует также порт MySQL к OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули, которые можно загрузить с зеркал, представленных на официальном сайте.

MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы.NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

Firebird

Firebird — компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.

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

Firebird используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.

Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов.

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

Наиболее широко используемыми для серверов Firebird операционными системами являются Linux и Microsoft Windows (включая NT) (включая терминальные сервисы MS и Citrix). Другие поддерживаемые платформы — Mac OS X, Solaris, FreeBSD и HP-UX.

Firebird поддерживает большие базы данных. Базы данных могут быть расположены в нескольких файлах, предельный размер которых зависит от операционной системы. Теоретический предел в настоящее время составляет 64TB для одного файла базы данных, таким образом, главные ограничения накладываются файловой системой и местом на жёстком диске.

Практически база данных объемом 1 ТБ стабильно работает, что доказывает проведенный тест.

Firebird выпускается под условиями IPL (InterBase Public License) и IDPL (Initial Developer’s Public License), которые совпадают с условиями Mozilla Public License 1.1. Firebird полностью бесплатен для использования и распространения (в том числе и коммерческого). Раскрытие исходного кода вашего продукта не требуется, вне зависимости от используемой модели лицензирования. Однако, в случае, если вы модифицировали исходный код сервера, то необходимо сделать доступным исходный код ваших модификаций.

2.4.2 Объектно-ориентированный язык программирования

Delphi — это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык, в основе которого Object Pascal. Во-вторых, были получены ранее навыки работы в среде Delphi и принято решение использовать полученные знания при создании программы, а также изучить новые возможности Delphi 7. Кроме того, главным достоинством Delphi является продуктивность, т. е. на сегодняшний день работа в Delphi — самый продуктивный метод создания приложения для Windows. Продуктивность данной среды разработки определяется следующими пятью важнейшими аспектами:

— качеством визуальной среды разработки;

— скоростью работы компилятора и быстродействием откомпилированных программ;

— мощностью языка программирования и его сложностью;

— гибкостью и масштабируемостью используемой архитектуры баз данных;

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

С# (C Sharp)

C# (Си-шарп) — объектно-ориентированный язык программирования для платформы.NET. Разработан в 2000 году Андерсом Хейлсбергом, Скоттом Вилтамутом и Питером Гольде под эгидой Microsoft Research. Основным постулатом С# является высказывание: «всякая сущность есть объект». Язык основан на строгой компонентной архитектуре и реализует передовые механизмы обеспечения безопасности кода.

C# был создан специально для технологии ASP.NET. В то же время на C# полностью написана и сама ASP.NET.

C# - это полнофункциональный объектно-ориентированный язык, который поддерживает все три «столпа» объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборки мусора», обработки исключений, безопасности типов.

Язык C# разрабатывался «с нуля» и вобрал в себя много полезных свойств таких языков, как C++, Java, Visual Basic, а также Pascal, Delphy и др. При этом необходимость обратной совместимости с предыдущими версиями отсутствовала, что позволило языку C# избежать многих отрицательных сторон своих предшественников.

Как и Java, C# разрабатывался для Интернет и примерно 75% его синтаксических возможностей аналогичны языку программирования Java, его также называют «очищенной версией Java. 10% подобны языку программирования C++, а 5% - заимствованы из языка программирования Visual Basic. Объем новых концептуальных идей в языке C# около 10%.

Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения.

Для разработки автоматизированного рабочего места была выбрана среда программирования С# (C Sharp), так как она полностью удовлетворяет запросам поставленной задачи, в наличии имеется лицензионный программный продукт и соответствующие знания по его применению.

А так же клиент серверное СУБД SQL Server 2012 Express, она идеально подходящая для обучения, разработки и размещения настольных, небольших серверных и веб-приложений, и для распространения программного обеспечения независимыми производителями.

3. Решение задачи

3.1 Проектирование автоматизированного рабочего места

3.1.1 Инфологическая модель данных

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

Водители (Табельный номер, Фамилия, Имя, Отчество, Номер паспорта, Дата Выдачи паспорта, Место выдачи паспорта, Дата рождения, Номер прав, Дата выдачи прав, Номер лицензии, Дата начала работы, В отпуске) Доверенности (Водитель, Автомобиль, Дата начала действия, Дата окончания действия) Автомобили (Государственный номер, Модель, Дата приобретения, Пробег, Состояние ремонта, Статус) Модели (Идентификатор модели, Производитель, Модель, Тип Кузова, Расход при простое, Расход при работе) Путевые листы (Номер путевого листа, Автомобиль, Водитель, Организация, Адрес подачи, Время выезда, Время возвращения, Пройдено, Выдано горющего, Остаток горющего при выезде, Остаток горющего при возвращении, Расход по норме, Расход фактический, Дата заполнения) Поездки (Номер поездки, Номер путевого листа, Код заказчика, Место отправления, Место назначения, Время выезда, Время Возвращения, Пройдено километров) Таблица 3.1. Связи между сущностями

Сущность

Связь

Сущность

Водители

«один ко многим»

Доверенности

Водители

«один ко многим»

Путевые листы

Доверенности

«многие к одному»

Водители

Доверенности

«многие к одному»

Автомобили

Автомобили

«один ко многим»

Доверенности

Автомобили

«многие к одному»

Модели

Путевые листы

«многие к одному»

Водители

Путевые листы

«один ко многим»

Поездки

Путевые листы

«один ко многим»

Автомобили

Поездки

«многие к одному»

Путевые листы

На рисунке 9. представлена инфологическая модель данных, разработанная при помощи Microsoft Office Visio 2007.

Рисунок 9. Инфологическая модель данных

3.1.2 Даталогическая модель данных

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

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

Таблица 3.2. «Водители»

Имя поля

Тип данных

Табельный номер

int

Фамилия

nvarchar

Имя

nvarchar

Отчество

nvarchar

Номер паспорта

nchar

Дата выдачи паспорта

date

Места выдачи паспорта

nvarchar

Дата рождения

date

Номер прав

nchar

Дата выдачи прав

date

Номер лицензии

nchar

Дата начала работы

date

В отпуске

nvarchar

Таблица 3.3. «Доверенности»

Имя поля

Тип данных

Водитель

int

Автомобиль

nchar

Дата начала действия

date

Дата окончания действия

date

Таблица 3.3. «Автомобили»

Имя поля

Тип данных

Государственный номер

nchar

Модель

int

Дата приобретения

date

Пробег

bigint

Состояние ремонта

text

Статус

nvarchar

Таблица 3.3. «Модели»

Имя поля

Тип данных

Идентификатор модели

int

Производитель

nvarchar

Модель

nvarchar

Тип кузова

nvarchar

Объем двигателя

real

Расход при простое

real

Расход при работе

real

Таблица 3.3. «Путевые листы»

Имя поля

Тип данных

Номер путевого листа

bigint

Автомобиль

nchar

Водитель

int

Организация

nvarchar

Адрес подачи

nvarchar

Время выезда

time

Время возвращения

time

Пройдено

int

Выдано горючего

tinyint

Остаток горючего при выезде

tinyint

Остаток горючего при возвращении

tinyint

Расход по норме

tinyint

Расход фактический

tinyint

Дата заполнения

date

Таблица 3.3. «Поездки»

Имя поля

Тип данных

Номер поездки

int

Номер путевого листа

bigint

Код заказчика

nvarchar

Место отправления

nvarchar

Место назначения

nvarchar

Время выезда

datetime

Время возвращения

datetime

Пройдено километров

int

На рисунке 10. представлена даталогическая модель данных, разработанная при помощи Microsoft Office Visio 2007.

Рисунок 10. Даталогическая модель данных

3.2 Формы

3.2.1 Главная форма

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

Рисунок 12. Главная форма

3.2.2 Вкладка «Водители»

При нажатии вкладки «Водители» можно открыть две формы «Учет выработки», которая позволяет просмотреть общее время работы водителя, время выезда и время возвращения на предприятием (рис 13), и форма «Список водителей», которая позволяет выполнять основные действия с анкетными данными водителей (рис 14).

Рисунок 13. Форма «Учет выработки».

Рисунок 14. Форма «Список водителей»

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

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

4. Результат испытания

Тестирование производилось под управлением операционной системы Microsoft Windows XP Professional Version 2002 Service Pack 3, Microsoft Windows 7.

При использования приложений Microsoft Office Excel 2003, Microsoft Office Excel 2007, Microsoft Office Excel 2010.

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

Заключение

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

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

Источники информации

1. http://bookwebmaster.narod.ru/csharp.html

2. http://www.mir-koda.ru/article_c_sharp.php

3. http://mysql.ru/docs/mysql-man-4.0-ru/introduction.html

4. http://progopedia.ru/language/csharp/

5. http://ru.wikipedia.org/wiki/Проектирование_баз_данных

6. http://ru.wikipedia.org/wiki/Microsoft_SQL_Server

7. C#. Учебный курс, Герберт Шилдт, 2003 г.

8. Методология функционального моделирования IDEF0. Руководящий документ. Издание официальное. Госстандарт России. Москва. (РД IDEF 0 — 2000).

Приложение 1

Программный код

Program.cs

using System;

using System. Collections. Generic;

using System. Linq;

using System. Windows. Forms;

namespace avto

{

static class Program

{

///

/// The main entry point for the application.

///

[STAThread]

static void Main ()

{

Application. EnableVisualStyles ();

Application. SetCompatibleTextRenderingDefault (false);

Application. Run (new Form1 ());

}

}

}

Ways.cs

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System. Windows. Forms;

namespace avto

{

public partial class ways: Form

{

public ways (int wayNumber)

{

InitializeComponent ();

numToolStripTextBox. Text = wayNumber. ToString ();

}

private void ways_Load (object sender, EventArgs e)

{

this.поездкиTableAdapter. Fill (this.avtodbDataSet. Поездки);

}

private void fillByToolStripButton_Click1 (object sender, EventArgs e)

{

try

{

this.поездкиTableAdapter. FillBy (this.avtodbDataSet. Поездки, ((long) (System. Convert. ChangeType (numToolStripTextBox. Text, typeof (long)))));

}

catch (System. Exception ex)

{

System. Windows. Forms. MessageBox. Show (ex. Message);

}

}

private void toolStripButton1_Click1 (object sender, EventArgs e)

{

report r1 = new report ();

r1. Show ();

}

private void toolStripButton2_Click (object sender, EventArgs e)

{

try

{

this. Validate ();

поездкиBindingSource. EndEdit ();

поездкиTableAdapter. Update (avtodbDataSet);

MessageBox. Show («Данные сохранены»);

}

catch (System. Exception ex)

{

MessageBox. Show («Сохранение неудачно»);

}

}

}

}

wayLists.cs

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System. Windows. Forms;

namespace avto

{

public partial class wayLists: Form

{

public wayLists ()

{

InitializeComponent ();

}

private void wayLists_Load (object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'avtodbDataSet. Путевые_листы' table. You can move, or remove it, as needed.

this.путевые_листыTableAdapter. Fill (this.avtodbDataSet. Путевые_листы);

}

private void dataGridView1_CellContentDoubleClick (object sender, DataGridViewCellEventArgs e)

{

saveToolStripButton_Click (sender, (EventArgs) e);

ways f1 = new ways (int. Parse (dataGridView1. Rows [e. RowIndex]. Cells[0].Value. ToString ()));

f1. ShowDialog ();

}

private void saveToolStripButton_Click (object sender, EventArgs e)

{

try

{

this. Validate ();

путевыеЛистыBindingSource. EndEdit ();

путевые_листыTableAdapter. Update (avtodbDataSet);

MessageBox. Show («Данные сохранены»);

}

catch (System. Exception ex)

{

MessageBox. Show («Сохранение неудачно»);

}

}

private void dataGridView1_RowHeaderMouseClick (object sender, DataGridViewCellMouseEventArgs e)

{

saveToolStripButton_Click (sender, (EventArgs) e);

ways f1 = new ways (int. Parse (dataGridView1. Rows [e. RowIndex]. Cells[0].Value. ToString ()));

f1. ShowDialog ();

}

private void toolStripButton1_Click (object sender, EventArgs e)

{

saveToolStripButton_Click (sender, (EventArgs) e);

ways f1 = new ways (int. Parse (dataGridView1. Rows [dataGridView1. SelectedRows[0]. Index].Cells[0].Value. ToString ()));

f1. ShowDialog ();

}

}

}

Report2.rdlc

<? xml version= «1.0» encoding= «utf-8»?>

System. Data. DataSet

/* Local Connection */

41afd082-fef0−4e0f-926c-d0547939a1f9

Дата

System. DateTime

Выданное_горючее

System. Int32

avtodbDataSet

/* Local Query */

avtodbDataSet

C:UsersYahhiDesktopavtoavtoavtoavtodbDataSet.xsd

Путевые листы1

Fill

GetData

Путевые_листы1TableAdapter

3.25in

0.29872in

true

true

Выданное горючее

Tahoma

11pt

Bold

White

Textbox2

#949ca4

#7c8692

2pt

2pt

2pt

2pt

0.29872in

true

true

=Sum (Fields! Выданное_горючее. Value)

Tahoma

#4d4d4d

Выданное_горючее

#e5e5e5

2pt

2pt

2pt

2pt

0.29872in

true

true

=Sum (Fields! Выданное_горючее. Value)

Tahoma

Normal

White

Textbox6

#8ca2ba

#748caa

2pt

2pt

2pt

2pt

3.25in

true

true

Дата

Tahoma

11pt

Bold

White

Textbox3

#949ca4

#7c8692

2pt

2pt

2pt

2pt

=Fields! Дата. Value

=Fields! Дата. Value

3.25in

true

true

=Fields! Дата. Value

Tahoma

Normal

#333 333

Дата

#aab6c4

#96a4b2

2pt

2pt

2pt

2pt

3.25in

true

true

Total

Tahoma

Normal

White

Textbox5

#8ca2ba

#748caa

2pt

2pt

2pt

2pt

Before

DataSet1

2.27625cm

16.51cm

6.72917in

6.5in

29.7cm

21 cm

2 cm

2 cm

2 cm

2 cm

0.13cm

1abccac8-db98−4136-a087−603ea5677a43

Cm

Statistica.cs

using System;

using System. Collections. Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System. Windows. Forms;

namespace avto

{

public partial class statistica: Form

{

public statistica ()

{

InitializeComponent ();

}

private void statistica_Load (object sender, EventArgs e)

{

// TODO: This line of code loads data into the 'avtodbDataSet. Отработка_водителей' table. You can move, or remove it, as needed.

this.отработка_водителейTableAdapter. Fill (this.avtodbDataSet. Отработка_водителей);

// TODO: This line of code loads data into the 'avtodbDataSet. Автопробег' table. You can move, or remove it, as needed.

this.автопробегTableAdapter. Fill (this.avtodbDataSet. Автопробег);

// TODO: This line of code loads data into the 'avtodbDataSet. Перерасход' table. You can move, or remove it, as needed.

this.перерасходTableAdapter. Fill (this.avtodbDataSet. Перерасход);

}

private void печатьToolStripMenuItem_Click (object sender, EventArgs e)

{

if (tabControl1. SelectedIndex == 0)

{

pererashod f = new pererashod ();

f. ShowDialog ();

}

else if (tabControl1. SelectedIndex == 1)

{

Form2 f2 = new Form2 ();

f2. ShowDialog ();

}

else

{

Form3 f3 = new Form3 ();

f3. ShowDialog ();

}

}

private void button1_Click (object sender, EventArgs e)

{

печатьToolStripMenuItem_Click (sender, e);

}

}

}

App.config

<? xml version= «1.0» encoding= «utf-8»?>

providerName= «System. Data. SqlClient» />

avtodbDataSet.xsd

///

///Update all changes to the dataset.

///

[global: System. Diagnostics. DebuggerNonUserCodeAttribute ()]

[global: System. CodeDom. Compiler. GeneratedCodeAttribute («System. Data. Design. TypedDataSetGenerator», «4.0.0.0»)]

public virtual int UpdateAll (avtodbDataSet dataSet) {

if ((dataSet == null)) {

throw new global: System. ArgumentNullException («dataSet»);

}

if ((dataSet. HasChanges () == false)) {

return 0;

}

if (((this._автомобилиTableAdapter≠ null)

&& (this. MatchTableAdapterConnection (this._автомобилиTableAdapter. Connection) == false))) {

throw new global: System. ArgumentException («All TableAdapters managed by a TableAdapterManager must use the same connection s» +

«tring.»);

}

if (((this._водителиTableAdapter≠ null)

&& (this. MatchTableAdapterConnection (this._водителиTableAdapter. Connection) == false))) {

throw new global: System. ArgumentException («All TableAdapters managed by a TableAdapterManager must use the same connection s» +

«tring.»);

}

if (((this._доверенностиTableAdapter≠ null)

&& (this. MatchTableAdapterConnection (this._доверенностиTableAdapter. Connection) == false))) {

throw new global: System. ArgumentException («All TableAdapters managed by a TableAdapterManager must use the same connection s» +

«tring.»);

}

if (((this._моделиTableAdapter≠ null)

&& (this. MatchTableAdapterConnection (this._моделиTableAdapter. Connection) == false))) {

throw new global: System. ArgumentException («All TableAdapters managed by a TableAdapterManager must use the same connection s» +

«tring.»);

}

if (((this._поездкиTableAdapter≠ null)

&& (this. MatchTableAdapterConnection (this._поездкиTableAdapter. Connection) == false))) {

throw new global: System. ArgumentException («All TableAdapters managed by a TableAdapterManager must use the same connection s» +

«tring.»);

}

if (((this._путевые_листыTableAdapter≠ null)

&& (this. MatchTableAdapterConnection (this._путевые_листыTableAdapter. Connection) == false))) {

throw new global: System. ArgumentException («All TableAdapters managed by a TableAdapterManager must use the same connection s» +

«tring.»);

}

global: System. Data. IDbConnection workConnection = this. Connection;

if ((workConnection == null)) {

throw new global: System. ApplicationException («TableAdapterManager contains no connection information. Set each TableAdapterMana» +

«ger TableAdapter property to a valid TableAdapter instance.»);

}

bool workConnOpened = false;

if (((workConnection. State & global: System. Data. ConnectionState. Broken)

== global: System. Data. ConnectionState. Broken)) {

workConnection. Close ();

}

if ((workConnection. State == global: System. Data. ConnectionState. Closed)) {

workConnection. Open ();

workConnOpened = true;

}

global: System. Data. IDbTransaction workTransaction = workConnection. BeginTransaction ();

if ((workTransaction == null)) {

throw new global: System. ApplicationException («The transaction cannot begin. The current data connection does not support transa» +

«ctions or the current state is not allowing the transaction to begin.»);

}

global: System. Collections. Generic. List allChangedRows = new global: System. Collections. Generic. List ();

global: System. Collections. Generic. List allAddedRows = new global: System. Collections. Generic. List ();

global: System. Collections. Generic. List adaptersWithAcceptChangesDuringUpdate = new global: System. Collections. Generic. List ();

global: System. Collections. Generic. Dictionary revertConnections = new global: System. Collections. Generic. Dictionary();

int result = 0;

global: System. Data. DataSet backupDataSet = null;

if (this. BackupDataSetBeforeUpdate) {

backupDataSet = new global: System. Data. DataSet ();

backupDataSet. Merge (dataSet);

}

try {

// - Prepare for update ;

//

if ((this._автомобилиTableAdapter≠ null)) {

revertConnections. Add (this._автомобилиTableAdapter, this._автомобилиTableAdapter. Connection);

this._автомобилиTableAdapter. Connection = ((global: System. Data. SqlClient. SqlConnection) (workConnection));

this._автомобилиTableAdapter. Transaction = ((global: System. Data. SqlClient. SqlTransaction) (workTransaction));

if (this._автомобилиTableAdapter. Adapter. AcceptChangesDuringUpdate) {

this._автомобилиTableAdapter. Adapter. AcceptChangesDuringUpdate = false;

Показать весь текст
Заполнить форму текущей работой