Информационная система для учета средств связи ЦИТС и зИ УМВД России по Вологодской области

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.12.2019
Размер файла 2,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ВВЕДЕНИЕ

программный учет связь

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

Темой данной выпускной квалификационной работы является разработка информационной системы для учёта средств связи ЦИТС и ЗИ УМВД России по Вологодской области. Работа инженеров ЦИТС и ЗИ УМВД России по Вологодской области основывается на наличии большого объема ручной работы, больших временных затратах на поиск нужного оборудования в связи отсутствия информации о необходимых средствах связи в электронном виде, и как следствие, низкой производительности труда, невозможности быстрого формирования отчетности. Внедрение данной информационной системы значительно упростит и автоматизирует работу сотрудников ЦИТС и ЗИ УМВД России по Вологодской области, обеспечит оперативный учёт любых средств связи и позволит быстро формировать отчеты.

Целью данной выпускной квалификационной работы является разработка информационной системы для учёта средств связи ЦИТС и ЗИ УМВД России по Вологодской области, которая обеспечивает эффективную систему учета, поиска и распределения средств связи в подразделения УМВД России по Вологодской области, а также территориальные органы внутренних дел МВД России по Вологодской области.

Для достижения поставленной цели были решены следующие задачи:

1. Анализ требований к разрабатываемой системе: анализ предметной области, постановка задачи;

2. Проектирование: выбор архитектуры, выбор средств разработки, проектирование базы данных, проектирование пользовательского интерфейса;

3. Реализация: реализация серверной части, реализация клиентской части;

4. Тестирование: методика тестирования, результаты тестирования;

5. Внедрение.

Для реализации информационной системы были использованы средства разработки IntelliJ IDEA, WebStorm, язык программирования JAVA, СУБД PostgreSQL, JDK пакет ПО для работы с языком JAVA, библиотека Spring, для более удобного обращения к базе данных, Maven инструмент для сборки проектов, для WEB разработки: HTML, CSS, TypeScript, библиотека React для упрощения веб-разработки, Material UI для построения пользовательского интерфейса, менеджер пакетов NPM.

1. АНАЛИЗ ТРЕБОВАНИЙ К РАЗРАБАТЫВАЕМОЙ СИСТЕМЕ

1.1 Анализ предметной области

Целью программного комплекса, разрабатываемого в рамках данной выпускной квалификационной работы, является автоматизация системы учета средств связи ЦИТС и ЗИ УМВД России по Вологодской области.

Для того чтобы четко понимать, что требуется для информационной системы рассмотрим основные задачи, функции и организацию деятельности Центра информационных технологий, связи и защиты информации УМВД России по Вологодской области, а также проведение единой учётной политики, планирования, учета и контроля средств связи.

Центр является структурным подразделением УМВД, обеспечивающим и осуществляющим в пределах своей компетенции функции по реализации государственной политики в области совершенствования информационных и телекоммуникационных технологий, автоматизированных информационных систем, систем и средств связи, радио- и радиотехнического контроля, обеспечения электромагнитной совместимости радиоэлектронных средств, противодействия техническим разведкам, криптографической и технической защиты информации, использования электронной цифровой подписи, формирования и ведения информационных ресурсов, межведомственного информационного взаимодействия, реализации государственных и ведомственных программ в области информатизации, навигационно-мониторинговых систем УМВД. [1]

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

1.1.1 Бизнес правила

Формализуем задачу, определив систему бизнес-правил, которым подчиняется предметная область, в данном случае учета средств связи ЦИТС и ЗИ УМВД России по Вологодской области. Эти правила согласованы с заказчиком (главный инженер ЦИТС и ЗИ УМВД России по Вологодской области) и не подлежат обсуждению.

1. УМВД России по Вологодской области имеет строго регламентированный список подразделений (УМВД России по г. Вологде, ОМВД России по Кирилловскому району и т.д.). Подразделения имеют определенный список служб (ДЧ, УР, ИВС и т.д.), который может изменяться в связи со штатным расписанием.

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

3. Радиостанции имеют ряд отдельных модификаций, которые отсутствуют у остальных технических средств. К модификациям следует относить особенности (аналоговые, цифровые), диапазон (ОВЧ, УВЧ, ВЧ) и наличие/отсутствие УПР.

4. Радиостанции и технические средства имеют модели.

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

6. У каждой модели обязательно должен быть проставлен срок службы.

7. Цена средства связи устанавливается строго за единицу. В исключительных случаях цена может отсутствовать.

8. У каждого средства связи имеется поставщик и поставка с номером накладной/наряда и датой поставки, в некоторых случаях поставщик отсутствует.

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

