Диплом: Разработка автоматизированного рабочего места специалиста по приему государственных и муниципальных услуг в государственном автономной учреждении Амурской области "Многофункциональный центр предоставления муниципальных и государственных по городу Благовещ

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
42
данных позволяет упростить процесс проектирования и реализации достаточно
сложных БД.
Принимая во внимание вышесказанное, для реализации проекта было
принято решение использовать реляционную модель БД.
Исследовав существующие информационные потоки рассмотренной
задачи, приходим к выводу, что при разработке программного продукта будут
использоваться следующие входные документы:
документ, удостоверяющий личность заявителя (при необходимости –
документ, подтверждающий полномочия представителя заявителя);
– правоустанавливающий документ;
– домовая книга (поквартирная карточка).
При обеспечении деятельности необходимо также руководствоваться
следующими регламентами:
– федеральные и региональные нормативно-правовые акты вопросам
миграционного учета;
– внутренние нормативно-правовыми актами.
В результате будут формироваться следующие выходные документы:
– справка о составе семьи (справка о зарегистрированных по месту
жительства);
– отчетная документация о количестве выданных справок и специалистах,
их выдавших.
1.4.2. Обоснование проектных решений по программному
обеспечению
Программное обеспечение (ПО) – совокупность программ системы
обработки информации и программных документов, необходимых для
эксплуатации этих программ.[10]
Принято выделять два типа ПО:
– системное (общее) ПО – программы, обеспечивающие аппаратным
обеспечением вычислительной системы (процессор, оперативная память,
устройства ввода-вывода и т.д.), выступая в роли прослойки между аппаратной
составляющей и приложениями пользователя. Задачей системного ПО является
обеспечение работы других программ и управление аппаратными ресурсами
43
компьютера. Системным ПО являются операционные системы (ОС), драйвера,
утилиты и СУБД.
– прикладное ПО – программа или комплекс программ,
взаимодействующая непосредственно с пользователем для решения
поставленных задач.
Одним из важнейших вопросов при решении задач автоматизации
является выбор ОС. Операционная система обеспечивает управление ресурсами
аппаратного обеспечения компьютера, запуск и выполнение прикладного ПО и
защиту данных. Каждая программа пользуется средствами, предоставляемыми
операционной системой.
В связи с тем, что в качестве ОС на рабочих местах сотрудников
используется Microsoft Windows 7, зарекомендовавшая себя как надежный
программный продукт, выбор безальтернативен. Данная операционная система
обеспечивает бесперебойное и стабильное функционирование прикладного
программного обеспечения, используемого сотрудниками учреждения в
повседневной работе. Необходимо отметить, что часть рабочих мест в
экспериментальном порядке оборудованы ОС семейства Linux.
При создании многопользовательского приложения для автоматизации
поставленной задачи, важно решение еще одной задачи – архитектура
взаимодействия. На сегодняшний используются следующие типы
взаимодействия: централизованное, файл-сервер и клиент-сервер.
При использовании централизованной архитектуры все компоненты АИС
располагаются на одном сервере или компьютере. Преимуществом является
автономность программного решения, однако важнейшим недостатком является
высокие требования к ресурсам системы, чем больше пользователей использует
систему – тем выше требования.
Архитектура файл-сервер подразумевает под собой использование ЛВС и
выделенного сервера, который будет обеспечивать хранение файлов БД. При
осуществлении запросов пользователей посредством сетевых протоколов к
серверу, необходимые для работы файлы передаются на рабочие места.
Положительными сторонами данной архитектуры являются:
– возможность организации многопользовательской работы;
44
– низкая стоимость реализации программного продукта.
Недостатков у архитектуры файл-сервер гораздо больше:
– увеличение нагрузки на сеть при увеличении числа пользователей ввиду
необходимости передачи больших объемов данных;
– при увеличении числа пользователей производительность самой базы
данных резко падает;
– все расчеты и вычисления проводятся на стороне клиента, следовательно
необходимы производительные компьютеры.
Архитектура клиент-сервер, как файл-сервер подразумевает под собой
использование ЛВС и выделенного сервера. Однако она устраняет недостатки
архитектуры файл-сервер за счет разделения функционала пользовательского
приложения (клиента) и сервера. Клиент формирует запрос к серверу БД,
используя структурный язык запросов (Structured Query Language, SQL). Случай,
при котором приложение выполняется на рабочей станции клиента, а СУБД
функционирует на сервере, называется двухуровневой моделью.
Очевидно, что данное решение достаточно легко масштабируется, для
решения поставленной задачи выбор остановлен на сочетании архитектуры
клиент-сервер и его реализации в виде веб-приложения.
В широком смысле все СУБД предназначены для решения основной
задачи – выполнять операции с информацией в базах данных, несмотря на это
выбор СУБД является одним из важнейших и сложнейших этапов при
разработке приложений баз данных. Стоит принять во внимание, что выбранное
решение должно обеспечивать не только текущие, но и будущие потребности
учреждения. Важным вопросом является и финансовая сторона – необходимо
учесть затраты на приобретение СУБД, разработку ПО и обучение персонала.
Следовательно, внедряемая разработка должна принести учреждению реальную
выгоду.
При проектировании ИС проще всего произвести оценку СУБД по
некоторому набору критериев, которые в наибольшей степени удовлетворят
основным требованиям решаемой задачи. Альтернативой данному варианту
является разработка нескольких решений на основе различных СУБД и
последующий выбор наиболее подходящего из кандидатов. Но даже такой
45
подход требует определения ряда критериев для выбора оптимального решения.
К ним можно отнести:
– требования к аппаратным и программным ресурсам;
– простота реализации приложений;
– стоимость приобретения и эксплуатации ИС;
– затраты на обучение персонала;
– возможность интеграции с другими программными продуктами;
– сроки реализации информационной системы.
Кроме качественных характеристик стоит обращать внимание и на
технические параметры, которых зачастую гораздо больше. К техническим
характеристикам относятся:
– общие параметры (операционная среда, потребность в оперативной
памяти, ограничения на максимальный объем БД и др.);
– наличие ограничений на операции с данными;
– поддерживаемые типы данных;
– возможность выполнения запросов и создания собственных функций;
– работа в многопользовательских средах;
– наличие инструментальных средств разработки приложений;
– возможность импорта и экспорта данных.
Основные критерии, на основании которых производился выбор СУБД
для разработки ИС, приведены в таблице 14.
Таблица 14
Сравнение основных критериев СУБД
Характеристики
Firebird 2.5.6
Microsoft SQL
Server
2012
PostgreSQL 9.6
Поддерживаемы
е операционные
системы
Windows
Desktop/Server,
Linux, Unix, Mac
Windows
Desktop/Server
Windows
Desktop/Server,
Linux, Unix, Mac
46
Продолжение таблицы 14
Условие
лицензирования
Полностью
бесплатна, InterBase
Public License и
IDPL Initial
Developer’s Public
License
Коммерческий
продукт с
закрытым
исходным кодом,
бесплатная версия
ограничена 1
процессором до 4
ядер, оперативной
памятью до 1 ГБ и
объемом БД до 10
ГБ
Полностью
бесплатна,
PostgreSQL
License
Наличие
предустановлен-
ных драйверов в
ОС семейства
Windows
Нет
Да
Нет
Наличие
драйверов
ODBC, JDBC,
ADO.NET, PHP,
Python
Да
Да
Да
Поддержка
репликации
Да, но с помощью
сторонних
продуктов с
коммерческим и
открытым исходным
кодом. Репликация
всех типов.
Да, встроенная и
разных типов
Да, но с помощью
сторонних
продуктов с
открытым
исходным кодом.
Репликация всех
типов.
Возможность
писать
хранимые
функции на
разных языках
программирован
ия
Возможно на любых
языках
Возможно на
любых языках, но
через компиляцию
Да, наиболее
полная
поддержка из
всех
рассматриваемых
Возможность
создавать
пользовательс-
кие аггрегиро-
ванные функции
Нет
Да
Да
47
Продолжение таблицы 14
Поддержка даты
и времени
Да
Да
Да
Аутентификация
Средствами БД
Средствами БД и
ActiveDirectory
Самый широкий
выбор вариантов
Разграничение
доступа к
столбцам
Да
Да
Да
Соответствие
стандартам SQL
SQL:1999
SQL:2011
SQL:2011
На основании вышеизложенного, а также учитывая, что 2 июня 2015 года
Министерством связи и массовых коммуникаций Российской Федерации был
издан «Протокол экспертной оценки проектов по импортозамещению
инфраструктурного программного обеспечения», в котором проект «СУБД
PostgreSQL и связанные с ним решения» занял первое место по направлению
«Системы управления базами данных» протокола экспертной оценки, выбор был
остановлен именно на ней.
Следующим важным шагом является выбор языка программирования для
разработки приложения для подключения к базе данных. Одним из вариантов
архитектуры программного обеспечения является выделение двух частей –
фронтенда (англ. front-end) и бэкенд (англ. back-end). Фронтендом является
пользовательский интерфейс и функциональность, исполняемые на клиентской
стороне приложения. Соответственно, бэкенд – комплекс программно-
аппаратных средств, обеспечивающих функционирование сайта.
В качестве инструмента для разработки бэкенда рассмотрим два
достаточно популярных программных средства – PHP (Hypertext Preprocessor,
препроцессор гипертекста) и Node.js.
Язык программирования, созданный Расмусом Лердорфом в 1995 году
изначально расшифровывался как Personal Home Page Tools, то есть инструмент
для создания персональных веб-страниц. На сегодняшний день PHP является
одним из самых популярных средств для разработки динамических сайтов. В
48
своей работе PHP основывается на блокирующие операции ввода-вывода.
К преимуществам PHP относятся:
– быстрота и простота развертывания;
– простота внесения изменений;
– создание отдельного процесса для каждого запроса, применяя некоторые
оптимизации, позволяющие повторно использовать процессы ради минимизации
их количества;
– низкие требования к аппаратной составляющей в случае, если проект
рассчитан на небольшую нагрузку;
– большое количество готовых модулей в связи с широкой
распространенностью языка программирования;
– исполняемый код PHP запускается в области памяти, выделенной
операционной системой.
Недостатками являются:
– отсутствие реализация поддержки многопоточности;
– отсутствие обратной совместимости между версиями языка;
– несогласованный синтаксис функций – каждый программист на PHP
может решить одну и ту же задачу по разному;
– низкая масштабируемость при большом количестве параллельных
обращений к серверу;
– низкая безопасность связана с возможность реализации SQL-инъекций.
Таким образом, через любую из форм скрипт, который полностью сотрет базу
данных на сервере.
Node.js (Node) программная платформа, увидевшая свет в 2009 году.
Создана Райаном Далем на основе программного продукта V8, разработанного
отделением компании Google. В основе работы V8 лежит трансляция JavaScript в
машинный код. В данный момент поддерживается достаточно большой
командой разработчиков. Node.js, по заявлению разработчиков, предлагает
простой способ построения масштабируемых сетевых серверов. Отличием в
работе от PHP является использование неблокирующих операций ввода-вывода.
К преимуществам данного инструмента разработки относятся:
– структурированность;
49
– мощность и гибкость;
– низкое использование ресурсов;
– совместимость с JSON;
– высокая производительность операций, связанных с вводом-выводом;
более высокая безопасность в сравнении с PHP.
Недостатками Node являются:
более сложное развертывание;
– неэффективное исполнение некоторых команд, используемых внутри
потока;
– более низкая распространенность в сравнении с PHP.
Кроме того, проведем сравнение производительность PHP и Node с
помощью запросов к серверной части приложения. Результат скорости
выполнения запросов приведен в таблице 15, чем меньше время выполнения –
тем лучше.
Таблица 15
Скорость выполнения запросов
Инструмент
разработки
Количество
запросов, шт
Уровень
хэширования
Время выполнения всех
одновременных запросов, мс
Node.js
300
1
0,499
PHP
300
1
0,467
В таблице 16 приведен результат работы под нагрузкой серверной части
при количестве запросов, равном пяти тысячам. Стоит отметить, что при такой
нагрузке серверные части выдавали сообщения об отказах, поэтому приведено
среднее значение.
Таблица 16
Общее количество выполненных запросов
Инструмент
разработки
Количество
запросов, шт
Уровень
хэширования
Количество выполненых
запросов, шт
Node.js
5000
1
977
PHP
5000
1
2358
Из вышеприведенного сравнения, а также приведенных таблиц следует,
что для решения поставленной задачи средством разработки бэкенда следует
выбрать Node.js.
50
Так как для создания бэкенда выбран Node с трансляцией JavaScript, в
роли кандидатов средства разработки фронтенда проведем сравнение языков
программирования JavaScript и TypeScript.
JavaScriptодин из самых популярных языков программирования,
появившийся в 1995 году благодаря Брендану Эйху. При создании данного
языка ставилась задача обеспечить удобство для программистов, не
обладающих высокой квалификацией. Влияние на JavaScript оказали такие
языки, как C и Java. Популярность JavaScript принесла технология AJAX
(Asynchronous Javascript and XML), которая позволяет выполнять фоновый
обмен данными браузера с серверной частью.
Преимуществами являются:
– распространенность – поддерживается всеми современными браузерами;
– создание простейших скриптов возможно даже неопытному
разработчику;
К недостатками JavaScript можно отнести:
– недостаточный уровень безопасности ввиду широкой
распространенности;
– наличие проблем в работе с типами данных.
С целью улучшения JavaScript и устранения его недостатков Андерсом
Хейлсбергом, автором таких языков, как Turbo Pascal, Delphi и C#, был
разработан язык программирования TypeScript, представленный компанией
Microsoft в 2012-м году.
К положительным сторонам Typescript относится:
– строгая типизация;
– поддерживается многими инструментами для разработки;
– поддержка объектно-ориентированного программирования;
– обратная совместимость с JavaScript.
Недостатком является недостаточная распространенность по сравнению с
JavaScript.
На основании рассмотренной информации средством для разработки
фронтенда выбран язык программирования TypeScript.
1.4.3 Обоснование проектных решений по техническому
51
обеспечению
Техническое обеспечение (ТО) – состав, формы и способы эксплуатации
различных технических устройств, необходимых для сбора, регистрации,
передачи, хранения, обработки и использования информации.
В ТО включают:
– комплекс технических средств;
– организационные формы использования технических средств;
– персонал, который работает на технических средствах;
– инструктивные материалы по использованию техники.
В свою очередь в комплекс технических средств входит:
– компьютеры различных моделей и форм-факторов;
– устройства ввода, обработки, передачи, вывода и хранения информации;
– оргтехника;
– документационные и эксплуатационные материалы.
Использование технических средств для решения поставленной задачи
позволит:
– повысить производительность труда сотрудников учреждения;
– повысить точность обработки информации;
– повысить эффективность и обоснованность принимаемых решений;
– повысить защиту от несанкционированного доступа.
Применение технические средств позволяет решать задачи с применением
компьютерных технологий. Для решения поставленной задачи автоматизации, в
ходе которой необходимо автоматизировать процесс оформления и выдачи
справок сотрудниками ГАУ АО «МФЦ по г. Благовещенску», в качестве
технического обеспечения используются следующие средства:
– ЛВС;
– персональные компьютеры специалистов;
сервера.
К основным характеристикам ПК относятся:
– быстродействие процессора (тактовая частота, количество ядер, размер
кэша);
– объем оперативной памяти;

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

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