Тема: Создание автоматизированного рабочего места диспетчера

  • Вид работы:
    Диплом
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
  • Формат файла:
    MS Word
  • Размер файла:
    370,69 Кб
Создание автоматизированного рабочего места диспетчера
Создание автоматизированного рабочего места диспетчера
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

ПЕРЕЧЕНЬ УСЛОВНЫХ ЭЛЕМЕНТОВ

В настоящей пояснительной записке применяются следующие сокращения, термины и определения:

БД - база данных.

ГОСТ - государственный стандарт.

ИФ - информационная система.

ЛВС - локальная вычислительная сеть.

ОООС - отдел охраны окружающей среды.

ПО - программное обеспечение.

ПП - программный продукт.

ППБ - правила пожарной безопасности.

СанПиН - санитарные нормы и правила.

СН - санитарные нормы.

СУОТ - система управления охраной труда.

Ж/Д - железная дорога.

ИТ - информационные технологии.

СУБД - система управления базами данных.- Entity Data Model.

ВВЕДЕНИЕ

Для многих жителей Беларуси железнодорожный транспорт - это один из наиболее комфортных, надежных и доступных вариантов путешествий. История Белорусской железной дороги началась более 150 лет назад - в 1862 году, когда было открыто движение поездов на участке Гродно-Поречье.

Сегодня БЖД занимает лидирующие позиции на национальном рынке транспортных услуг. Ежегодно железнодорожный транспорт в Беларуси перевозит более 140 млн. тонн грузов и 90 млн. пассажиров, обеспечивая свыше 60% общего объема грузооборота страны и 30% - пассажирооборота.

Республиканское унитарное производственное предприятие «Гранит» (РУПП «Гранит») является крупнейшим предприятием в Европе по производству нерудных строительных материалов, находится в государственной собственности и подчиняется Министерству архитектуры и строительства Республики Беларусь. Основная деятельность предприятия направлена на обеспечение строительной индустрии строительными материалами.

Ж\д станция «Ситница» является крупнейшей линейной станцией линии Калинковичи - Лунинец по грузопотоку. Обслуживает ПО "Гранит", речной порт Микашевичи (посредством эстакады). Возникла на рубеже 60-70 годов в связи с заложением каръера "Микашевичи" и постройкой щеб-завода. На этой станции производится погрузка больших объемов грузов, огромное количество путей и составов на них, за которыми диспетчеру необходимо постоянно следить и видеть любые изменения. В связи с этим необходимо ПО, позволяющее осуществлять мониторинг при минимальных затратах времени и сил.

Целью дипломного проектирования является создание автоматизированного рабочего места диспетчера на ж/д станции, которое позволяет быстро и качественно решать задачи, возложенные на специалиста.

В ходе работы над дипломным проектом необходимо решить следующие задачи:

-рассмотреть аналоги разрабатываемого ПО;

-определить требования к создаваемому программному обеспечению;

-разработать и протестировать приложение в соответствии с требованиями;

-осуществить расчеты экономической эффективности разработанного программного средства;

-рассмотреть вопросы по технике безопасности работы с компьютером.

1. АНАЛИЗ ЗАДАЧИ

1.1 Обоснование необходимости автоматизации рабочего места

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

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

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

1.2 Этапы разработки программного продукта

Создание ПО включает следующие этапы:

.Определение требований к разрабатываемому ПП.

.Проектирование функционала разрабатываемого приложения.

.Разработка интерфейса в соответствии с требованиями.

.Согласование разработанного интерфейса и функционала с заказчиком.

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

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

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

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

Оно должно быть реализовано на языке программирования C# с использованием базы данных в среде Microsoft SQL Server. Код проекта обязательно должен быть структурирован и читабелен. Расположение компонентов на форме должно быть интуитивно понятным. Визуальное оформление должно быть удобным для пользователя. Проект должен быть написан полностью и без каких-либо неисправностей.

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

Функции программного продукта:

-изменение интервала автообновления;

-перемещение элементов на форме;

-изменение размеров окна;

-просмотр данных о вагонах на пути;

-получение списка путей в парке;

-получение списка парков на ж/д станции.

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

База данных, реализованная в Microsoft SQL Server, была взята с ж/д станции «Ситница», а приложение для заполнения информацией таблиц будет разработано в среде Visual Studio Community 2015.

2. РАЗРАБОТКА ПРОГРАММНОГО СРЕДСТВА

2.1 Microsoft Visual Studio

Microsoft Visual Studio - линейка продуктов компании Microsoft <https://ru.wikipedia.org/wiki/Microsoft>, включающих интегрированную среду разработки <https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8> программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные <https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F> приложения <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%BA%D0%BB%D0%B0%D0%B4%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5>, так и приложения с графическим интерфейсом <https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F>, в том числе с поддержкой технологии Windows Forms <https://ru.wikipedia.org/wiki/Windows_Forms>, а также веб-сайты <https://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%B9%D1%82>, веб-приложения <https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5>,веб-службы <https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0> как в родном <https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4>, так и в управляемом <https://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4> кодах для всех платформ, поддерживаемых Windows <https://ru.wikipedia.org/wiki/Windows>, Windows Mobile <https://ru.wikipedia.org/wiki/Windows_Mobile>, Windows CE <https://ru.wikipedia.org/wiki/Windows_CE>,.NET Framework <https://ru.wikipedia.org/wiki/.NET_Framework>, Xbox <https://ru.wikipedia.org/wiki/Xbox>, Windows Phone <https://ru.wikipedia.org/wiki/Windows_Phone> .NET Compact Framework <https://ru.wikipedia.org/wiki/.NET_Compact_Framework> и Silverlight <https://ru.wikipedia.org/wiki/Silverlight>.Studio включает в себя редактор исходного кода <https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80_%D0%B8%D1%81%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BA%D0%BE%D0%B4%D0%B0> с поддержкой технологии IntelliSense <https://ru.wikipedia.org/wiki/IntelliSense> и возможностью простейшегорефакторинга кода <https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3>. Встроенный отладчик <https://ru.wikipedia.org/wiki/Microsoft_Visual_Studio_Debugger> может работать как отладчик уровня исходного кода, так и отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов <https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%81_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)> и дизайнер схемы базы данных <https://ru.wikipedia.org/wiki/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85>. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины <https://ru.wikipedia.org/wiki/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD>) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода <https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%8F%D0%BC%D0%B8> (как, например, Subversion <https://ru.wikipedia.org/wiki/Subversion> и Visual SourceSafe <https://ru.wikipedia.org/wiki/Microsoft_Visual_SourceSafe>), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA>) или инструментов для прочих аспектов процесса разработки программного обеспечения <https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F> (например, клиент Team Explorer для работы с Team Foundation Server <https://ru.wikipedia.org/wiki/Team_Foundation_Server>).