10. Для каждого средства связи должна быть указана работоспособность (исправно, неисправно).

1.1.2 Обзор существующих решений

Среди существующих программных решений по автоматизации следует отметить программу «1С».

Программа может использоваться в любой структуре, вне зависимости от рода деятельности и масштаба. «1С» предназначена для решения широкого спектра задач автоматизации учёта и управления на предприятии. Состоит из конфигурации (набора объектов учет, форм и алгоритмов) и технологической платформы. [2]

Поддерживаются различные системы налогообложения. Учет ведется по действующему законодательству РФ.

При составлении отчётных данных встроенные алгоритмы автоматически проверят корректность исходных документов, полноту заполнения отчетных форм. «1С» включает в себя регламентированные отчеты для представления контролирующим государственным органам.

1.1.3 Обоснование необходимости разработки

Данная информационная система пишется для ЦИТС и ЗИ УМВД России по Вологодской области в связи отсутствия аналогов в организации. При поиске готовых решений на рынке был рассмотрен программный комплекс «1С» который позволяет вести любой оперативный учёт, автоматизирует самые трудные расчёты. Не смотря на положительные аспекты «1С» требует больших материальных затрат, в том числе и в обслуживании, а также решает задачи автоматизации в основном налогового и бухгалтерского учета, в то время как необходимые организации специфические функции полностью отсутствуют. Основными преимуществами данного разрабатываемого программного продукта по сравнению с аналогом на рынке являются низкие затраты материальных и временных ресурсов, а также простота эксплуатации для пользователя и выполнение определённых специфических функций.

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

Деятельность отдела ЦИТС и ЗИ УМВД России по Вологодской области носит специфичный характер. Данная информационная система может быть реализована персонально для ЦИТС и ЗИ с возможным внесением доработок.

Инженеры ЦИТС и ЗИ УМВД России по Вологодской области обязаны поддерживать данные в актуальном состоянии, основной потребностью является быстрый и удобный поиск необходимых средств связи в базе данных. Поиск должен осуществляется по всей информации находящееся в базе по различным запросам.

Для главного инженера ЦИТС и ЗИ УМВД России по Вологодской области, помимо уже описанных выше обязанностей, необходимостью является автоматическое формирование отчетных данных на основе имеющейся информации о любых средствах связи.

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

2. ПРОЕКТИРОВАНИЕ

2.1 Выбор архитектуры

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

Программные архитектуры, используемые в настоящее время:

- файл-серверная;

- клиент-серверная;

- многоуровневая.

Файл-сервер. Данный вид архитектуры предполагает назначение одного из компьютеров сети в качестве выделенного сервера, на котором будут храниться файлы централизованной базы данных. Недостатки такой организации:

- снижение производительности за счет одновременного обращения пользователей к одним и там же данным;

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

Клиент-сервер. В такой архитектуре центральный сервер помимо хранения файлов базы данных должен выполнять основную часть обработки данных. Пользователи обращаются к центральному серверу с помощью специального языка структурированных запросов (SQL, Structured Query Language), на котором описывается список задач, выполняемых сервером.

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

Многоуровневая архитектура является разновидностью архитектуры клиент-сервер, разделяющая пользовательские и прикладные сервисы и сервисы данных. Как правило, такая архитектура приложения используется в распределенных приложениях, компоненты которых выполняются на разных компьютерах. [3]

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

- сервер базы данных, обрабатывающий все SQL - запросы;

- сервер приложений, реализующий бизнес логику;

- клиентская часть, реализующая пользовательский интерфейс.

Выбранный вид архитектуры, позволит повысить эффективность работы корпоративной вычислительной системы и оптимизировать распределение её функций между несколькими независимыми компьютерами в сети.

2.2 Выбор средств разработки

2.2.1 Среда разработки

IntelliJ IDEA -- интегрированная среда разработки программного обеспечения для многих языков программирования, таких как Java, JavaScript, Python, разработанная компанией JetBrains.

Начиная с шестой версии продукта IntelliJ IDEA предоставляет интегрированный инструментарий для разработки графического пользовательского интерфейса. Среда хорошо совместима со многими популярными свободными инструментами разработчиков, такими как CVS, Subversion, Apache Ant, Maven и JUnit.

Начиная с версии 9.0, среда доступна в двух редакциях: Community Edition и Ultimate Edition. Community Edition является полностью свободной версией, доступной под лицензией Apache 2.0, в ней реализована полная поддержка Java SE, Kotlin, Groovy, Scala, а также интеграция с наиболее популярными системами управления версиями. В редакции Ultimate Edition, доступной под коммерческой лицензией, реализована поддержка Java EE, UML-диаграмм, подсчёт покрытия кода, а также поддержка других систем управления версиями, языков и фреймворков. [4]

