ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 5
ВВЕДЕНИЕ 6
1 Анализ разрабатываемого приложения 8
1.1 Структура и деятельность предприятия ООО Альфа технология 8
1.2 Обзор аналогов разрабатываемого приложения 9
1.2.1 Платформа 1С 9
1.2.2 Массовая загрузка XML (SQLXML 4.0) 10
1.2.3 Система автоматизации бизнес-процессов ELMA 11
1.2.4 «Полигон Про» 11
1.2.5 Сообщество GIS-Lab 12
1.3 Требования к разработке 13
1.3.1 Разработка бизнес требований 13
1.3.2 Разработка пользовательских требований 15
1.3.3 Разработка функциональных требований 15
1.3.4 Разработка нефункциональных требований 16
1.4 КЛАДР 17
1.5 ФИАС 18
1.6 XML 19
1.7 Java 21
1.8 API для парсинга XML 22
1.9 Oracle database 23
1.10 DBVisualizer 26
1.11 JDBC 28
1.12 Приёмы программирования 29
1.12.1 Варианты выполнения SQL-выражений 29
1.12.2 Пакетная отправка данных 30
1.12.3 Оператор MERGE 31
1.13 Выводы по главе анализ 32
2 Проектирование приложения 34
2.1 Проектирование структуры разрабатываемого приложения 34
2.2 Проектирование структуры базы данных на сервере Oracle 38
2.3 Выявление вычисляемых полей 45
2.4 Проектирование алгоритма парсинга 46
2.5 Проектирование алгоритмов вычисления полей 47
2.6 Проектирование алгоритма обновления базы-данных 51
2.7 Проектирование алгоритма записи версий 53
2.8 Выводы по главе проектирование приложения 54
3 Реализация приложения 55
3.1 Реализация структуры базы данных на сервере компании 55
3.2 Реализация архитектуры приложения и паттерна фасад 56
3.3 Реализация парсинга базы-данных ФИАС 57
3.4 Реализация алгоритмов вычисления полей 57
3.5 Реализация алгоритма обновления базы данных 57
3.6 Реализация алгоритма записи версий 57
3.7 Выводы по главе реализация приложения 58
ЗАКЛЮЧЕНИЕ 59
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 60
ПРИЛОЖЕНИЕ
С каждым годом растёт количество новых областей, улиц, городов, а также изменяются существующие. История этих изменений продолжает накапливаться и изменятся, поэтому необходима система, которая будет документировать, классифицировать всё происходящее, добиваясь систематизации прошедших изменений. К таким системам можно отнести КЛАДР - классификатор адресов Российской Федерации, которая представляет собой таблицы, не меняющие состава, но периодически меняющие структуру.
Развитие новых технологий хранения и описания данных, заставляет всё больше пересматривать структуру и способы классификации адресов нашей страны. При этом функционально устаревают прошлые реализации. К 2013 году были найдены и исправлены недостатки и ошибки КЛАДР, такие, как: появление неоднозначности в адресах, нет временных меток, ошибки и неточности в индексах и кодах ОКАТО. На смену ему, в 2011 году, по распоряжению правительства РФ, был разработан ФИАС - федеральная информационная адресная система, как единый российский государственный адресной реестр, нацеленный на унификацию адресной информации, её структуры и единообразного наименования элементов входящих в неё [14]. Однако, некоторые ошибки перекочевали в ФИАС, но теперь установлена единая структура адреса на основе территориальных принципов организации местного самоуправления.
С введением нового адресного классификатора органы государственной
власти обязаны использовать ФИАС для формирования документов и оказания
услуг. Тем самым увеличивая важность перехода множества компаний к ФИАС
для соответствия государственному стандарту. Учитывая, что компании раньше
использовали КЛАДР и в связи с невозможностью быстрого внедрения новой
системы в прикладные решения, как правило, этот процесс затягивается надолго,
а по данным сайта ФНС: «В 2019 году изменится выгрузка адресных сведений
из государственного адресного реестра. Данные представляться только в
6
формате ФИАС» Таким образом, возникает проблема автоматизации процесса внедрения, обновления и соответствия новой адресной системы под нужды компании.
Объектом исследования ВКР является процесс парсинга Федеральной информационной адресной системы в систему управления базами данных Oracle database и автоматизация процесса обновления базы-данных.
Предметом исследования является процесс внедрения базы данных ФИАС на сервер компании.
Целью данной работы является повышение актуальности хранимых данных на сервере компании за счет автоматизации процесса обновления и загрузки информации на сервер компании в надлежащем виде.
Для достижения поставленной цели требуется решить следующие задачи:
- изучить необходимые средства и инструменты для разработки приложения;
- изучить структуру поставляемой базы-данных ФИАС;
- провести анализ структуры базы данных компании;
- изучить способы взаимодействия с СУБД и способы оптимизации приложения;
- сопоставить старую с новой базой-данных;
- разработать необходимую структуру на сервере компании;
- разработать архитектуру приложения;
- разработать алгоритм парсинга данных;
- разработать алгоритмы вычисления полей;
- разработать алгоритм обновления данных в СУБД;
- реализовать решение в виде проекта для IDE.
В результате бакалаврской работы было разработано приложение, которое повышает актуальность хранимых данных на сервере компании за счет автоматизации процесса обновления и загрузки информации на сервер компании в надлежащем виде.
В ходе выполнения работы были выполнены следующие задачи:
- изучена структура базы данных на сервере предприятия ООО Альфа технология;
- изучена структура базы-данных ФИАС в виде XML файлов;
- проанализированы наиболее подходящие инструменты и способы работы с СУБД;
- проанализированы альтернативные решения разрабатываемому приложению;
- на основе данных и анализа были сформированы требования к разрабатываемому приложению;
- спроектирована структура разрабатываемого приложения;
- спроектирована структура данных на сервере компании;
- проанализированы поля, требующие вычислений;
- спроектирован алгоритм парсинга данных;
- спроектированы алгоритмы получения данных вычисляемых полей;
- спроектирован алгоритм обновления данных на сервере;
- спроектирован алгоритм записи версий обновлений.
Таким образом, были выполнены поставленные задачи. Достигнута основная цель работы.