Материал: Автоматизация обработки заявок Пенсионным Фондом РФ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
96
Построена и изображена модель базы данных. Дополнительно рассмотрена
архитектура проектного приложение, дано объяснение эффективности,
представлены UML диаграммы модулей вместе с описанием. Проиллюстрирована
схема взаимодействия модулей между друг другом. Большое внимание уделено
взаимодействию ядер модуля и их фасадом. Произведен обзор системы
построение форм заявлений. В заключении части произведен контрольный
пример, на регистрацию заявления от вымышленного гражданина РФ.
Произведен обзор и сделаны выводы.
В третьем разделе была выбрана методика расчета экономической
эффективности. Представлены формулы расчета и произведен расчет.
Отображено экономическое обоснование проекта. Сделаны выводы выгодности
по расчету трудоемкости, стоимостных затрат и затрат на заработную плату.
Данные были представлены в виде таблиц и графиков. Сделано заключение о
выгодности внедрения проектного решения.
97
Список использованной литературы
1. Постановление ВС РСФСР от 22.12.1990 N 442-1 "Об организации
Пенсионного фонда РСФСР"
2. Постановление ВС РФ от 27.12.1991 N 2122-1 (ред. от 05.08.2000) "Вопросы
Пенсионного фонда Российской Федерации (России)"
3. Федеральный закон банках и банковской деятельности" от 02.12.1990 N
395-1
4. Федеральный закон от 05.04.2013 N 44-ФЗ (ред. от 31.12.2017) контрактной
системе в сфере закупок товаров, работ, услуг для обеспечения
государственных и муниципальных нужд" изм. и доп., вступ. в силу с
11.01.2018)
5. Избачков Ю.С., Петров В.Н., Васильев А.А., Телина И.С. Информационные
системы: Учебник для вузов. 3-е изд. СПб: Питер, 2011. – 544 с.:ил.
6. Айвалиотис Д. Администрирование сервера NGINX. М.: ДМК Пресс, 2015.
288 с.:ил. ISBN 978-5-94074-162-4
7. Язык SQL. Базовый курс: учебно-практическое. пособие / Е. П. Моргунов; под
ред. Е. В. Рогова, П. В. Лузанова; Postgres Professional. М., 2017. 257 с
Моргунов Е.П.
8. Эрик Редмонд, Джим Р.Уилсон. Семь баз данных за семь недель. Введение в
современные базы данных и идеологию NoSQL. Под редакцией Жаклин
Картер / Пер. с англ. Слинкин А.А. М: ДМК Пресс, 2013 – 384с.:ил
9. Публичный отчет Пенсионного фонда Российской федерации за 2016г.,
Печатное издание / ПФР 2017г. – 89 стр.
10. Roy Thomas Fielding. Architectural Styles and the Design of Network-based
Software Architectures. Диссертация 162 стр. 2000
11. Tejaswini Mandar Jog. Learning Spring 5.0 - Packt Publishing 2017 422 стр.
12. Greg L. Turnquist. Learning Spring Boot 2.0, 2-е издание. Published by Packt
Publishing Ltd 2017. ISBN: 178646378 460 стр.
13. Mohamed Alibi, Bhaskarjyoti Roy. Mastering CentOS 7 (ISBN 978-1-78528-239-
3). Издательство PACKT Publisher, 2016 год. 271 стр.:ил;
14. Spring Microservices by Rajesh RV, Publisher: Packt Publishing 2016, ISBN:
9781786466686
98
15. Ari Lerner, Felipe Coury, Nate Murray, Carlos Taborda. The Complete Book on
Angular 5 - Fullstack 2017 682 стр.
16. DB2 Версии 9.7 для Linux, UNIX и Windows [Электронный ресурс] // IBM
[Офиц. сайт].
URL:https://www.ibm.com/support/knowledgecenter/ru/SSEPGG_9.7.0/com.ibm.
db2.luw.licensing.doc/doc/r0053238.html (дата обращения: 10.03.2018).
17. Postgres NoSQL лучше, чем MongoDB [Электронный ресурс] // TechMedia,
сайт Хабрахабр [Офиц. сайт]. URL: https://habrahabr.ru/post/272735/ (дата
обращения: 12.03.2018).
18. Usage of web servers broken down by ranking [Электронный ресурс] // W3 Techs
[Офиц. сайт]. URL: https://w3techs.com/technologies/cross/web_server/ranking
(дата обращения: 14.03.2018).
19. Документация Postgres: Секционирование таблиц [Электронный ресурс] //
Postgres Professional [Офиц. сайт]. URL:
https://postgrespro.ru/docs/postgresql/10/ddl-partitioning (дата обращения:
12.03.2018).
20. ЗАКУПКА №0273100000117000269 [Электронный ресурс] // Официальный
сайт Единой Информационной системы в сфере закупок. [Офиц. сайт].
URL:http://zakupki.gov.ru/epz/order/notice/ok44/view/common-
info.html?regNumber=0273100000117000269)
21. Индиго-ИТ провела сравнительное тестирование производительности СУБД
[Электронный ресурс] // Servernews [Офиц. сайт].
URL:https://servernews.ru/914244 (дата обращения: 10.03.2018).
22. Информационные технологии. Учебное пособие. Алешин Л.И., Максимов Н.В.
[Электронный ресурс] // Электронная библиотека. Университет Синергия
URL:http://e-biblio.ru/?page=about&about=424 (дата обращения 9.04.2018
23. Список версий IBM WebSphere Application Server [Электронный ресурс] //
Wikimedia Foundation, Inc. [Офиц. сайт].
URL:https://ru.wikipedia.org/wiki/Список_версий_IBM_WebSphere_Application
_Server (дата обращения: 10.03.2018).
99
Приложение
Фрагменты исходных кодов проектной системы «Фронт-Офис»
Приложение написано на JAVA. Для упрощения наглядности кода, а так же для
избавления от рутины, будет использоваться Spring Framework. Все рутинные
задачи помечаются аннотациями(@). Для избавления пользователя знать о
зависимостях приложения, используется автоматизированный сборщик Gradle.
Скрипт сборки представлен ниже:
buildscript {
ext {
springBootVersion = '2.0.0.M7'}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-
plugin:${springBootVersion}")
}}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'ru.pfrf'
version = '0.9.18-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-cache')
compile('org.springframework.boot:spring-boot-starter-data-elasticsearch')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-data-rest')
compile('org.springframework.data:spring-data-rest-hal-browser')
compile('org.springframework.boot:spring-boot-starter-hateoas')
compile('org.springframework.boot:spring-boot-starter-web')
compileOnly('org.projectlombok:lombok')
compileOnly('org.springframework.boot:spring-boot-configuration-processor')
runtime('org.springframework.boot:spring-boot-devtools')
runtime('org.postgresql:postgresql')
testCompile('org.springframework.boot:spring-boot-starter-test')
testCompile('org.springframework.restdocs:spring-restdocs-mockmvc')
}
В скрипте определяются требуемые зависимости, для корректной сборки
приложения.
100
Точка входа находится в файле FoApplication.java. Spring Framework позволяет
запускать сервер приложений автоматически. Для этого в файле с методом main.
Мы выполняем метод run, главного класса.
package ru.pfrf.cs.fo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class RsApplication {
public static void main(String[] args) {
SpringApplication.run(RsApplication.class, args);
}
}
Все rest-сервисы находятся в пакете ru/pfrf/cs/fo
Пример, класса-фасада - контроллера связанного с регистрационным модулем:
package ru.pfrf.cs.fo.rest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import ru.pfrf.cs.fo.core.register.RegistrationModule;
import ru.pfrf.cs.fo.core.register.db.entity.Registration;
import ru.pfrf.cs.fo.core.register.IRegistration;
@RestController
@RequestMapping("/rest/v1/registration")
public class RegisterController {
private final RegistrationModule module; // Здесь будет находиться реализация ядра
@Autowired
public RegisterController(RegistrationModule module) {
this.module = module;
}
/**
* Создание новой регистрации
* @return 201, 401, 403
*/
@RequestMapping(value = "/", method = RequestMethod.POST)
public String postRegistration(@RequestBody Registration registration) {
return module.createRegistration(registration); //Контролер вызывает функцию ядра
}
/**
* Получение данных по регистрации
* @param regId идентификационный номер обращения
* @return 200, 401, 403, 404
*/
@RequestMapping(value = "/{regId}", method = RequestMethod.GET)
public IRegistration getRegistration(@PathVariable long regId) {
return module.getRegistration(regId);
}
/**
* Обновление данных по регистрации
* @param regId идентификационный номер обращения
* @param registration регистрационные данные
* @return 200, 401, 403, 404
*/
@RequestMapping(value = "/{regId}", method = RequestMethod.PUT)
public IRegistration saveRegistration(
@PathVariable long regId,
@RequestBody Registration registration)
{
Источник: https://baza.diplomsite.ru/previewfile/1902