JetBrains WebStorm -- интегрированная среда разработки на JavaScript, CSS & HTML от компании JetBrains, разработанная на основе платформы IntelliJ IDEA.

WebStorm обеспечивает автодополнение, анализ кода на лету, навигацию по коду, рефакторинг, отладку, и интеграцию с системами управления версиями. Важным преимуществом интегрированной среды разработки WebStorm является работа с проектами. Поддерживается множественная вложенность -- то есть в таких конструкциях поддерживается корректный рефакторинг. [5]

2.2.2 Выбор СУБД

В качестве СУБД была выбрана PostgreSQL -- свободная объектно-реляционная система управления базами данных (СУБД).

PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2011.

Сильными сторонами PostgreSQL считаются:

- высокопроизводительные и надёжные механизмы транзакций и репликации;

- расширяемая система встроенных языков программирования;

- наследование;

- легкая расширяемость. [6]

2.2.3 Выбор языка и ПО

Для разработки выбран язык программирования Java. Он был выбран по ряду положительных сторон:

- независимость Java от платформы, на которой выполняются программы

- большая схожесть Java с языком программирования C++.

- полностью объектно-ориентированный язык, даже в большей степени, чем С++.

- разрабатывать на Java программы, которые не содержат ошибок, значительно легче, чем на С++.

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

- введение Just-In-Time компилятора, позволило получить высокую производительность.

JDK (Java Development Kit ) пакет ПО для работы с языком JAVA -- бесплатно распространяемый компанией Oracle Corporation комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE).

Все современные интегрированные среды разработки приложений на Java, такие, как JDeveloper, NetBeans IDE, Sun Java Studio Creator, IntelliJ IDEA, Borland JBuilder, Eclipse, опираются на сервисы, предоставляемые JDK. Большинство из них для компиляции Java-программ используют компилятор из комплекта JDK. [7]

Язык программирования Java применяется с использованием библиотеки Spring, для более удобного обращения к базе данных. Spring Framework -- универсальный фреймворк с открытым исходным кодом для Java-платформы.

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

Maven используется для построения и управления проектами, написанными на Java, C#, Ruby, Scala, и других языках.

Для клиентской части используется набор языков для веб-разработки: HTML, CSS, TypeScript.

HTML -- стандартизированный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML.

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

Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам, например, к SVG или XUL.

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

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

Также при построении пользовательского интерфейса используется Material UI, предоставляющий готовые компоненты, реализующие дизайн Google. [8]

NPM выступает в роли менеджера пакетов, входящий в состав Node.js. В нём можно найти большое количество готовых модулей.

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

2.3 Проектирование БД

2.3.1 USE CASE-диаграмма

USE CASE-диаграмма является важным методом для анализа требований и представляет собой список определённых действий или обязанностей которые выполняет «актер» в зависимости от отведённой ему роли в системе.

Обязанности главного инженера (администратора) ЦИТС и ЗИ УМВД России по Вологодской области представлены в виде USE CASE-диаграммы на рисунке 1.

Рисунок 1 - USE CASE - диаграмма

2.3.2 Описание логической структуры БД

Работа с базой данных, разрабатываемой в рамках данной выпускной квалификационной работы имеет следующую упрощённую схему, показанную на рисунке 2.

Рисунок 2 - Упрощенная структура работы с БД

Логическая структура базы данных представлена на рисунке 3.

Рисунок 3 - Логическая структура БД

SQL - скрипты создания таблиц и последовательностей представлены в приложении 1.

При поступлении новых средств связи в ЦИТС и ЗИ УМВД России по Вологодской области, они вручную записываются в базу данных. При этом выбирается необходимое подразделение, определенная служба, входящая в него и средство связи, в частности, техника или радиостанция. У каждого средства связи указываются их основные технические характеристики: наименование, модель, поставщик, поставки, комплектация, а также особенности и диапазон, если была выбрана радиостанция. Из различных запросов к базе данных формируется отчет в виде excel таблицы. Это действие производится главным инженером (администратором) - приемщиком.

2.3.3 Описание основных форматов данных

PostgreSQL поддерживает несколько различных типов данных. Приведем основные их них:

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

Символьные типы данных - последовательность символов, заключённая в одинарные кавычки.

Логический тип данных - тип boolean, принимающий следующие состояния: «true», «false», а также третье состояние, «unknown», которое представляется SQL-значением NULL.