база данные таблица производительность

2.2 СУБД Microsoft SQL Server

Microsoft SQL Server - система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов - Transact-SQL, создан совместно Microsoft <#"justify">Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.SQL Server также поддерживает Open Database Connectivity (ODBC) - интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL - это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP-адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.Server поддерживает избыточное дублирование данных по трем сценариям:

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

·История изменений: Все изменения базы данных непрерывно передаются пользователям.

·Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.

2.3 Entity Framework

Платформа Entity Framework представляет собой набор технологий ADO.NET, обеспечивающих разработку приложений, связанных с обработкой данных. Архитекторам и разработчикам приложений, ориентированных на обработку данных, приходится учитывать необходимость достижения двух совершенно различных целей. Они должны моделировать сущности, связи и логику решаемых бизнес-задач, а также работать с ядрами СУБД, используемыми для сохранения и получения данных. Данные могут распределяться по нескольким системам хранения данных, в каждой из которых применяются свои протоколы, но даже в приложениях, работающих с одной системой хранения данных, необходимо поддерживать баланс между требованиями системы хранения данных и требованиями написания эффективного и удобного для обслуживания кода приложения.Framework позволяет работать с данными в форме специфических для домена объектов и свойств, таких как клиенты и их адреса, без необходимости обращаться к базовым таблицам и столбцам базы данных, где хранятся эти данные. Entity Framework дает разработчикам возможность работать с данными на более высоком уровне абстракции, создавать и сопровождать приложения, ориентированные на данные, используя меньше кода, чем в традиционных приложениях. Поскольку Entity Framework является компонентом .NET Framework, приложения Entity Framework могут работать на любом компьютере, где установлена платформа .NET Framework, начиная с версии 3.5 с пакетом обновления 1 (SP1).

2.4 Выбор среды программирования

В качестве среды разработки я выбрал MS Visual Studio 2015 Community, так как она представляет пользователю огромное количество различных функций и возможностей.

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

Для программирования под Windows нет ничего лучше, чем Visual Studio - это достаточно мощная IDE. Её редактор подсвечивает синтаксис и выполняет форматирование кода, что делает код в разы читабельнее.

Особенность этой платформы заключается в широком наборе сервисов, которые доступны в различных языках программирования. При этом сервисы реализуются в виде промежуточного кода, который не зависит от базовой архитектуры. Главной целью создания такой платформы было оснащение разработчиков специальными сервисно-ориентированными приложениями, которые могли бы работать на любой платформе, начиная от персонального компьютера и заканчивая мобильным устройством.Visual Studio объединяет в себе огромное количество функций, позволяющих осуществлять разработки для Windows всех версий, в том числе и 8, Интернета, SharePoint, различных мобильных устройств и облачных технологий. В Visual Studio реализуется новая среда разработчика, благодаря которой создавать приложения стало проще. Microsoft Visual Studio - это обновленная и упрощенная программная среда, для которой характерна высокая производительность, причем она не зависит от особенностей оборудования.

Преимущества языка C#:

¾основан на объектно-ориентированном подходе;

¾обширная стандартная кодобаза;

¾промежуточный код;

¾декларативные механизмы обеспечения безопасности выполнения кода;

¾межъязыковое взаимодействие;

¾достаточно полная и непротиворечивая система типов;

¾вывод типов из инициализации;

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

¾степень открытости исходных текстов библиотек, исполняемых программ, количество литературы и помощь (MSDN);

¾защищенность и контроль версий подключаемых алгоритмов (концепция NET);

¾трудоемкость написания (тот же NET);

¾скорость работы (Распределение процессов, распределение данных скорость работы с данными);

¾удобство разработки (среда разработки по сравнению с другим языком программирования);

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

¾атрибуты и отражение.

3. ОБОСНОВАНИЕ ПРИЕМОВ ПРОГРАММИРОВАНИЯ

3.1 Элементы интерфейса приложения

При разработке программного продукта были использованы следующие элементы.

Элемент управления MenuStrip служит для размещения логически сгруппированных команд. поддерживает интерфейс MDI, слияние меню, всплывающие подсказки и переполнение. Удобство использования меню можно повысить, добавив в них клавиши быстрого доступа, сочетания клавиш, флажки, значки и разделители.

Элемент управления MenuStrip <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.menustrip(v=vs.110).aspx> заменяет элемент управления MainMenu <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.mainmenu(v=vs.110).aspx> и расширяет его функциональные возможности; однако при необходимости элемент управления MainMenu <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.mainmenu(v=vs.110).aspx> можно сохранить для обратной совместимости и использования в будущем.

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

= Convert.ToInt32(tsTbInter.Text);

Элемент управления DataGridView <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.datagridview(v=vs.110).aspx> позволяет отображать и редактировать табличные данные из различных типов источников данных. Связывание данных с элементом управления DataGridView <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.datagridview(v=vs.110).aspx> - интуитивно понятная и простая процедура, которая в большинстве случаев не сложнее установки свойства DataSource <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.datagridview.datasource(v=vs.110).aspx>. Далее представлен пример части кода приложения, в котором в DataGridView записываются данные из таблицы vagon.

