Создание автоматизированного рабочего места диспетчера
Обоснование необходимости автоматизации рабочего места. Выбор среды программирования. Этапы разработки программного продукта. База данных и таблицы. Расчет возможного роста производительности труда от внедрения автоматизированной информационной системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 17.07.2016 |
Размер файла | 661,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Разработанное ПО полностью соответствует всем требованиям. Также был разработан простой и интуитивно понятный интерфейс для упрощения работы диспетчера. Наличие дружественного интерфейса предполагает: сокращение расходов на приобретение специальной научно-технической литературы, обучение персонала работе с данным программным продуктом. Данный программный продукт по сравнению с аналогами меньше по объему, что снижает его отпускную цену. Приведенные расчеты эффективности показывают, что последующее внедрение ПП экономически обосновано, проект имеет относительно короткий срок окупаемости, и будет способствовать увеличению производительности труда.
БД реализована в среде Microsoft SQL Server, а приложение реализовано в среде Visual Studio 2015 Community. В ходе тестирования программного продукта убедились в правильности его функционирования.
С помощью данного продукта специалист может заметно быстрее находить необходимую информацию в таблицах, видеть изменения, а также самостоятельно настроить порядок путей для более комфортной работы.
В дальнейшем данное ПО может быть улучшено либо модернизирована для других отделов как внутри ж/д станции, так и в других предприятиях.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Джейсон, Прайс; Майк, Гандэрлой Visual C# .NET. Полное руководство; КОРОНА принт, 2004. - 960 c.
2. Нейгел, К. C# 2005 для профессионалов; Вильямс, 2006. - 763 c.
3. Рихтер, Джефри CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#; Питер, 2007. - 656 c.
4. Робинсон, С.; Корнес, О.; Глинн, Д. и др. C# для профессионалов; М.: Лори, 2005. - 396 c.
5. Гуриков С. Р. Введение в программирование на языке Visual C#; Форум, Инфра-М, 2013. - 448 с.
6. Мартин Р. С., Мартин М. Принципы, паттерны и методики гибкой разработки на языке С#; Символ-Плюс, 2011. - 768 с.
7. Пугачев С., Шериев А., Кичинский К. Разработка приложений для Windows 8 на языке C#; БХВ-Петербург, 2013. - 416 с.
8. Фленов Михаил Библия С#; БХВ-Петербург, 2009. - 560 с.
9. Нейгел, К. С# 2011 для профессионалов; Вильямс, 2012. - 763 с.
10. Дейтел, Х. М,; Дейтел, П. Дж. Как программировать на С#; М.: Бином; Издание 4-е, 2005. - 390 с.
11. Мэтью Мак-Дональд. Windows Presentation Foundation в .NET 4 с примерами на C# 2010 для профессионалов. М. : Вильямс, 2011, 1020 с.
12. Бен Ватсон. C# 4.0 на примерах. Санкт-Петербург. : БХВ-Петербург, 2011, 590 с.
ПРИЛОЖЕНИЕ
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Дипломный_проект
{
public partial class Form1 : Form
{
private int s = 0; //переменная для размещения ГрупБокс в ряд по очереди
public int timerInter = 60; //переменная для автообновления
DataGridView[] dg = new DataGridView[100]; //массив для динамического создания ДатаГридВью
GroupBox[] gr = new GroupBox[100]; //массив для динамического создания ГрупБокс
public Form1()
{
InitializeComponent();
dataGridView1.RowTemplate.DividerHeight = 3;
tsTbInter.Text = timerInter.ToString();
using (var context = new ASUSEntities())
{
dataGridView1.DataSource = context.vagon.Where(v => v.way_id == 710).ToList();
var ways = context.way.ToList();
int index = 1; int name = 0;
foreach (var way in ways.Where(v => v.prk_id == 659))
{
name = 709 + index;
gr[index] = new GroupBox();
gr[index].Top = 10;
gr[index].Left = 8 + s;
gr[index].Name = "grpB659_" + index.ToString();
gr[index].Text = name.ToString();
gr[index].Width = 262;
gr[index].Height = 188;
MoveCtrl.EnableMove(gr[index]);
tabP659.Controls.Add(gr[index]);
s += 270;
dg[index] = new DataGridView();
dg[index].Top = 15;
dg[index].Left = 5;
dg[index].Name = "dgV659_" + index.ToString();
dg[index].Width = 250;
dg[index].Height = 165;
dg[index].Dock = DockStyle.Fill;
dg[index].AllowUserToAddRows = false;
dg[index].AllowUserToDeleteRows = false;
dg[index].BackgroundColor = Color.Linen;
dg[index].BorderStyle = BorderStyle.Fixed3D;
dg[index].Padding = new Padding(5);
dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;
dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;
dg[index].RowHeadersVisible = false;
dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dg[index].RowTemplate.DividerHeight = 3;
gr[index].Controls.Add(dg[index]);
dg[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();
index++; name = 0;
}
s = 0;
//-------------------------------------------------------------------------------------------------
name = 0;
foreach (var way in ways.Where(v => v.prk_id == 660))
{
name = 709 + index;
gr[index] = new GroupBox();
gr[index].Top = 10;
gr[index].Left = 8 + s;
gr[index].Name = "grpB660_" + index.ToString();
gr[index].Text = name.ToString();
gr[index].Width = 262;
gr[index].Height = 188;
MoveCtrl.EnableMove(gr[index]);
tabP660.Controls.Add(gr[index]);
s += 270;
dg[index] = new DataGridView();
dg[index].Top = 15;
dg[index].Left = 5;
dg[index].Name = "dgV660_" + index.ToString();
dg[index].Width = 250;
dg[index].Height = 165;
dg[index].Dock = DockStyle.Fill;
dg[index].AllowUserToAddRows = false;
dg[index].AllowUserToDeleteRows = false;
dg[index].BackgroundColor = Color.Linen;
dg[index].BorderStyle = BorderStyle.Fixed3D;
dg[index].Padding = new Padding(5);
dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;
dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;
dg[index].RowHeadersVisible = false;
dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dg[index].RowTemplate.DividerHeight = 3;
gr[index].Controls.Add(dg[index]);
dg[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();
index++; name = 0; ;
}
s = 0;
//-------------------------------------------------------------------------------------------------
name = 0;
foreach (var way in ways.Where(v => v.prk_id == 661))
{
name = 709 + index;
gr[index] = new GroupBox();
gr[index].Top = 10;
gr[index].Left = 8 + s;
gr[index].Name = "grpB661_" + index.ToString();
gr[index].Text = name.ToString();
gr[index].Width = 262;
gr[index].Height = 188;
MoveCtrl.EnableMove(gr[index]);
tabP661.Controls.Add(gr[index]);
s += 270;
dg[index] = new DataGridView();
dg[index].Top = 15;
dg[index].Left = 5;
dg[index].Name = "dgV661_" + index.ToString();
dg[index].Width = 250;
dg[index].Height = 165;
dg[index].Dock = DockStyle.Fill;
dg[index].AllowUserToAddRows = false;
dg[index].AllowUserToDeleteRows = false;
dg[index].BackgroundColor = Color.Linen;
dg[index].BorderStyle = BorderStyle.Fixed3D;
dg[index].Padding = new Padding(5);
dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;
dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;
dg[index].RowHeadersVisible = false;
dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dg[index].RowTemplate.DividerHeight = 3;
gr[index].Controls.Add(dg[index]);
dg[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();
index++; name = 0; ;
}
s = 0;
//-------------------------------------------------------------------------------------------------
name = 0;
foreach (var way in ways.Where(v => v.prk_id == 662))
{
name = 709 + index;
gr[index] = new GroupBox();
gr[index].Top = 10;
gr[index].Left = 8 + s;
gr[index].Name = "grpB662_" + index.ToString();
gr[index].Text = name.ToString();
gr[index].Width = 262;
gr[index].Height = 188;
MoveCtrl.EnableMove(gr[index]);
tabP662.Controls.Add(gr[index]);
s += 270;
dg[index] = new DataGridView();
dg[index].Top = 15;
dg[index].Left = 5;
dg[index].Name = "dgV662_" + index.ToString();
dg[index].Width = 250;
dg[index].Height = 165;
dg[index].Dock = DockStyle.Fill;
dg[index].AllowUserToAddRows = false;
dg[index].AllowUserToDeleteRows = false;
dg[index].BackgroundColor = Color.Linen;
dg[index].BorderStyle = BorderStyle.Fixed3D;
dg[index].Padding = new Padding(5);
dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;
dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;
dg[index].RowHeadersVisible = false;
dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dg[index].RowTemplate.DividerHeight = 3;
gr[index].Controls.Add(dg[index]);
dg[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();
index++; name = 0; ;
}
s = 0;
//----------------------------------------------------------------------------------------
name = 0;
foreach (var way in ways.Where(v => v.prk_id == 663))
{
name = 709 + index;
gr[index] = new GroupBox();
gr[index].Top = 10;
gr[index].Left = 8 + s;
gr[index].Name = "grpB663_" + index.ToString();
gr[index].Text = name.ToString();
gr[index].Width = 262;
gr[index].Height = 188;
MoveCtrl.EnableMove(gr[index]);
tabP663.Controls.Add(gr[index]);
s += 270;
dg[index] = new DataGridView();
dg[index].Top = 15;
dg[index].Left = 5;
dg[index].Name = "dgV663_" + index.ToString();
dg[index].Width = 250;
dg[index].Height = 165;
dg[index].Dock = DockStyle.Fill;
dg[index].AllowUserToAddRows = false;
dg[index].AllowUserToDeleteRows = false;
dg[index].BackgroundColor = Color.Linen;
dg[index].BorderStyle = BorderStyle.Fixed3D;
dg[index].Padding = new Padding(5);
dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;
dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;
dg[index].RowHeadersVisible = false;
dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dg[index].RowTemplate.DividerHeight = 3;
gr[index].Controls.Add(dg[index]);
dg[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();
index++; name = 0; ;
}
s = 0;
//-------------------------------------------------------------------------------------------------
name = 0;
foreach (var way in ways.Where(v => v.prk_id == 664))
{
name = 709 + index;
gr[index] = new GroupBox();
gr[index].Top = 10;
gr[index].Left = 8 + s;
gr[index].Name = "grpB664_" + index.ToString();
gr[index].Text = name.ToString();
gr[index].Width = 262;
gr[index].Height = 188;
MoveCtrl.EnableMove(gr[index]);
tabP664.Controls.Add(gr[index]);
s += 270;
dg[index] = new DataGridView();
dg[index].Top = 15;
dg[index].Left = 5;
dg[index].Name = "dgV664_" + index.ToString();
dg[index].Width = 250;
dg[index].Height = 165;
gr[index].Controls.Add(dg[index]);
dg[index].Dock = DockStyle.Fill;
dg[index].AllowUserToAddRows = false;
dg[index].AllowUserToDeleteRows = false;
dg[index].BackgroundColor = Color.Linen;
dg[index].BorderStyle = BorderStyle.Fixed3D;
dg[index].Padding = new Padding(5);
dg[index].DefaultCellStyle.SelectionBackColor = Color.Coral;
dg[index].DefaultCellStyle.SelectionForeColor = Color.DarkBlue;
dg[index].RowHeadersVisible = false;
dg[index].SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dg[index].RowTemplate.DividerHeight = 3;
dg[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();
index++; name = 0; ;
}
s = 0;
}
}
private void настройкиToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.ShowDialog();
}
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Interval = timerInter * 1000;
using (var context = new ASUSEntities())
{
int f = 710;
for (int index = 1; index <= 46; index++)
{
dg[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();
f++;
}
}
}
private void tsTbInter_Leave(object sender, EventArgs e)
{
try
{
if (Convert.ToInt32(tsTbInter.Text) <= 0)
{ MessageBox.Show("Введено отрицательное значение или ноль!", "Ошибка ввода"); }
else
{ timerInter = Convert.ToInt32(tsTbInter.Text); }
}
catch { MessageBox.Show("Введено неверное значение!", "Ошибка ввода"); }
}
}
// класс для перемещения элементов:
public static class MoveCtrl
{
static List<ScrollEngine> Scrlrs = new List<ScrollEngine>();
static public void EnableMove(Control c)
{
var scrollEngine = new ScrollEngine(c);
Scrlrs.Add(scrollEngine);
}
static void scrollEngine_Scroll(object sender, MoveCtrl.ScrollEngine.ScrollEventArgs e)
{
}
public class ScrollEngine
{
public static bool DefaultScrollCondition()
{
return Form.MouseButtons.HasFlag(MouseButtons.Left);
}
private Control scrollableControl;
private Point positionBeforeMove;
public ScrollEngine(Control scrollableControl)
{
ScrollCondition = DefaultScrollCondition;
ScrollableControl = scrollableControl;
this.Scroll += ScrollEngine_Scroll;
}
void ScrollEngine_Scroll(object sender, ScrollEngine.ScrollEventArgs e)
{
scrollableControl.Location += e.Offset;
}
public Control ScrollableControl
{
get
{
return scrollableControl;
}
set
{
Disconnect();
scrollableControl = value;
Connect();
}
}
public Func<bool> ScrollCondition { get; set; }
private void Connect()
{
if (scrollableControl != null)
{
scrollableControl.MouseMove += ScrollableControl_MouseMove;
}
}
private void Disconnect()
{
if (scrollableControl != null)
{
scrollableControl.MouseMove -= ScrollableControl_MouseMove;
}
}
private void ScrollableControl_MouseMove(object sender, MouseEventArgs e)
{
if (ScrollCondition())
{
Size offset = new Size(Cursor.Position.X - positionBeforeMove.X, Cursor.Position.Y - positionBeforeMove.Y);
OnScroll(new ScrollEventArgs(offset));
}
positionBeforeMove = Cursor.Position;
}
protected virtual void OnScroll(ScrollEventArgs e)
{
if (Scroll != null)
{
Scroll(this, e);
}
}
public event EventHandler<ScrollEventArgs> Scroll;
public class ScrollEventArgs : EventArgs
{
public ScrollEventArgs(Size offset)
{
Offset = offset;
}
public Size Offset { get; private set; }
}
}
}
}
Размещено на Allbest.ur
Подобные документы
Анализ программ автоматизации деятельности диспетчера такси. Жизненный цикл автоматизированной информационной системы, язык программирования, система управления базами данных. Создание программы "Автоматизированное рабочее место диспетчера такси".
курсовая работа [1,6 M], добавлен 19.11.2010Технологический процесс сбора, передачи, обработки и выдачи информации. Назначение программного продукта. Анализ экономических показателей внедрения автоматизированного рабочего места кассира-операциониста. Организация рабочего места оператора ЭВМ.
дипломная работа [2,6 M], добавлен 08.12.2014Разработка программного продукта для автоматизации рабочего места менеджера в агентстве недвижимости. Проектирование информационной системы для отдела работы с клиентами с возможностью обработки данных о квартирах, услугах, учете заказов и учете сделок.
курсовая работа [3,1 M], добавлен 13.02.2012Проект автоматизированного рабочего места для работы с клиентами и использования клиентских баз данных. Регистрация данных о состоянии объекта управления. Обеспечение взаимодействия человека с системой. Доступ к результатам регистрации информации.
курсовая работа [1,7 M], добавлен 02.10.2010Разработка и внедрение модуля комплексной системы автоматизированного рабочего места диспетчера по транспорту, позволяющей автоматизировать работу диспетчера: по учету, контролю выполнения заявок, их регистрации, а также по созданию итоговых отчетов.
дипломная работа [4,3 M], добавлен 25.01.2013Обоснование необходимости и основные цели использования вычислительной техники для решения задачи. Используемые классификаторы и системы кодирования. Программное обеспечение разработки автоматизированного рабочего места. Описание программных модулей.
дипломная работа [3,9 M], добавлен 11.08.2015Краткий обзор технических средств для промышленной автоматизации. Концепция построения информационной системы производства на базе Proficy. Анализ разработки автоматизации узлов учета нефти автоматизированного рабочего места оператора нефтебазы.
дипломная работа [5,2 M], добавлен 19.03.2015Разработка и реализация автоматизированного рабочего места для менеджера по продажам компьютерной техники. Требования к функциональным характеристика программного изделия. Стадии и этапы разработки. Эксплуатационная документация, руководство оператора.
курсовая работа [686,9 K], добавлен 19.05.2014Концептуальное моделирование профессиональной среды. Создание единой информационной сети. Перечень данных необходимых для реализации функций. Проектирование реляционных баз данных. Нормализация отношений и структура файлов. Выбор средств программирования.
научная работа [20,5 K], добавлен 29.01.2009Технико-экономическое обоснование разработки информационной системы "План-меню". Выбор технических средств и стандартного программного обеспечения. Проектирование структуры базы данных. Разработка и структура пользовательского интерфейса и ER-модели.
курсовая работа [817,6 K], добавлен 07.05.2009