Типы даты/времени - полный набор типов даты и времени SQL. Все даты считаются по Григорианскому календарю, даже для времени до его введения.

На основании ранее приведённых бизнес-правил были выделены следующие основные сущности предметной области, их атрибуты и выбраны соответствующие структуры данных.

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

Вкладка «подразделения» состоит из таблиц: подразделения и службы. Таблица «подразделения» включает в себя такие атрибуты как: код подразделения (суррогатный ключ) и наименование подразделения. Из полей вывода можно выделить эту таблицу со списком уже введённых подразделений.

Типы данных представлены в таблице 1.

Таблица 1 - Подразделения

Название атрибута

Тип данных

cod_department

(код подразделения)

serial

(целое с автоувеличением)

name_department

(наименование подразделения)

character varying(255)

(символьный тип)

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

Типы данных представлены в таблице 2.

Таблица 2 - Службы

Название атрибута

Тип данных

cod_branch

(код службы, суррогатный ключ)

serial

(целое с автоувеличением)

name_branch

(наименование службы)

character varying(255)

(символьный тип)

cod_department

(код подразделения, внешний ключ)

integer

(целые числа)

При выборе подразделения и входящей в него службы открывается новая вкладка, содержащая таблицы: средства связи, радиостанции и техника.

Таблица «радиостанции» связана с таблицами: особенности и диапазоны, включает в себя такие атрибуты как: код радиостанции (суррогатный ключ), наименование радиостанции, код особенности (внешний ключ), код диапазона (внешний ключ) и наличие/отсутствие УПР. Из полей вывода можно выделить эту таблицу со списком уже введённых радиостанций и выбранных им характеристик.

Типы данных представлены в таблице 3.

Таблица 3 - Радиостанции

Название атрибута

Тип данных

cod_radiostation

(код радиостанции, суррогатный ключ)

serial

(целое с автоувеличением)

name_radiostation

(наименование радиостанции)

character varying(255)

(символьный тип)

cod_specificity

(код особенности, внешний ключ)

integer

(целые числа)

cod_diapason

(код диапазона, код диапазона)

integer

(целые числа)

presence_sc_device

(наличие/отсутствие УПР)

boolean

(состояние: истина или ложь)

Таблица «особенности радиостанций» включает в себя такие атрибуты как: код особенности (суррогатный ключ) и наименование особенности. Из полей вывода можно выделить эту таблицу со списком уже введённых особенностей для радиостанций.

Типы вводимых данных представлены в таблице 4.

Таблица 4 - Особенности радиостанций

Название атрибута

Тип данных

cod_specificity

(код особенности, суррогатный ключ)

serial

(целое с автоувеличением)

name_specificity

(наименование особенности)

character varying(255)

(символьный тип)

Таблица «диапазоны радиостанций» включает в себя такие атрибуты как: код диапазона (суррогатный ключ) и наименование диапазона. Из полей вывода можно выделить эту таблицу со списком уже введённых диапазонов для радиостанций.

Типы вводимых данных представлены в таблице 5.

Таблица 5 - Диапазоны радиостанций

Название атрибута

Тип данных

cod_diapason

(код диапазона, суррогатный ключ)

serial

(целое с автоувеличением)

name_diapason

(наименование диапазона)

character varying(255)

(символьный тип)

Таблица «техника» включает в себя такие атрибуты как: код техники (суррогатный ключ) и наименование техники. Из полей вывода можно выделить эту таблицу со списком уже введённой техники и заданных ей характеристик.

Типы вводимых данных представлены в таблице 6.

Таблица 6 - Техника

Название атрибута

Тип данных

cod_technic

(код техники, суррогатный ключ)

serial

(целое с автоувеличением)

name_technic

(наименование техники)

character varying(255)

(символьный тип)

Таблицы «техника» и «радиостанции» связаны с радом таблиц, определяющих их характеристики, модель, конкретное средство связи (характеристика модели) и поставщика.

Таблица «комплектации» включает в себя такие атрибуты как: код комплектации (суррогатный ключ), состав и примечание. Из полей вывода можно выделить эту таблицу со списком уже введённых комплектаций для определенных средств связи.

Типы вводимых данных представлены в таблице 7.

Таблица 7 - Комплектации

Название атрибута

Тип данных

cod_equipment

(код комплектации, суррогатный ключ)

serial

(целое с автоувеличением)

composition

(состав)

text

(символьный тип)

commentary

(примечание)

text

(символьный тип)

