Диплом: Автоматизация планирования и учёта выполнения работ по подготовке УММ кафедры информационных технологий «Академии управления МВД России»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
72
Заключение
Целью выпускной квалификационной работы является автоматизация
планирования и учета выполнения работ по подготовке УММ (учебно-
методического материала) кафедры информационных технологий Академии
управления МВД России.
Разработанное программное обеспечение позволяет быстро и эффективно
вести учет учебно-методических материалов для сотрудников учебно-
методического отдела, проректора по учебной работе. Педагогического состава,
реализован оперативный поиск документов, реализована возможность
использования штрих-кодов документов, формируется дерево документов по
каждой дисциплине.
Разработанное программное обеспечение избавит сотрудников от рутинных
работ, связанных с ручным заполнением данных в различные книги учета, ручного
поиска документов. Система проста в эксплуатации, удобна и эргономична, не
требует особых знаний от пользователя в области программирования и теории баз
данных. Для удобства работы пользователя разработано руководство пользователя.
В качестве СУБД для реализации ПО выбрана MS SQL Server 2016 R2 Express
(является свободно распространяемой СУБД), в качестве среды разработки выбрана
Microsoft Visual Studio, язык программирования C#.
Внедрение информационной системы позволит:
повысить производительность труда сотрудников;
экономить рабочее время сотрудников;
автоматизировать процесс планирования и учета учебном-методических
материалов;
сократить время на поиск документов;
хранить информацию в безбумажном виде;
повысить достоверность и качество хранимой информации за счет
автоматической проверки вводимых данных о документах.
73
В ходе выполнения работы были рассмотрены проблемы существующей
системы работы со строительной документацией, выявлены проблемы и предложено
решение по их устранению.
В процессе выполнения работы рассмотрена структура программного
обеспечения, выполнена разработка логической и физической модели данных.
Рассмотрен визуальный интерфейс разработанного продукта.
Выполнен расчет себестоимости проекта, который показал, что разработка
информационной системы обойдется порядка 196 тысяч рублей. Следовательно,
фактический срок окупаемости составляет 1,3 года. Так как этот показатель менее
трех лет, следовательно, информационная система является экономически
выгодным проектом.
Все поставленные задачи выполнены в полном объеме. Цель выпускной
квалификационной работы достигнута.
74
Список использованной литературы
1. ГОСТ 34.601-90. Информационная технология. Комплекс стандартов на
автоматизированные системы. Автоматизированные системы. Стадии
создания. - М.: ИПК Издательство стандартов, 1997. - 10 с.
2. Баканов М.И., Шеремет А.Д. Теория проектирования баз данных: Учебник. –
М.: Финансы и статистика, 2013. – 369 с.
3. Бирюкова О.Ю. Проектирование баз данныхМ.: Эксмо, 2016. – 352 с.
4. Бочаров В.В. Проектирование информационных систем. СПб.: Питер, 2014. –
256 с.
5. Гринченко Н. Н. Проектирование баз данных. Учебное пособие – СПб.: Горячая
Линия – Телеком, 2015. – 296 с.
6. Гарнаев А., Microsoft Visual Studio, СПб.: Питер, 2015. – 564 с.
7. Емельянова Н.А., Персональный компьютер. Учебное пособие, М.– Инфра–М,
2015. – 368 с.
8. Исаев Г.А., Проектирование информационных систем. Учебное пособие, М.–
Омега–Л, 2015. – 432 с.
9. Коротков Э.М. Разработка баз данных: учебник. – 2–е изд. – М.: ИНФРА – М,
2016. – 398 с.
10. Культин К.К., Основы программирования в C# СПб.: БХВ–Петербург, 2017.
425 с.
11. Леонтьев В.П. Новейшая энциклопедия персонального компьютера. М.:
ОЛМА–ПРЕСС, 2015. – 306 с.
12. Летчфорд А.Н. Учебно-методическое обеспечение ВУЗа / А. Н. Летчфорд, В.
А. Шинкевич. – СПб., 2016. – 310 с.
13. Макаров Н.А., Проектирование баз данных. Учебное пособие, М.: Горячая
линия – Телеком, 2017. – 240 с.
14. Михеева В.Д., Харитонова И.А. Oracle – СПб.: БХВ – Петербург, 2017. – 374 с.
15. Назаров С.В. Компьютерные технологии обработки информации. – М.:
Финансы и статистика, 2012. – 290 с.
16. Пирогов, В.Ю. Информационные системы и базы данных. Организация и
проектирование – СПб.: БХВ–Петербург, 2017. – 169 с.
75
17. Стюарт Роб, Разработка программного обеспечение ITIL. БХВ–Петербург,
2013. – 304 с.
18. Тарасов С., СУБД для программиста. Базы данных изнутри. М.: Соломон, 2015.
– 320 с.
19. Турецкий Э., Особенности MS SQL Server, М.: Вильямс, 2015. – 1312 с.
20. Ульянов, П.М. Расчет экономической эффективности ПО: учебное пособие –
М.: Высшее образование, 2016. – 125 с.
21. Уральская, К.Е. Экономика для ВУЗов – М.: Высшее образование, 2017. 215 с.
22. Ширин, В.М. MySQL – М.: Высшее образование, 2016. – 369 с.
23. «Автор-ВУЗ» компании ООО «Образование» [Электронный ресурс], Режим
доступа: http://avtor-vuz.ru/
24. АУ МВД России [Электронный ресурс], Режим доступа:
https://мвд.рф/mvd/structure1/Centri/Akademija_upravlenija_MVD_Rossii
25. Модели жизненного цикла ПО [Электронный ресурс], Режим доступа:
http://www.mstu.edu.ru/study/materials/jc.html
26. Технологии проектирования информационных систем [Электронный ресурс],
Режим доступа: http://gosisis.narod.ru/otvet/42.htm
27. Планы ВПО» Лаборатории ММИС [Электронный ресурс], Режим доступа:
https://www.mmis.ru/programs/plany
28. Подготовка учебно-методических материалов [Электронный ресурс], Режим
доступа: http://www2.rsuh.ru/section.html?id=962
29. Сайт Embarcadero RAD Studio [Электронный ресурс], Режим доступа:
https://www.embarcadero.com/ru
30. CRM «Ректор-ВУЗ» компании ООО «Информационные технологии»
[Электронный ресурс], Режим доступа: http://rector.spb.ru/raspisanie-vuz-4u.php
31. MS SQL Server [Электронный ресурс], Режим доступа: http://mssqlserver.com
32. MS Visual Studio [Электронный ресурс], Режим доступа:
https://www.visualstudio.com/ru/?rr=https%3A%2F%2Fwww.google.ru%2F
76
Приложение А. Исходный код
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;
using System.IO;
using System.Diagnostics;
using Ionic.Zip;
using System.Net;
using System.Net.Mail;
using System.Collections;
namespace Docs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void должностиToolStripMenuItem_Click(object sender, EventArgs e)
{
FormDolj f = new FormDolj();
f.StartPosition = FormStartPosition.CenterScreen;
f.ShowDialog();
}
private void отделыToolStripMenuItem_Click(object sender, EventArgs e)
{
FormOtdel f = new FormOtdel();
f.StartPosition = FormStartPosition.CenterScreen;
f.ShowDialog();
}
private void статусыДокументовToolStripMenuItem_Click(object sender, EventArgs e)
{
FormSatus f = new FormSatus();
f.StartPosition = FormStartPosition.CenterScreen;
f.ShowDialog();
}
private void документыToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void FillTtree()
{
77
treeView1.Nodes.Clear();
treeView1.Nodes.Add("<Без фильтра>");
foreach (DocsDataSet.ОбъектыRow ob in docsDataSet.Объекты)
{
TreeNode node = treeView1.Nodes.Add(ob.Наименование);
node.Tag = ob;
DataRow[] dr = docsDataSet.Документы.Select("КодОбъекта=" + ob.КодОбъекта);
foreach (DocsDataSet.ДокументыRow d in dr)
{
//категории
int i = 0;
foreach (TreeNode n in node.Nodes)
{
DocsDataSet.КатегорииДокументовRow k =
(DocsDataSet.КатегорииДокументовRow)n.Tag;
if (k.КодКатегории == d.КодКатегории)
{ //виды
i++;
foreach (TreeNode nn in n.Nodes)
{
DocsDataSet.ВидДокументаRow v =
(DocsDataSet.ВидДокументаRow)nn.Tag;
if (d.КодВида == v.КодВида)
{
TreeNode dd = nn.Nodes.Add(d.Наименование);
dd.Tag = d;
}
}
}
}
//нет категории
if (i == 0)
{
DocsDataSet.КатегорииДокументовRow kat =
docsDataSet.КатегорииДокументов.FindByКодКатегории(d.КодКатегории);
TreeNode nkat = node.Nodes.Add(kat.Наименование);
nkat.Tag = kat;
DocsDataSet.ВидДокументаRow vid =
docsDataSet.ВидДокумента.FindByКодВида(d.КодВида);
TreeNode nvid = nkat.Nodes.Add(vid.Нименование);
nvid.Tag = vid;
TreeNode dd = nvid.Nodes.Add(d.Наименование);
dd.Tag = d;
}
}
}
treeView1.ExpandAll();
}
78
private void объектыToolStripMenuItem_Click(object sender, EventArgs e)
{
FormObjects f = new FormObjects();
f.StartPosition = FormStartPosition.CenterScreen;
f.ShowDialog();
FillTtree();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.НормативныеДокументы". При необходимости она может быть перемещена или
удалена.
this.нормативныеДокументыTableAdapter.Fill(this.docsDataSet.НормативныеДокументы);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.Объекты". При необходимости она может быть перемещена или удалена.
this.объектыTableAdapter.Fill(this.docsDataSet.Объекты);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.КатегорииДокументов". При необходимости она может быть перемещена или удалена.
this.категорииДокументовTableAdapter.Fill(this.docsDataSet.КатегорииДокументов);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.ВидДокумента". При необходимости она может быть перемещена или удалена.
this.видДокументаTableAdapter.Fill(this.docsDataSet.ВидДокумента);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.Источники". При необходимости она может быть перемещена или удалена.
this.источникиTableAdapter.Fill(this.docsDataSet.Источники);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.СтатусДокумента". При необходимости она может быть перемещена или удалена.
this.статусДокументаTableAdapter.Fill(this.docsDataSet.СтатусДокумента);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.Сотрудники". При необходимости она может быть перемещена или удалена.
this.сотрудникиTableAdapter.Fill(this.docsDataSet.Сотрудники);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.Разработчики". При необходимости она может быть перемещена или удалена.
this.разработчикиTableAdapter.Fill(this.docsDataSet.Разработчики);
// TODO: данная строка кода позволяет загрузить данные в таблицу
"docsDataSet.Документы". При необходимости она может быть перемещена или удалена.
this.документыTableAdapter.Fill(this.docsDataSet.Документы);
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e == null || e.Node == null) return;
//Объект
if (e.Node.Parent == null)
{
if (e.Node.Tag == null)
{
документыBindingSource.Filter = "";
79
}
else
{
DocsDataSet.ОбъектыRow o = (DocsDataSet.ОбъектыRow)e.Node.Tag;
документыBindingSource.Filter = "КодОбъекта=" + o.КодОбъекта.ToString();
}
}
else
{
//категории
if (e.Node.Parent.Parent == null)
{
DocsDataSet.ОбъектыRow o = (DocsDataSet.ОбъектыRow)e.Node.Parent.Tag;
DocsDataSet.КатегорииДокументовRow k =
(DocsDataSet.КатегорииДокументовRow)e.Node.Tag;
документыBindingSource.Filter = "КодОбъекта=" + o.КодОбъекта.ToString() + "
and КодКатегории=" + k.КодКатегории;
}
else
{
if (e.Node.Parent.Parent.Parent == null)
{
DocsDataSet.ОбъектыRow o =
(DocsDataSet.ОбъектыRow)e.Node.Parent.Parent.Tag;
DocsDataSet.КатегорииДокументовRow k =
(DocsDataSet.КатегорииДокументовRow)e.Node.Parent.Tag;
DocsDataSet.ВидДокументаRow v =
(DocsDataSet.ВидДокументаRow)e.Node.Tag;
документыBindingSource.Filter = "КодОбъекта=" + o.КодОбъекта.ToString() +
" and КодКатегории=" + k.КодКатегории + " and КодВида=" + v.КодВида.ToString();
}
else
{
//документ
DocsDataSet.ДокументыRow o = (DocsDataSet.ДокументыRow)e.Node.Tag;
документыBindingSource.Filter = "КодДокумента=" +
o.КодДокумента.ToString();
}
}
}
}
private void Filter()
{
string ss = "КодДокумента>0 ";
if (comboBox1.SelectedValue != null) ss += " and КодОбъекта=" +
comboBox1.SelectedValue.ToString();
if (radioButton1.Checked) ss += " and КодКатегории=1";
if (radioButton2.Checked) ss += " and КодКатегории=2";
if (radioButton3.Checked) ss += " and КодКатегории=3";
if (radioButton4.Checked) ss += " and КодКатегории=4";
if (comboBox3.SelectedValue != null) ss += " and КодВида=" +
comboBox3.SelectedValue.ToString();
if (textBox1.Text != "")
80
{
ss += " and (";
string text = textBox1.Text;
string[] val = text.Split(',');
string y = "";
foreach (string s in val)
{
if (y != "") y += " or ";
y += " (КлючевыеСлова like '*" + s + "*')";
}
ss += y + ")";
}
if (textBox2.Text != "")
{
ss += " and ШтрихКод=" + textBox2.Text;
}
if (comboBox4.SelectedValue != null) ss += " and Разработчик=" +
comboBox4.SelectedValue.ToString();
документыBindingSource.Filter = ss;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Filter();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
Filter();
}
private void button1_Click(object sender, EventArgs e)
{
comboBox1.SelectedIndex = -1;
radioButton1.Checked = false;
radioButton2.Checked = false;
radioButton3.Checked = false;
radioButton4.Checked = false;
comboBox3.SelectedIndex = -1;
comboBox4.SelectedIndex = -1;
textBox1.Text = "";
textBox2.Text = "";
}
private void button9_Click(object sender, EventArgs e)
{
comboBox1.SelectedIndex = -1;
}
private void button10_Click(object sender, EventArgs e)
{
radioButton1.Checked = false;
81
radioButton2.Checked = false;
radioButton3.Checked = false;
radioButton4.Checked = false;
}
private void button11_Click(object sender, EventArgs e)
{
comboBox3.SelectedIndex = -1;
}
private void button12_Click(object sender, EventArgs e)
{
comboBox4.SelectedIndex = -1;
}
private void button7_Click(object sender, EventArgs e)
{
FormNewDoc f = new FormNewDoc();
f.KodSotr = tekSotr.КодСотрудника;
f.StartPosition = FormStartPosition.CenterScreen;
if (f.ShowDialog()==DialogResult.OK)
{
документыTableAdapter.Fill(docsDataSet.Документы);
FillTtree();
}
}
private void button8_Click(object sender, EventArgs e)
{
BarcodeLib.Barcode b = new BarcodeLib.Barcode();
b.IncludeLabel = true;
b.LabelPosition = BarcodeLib.LabelPositions.BOTTOMCENTER;
Random rnd = new Random();
string shtrix = rnd.Next(11111111, 99999999).ToString();
ClassDocs.FillSh(b.Encode(BarcodeLib.TYPE.EAN8, shtrix, 130, 90));
}
//измененные документы
Dictionary<int, string> changesFiles = new Dictionary<int, string>();
private void button4_Click(object sender, EventArgs e)
{
DocsDataSet.ДокументыRow doc =
(DocsDataSet.ДокументыRow)((DataRowView)dataGridView1.Rows[dataGridView1.CurrentCell.RowI
ndex].DataBoundItem).Row;
if (doc != null)
{
if (changesFiles.ContainsKey(doc.КодДокумента))
{
string name = changesFiles[doc.КодДокумента];
Process.Start(name);
}
else
{

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)