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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

СУБД - система управления базами данных.- 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 <#"877986.files/image001.gif">

Рисунок 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.Полная себестоимость

С/Сполн.

руб.

4327581

2.Свободная отпускная цена

Цотп

руб.

6231700

3.Сумма капитальных затрат

КЗ

руб.

7681700

4.Экономия рабочего времени за год

Эврг

час

20

5.Экономия затрат на заработную плату за год

ЭЗП

руб.

426937

6.Рост производительности труда

­ ПТ

%

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;

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; }

}

}

}

}

Похожие работы на - Создание автоматизированного рабочего места диспетчера

 

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