Таблица «модели» связана с таблицами: радиостанции и техника, включает в себя такие атрибуты как: код модели (суррогатный ключ), наименование модели, срок службы, код техники (внешний ключ) и код радиостанции (внешний ключ). Из полей вывода можно выделить эту таблицу со списком уже введённых моделей для техники и радиостанций и заданных им характеристик.

Типы вводимых данных представлены в таблице 8.

Таблица 8 - Модели

Название атрибута

Тип данных

cod_model

(код модели, суррогатный ключ)

serial

(целое с автоувеличением)

name_model

(наименование модели)

character varying(255)

(символьный тип)

lifetime

(срок службы средства связи)

integer

(целые числа)

cod_technic

(код техники, внешний ключ)

integer

(целые числа)

cod_radiostation

(код радиостанции, внешний ключ)

integer

(целые числа)

Таблица «поставщики» включает в себя такие атрибуты как: код поставщика (суррогатный ключ), наименование поставщика. Из полей вывода можно выделить эту таблицу со списком уже введённых поставщиков.

Типы вводимых данных представлены в таблице 9.

Таблица 9 - Поставщики

Название атрибута

Тип данных

cod_provider

(код поставщика, суррогатный ключ)

serial

(целое с автоувеличением)

name_provider

(наименование поставщика)

character varying(255)

(символьный тип)

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

Типы вводимых данных представлены в таблице 10.

Таблица 10 - Поставки

Название атрибута

Тип данных

cod_supply

(код поставки, суррогатный ключ)

serial

(целое с автоувеличением)

invoice_number

(номер накладной, номер наряда)

character varying(100)

(символьный тип)

invoice_date

(дата накладной, дата наряда)

date

(дата без времени суток)

cod_provider

(код поставщика, внешний ключ)

integer

(целые числа)

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

Типы данных представлены в таблице 11.

Таблица 11 - Средства связи

Название атрибута

Тип данных

cod_comm_equipment

(код средства связи, суррогатный ключ)

serial

(целое с автоувеличением)

serial_number

(заводской номер)

character varying(100)

(символьный тип)

inventory_number

(инвентарный номер)

character varying(100)

(символьный тип)

price

(цена за единицу комплекта)

numeric

(числа с точностью)

release_date

(дата выпуска)

date

(дата без времени суток)

commissioning_date

(дата ввода в эксплуатацию)

date

(дата без времени суток)

distribution_plan

(дата плана распределения)

date

(дата без времени суток)

model_operability

(исправность)

boolean

(состояние: истина или ложь)

cod_branch

(код службы, внешний ключ)

integer

(целые числа)

cod_model

(код модели, внешний ключ)

integer

(целые числа)

cod_equipment

(код комплектации, внешний ключ)

integer

(целые числа)

cod_supply

(код поставки, внешний ключ)

integer

(целые числа)

2.4 Проектирование пользовательского интерфейса

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

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

Пользовательский интерфейс для клиентской части приложения выполнен в виде WEB-приложения.

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

При нажатии на любую из строк в таблице «Подразделения» отображается изменённая таблица «Службы», в которой показываются все службы, соответствующие выбранному подразделению.

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

Рисунок 4 - Вкладка «Подразделения»

Нажимая на строку в таблице «Службы», пользователь попадает на отдельную вкладку «Средства связи» представленную на рисунке 5, в которой имеется две таблицы: «Радиостанции» и «Техника», строчки которых можно изменять или удалять при необходимости. Вверху таблиц отображаются наименования выбранных подразделения и службы.

Рисунок 5 - Вкладка «Средства связи»

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

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

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

Рисунок 6 - Карточка добавления радиостанции

Вкладка «Поставщики» представлена на рисунке 7, имеющая одну таблицу - «Поставщики», записи в которой можно добавлять, изменять и удалять аналогично подразделениям и службам.

Рисунок 7 - Вкладка «Поставщики»

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

Рисунок 8 - Вкладка «Поиск»

3. РЕАЛИЗАЦИЯ

3.1 Реализация серверной части

Разработка программы производилась с помощью средств разработки Intellij IDEA. В первую очередь реализовано соединение с базой данных при запуске программы. Для этого было объявлено поле для хранения соединения с базой данных. Затем объявлено и установлено новое соединение с базой данных. Пример кода представлен на рисунке 9.

Рисунок 9 - Пример кода установление соединения с базой данных

Для представления сущностей соответствующим таблицам на языке JAVA были созданы простые классы POJO (англ. Plain Old Java Object) -- «старый добрый Java-объект».

Пример POJO класса, реализующий сущность «Техника» представлен на рисунке 10.

Рисунок 10 - Класс-сущность «Техника»