.DataSource = context.vagon.ToList();

Элементы управления Windows Forms GroupBox <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.groupbox(v=vs.110).aspx> предназначены для объединения в идентифицируемые группы других элементов управления.Обычно для разделения формы по функциям используются области группы. Например, это может быть бланк заказа, в котором указаны параметры доставки почты, которые используются при доставке в ночное время. Группировка всех параметров в области группы логически обоснована и наглядна для пользователя. Элемент управления GroupBox <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.groupbox(v=vs.110).aspx> имеет некоторое сходство с элементом управления Panel <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.panel(v=vs.110).aspx>, однако только у элемента управления Panel <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.panel(v=vs.110).aspx> могут быть полосы прокрутки, и только элемент управления GroupBox <https://msdn.microsoft.com/ru-ru/library/system.windows.forms.groupbox(v=vs.110).aspx> отображает заголовок. Далее представлен пример части кода приложения, в котором отображается динамическое создание элемента и присваивание ему определенных свойств.

[index] = new GroupBox();[index].Top = 10;[index].Left = 8 + s;[index].Name = "grpB659_" + index.ToString();

Элемент управления TabControl Windows Forms используется для отображения нескольких вкладок, аналогичных разделителям в записной книжке или меткам в наборе папок в картотеке. Вкладки могут содержать изображения и другие элементы управления. Далее предоставлена часть кода приложения, в которой на вкладку вставляется элемент управления GroupBox.

.Controls.Add(gr[index]);

Компонент Form (Форма) - это важнейший визуальный компонент. Формы представляют собой видимые окна Windows и являются основной частью практически любого приложения. Далее представлен пример части кода приложения, в котором прописан вызов формы на экран.

f2 = new Form2();.ShowDialog();

Класс DbContext является базовым классом Entity Framework и предоставляет широкие возможности по работе с базой данных: создание запросов, отслеживание изменений и сохранение данных в базе. Entity Framework автоматически его генерирует.

3.2 База данных и таблицы БД

Данная база данных была взята с ж/д станции «Ситница». Реализована она в Microsoft SQL Server.

БД содержит достаточно много таблиц, но для данного ПП необходимо всего 3 таблицы: таблица парков (park), таблица путей (way) и таблица вагонов (vagon). На экран выводится лишь таблица vagon, так как для работы нужна именно она, остальные две таблицы были использованы лишь в коде программы для корректного вывода информации и создания нужного количества путей. Описание таблицы vagon предоставлено в таблице 2.1.

Таблица 2.1 - Структура таблицы vagon

Имя поляТип данныхРазмер поляКод_грузаЧисловой5Номер_вагонаЧисловойКлючевое полеНомер_путиЧисловой5Номер_составаЧисловой10Резервный_номерЧисловой10РоликЧисловой1Код_СБСЧисловой2Вес_грузаЧисловой3Станция_получательЧисловой5Код_паркаЧисловой5Негабаритные_вагоныЧисловой3ПломбаЧисловой1СрокКороткий текст4Грузившая_станцияЧисловой5ТараЧисловой3ПримечаниеКороткий текст100ДоступЧисловой1

Структура таблицы way показана в таблице 2.2.

Таблица 2.2 - Структура таблицы way

Имя поляТип данныхРазмер поляWay_idЧисловойКлючевое полеNum_prkКороткий текст2Num_wayКороткий текст5Name_wayКороткий текст10Long_wayЧисловой100Weight_wayЧисловой100Lng_sumЧисловой10000Ves_sumЧисловой1000000Blk_wayЧисловой1Kvo_vgnЧисловой2Grup_wayЧисловой1Pr_wayЧисловой1Pr_otvЧисловой20Prk_idЧисловой3

Следующая часть кода взята из файла app.config и служит для подключения БД:

<add name="Дипломный_проект.Properties.Settings.ASUSConnectionString" connectionString="Data Source=B1ACK0UT-PC;Initial Catalog=ASUS;Integrated Security=True" providerName="System.Data.SqlClient" />

<add name="ASUSEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=B1ACK0UT-PC;initial catalog=ASUS;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

3.3 Entity Data Model

Модель EDM - это набор основных понятий, которые описывают структуру данных независимо от формы хранения. Модель EDM заимствует свойства модели «сущность-связь», описанной Питером Ченом в 1976 г., более того, она строится на модели «сущность-связь» и расширяет возможности ее традиционного использования. Модель EDM решает проблемы, возникающие из необходимости хранить данные в различных формах.

Модель, используемая в данном проекте, показана на рисунке 3.1

Рисунок 3.1 Модель EDM

В данной модели используются два класса: vagon и way.

Описание класса vagon:

partial class vagon

{string in_vgn { get; set; }Nullable<int> way_id { get; set; }Nullable<short> ord_num { get; set; }Nullable<int> sostav_id { get; set; }Nullable<int> rezerv_id { get; set; }string priz_k { get; set; }string cod_sbs { get; set; }string rolik { get; set; }string ves_gruz { get; set; }string st_destn { get; set; }string cod_gruz { get; set; }string cod_grpl { get; set; }string mach { get; set; }string cod_prk { get; set; }string negab_vg { get; set; }string plomb { get; set; }string knt_stn { get; set; }string knt_ktn { get; set; }string srok { get; set; }string pogr_st { get; set; }string tara { get; set; }string prim { get; set; }string privat { get; set; }

virtual way way { get; set; }

}

Описание класса way:

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]way()

{.vagon = new HashSet<vagon>();

}int way_id { get; set; }string num_prk { get; set; }string num_way { get; set; }string name_way { get; set; }Nullable<short> long_way { get; set; }Nullable<int> weight_way { get; set; }int lng_sum { get; set; }int ves_sum { get; set; }short blk_way { get; set; }short kvo_vgn { get; set; }string grup_way { get; set; }string pr_way { get; set; }string pr_otv { get; set; }int prk_id { get; set; }

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]virtual ICollection<vagon> vagon { get; set; }

