СОДЕРЖАНИЕ
1.1 Понятие, законодательное регулирование и виды электронных подписей
.2 Анализ существующих систем учета электронных подписей
.4 Выбор решения и его обоснование
2.1 Выбор модели проектирования
.2 Разработка структурной схемы приложения
.5 Разработка структуры базы данных
.6 Проектирование интерфейса приложения
3. РАСЧЕТ ЗАТРАТ НА ВНЕДРЕНИЕ СИСТЕМЫ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.1 Понятие, законодательное регулирование и виды электронных подписей
1.2 Анализ существующих систем учета электронных подписей
1.4 Выбор решения и его обоснование
2.1 Выбор модели проектирования
2.2 Разработка структурной схемы приложения
2.5 Разработка структуры базы данных
2.6 Проектирование интерфейса приложения
3. РАСЧЕТ ЗАТРАТ НА ВНЕДРЕНИЕ СИСТЕМЫ
UsersController - класс-контроллер, предназначенный для просмотра, добавления, редактирования и удаления пользователей приложения;
CertCentersController - класс-контроллер, применяемый для работы с удостоверяющими центрами (просмотр списка, добавление, редактирование, удаление);
HistoryController - класс-контроллер, используемый для просмотра истории действий пользователя;
ApiController - класс-контроллер, предназначенный для взаимодействия приложения для ПК с Web-приложением.
Классы ActiveRecord, ActiveController и Controller представляют собой стандартные классы
PHP-фреймворка Yii2 (о нем будет написано ниже), которые предоставляют базовый
функционал модели, REST-контроллера и
контроллера соответственно.
Рисунок 2.5 - Диаграмма классов приложения для ПК
Как видно из диаграммы на рисунке 2.5, в приложении для ПК будут реализованы следующие классы:
ApiAdapter - класс, применяемый для взаимодействия приложения для ПК с Web-приложением (получение информации от него и передача ему информации);
Form1 - класс, используемый для отображения формы авторизации пользователя и обмена авторизационной информацией с Web-приложением;
FormAccount - класс, применяемый для отображения формы личного кабинета пользователя;
FormCertificates - класс, используемый для отображения формы со списком сертификатов пользователя;
FormAddCertificate - класс, применяемый для отображения формы добавления сертификата пользователя;
FormCheck - класс, используемый для отображения формы проверки электронной подписи;
FormSignatures - класс, применяемый для отображения формы со списком подписанных файлов сотрудника;
FormAddSignature - класс, применяемый для отображения формы добавления подписи файла;
Settings - класс, используемый для хранения настроек приложения;
CertificateModel - класс, используемый для описания сертификата электронной подписи;
CertCenterModel - класс, используемый для описания удостоверяющего центра;
SignatureModel - класс, применяемый для описания подписанного файла;
NetworkChecker - класс, используемый для проверки наличия подключения к сети Интернет.
Несмотря на то, что проектирование базы данных и построение ER-диаграммы приведено после построения всех остальных диаграмм приложения, важность данного этапа не следует преуменьшать. База данных является важнейшей частью приложения, в которой закладывается, частично, и логика работы приложения и даже небольшие изменения в базе данных могут приводить к значительным изменениям логики работы приложения.диаграмма базы данных приложения приведена на рисунке 2.6.- таблица, в которой содержится основная информация о пользователях и администраторах приложения. Данная таблица представлена следующими полями:
id - идентификатор пользователя;
login - авторизационное имя пользователя;
password - пароль пользователя;
fullName - полное имя пользователя;
type - тип пользователя (user - обычный пользователь или admin - администратор);
enabled - флаг, указывающий на то, включена ли учетная запись
пользователя или нет.
Рисунок 2.6 - ER-диаграмма базы
данных приложения
Files - таблица, в которой хранится информация о файлах, который загружены в приложение. Данная таблица представлена следующими полями:
id - идентификатор файла;
name - имя файла;
path - адрес расположения файла;
size - размер файла;
mime - тип файла;
dateAdd - дата добавления файла.
Logs - таблица, в которой содержится информация о действиях, совершаемых пользователями приложения. Данная таблица содержит следующие поля:
id - идентификатор записи;
userId - идентификатор пользователя;
description - описание действия пользователя;
dateAdd - дата добавления записи.
Signatures - таблица, в которой находится информация о подписях файлов. Данная таблица представлена следующие поля:
id - идентификатор записи;
fileId - идентификатор файла;
signatureFileId - идентификатор файла с подписью;
certificateId - идентификатор сертификата электронной подписи, который был использован для подписания файла.
CertCenters - таблица, в которой содержится список удостоверяющих центров. Данная таблица содержит следующие поля:
id - идентификатор удостоверяющего центра;
name - наименование удостоверяющего центра;
certificateFileId - идентификатор файла корневого сертификата;
ocspUrl - URL-адрес, предназначенный для проверки работоспособности сертификата.
Certificates - таблица, содержащая список сертификатов электронной подписи пользователей. Данная таблица представлена следующими полями:
id - идентификатор сертификата;
userId - идентификатор пользователя;
centerId - идентификатор удостоверяющего центра;
position - должность пользователя;
companyName - наименование компании;
email - адрес электронной почты;
INN - ИНН пользователя или юридического лица;
KPP - КПП юридического лица;
fileId - идентификатор файла сертификата.
Интерфейс приложения и его удобство для пользователя является не менее важным, чем его функционал. Есть множество примеров программного обеспечения, которое обладало нужным для пользователей функционалом, однако из-за того, что у приложения был неудобный для пользователя интерфейс, оно не могло занять свое место на рынке.
Также для пользователей является важным низкий порог вхождения для работы с приложением, так как не все его пользователи обладают высоким уровнем компьютерной грамотности.
Так как приложение состоит из двух частей (Web-приложения и приложения для ПК), то интерфейс этих частей также будет спроектирован отдельно, так как в этих частях интерфейс реализуется принципиально различными способами:
интерфейс приложения для ПК реализуется в процессе разработки путем размещения элементов управления на форме в среде разработки;
интерфейс Web API реализуется с помощью языка разметки HTML путем набора текста в любом текстовом редакторе.
Проектирование интерфейсов производится путем построения макетов в векторном графическом редакторе, так как вопрос дизайна интерфейса и его эстетической привлекательности выходит за пределы данной главы.
Макеты интерфейса Web API приведены на рисунках 2.7 - 2.12.
На рисунке 2.7 представлен макет страницы авторизации. Он содержит два
текстовых поля для ввода имени и пароля пользователя и кнопку подтверждения
входа в систему. После подтверждения входа в систему будет произведен вход в
систему.
Рисунок 2.7 - Страница «Авторизация»
На рисунке 2.8 представлена таблица о пользователях, которые имеют доступ
к системе, которая содержит в себе информацию о порядковом номере и полном
имени пользователя.
Рисунок 2.8 - Страница «Пользователи»
На рисунке 2.9 представлена форма редактирования пользователя, которая
позволяет редактировать данные об уже существующем пользователе или завести в
системе нового пользователя. Для этого на форме имеются поля для ввода
следующей информации: имя пользователя, пароль, подтверждение пароля и полное
имя пользователя и кнопки сохранения или отмены действия.
Рисунок 2.9 - Страница «Редактирование пользователя»
Рисунок 2.10 представляет форму, где представлена информация об удостоверяющих центрах, выдавших электронную подпись.
На рисунке 2.11 представлена форма редактирования удостоверяющего центра,
которая позволяет редактировать данные об уже существующем удостоверяющем
центре или добавить новый удостоверяющий центр. Для этого на форме имеются поля
для ввода следующей информации: наименование центра, URL-адрес OCSP-запроса
и кнопки сохранения или отмены действия.
Рисунок 2.10 - Страница «Удостоверяющие центры»
Рисунок 2.11 - Страница «Редактирование удостоверяющего центра»
На рисунке 2.12 отображена страница «История действий» которая,
представляет собой журнал истории действий пользователей в системе. Данная
информация используется для составления отчетов и ведения учета электронных
подписей. Информация представляет собой порядковый номер пользователя, самого
пользователя, описание действий совершенных в системе, дату и время совершенных
действий. Также присутствует возможность удалить записи о действиях.
Рисунок 2.12 - Страница «История действий»
Листинг Web-приложения приведен в приложении 1.
Макеты окон приложения для ПК приведены на рисунках 2.13 - 2.20.
Так же присутствует макет страницы авторизации, представленный на рисунке
2.13. Он содержит два текстовых поля для ввода имени и пароля пользователя и
кнопку подтверждения входа в систему и выхода из системы.
Рисунок 2.13 - Окно авторизации
При успешной авторизации будет произведен вход в личный кабинет. На
рисунке 2.14 представлено окно личного кабинета пользователя, которое дает
возможность просмотреть информацию о сертификатах, подписанных документах и
проверить подписи для каждого пользователя вошедшего в систему. электронный подпись
приложение интерфейс
Рисунок 2.14 - Окно личного кабинета пользователя
На рисунке 2.15 представлена форма, которая отображает информацию. На
форме находятся кнопки добавления, удаления сертификата и формирования заявки
на выдачу сертификата. Так же на форме находится поле, в котором выводится
информация об имеющихся сертификатах.
Рисунок 2.15 - Окно списка сертификатов
Рисунок 2.16 отображает форму «Заявка на сертификат». Для формирования
заявки необходима следующая информация: наименование подразделения и должность
сотрудника, номер комнаты, где установлено автоматизированное рабочее место,
адрес электронной почты, номер телефона, область применения сертификата ключа
подписи.
Рисунок 2.16 - Окно создания заявки на сертификат
Листинг приложения для ПК приведен в приложении 2.
На рисунке 2.17 представлено окно авторизации на главной странице, где используются имя пользователя и пароль, которые вводятся в соответствующие поля для заполнения.
Именем пользователя является последовательность букв латинского алфавита без специальных символов, длиной не более N символов. Пароль - не превышает 8 символов и состоит из цифр и букв латинского алфавита.
После успешной авторизации пользователь попадает на страницу выбора
вменяемых ему функций, например: «Пользователи», «Удостоверяющие центры»,
«История действий» и «Выход». При выборе интересуемой функции открывается окно,
где непосредственно создается или редактируется информация.
Рисунок 2.17 - Страница «Авторизация»
Для создания нового пользователя необходимо нажать на кнопку «Добавить
пользователя», после чего открывается окно, где уже вносятся все необходимые
данные, которые нужно опубликовать. Внесенную ранее информацию о пользователе
можно отредактировать с помощью кнопки «Редактировать» или удалить с помощью
кнопки «Удалить», как представлено на рисунке 2.18.
Рисунок 2.18 - Страница «Пользователи»
Рисунок 2.19 - Страница «Редактирование пользователя»
Так же можно добавить новый удостоверяющий центр с помощью кнопки
«Добавить удостоверяющий центр». Внесенную ранее информацию об удостоверяющем
центре так же можно отредактировать с помощью кнопки «Редактировать» или
удалить с помощью кнопки «Удалить», как представлено на рисунке 2.20.
Рисунок 2.20 - Страница «Удостоверяющие центры»
На рисунке 2.21 представлено окно, где уже вносятся все необходимые
данные, которые нужно опубликовать.
Рисунок 2.21 - Страница «Редактирование удостоверяющего центра»
На рисунке 2.22 изображена закладка «История действий» представляет собой
журнал истории действий пользователей в системе. Данная информация используется
для составления отчетов и ведения учета электронных подписей. С помощью кнопки
«Очистить историю» можно удалить весь журнал, или с помощью кнопки «Удалить»
удалить некоторые действия совершенные в системе.