Для доступа к каждой таблице были реализованы специальные классы, называемые DAO. Data access object (DAO) -- это объект, предоставляющий абстрактный интерфейс к какому-либо типу базы данных или механизму хранения. В этих классах реализованы методы для различных CRUD (сокр. от англ. create, read, update, delete -- «создать, прочесть, обновить, удалить») операций. На рисунке 11 описан INSERT сразу для ряда таблиц:

1. Technics

2. Comm_equipments

3. Models

4. Supplies

5. Providers

Рисунок 11 - SQL запрос на вставку техники

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

Рисунок 12 - Пример кода добавления техники через DAO

В методе add используется экземпляр класса JDBCTemplate, который позволяет связать код на языке JAVA c базой данных. В методе происходит добавление техники в таблицу, в конце метода возвращается id добавленной сущности.

Для обработки запроса с клиентской части были созданы REST-контроллеры, которые обрабатывают HTML-запросы и возвращают какой-либо ответ. Общая блок-схема работы с URL представлен на рисунке 13.

Рисунок 13 - Блок-схема работы с URL

На рисунке 14 представлена блок-схема алгоритма добавления техники по id службы имеющей URL /techniques/add/{id}.

Пример кода, реализующий логику, описанную в блок схеме представлен на рисунке 15.

Рисунок 14 - Блок-схема алгоритма добавления техники по URL

Рисунок 15 - Пример кода добавления техники через HTML-запрос

В данном примере обрабатывается определенный URL пришедший с клиентской части. В методе add инициализируя dataSource, необходимый для подключения к серверу БД и используя созданный DAO-объект для вставки, а затем получения списка всей техники в определенной службе. Этот список возвращается клиенту в теле Response.

Все остальные POJO, DAO и REST-контроллеры реализованы аналогичным образом для других сущностей, представляющих таблицы.

3.2 Реализация клиентской части

Разработка осуществлялась с помощью Webstorm на языке TypeScript. В приложении представлено несколько страниц:

1. Главная, где отображаются подразделения и службы, а также дается возможность добавлять, удалять и редактировать их;

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

3. Список поставщиков;

4. Общая таблица поиска.

Для перехода по страницам используется библиотека React-Router. Пример кода изображен на рисунке 16.

Рисунок 16 - Пример кода перехода между страницами.

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

Интерфейс в TypeScript --?это группа взаимосвязанных свойств и методов, которые описывают объект, но не обеспечивают реализацию или инициализацию этих свойств и методов в объектах. Пример интерфейсов представлен на рисунке 17.

Рисунок 17 - Интерфейсы

В качестве примера на рисунке 18 приведена блок схема добавления/изменения любого средства связи будь то радиостанция или техника с клиентской части (пользовательского интерфейса). В зависимости от того выбрано «Добавление» или «Изменение», вызываются соответствующие методы.

Рисунок 18 - Блок-схема добавления/изменения любого средства связи

Пример кода на добавление/изменение техники с клиентской части (пользовательского интерфейса) представлен на рисунке 19.

Рисунок 19 - Пример кода на добавление/изменение техники

Для отправки HTML запросов на сервер была использована библиотека axios. Пример отправки запроса для получения списка техники изображен на рисунке 20.

Рисунок 20 - Пример кода отправки HTML-запроса на сервер

Для отображения интерфейса пользователя используется фреймворк ReactJS с помощью синтаксиса JSX.

React -- это основной строительный блок для создания фрагментов HTML-кода, подходящих для повторного использования.

JSX -- синтаксическое расширение JavaScript, которое позволяет создавать компоненты, используя возможности HTML и JavaScript.

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

Рисунок 21 - Пример кода для отображения таблицы и кнопок

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

4. ТЕСТИРОВАНИЕ

4.1 Методика тестирования

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

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

1) Модульное тестирование

2) Интеграционное тестирование

3) Системное тестирование

4) Приемочные испытания

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

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

- "снизу вверх", при котором все низкоуровневые модули собираются воедино и тестируются;

- "сверху вниз", вначале тестируются все высокоуровневые модули и постепенно добавляются модули низкого уровня.

Такой вид тестирования в первую очередь выявляет ошибки интерфейса.

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

Приёмочные испытания - последний вид тестирования программного продукта перед передачей клиенту. Производится проверка соответствия программного продукта требованиям заказчика. Данный вид тестирования может осуществляться как разработчиком, так и заказчиком. После успешного прохождения приемочных испытаний система может быть внедрена на производство. [9]

В данной выпускной квалификационной работе было выполнено полное тестирование функционала приложения администратора.

4.2 Результаты тестирования

