Диплом: Автоматизация приема и обработки заявок отделом техподдержки ООО "НТЦ ФСК ЕЭС"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
В результате проведенного исследования предметной области были
выделены следующие сущности:
заявка;
инцидент;
комментарий;
пользователь;
приоритет;
статус.
На рисунке 2.15 представлена ER-диаграмма «сущность-связь» [4, 5] на
уровне сущностей, отражающая взаимосвязь сущностей.
Рисунок 2.15 - ER-диаграмма «сущность-связь» на уровне сущностей
В таблице 2.5 представлено описание атрибутов сущностей
информационной системы.
Таблица 2.5
Описание атрибутов сущностей
Сущность
Атрибут
Описание
1
2
3
Заявка
Код инцидента
Уникальный идентификатор
Код статуса
Идентификатор статуса заявки
Код приоритета
Идентификатор приоритета
ФИО заявителя
ФИО заявителя
Номер телефона
Номер телефона для связи
Время открытия
Время открытия заявки
Продолжение таблицы 2.5
1
2
3
Время закрытия
Время закрытия заявки
Время выполнения
Время выполнения заявки
Другой компьютер
Признак отправки заявки с
другого компьютера
Имя ПК
Наименование имени
компьютера
Номер кабинета
Номер кабинета, в котором
расположен сломанный
компьютер
Удалена
Признак удаленной заявки
Отклонена
Признак отклоненной заявки
Текст заявки
Описание сути проблемы
Снимок экрана
Снимок экрана компьютера, на
котором возникал ошибка
Код исполнителя
Идентификатор исполнителя
заявки
Инцидент
Код инцидента
Уникальный идентификатор
Имя инцидента
Наименование инцидента
Статус
Код статуса
Уникальный идентификатор
Имя статуса
Наименование статуса
Приоритет
Код приоритета
Уникальный идентификатор
Имя приоритета
Наименование приоритета
Пользователь
Код пользователя
Уникальный идентификатор
ФИО
ФИО пользователя
Логин
Логин пользователя
Пароль
Пароль пользователя
Оператор
Признак роли «Оператор»
Исполнитель
Признак роли «Исполнитель»
Пользователь
Признак роли «Пользователь»
Администратор
Признак роли «Администратор»
Комментарий
Код комментария
Уникальный идентификатор
Время комментария
Время комментария
Номер заявки
Номер заявки
Код пользователя
Код пользователя
Логическая схема — модель базы данных, выраженная в понятиях модели
данных. Этим отличается от концептуальной модели, описывающей семантику
предметной области без указания технологии (конкретных методов реализации),
и от физической модели, которая описывает конкретные физические механизмы,
применяемые для хранения данных в накопителях [9, 15].
На рисунке 2.16 представлена логическая модель базы данных
информационной системы приема и обработки заявок в службу техподдержки.
Рисунок 2.16 - Логическая модель базы данных
В таблице 2.6 представлено описание атрибутов сущностей
информационной системы.
Таблица 2.6
Описание физической структуры базы данных
Сущность
Атрибут
Тип данных
Первичный/
Внешний
ключ
Обязательное
поле
1
2
3
4
5
Заявка
Код инцидента
Integer
PK
Да
Код статуса
Integer
FK
Да
Код приоритета
Integer
FK
Да
ФИО заявителя
Varchar (50)
-
Да
Номер телефона
Varchar (20)
-
Да
Время открытия
DateTime
-
Да
Время закрытия
DateTime
-
-
Время
выполнения
DateTime
-
-
Другой
компьютер
Bit
-
-
Имя ПК
Varchar (50)
-
Да
Номер кабинета
Integer
-
-
Удалена
Bit
-
-
Отклонена
Bit
-
-
Текст заявки
Varchar (max)
-
Да
Снимок экрана
Blob
-
-
Код исполнителя
Integer
FK
-
Продолжение таблицы 2.6
1
2
3
4
5
Инцидент
Код инцидента
Integer
PK
Да
Имя инцидента
Varchar (50)
-
Да
Статус
Код статуса
Integer
PK
Да
Имя статуса
Varchar (20)
-
Да
Приоритет
Код приоритета
Integer
PK
Да
Имя приоритета
Varchar (50)
-
Да
Пользователь
Код пользователя
Integer
PK
Да
ФИО
Varchar (50)
-
Да
Логин
Varchar (20)
-
Да
Пароль
Varchar (20)
-
Да
Оператор
Bit
-
-
Исполнитель
Bit
-
-
Пользователь
Bit
-
-
Администратор
Bit
-
-
Комментарий
Код комментария
Integer
PK
Да
Время
комментария
DateTime
-
Да
Номер заявки
Integer
FK
Да
Код пользователя
Integer
FK
Да
На рисунке 2.17 представлена физическая модель базы данных [21].
Рисунок 2.17 – Физическая модель базы данных
Физическая модель была создана в среде администрирования баз данных
MS SQL Server – MS SQL Server Management 2017.
2.7.3. Структурная схема пакета (дерево вызова программных
модулей)
Информационная система приема и обработки заявок отделом
технической поддержки ООО «НТЦ ФСК ЕЭС» включает в себя следующие
программные модули, представленные в таблице 2.7.
Таблица 2.7
Программные модули информационной системы
Модуль
Описание
FormAuth.cs
Модуль авторизации в системе
Form1.cs
Форма доступа в личный кабинет оператора
FormAdmin.cs
Форма доступа в личный кабинет администратора
FormIncid.cs
Форма редактирования инцидентов
FormNastr.cs
Форма редактирования настроек доступа к базе данных
FormNastrAdmin.cs
Форма редактирования расширенных настроек доступа к
базе данных для администратора
FormRep.cs
Форма для формирования отчетности
FormPrioritet.cs
Форма редактирования справочника приоритетов заявок
FormStatus.cs
Форма редактирования справочника статусов заявок
FormUsers.cs
Форма редактирования пользователей
FormZayavka.cs
Форма просмотра информации о заявке
ClassConst.cs
Модуль настройки подключения к базе данных с
помощью файла settings.ini
deskDataSet.xsd
XSD-схема данных для работы с базой данных как
набором объектов
На рисунке 2.18 представлена взаимосвязь программных модулей.
Рисунок 2.18 - Взаимосвязь программных модулей
FormAuth
Form1
FormZayavka
FormNastr ClassConst
FormAdmin
FormUsers
FormStatus
FormPrioritet
FormIncid
FormNastrAdmin ClassConst
FormRep
deskDataSet.xsd
Для организации доступа к данным, хранимым в базе данных была
использована технология ADO.NET.
ADO.NET имеет богатый набор компонентов для создания
распределенных приложений, совместно использующих данные. Это
неотъемлемая часть платформы .NET Framework, которая предоставляет доступ
к реляционным данным, XML-данным и данным приложений. ADO.NET
удовлетворяет различные потребности разработчиков, включая создание
клиентских приложений баз данных, а также бизнес-объектов среднего уровня,
используемых приложениями, средствами, языками и браузерам [17].
ADO.NET предоставляет согласованный доступ к таким источникам
данных, как SQL Server и XML, а также к источникам данных, предоставляемым
при помощи OLE DB и ODBC [17].
На рисунке 2.19 представлена XSD-схема данных (диаграмма классов).
Рисунок 2.19 - XSD-схема данных (диаграмма классов)
2.7.4. Описание программных модулей
Для настройки первоначальной работы с базой данных необходимо
авторизоваться под учетной записью администратора и выполнить начальную
инициацию данных:
1. Указать имя сервера.
2. Указать имя пользователя и его пароль.
3. Указать имя будущей базы данных.
4. Создать базу данных.
Подключение к базе данных хранится в файле settings.ini, структура
которого представлена на рисунке 2.20.
Рисунок 2.20 – Структура файла settings.ini
Для настройки доступа к базе данных путем чтения файла settings.ini
используется следующий код:
public static void LoadData()
{
if (File.Exists("settings.ini"))
{
//получаем данные из файла settings.ini в массив строк
string[] strok = File.ReadAllLines("settings.ini");
//если файл есть и не пустой, значит массив будет не пустой и
считываем данные
if (strok != null)
{
//переменная неопределеннного типа для доступа к файлу app.config,
который содржит все настройки проекта
var config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
// ищем секцию connectionStrings, которая содержит инфоормацию о
подключенияъх к БД, их может быть много
var connectionStringsSection =
(ConnectionStringsSection)config.GetSection("connectionStrings");
//получаем нашу строку подключения с именем
Propusk.Properties.Settings.propuskConnectionString и присватваем ей значение из
переменной, полученной из файла
//чтобы подключить бд
string[] ss = strok[0].Split(';');
string cc = "Data Source = " + ss[0] + "; Initial Catalog = " +
ss[1] + "; Integrated Security = True";
connectionStringsSection.ConnectionStrings["HDesk.Properties.Settings.deskConnectionSt
ring"].ConnectionString = cc;
config.Save();// сохранение файла app.config
ConfigurationManager.RefreshSection("connectionStrings");//обновление секции
connectionStrings, чтобы изменения вступили в силу
}
}
При начальной инициализации данных пользователь может создать
структуру базы данных с помощью следующего кода:
if (textBox2.Text=="" || textBox1.Text=="")
{
MessageBox.Show("Введите имя сервера и имя создаваемой БД");
return;
}
String str;
SqlConnection myConn = new
SqlConnection("Server="+textBox1.Text+";Integrated security=SSPI;database=master");
//сощдаем БД
str = "CREATE DATABASE " + textBox2.Text + " ON PRIMARY " +
"(NAME = MyDatabase_Data, " +
"FILENAME = '" + Application.StartupPath + "\\" + textBox2.Text +
".mdf',"+
"SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
"LOG ON (NAME = MyDatabase_Log, " +
"FILENAME = '"+ Application.StartupPath + "\\" + textBox2.Text +
".ldf" + "', " +
"SIZE = 5MB, " +
"MAXSIZE = 7MB, " +
"FILEGROWTH = 10%)";
SqlCommand myCommand = new SqlCommand(str, myConn);
try
{
myConn.Open();
myCommand.ExecuteNonQuery();
myCommand = new SqlCommand("ALTER DATABASE["+ textBox2.Text + "] SET
READ_WRITE", myConn);
myCommand.ExecuteNonQuery();
myConn.Close();
//структура БД
string sqlConnectionString = "Data Source=" + textBox1.Text +
";Initial Catalog="+ textBox2.Text + ";Integrated Security=True";
FileInfo file = new FileInfo(Application.StartupPath + "\\newdb.sql");
string script = file.OpenText().ReadToEnd();
SqlConnection conn = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(script);
//сохраняем имя новой БД в файле settings.ini
using (var sw = new StreamWriter(File.Open(@"settings.ini",
FileMode.Create)))
{
//запись сразу с сохранением
sw.Write(textBox1.Text + ";" + textBox2.Text + ";10");
}
MessageBox.Show("БД успешно создана", "", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString(), "", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
finally
{
if (myConn.State == ConnectionState.Open)
{
myConn.Close();
}
}
Для создания скриншота экрана программа сворачивается в трей делается
копия экрана, которая сохраняется в элемент picturebox:
/// <summary>
/// Создать скриншот
/// </summary>
private string CreateScreen()
{
Graphics graph = null;
var bmp = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height);
graph = Graphics.FromImage(bmp);
graph.CopyFromScreen(0, 0, 0, 0, bmp.Size);
string s = Path.ChangeExtension(Path.GetTempFileName(), "jpg");
bmp.Save(s);
return s;
}
На рисунке 2.21 представлен обобщенный алгоритм работы
информационной системы приема и обработки заявок отделом техподдержки
ООО «НТЦ ФСК ЕЭС».
После авторизации система автоматически определяет роль пользователя
и настраивает личный кабинет авторизованного пользователя в зависимости от
роли пользователя.
Пользователь может выполнить за одну сессию несколько операций. Один
пользователь может иметь и роль оператора и роль исполнителя одновременно.
Пользователь пароль не вводит. Определение данных пользователя и список его
заявок определяется по имени компьютера и имени пользователя.
Рисунок 2.21 – Обобщенный алгоритм работы информационной системы
2.8. Контрольный пример реализации проекта и его описание
При запуске информационной системы пользователю будет открыта
форма авторизации, представленная на рисунке 2.22.
Пользователь авторизуется без логина и пароля и может видеть только
заявки, которые были оформлены с его компьютера.
Оператора и исполнитель должны ввести логин и пароль.
Для авторизации под учетной записью администратора необходимо ввести
пароль администратора.

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

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