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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

Источник: https://otherreferats.allbest.ru/download/1181591/