4. ТЕСТИРОВАНИЕ ПРОГРАММНОГО СРЕДСТВА

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

-надёжность;

-практичность;

-эффективность;

-мобильность;

-функциональность.

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

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

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

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

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

Таблица 4.1 - Форма для тестовых случаев

Название модуляОписание тестового случаяОжидаемые результатыТестовый случай пройден?КомментарийЭлементы управления GroupBoxПеремещение элемента на формеВыбранный элемент при помощи мыши должен быть перемещён на любую позицию на вкладке.ДаСистема правильно среагировала на ситуациюФункция автообновления таблицОбновление информацииПо истечению определенного промежутка времени информация в DataGridView должна обновиться и показать все записи в соответствии с внесенными в БД изменениямиДаСистема правильно среагировала на ситуацию и выдала необходимую информациюФорма «О программе»Открытие новой формыПри нажатии на кнопку должна появиться новая формаДаНовая форма открытаГлавная формаСоздание элементов управленияПри загрузке формы должны отобразиться все элементы управленияДаСистема правильно среагировала на ситуацию и создала все необходимые компоненты

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

5. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

При запуске программного продукта пользователь попадает на главную форму (рисунок 5.1).

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

На форме автоматически создаются компоненты, необходимые для работы. Основными элементами, с которым ведётся работа, являются таблицы вагонов. Над каждой таблицей находится подпись с номером пути. В проекте реализована возможность перемещения таблиц на форме по своему желанию. Таблица показана на рисунке 5.2, а перемещённые элементы показаны на рисунке 5.3.

Рисунок 5.2 Таблица вагонов на пути номер 710

Рисунок 5.3 Изменённый порядок таблиц на форме

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

Рисунок 5.4 Список вкладок

Также в проекте реализована функция автообновления таблиц. Через определённый промежуток времени пути обновляются, показывая последние изменения. Можно настроить этот промежуток времени для удобства. Как видно на рисунке 5.5, в поле уже указано число 60. Оно означает, что каждые 60 секунд происходит обновление.

Рисунок 5.5 Поле для ввода интервала между обновлениями

Если в этом поле указать неверные сведения, например отрицательное число либо буквы, то на экране появится соответствующая ошибка (рисунок 5.6 и рисунок 5.7 соответственно).

Рисунок 5.6 Ошибка ввода (введено отрицательное значение)

Рисунок 5.7 Ошибка ввода (введен любой знак кроме числа)

При нажатии на кнопке в меню «О программе» появится форма с краткой информацией о программе и обратной связью с программистом, разработавшим данное ПО (рисунок 5.8)

Рисунок 5.8 Форма «О программе»

6. ЭКОНОМИЧЕСКИЙ РАЗДЕЛ

6.1 Расчет прогнозируемой цены и прибыли на программное средство. Расчет полной себестоимости программного продукта

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

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

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

-затраты на материалы и комплектующие;

-основная заработная плата исполнителей;

-дополнительная заработная плата исполнителей;

-отчисления в фонд социальной защиты населения;

-отчисления по обязательному страхованию от несчастных случаев на производстве и профессиональных заболеваний;

-накладные расходы;

-затраты на сопровождение и адаптацию.

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

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

Змат,комп = Нрасх * Цед, руб.(6.1)

где Нрасх - норма расхода материала на единицу изделия, шт.

Цед - цена за единицу материала, руб.

Зфлеш-карта = 184000 * 1 = 184000 руб.

Зобщ. = 184000 руб.

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

Месячная тарифная ставка каждого исполнителя определяется:

ЗПмес = ТС1мес * Ктар, руб.(6.2)

где ТСмес - тарифная ставка 1-го разряда за месяц, руб.;

Ктар - тарифный коэффициент.

ЗПмес = 2300000 * 2,17 = 4991000 руб.

Статья «Основная заработная плата исполнителей» рассчитывается по формуле:

ЗПОСН = ТСДН * Т0 * Кпр, руб.(6.3)

где ТСДН - тарифная ставка за день (ТСдн = ЗПмес / 21,25), руб.;

Т0 - трудоемкость программного средства, человеко-дней;

Кпр - коэффициент премирования.

ТСДН = 4991000 / 21,25 = 234871 руб.

ЗПОСН = 234871 * 8 * 1,15 = 2160813 руб.

Статья «Дополнительная заработная плата исполнителей» определяется по формуле:

ЗПдоп = (ЗП0СН * % ЗПдоп) / 100, руб.(6.4)

где %ЗПдоп - процент дополнительной заработной платы от основной.

ЗПдоп = (2160813*10) / 100 = 216081 руб.

Статья «Отчисления в фонд социальной защиты населения» (ФСЗН) определяется в соответствии с действующими законодательными актами по нормативу в процентном отношении к фонду основной и дополнительной заработной платы исполнителей:

Отчфсзн = (ЗП0СН + ЗПдоп) * %отч /100, руб.(6.5)

где %отч - процент отчислений, установленный государством в планируемом году (для 2016 г. Основная ставка ФСЗН - 34%)

Отчфсзн = (2160813 + 216081) * 34 / 100 = 808144 руб.

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

Отчстрах = (ЗП0СН + ЗНД0П) * %отч / 100, руб.(6.6)

где %отч - процент отчислений, установленный государством в планируемом году (0,25%).

Отчстрах = (2160813 + 216081) * 0,25 / 100 = 5942 руб.

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

Зобщепр. = (ЗПосн. * %Зобщепр) / 100, руб(6.7)

где %Зобщепр. - норматив общепроизводственных затрат в целом по организации.

Зобщепр. = 2160813*30/100 = 648244 руб.

. Общая сумма затрат на разработку программного средства рассчитывается по формуле:

С/Спр = Змат,комп. + ЗП0СН + ЗПдоп + ОТЧфсзн + ОТЧстрах + Зобщепр(6.8)