Реализация информационной системы для учёта средств связи ЦИТС и ЗИ УМВД России по Вологодской области уже завершена, поэтому будем пользоваться программным тестированием.

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

Начнем с тестирования вкладки «Подразделения». Рассмотрим следующие тесты:

Тест №1: При запуске или обновлении страницы с приложением появляется модальное окно для подтверждения пароля. Результат представлен на рисунке 22.

Рисунок 22 - Ввод пароля

В результате неправильно введенного пароля строчка подсвечивается красным. Доступ к приложению получить невозможно пока не будет введен правильный пароль. Результат представлен на рисунке 23.

Рисунок 23 - Ввод неправильного пароля

Тест №2: Введем несколько наименований подразделений в таблицу «подразделения». Данные записываются в строке внизу таблицы и нажимается соответствующая кнопка для добавления. Все добавленные подразделения корректно отображаются в столбце в виде списка. Результат представлен на рисунке 24.

Рисунок 24 - Добавление подразделений

Тест №3: Внесем изменения в любое из подразделений нажав на кнопку редактирования справа от наименования. Текст наименования изменяемого подразделения отображается в строке внизу таблицы. Результат представлен на рисунке 25.

Рисунок 25 - Редактирование подразделения

После редактирования, текст с наименованием подразделения вновь корректно отображается в таблице. Пример представлен на рисунке 26.

Рисунок 26 - Изменение подразделения

Тест №4: При удалении из списка любого подразделения появляется соответствующее модальное окно с подтверждением удаления. Результат представлен на рисунке 27.

Рисунок 27 - Удаление подразделения

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

После нажатия на определенную службу открывается страница «Средства связи». Отдельно проведём ее тестирование. Рассмотрим следующие тесты:

Тест №1: При переходе на страницу «средства связи» выбранной службы, изначально техника и радиостанции в ней отсутствуют. Результат представлен на рисунке 28.

Рисунок 28 - Средства связи

Тест №2: Добавим радиостанцию в таблицу. При нажатии на соответствующую кнопку появляется модальное окно - карточка добавления радиостанции. Результат представлен на рисунке 29.

Рисунок 29 - Карточка добавления радиостанции

Тест №3: Введем все имеющиеся характеристики добавляемой радиостанции в карточку. При выборе диапазона, особенности и поставщика имеется возможность выбрать из существующего списка необходимую характеристику. Все даты вводятся соответственно дд.мм.гггг или с помощью встроенного календаря. На некоторые строки стоит ограничение на ввод определенных символов, в данном случае, только числа для срока службы и числа с запятой для цены. Все добавленные в карточку данные отображаются корректно. Результат заполнения карточки представлен на рисунке 30.

Рисунок 30 - Полное заполнение карточки

Тест №4: Операцию добавления невозможно будет выполнить пока обязательные поля в карточке не будут заполнены. При попытке добавления они подсвечиваются красным. Результат представлен на рисунке 31.

Рисунок 31 - Обязательные поля в карточке

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

Проверим появилась ли добавленная радиостанция в таблице. Для проверки добавим ещё несколько радиостанций с различным набором характеристик. Добавленные радиостанции и соответствующие им характеристики корректно отображаются в таблице «радиостанции» в виде списка. Результат представлен на рисунке 32.

Рисунок 32 - Список радиостанций

Тест №6: Внесём изменения в любую из добавленных радиостанций. Нажав на соответствующую кнопку появляется модальное окно - карточка изменения радиостанции. Проверим содержит ли карточка информацию по изменяемой радиостанции. Все имеющиеся характеристики радиостанции отображаются корректно и могут быть при необходимости изменены. Результат представлен на рисунке 33.

Рисунок 33 - Карточка изменения радиостанции

Тест №7: Проверим функцию изменения путем редактирования различных характеристик выбранной радиостанции. Для этого внесем все необходимые изменения и нажмем соответствующую кнопку «изменить». Модальное окно закрывается, а измененная радиостанция и ее характеристики вновь корректно отображаются в таблице. Результат представлен на рисунке 34.

Рисунок 34 - Список измененных радиостанций

Тест №8: При удалении из списка любой радиостанции вместе с характеристиками появляется соответствующее модальное окно с подтверждением удаления. Результат представлен на рисунке 35.

Рисунок 35 - Удаление радиостанции

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

Рисунок 36 - Выбор столбцов

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

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

Вкладка «поиск» служит для поиска необходимого оборудования по всем средствам связи, находящимся в базе данных. Имеется поиск по подразделениям, службам, наименованию средства связи, его модели, дате выпуска, дате распределения, инвентарному и заводскому номерам. Отдельно проведём тестирование данной вкладки. Рассмотрим следующие тесты:

Тест №1: Нажмем на выезжающую вкладку справа над таблицей, чтобы открыть список характеристик необходимых для поиска. Изначально таблица поиска пуста. Результат представлен на рисунке 37.

Рисунок 37 - Вкладка «поиск»

Тест №2: Внесём определенные данные для поиска. Проверим, что искомое средство связи и все его характеристики успешно найдены и корректно отображаются в общей таблице. Результат представлен на рисунке 38.

Рисунок 38 - Поиск средства связи

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

Рисунок 39 - Поиск средства связи

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

Тест №4: При нажатии на кнопку «сформировать отчет» появляется соответствующее модальное окно, информирующее об успешно созданном отчёте. Результат представлен на рисунке 40.

Рисунок 40 - Сформировать отчёт

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

Рисунок 41 - Excel таблица

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

5. ВНЕДРЕНИЕ

После проведения тестирования программного продукта, его необходимо внедрить на производство. 1 июня 2019 года информационная система для учёта средств связи была внедрена в работу центра информационных технологий связи и защиты информации УМВД России во Вологодской области, под заказ которой она создавалась. В данный момент производится эксплуатационное тестирование продукта с возможным внесением добавок и доработок, после чего система окончательно войдет в рабочий процесс центра.

Внедрение системы осуществлялось во внутреннюю корпоративную сеть центра. Для работы с базой данных с рабочих мест были настроены параметры подключения к удалённому серверу. В качестве сервера используется Windows Server 2008 R2. Сервер располагается на удалённой машине на него установлен JDK 8 и PostgreSQL, там же находится и база данных, про которую «знает» только серверное приложение. Клиенты, в свою очередь, знают только про приложение, куда отправлять запрос и что ожидать в ответ.

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

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

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

Анализируя проводимое эксплуатационное тестирование можно сделать вывод, о том, что использование разработанной информационной системы значительно повышает эффективность работы ЦИТС и ЗИ УМВД России по Вологодской области.

ЗАКЛЮЧЕНИЕ

Целью данной выпускной квалификационной работы была разработка информационной системы для учёта средств связи ЦИТС и ЗИ УМВД России по Вологодской области.

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

Во второй главе подробно рассмотрено проектирование системы. Сперва была определена архитектура и сделан выбор средств разработки. Для реализации информационной системы были использованы среды: IntelliJ IDEA и WebStorm, язык программирования JAVA, библиотека Spring, для WEB разработки использовались языки: HTML, CSS, TypeScript, библиотека React, Material UI для построения пользовательского интерфейса. В качестве системы управления базами данных была выбрана PostgreSQL.

Также было выполнено проектирование базы данных в частности, построена USE CASE-диаграмма и схема базы данных, произведено описание основных форматов данных и спроектирован пользовательский интерфейс.

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

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

В пятой главе описано внедрение разработанной информационной системы в работу ЦИТС и ЗИ УМВД России по Вологодской области. В настоящий момент проводится тестовая эксплуатация системы.

Результатом выполнения выпускной квалификационной работы стала информационная система для учёта средств связи ЦИТС и ЗИ УМВД России по Вологодской области, которая обеспечивает эффективную систему учета, поиска и распределения средств связи в подразделения УМВД России по Вологодской области, а также территориальные органы внутренних дел МВД России по Вологодской области.

Тестовая эксплуатация показала, что разработанная информационная система упрощает и автоматизирует работу сотрудников ЦИТС и ЗИ УМВД России по Вологодской области, значительно сокращает объемы ручной работы, и как следствие уменьшает временные затраты на поиск нужного оборудования в базе данных, что позволяет повысить производительность труда и сократить время на формирование отчетных данных.

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

1.Департамент информационных технологий, связи и защиты информации МВД России: [Электронный ресурс] // мвд.рф офиц. сайт. - URL: https://мвд.рф/mvd/structure1/Departamenti/Departament_informacionnih_tehnologij_sv.

2.1C:Предприятие: [Электронный ресурс]. // Академик сайт. - URL: https://buhgalter.academic.ru/595/1С%3AПредприятие.

3.Архитектурное проектирование: [Электронный ресурс] // Studbooks сайт. - URL: https://studbooks.net/2262141/informatika/attestatsiya_ trebovaniy.

4.IntelliJ IDEA: [Электронный ресурс] // Википедия сайт. - URL: https://ru.wikipedia.org/wiki/IntelliJ_IDEA.

5.WebStorm: [Электронный ресурс] // Scienceforum сайт. - URL: https://scienceforum.ru/2018/article/2018003314.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.