С/Спр = 184000 + 2160813 + 216081 + 808144 + 5942 + 648244 = 4023224 руб.

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

Зобщехоз=(С/Спр * %Зобщехоз ) / 100, руб.(6.9)

где С/Спроизв.- производственная себестоимость единицы продукции, руб.

%Зобщехоз. - норматив общепроизводственных затрат в целом по организации.

Зобщехоз. = 4023224 * 6,5 / 100 = 261510 руб.

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

Задап = ((С/Спр + Зобщехз) * %Задап) / 100, руб.(6.10)

где %3адап - процент затрат на сопровождение и адаптацию

Задап = (4023224 + 261510) * 1 / 100 = 42847 руб.

Полная себестоимость программного средства определяется по формуле:

С/Сполн = С/Спр + Зобщехоз. + 3адап, руб.(6.11)

С/Сполн = 4023224+261510+42847 = 4327581 руб.

6.2 Определение прибыли и свободной отпускной цены программного средства

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

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

Прибыль рассчитывается по формуле:

IIP = С/Сполн * %Р / 100, руб.(6.12)

где %Р - уровень рентабельности программного средства, % Показатель рентабельности необходимо принимать на уровне от 20 до 30%.

IIP = 4327581 * 20 / 100 = 865516 руб.

Прогнозируемая отпускная цена разработчика определяется по формуле:

Цотп = С/Сполн + ПР + НДС, руб.(6.13)

где НДС - сумма налога на добавленную стоимость, руб. (для 2016г. ставка НДС составляет 20%)

Цотп =4327581 + 865516 + 1038619 = 6231700 руб.

НДС = (С/Сполн + ПР) * % НДС/100, руб.(6.14)

где %НДС - ставка налога на добавленную стоимость, %

НДС = (4327581 + 865516) * 20 / 100 = 1038619 руб.

6.3 Обоснование экономической целесообразности проведения мероприятия

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

6.4 Расчет капитальных затрат

Общие капитальные вложения (КЗ) потребителя, связанные приобретением, внедрением и использованием программных средств, рассчитываются по формуле:

КЗ = Кпр + Кпк + Кос + Кис, тыс. руб.,(6.15)

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

Кпк - затраты пользователя на приобретение компьютера, тыс. руб.;

Кос - затраты пользователя на освоение компьютера, тыс. руб;

Кис - затраты на внедрение автоматизированной информационной системы, тыс. руб.

КЗ = 6231700 + 250000 + 1200000 = 7681700 руб.

6.5 Расчёт относительной экономии численности персонала и заработной платы в связи с использованием программного средства

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

Коэффициент уплотнения за час рабочего времени рассчитывается по формуле:

Купл = Эврч / Тсм(6.16)

где Эврч - экономия рабочего времени за час, мин.;

Тсм - длительность рабочей смены, мин.

Купл = 5/480 = 0,01

Экономия рабочего времени за год рассчитывается по формуле:

Эврг = Эврч * ФРВ, час(6.17)

где ФРВ - фонд рабочего времени за год, час (для 2016 г. ФРВ = 2038).

Эврг = 0,01 * 2038 = 20 час

Относительная экономия затрат на заработную плату (Эзп) при использовании данной программы рассчитывается по формуле:

Эзп = ЧТС * Эврг * Кпр * Кдзп * Ксоц, тыс. руб.(6.18)

где ЧТС - часовая тарифная ставка, руб.

Кпр - коэффициент премии;

Кдзп - коэффициент дополнительной заработной платы;

Ксоц - коэффициент социальных отчислений на предприятии (для 2016 г. Ксоц = 1,35).

Эзп = 12500 * 20 * 1,15 * 1,1 * 1,35 = 426937 руб

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

Определить возможный рост производительности труда (ПТ) ­ от внедрения организационного мероприятия можно по формуле:

­ ПТ = (То / Тб) *100, %(6.19)

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

­ ПТ = (5 / 60) * 100 = 8,3%

6.7 Технико-экономические показатели. Выводы по расчетам

Результаты полученных расчетов целесообразно свести в таблицу.

Таблица 6.1 Технико-экономические показатели программного средства

Наименование показателейОбозначенияЕд. измеренияРезультат1.Полная себестоимостьС/Сполн.руб.43275812.Свободная отпускная ценаЦотпруб.62317003.Сумма капитальных затратКЗруб.76817004.Экономия рабочего времени за годЭвргчас205.Экономия затрат на заработную плату за годЭЗПруб.4269376.Рост производительности труда­ ПТ%8,3

Целью данного этапа являлся расчет прогнозируемой цены и прибыли на программное средство, а также общих капитальных затрат потребителя, связанные приобретением, внедрением и использованием программного средства. Полная себестоимость программного средства составила 4327581 рублей, свободная отпускная цена составила 6231700 рублей, сумма капитальных затрат 7681716 рублей, экономия рабочего времени за год составила 20 часов, экономия затрат на заработную плату за год равна 426937 рублей, а рост производительности труда составил 8,3%.

7. ОХРАНА ТРУДА И ТЕХНИКА БЕЗОПАСНОСТИ

Общие требования безопасности.

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

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

  • повышенный уровень электромагнитных излучений;
  • повышенный уровень ионизирующих излучений;
  • повышенный уровень статического электричества;
  • повышенная напряженность электростатического поля;
  • повышенная или пониженная ионизация воздуха;
  • повышенная яркость света;
  • повышенное значение напряжения в электрической цепи, замыкание которой может произойти через тело человека;
  • статические перегрузки костно-мышечного аппарата и динамические локальные перегрузки мышц кистей рук;
  • перенапряжение зрительного анализатора;
  • умственное перенапряжение;
  • эмоциональные перегрузки;
  • монотонность труда.
  • В зависимости от условий труда, в которых применяются ПК, и характера работы на работников могут воздействовать также другие опасные и вредные производственные факторы.
  • Организация рабочего места с ПК должна учитывать требования безопасности, удобство положения, движений и действий работника.
  • Рабочий стол с учетом характера выполняемой работы должен иметь достаточный размер для рационального размещения монитора (дисплея), клавиатуры, другого используемого оборудования и документов, поверхность, обладающую низкой отражающей способностью. Клавиатура располагается на поверхности стола таким образом, чтобы пространство перед клавиатурой было достаточным для опоры рук работника (на расстоянии не менее чем 300 мм от края, обращенного к работнику). Чтобы обеспечивалось удобство зрительного наблюдения, быстрое и точное считывание информации, плоскость экрана монитора располагается ниже уровня глаз работника, предпочтительно перпендикуляр- го дня проветривание и ежедневная влажная уборка помещений, используются увлажнители воздуха.
  • При работе с ПК обеспечивается доступ работников к первичным средствам пожаротушения, аптечкам первой медицинской помощи.
  • Работники при работе с ПК с учетом воздействующих на них опасных и вредных производственных факторов обеспечиваются средствами индивидуальной защиты в соответствии с типовыми отраслевыми нормами для соответствующих профессий и должностей.
  • При работе с ПК работники обязаны:
  • соблюдать режим труда и отдыха, установленный законодательством, правилами внутреннего трудового распорядка организации, трудовую дисциплину, выполнять требования охраны труда, правил личной гигиены;
  • выполнять требования пожарной безопасности, знать порядок действий при пожаре, уметь применять первичные средства пожаротушения;
  • курить только в специально предназначенных для курения местах;
  • знать приемы оказания первой помощи при несчастных случаях на производстве;
  • -о неисправностях оборудования и других замечаниях по работе с ПК сообщать непосредственному руководителю или лицам, осуществляющим техническое обслуживание оборудования.
  • Не допускается:
  • выполнять работу, находясь в состоянии алкогольного опьянения либо в состоянии, вызванном употреблением наркотических средств, психотропных или токсических веществ, а также распивать спиртные напитки, употреблять наркотические средства, психотропные или токсические вещества на рабочем месте или в рабочее время;
  • устанавливать системный блок в закрытых объемах мебели, непосредственно на полу;
  • использовать для подключения ПК розетки, удлинители, не оснащенные заземляющим контактом (шиной). Работники, не выполняющие требования настоящей Инструкции, привлекаются к ответственности согласно законодательству.

Требования безопасности перед началом работы.

Перед началом работы с ПК работник обязан:

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

Требования безопасности при выполнении работы.

Во время работы с ПК работник обязан:

соблюдать требования охраны труда, установленные настоящей Инструкцией;

-содержать в порядке и чистоте свое рабочее место;

держать открытыми вентиляционные отверстия оборудования;

соблюдать оптимальное расстояние от экрана монитора до глаз.

Работу за экраном монитора следует периодически прерывать на
регламентированные перерывы, которые устанавливаются для обеспечения
работоспособности \- сохранения здоровья, или заменять другой работой с
целью сокращения рабочей нагрузки у экрана.
Время регламентированных перерывов в течение рабочего дня
устанавливается в зависимости от его (ее) продолжительности, вида и
категории трудовой деятельности согласно приложению
1 к настоящей Инструкции.
При 8-часовой рабочей смене и работе с ПК регламентированные перерывы устанавливаются:
для I категории работ - через 2 часа от начала рабочей смены и через 2 часа после обеденного перерыва продолжительностью 15 минут каждый;
для II категории работ - через 2 часа от начала рабочей смены и через 1,5-2 часа после обеденного перерыва продолжительностью 15 минут каждый или продолжительностью 10 минут через каждый час работы;

для III категории работ - через 1,5-2 часа от начала рабочей смены и через 1,5-2 часа после обеденного перерыва продолжительностью 20 минут каждый или продолжительностью 15 минут через каждый час работы.

При 12-часовой рабочей смене и работе с ПК регламентированные перерывы устанавливаются в первые 8 часов работы аналогично перерывам при 8-часовой рабочей смене, а в течение последних 4 часов работы, независимо от категории и вида работ, каждый час продолжительностью 15 минут.

При работе с ПК в ночную смену (с 22.00 до 6.00) независимо от категории и вида трудовой деятельности суммарная продолжительность регламентированных перерывов увеличивается на 60

Продолжительность непрерывной работы с ПК без регламентированного перерыва не должна превышать 2 часов.

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

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

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

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

Требования безопасности в аварийных ситуациях.

В аварийных (экстремальных) ситуациях необходимо:

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

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

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

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

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

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

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

-сообщить о происшествии руководителю.

Требования безопасности по окончании работы.

По окончании работы работник обязан:

корректно закрыть все активные задачи;

-при наличии дискеты в дисководе извлечь ее;

выключить питание системного блока;

выключить питание всех периферийных устройств;

отключить блок бесперебойного питания;

отключить стабилизатор напряжения (если он используется);

отключить питающий кабель от сети;

осмотреть и привести в порядок рабочее место;

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

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

ЗАКЛЮЧЕНИЕ

В ходе выполнения дипломного проекта была достигнута основная цель работы - разработка ПП «Доска накопления». Также были выполнены следующие задачи:

-определены требования к создаваемому ПО;

-разработано и протестировано приложение, соответствующее требованиям;

-осуществлены расчеты экономической эффективности разработанного программного средства;

-рассмотрены вопросы по технике безопасности работы с компьютером.

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

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

БД реализована в среде Microsoft SQL Server, а приложение реализовано в среде Visual Studio 2015 Community. В ходе тестирования программного продукта убедились в правильности его функционирования.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1.Джейсон, Прайс; Майк, Гандэрлой Visual C# .NET. Полное руководство; КОРОНА принт, 2004. - 960 c.

.Нейгел, К. C# 2005 для профессионалов; Вильямс, 2006. - 763 c.

.Рихтер, Джефри CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#; Питер, 2007. - 656 c.

.Робинсон, С.; Корнес, О.; Глинн, Д. и др. C# для профессионалов; М.: Лори, 2005. - 396 c.

.Гуриков С. Р. Введение в программирование на языке Visual C#; Форум, Инфра-М, 2013. - 448 с.

.Мартин Р. С., Мартин М. Принципы, паттерны и методики гибкой разработки на языке С#; Символ-Плюс, 2011. - 768 с.

.Пугачев С., Шериев А., Кичинский К. Разработка приложений для Windows 8 на языке C#; БХВ-Петербург, 2013. - 416 с.

.Фленов Михаил Библия С#; БХВ-Петербург, 2009. - 560 с.

.Нейгел, К. С# 2011 для профессионалов; Вильямс, 2012. - 763 с.

.Дейтел, Х. М,; Дейтел, П. Дж. Как программировать на С#; М.: Бином; Издание 4-е, 2005. - 390 с.

.Мэтью Мак-Дональд. Windows Presentation Foundation в .NET 4 с примерами на C# 2010 для профессионалов. М. : Вильямс, 2011, 1020 с.

.Бен Ватсон. C# 4.0 на примерах. Санкт-Петербург. : БХВ-Петербург, 2011, 590 с.

ПРИЛОЖЕНИЕ

using System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Threading.Tasks;System.Windows.Forms;

Дипломный_проект

{partial class Form1 : Form

{

private int s = 0; //переменная для размещения ГрупБокс в ряд по очереди

public int timerInter = 60; //переменная для автообновления

DataGridView[] dg = new DataGridView[100]; //массив для динамического создания ДатаГридВью

GroupBox[] gr = new GroupBox[100]; //массив для динамического создания ГрупБокс

public Form1()

{();.RowTemplate.DividerHeight = 3;.Text = timerInter.ToString();(var context = new ASUSEntities())

{.DataSource = context.vagon.Where(v => v.way_id == 710).ToList();ways = context.way.ToList();index = 1; int name = 0;(var way in ways.Where(v => v.prk_id == 659))

{= 709 + index;[index] = new GroupBox();[index].Top = 10;[index].Left = 8 + s;[index].Name = "grpB659_" + index.ToString();[index].Text = name.ToString();[index].Width = 262;[index].Height = 188;.EnableMove(gr[index]);.Controls.Add(gr[index]);+= 270;

[index] = new DataGridView();[index].Top = 15;[index].Left = 5;[index].Name = "dgV659_" + index.ToString();[index].Width = 250;[index].Height = 165;[index].Dock = DockStyle.Fill;[index].AllowUserToAddRows = false;[index].AllowUserToDeleteRows = false;[index].BackgroundColor = Color.Linen;[index].BorderStyle = BorderStyle.Fixed3D;[index].Padding = new Padding(5);[index].DefaultCellStyle.SelectionBackColor = Color.Coral;[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;[index].RowHeadersVisible = false;[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;[index].RowTemplate.DividerHeight = 3;[index].Controls.Add(dg[index]);

[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();++; name = 0;

}= 0;

//-------------------------------------------------------------------------------------------------= 0;(var way in ways.Where(v => v.prk_id == 660))

{= 709 + index;[index] = new GroupBox();[index].Top = 10;[index].Left = 8 + s;[index].Name = "grpB660_" + index.ToString();[index].Text = name.ToString();[index].Width = 262;[index].Height = 188;.EnableMove(gr[index]);.Controls.Add(gr[index]);+= 270;

[index] = new DataGridView();[index].Top = 15;[index].Left = 5;[index].Name = "dgV660_" + index.ToString();[index].Width = 250;[index].Height = 165;[index].Dock = DockStyle.Fill;[index].AllowUserToAddRows = false;[index].AllowUserToDeleteRows = false;[index].BackgroundColor = Color.Linen;[index].BorderStyle = BorderStyle.Fixed3D;[index].Padding = new Padding(5);[index].DefaultCellStyle.SelectionBackColor = Color.Coral;[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;[index].RowHeadersVisible = false;[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;[index].RowTemplate.DividerHeight = 3;[index].Controls.Add(dg[index]);[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();++; name = 0; ;

}= 0;

//-------------------------------------------------------------------------------------------------= 0;(var way in ways.Where(v => v.prk_id == 661))

{= 709 + index;[index] = new GroupBox();[index].Top = 10;[index].Left = 8 + s;[index].Name = "grpB661_" + index.ToString();[index].Text = name.ToString();[index].Width = 262;[index].Height = 188;.EnableMove(gr[index]);.Controls.Add(gr[index]);+= 270;

[index] = new DataGridView();[index].Top = 15;[index].Left = 5;[index].Name = "dgV661_" + index.ToString();[index].Width = 250;[index].Height = 165;[index].Dock = DockStyle.Fill;[index].AllowUserToAddRows = false;[index].AllowUserToDeleteRows = false;[index].BackgroundColor = Color.Linen;[index].BorderStyle = BorderStyle.Fixed3D;[index].Padding = new Padding(5);[index].DefaultCellStyle.SelectionBackColor = Color.Coral;[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;[index].RowHeadersVisible = false;[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;[index].RowTemplate.DividerHeight = 3;[index].Controls.Add(dg[index]);

[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();++; name = 0; ;

}= 0;

//-------------------------------------------------------------------------------------------------= 0;(var way in ways.Where(v => v.prk_id == 662))

{= 709 + index;[index] = new GroupBox();[index].Top = 10;[index].Left = 8 + s;[index].Name = "grpB662_" + index.ToString();[index].Text = name.ToString();[index].Width = 262;[index].Height = 188;.EnableMove(gr[index]);.Controls.Add(gr[index]);+= 270;

[index] = new DataGridView();[index].Top = 15;[index].Left = 5;[index].Name = "dgV662_" + index.ToString();[index].Width = 250;[index].Height = 165;[index].Dock = DockStyle.Fill;[index].AllowUserToAddRows = false;[index].AllowUserToDeleteRows = false;[index].BackgroundColor = Color.Linen;[index].BorderStyle = BorderStyle.Fixed3D;[index].Padding = new Padding(5);[index].DefaultCellStyle.SelectionBackColor = Color.Coral;[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;[index].RowHeadersVisible = false;[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;[index].RowTemplate.DividerHeight = 3;[index].Controls.Add(dg[index]);

[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();++; name = 0; ;

}= 0;

//----------------------------------------------------------------------------------------= 0;(var way in ways.Where(v => v.prk_id == 663))

{= 709 + index;[index] = new GroupBox();[index].Top = 10;[index].Left = 8 + s;[index].Name = "grpB663_" + index.ToString();[index].Text = name.ToString();[index].Width = 262;[index].Height = 188;.EnableMove(gr[index]);.Controls.Add(gr[index]);+= 270;

[index] = new DataGridView();[index].Top = 15;[index].Left = 5;[index].Name = "dgV663_" + index.ToString();[index].Width = 250;[index].Height = 165;[index].Dock = DockStyle.Fill;[index].AllowUserToAddRows = false;[index].AllowUserToDeleteRows = false;[index].BackgroundColor = Color.Linen;[index].BorderStyle = BorderStyle.Fixed3D;[index].Padding = new Padding(5);[index].DefaultCellStyle.SelectionBackColor = Color.Coral;[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;[index].RowHeadersVisible = false;[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;[index].RowTemplate.DividerHeight = 3;[index].Controls.Add(dg[index]);

[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();++; name = 0; ;

}= 0;

//-------------------------------------------------------------------------------------------------= 0;(var way in ways.Where(v => v.prk_id == 664))

{= 709 + index;[index] = new GroupBox();[index].Top = 10;[index].Left = 8 + s;[index].Name = "grpB664_" + index.ToString();[index].Text = name.ToString();[index].Width = 262;[index].Height = 188;.EnableMove(gr[index]);.Controls.Add(gr[index]);+= 270;

[index] = new DataGridView();[index].Top = 15;[index].Left = 5;[index].Name = "dgV664_" + index.ToString();[index].Width = 250;[index].Height = 165;[index].Controls.Add(dg[index]);[index].Dock = DockStyle.Fill;[index].AllowUserToAddRows = false;[index].AllowUserToDeleteRows = false;[index].BackgroundColor = Color.Linen;[index].BorderStyle = BorderStyle.Fixed3D;[index].Padding = new Padding(5);[index].DefaultCellStyle.SelectionBackColor = Color.Coral;[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;[index].RowHeadersVisible = false;[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;[index].RowTemplate.DividerHeight = 3;[index].DataSource = context.vagon.Where(v => v.way_id == name).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();++; name = 0; ;

}= 0;

}

}

void настройкиToolStripMenuItem_Click(object sender, EventArgs e)

{f2 = new Form2();.ShowDialog();

}

void timer1_Tick(object sender, EventArgs e)

{.Interval = timerInter * 1000;(var context = new ASUSEntities())

{f = 710;(int index = 1; index <= 46; index++)

{[index].DataSource = context.vagon.Where(v => v.way_id == f).Select(v => new

{ Код_груза = v.cod_gruz, Номер_вагона = v.in_vgn, Номер_пути = v.way_id,

Номер_состава = v.sostav_id, Резервный_номер = v.rezerv_id, Ролик = v.rolik,

Код_СБС = v.cod_sbs, Вес_груза = v.ves_gruz, Станция_получатель = v.st_destn,

Код_парка = v.cod_prk, Негабаритные_вагоны = v.negab_vg, Пломба = v.plomb,

Срок = v.srok, Грузившая_станция = v.pogr_st, Тара = v.tara, Примечание = v.prim,

Доступ = v.privat }).ToList();++;

}

}

}

void tsTbInter_Leave(object sender, EventArgs e)

{

{(Convert.ToInt32(tsTbInter.Text) <= 0)

{ MessageBox.Show("Введено отрицательное значение или ноль!", "Ошибка ввода"); }

else

{ timerInter = Convert.ToInt32(tsTbInter.Text); }

}

catch { MessageBox.Show("Введено неверное значение!", "Ошибка ввода"); }

}

}

// класс для перемещения элементов:

public static class MoveCtrl

{List<ScrollEngine> Scrlrs = new List<ScrollEngine>();public void EnableMove(Control c)

{scrollEngine = new ScrollEngine(c);.Add(scrollEngine);

}

void scrollEngine_Scroll(object sender, MoveCtrl.ScrollEngine.ScrollEventArgs e)

{

}class ScrollEngine

{static bool DefaultScrollCondition()

{Form.MouseButtons.HasFlag(MouseButtons.Left);

}

Control scrollableControl;Point positionBeforeMove;

ScrollEngine(Control scrollableControl)

{= DefaultScrollCondition;= scrollableControl;.Scroll += ScrollEngine_Scroll;

}

ScrollEngine_Scroll(object sender, ScrollEngine.ScrollEventArgs e)

{.Location += e.Offset;

}

Control ScrollableControl

{

{scrollableControl;

}

{();= value;();

}

}

Func<bool> ScrollCondition { get; set; }

void Connect()

{(scrollableControl != null)

{.MouseMove += ScrollableControl_MouseMove;

}

}

void Disconnect()

{(scrollableControl != null)

{.MouseMove -= ScrollableControl_MouseMove;

}

}

void ScrollableControl_MouseMove(object sender, MouseEventArgs e)

{(ScrollCondition())

{offset = new Size(Cursor.Position.X - positionBeforeMove.X, Cursor.Position.Y - positionBeforeMove.Y);(new ScrollEventArgs(offset));

}= Cursor.Position;

}

virtual void OnScroll(ScrollEventArgs e)

{(Scroll != null)

{(this, e);

}

}

event EventHandler<ScrollEventArgs> Scroll;

class ScrollEventArgs : EventArgs

{ScrollEventArgs(Size offset)

{= offset;

}

Size Offset { get; private set; }

}

}

}

}

Похожие работы

 

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