СОДЕРЖАНИЕ
ВВЕДЕНИЕ .................................................................................................................. 8
1 Анализ предметной области.................................................................................. 10
1.1 Общие сведения о мониторинге .............................................................. 10
1.1.1 Мониторинг образовательной организации.............................. 11
1.1.2 Результаты мониторинга ............................................................. 12
1.2 Анализ поставленной задачи и требований к системе .......................... 12
1.2.1 Позиционирование....................................................................... 13
1.2.2 Описание пользователей ............................................................. 15
1.2.3 Краткий обзор изделия ................................................................ 16
1.2.4 Сравнение с представленными программными решениями на
рынке ...................................................................................................... 18
1.2.5 Возможности продукта ............................................................... 18
2 Техническое задание .............................................................................................. 20
2.1 Общие сведения ........................................................................................ 20
Подп.и дата
2.1.1 Полное наименование системы и ее условное обозначение ... 20
2.1.2 Основание для проведения работ ............................................... 20
2.1.3 Наименование организаций — Заказчика и Разработчика...... 21
Инв. № дубл.
2.2 Назначение и цель создания системы ..................................................... 22
2.3 Характеристика объектов автоматизации .............................................. 23
2.4 Требования к системе в целом ................................................................. 24
ам. инв. №
2.4.1 Требования к структуре и функционированию системы ........ 24
2.4.2 Требования к численности и квалификации персонала системы
и режиму его работы............................................................................. 25
2.4.3 Показатели назначения................................................................ 25
Инв.№ подл.
Подп. и дата
2.4.4. Требования к эргономике и технической эстетике ................. 26
2.4.5 Требования к лингвистическому обеспечению ........................ 27
2.4.6 Требования к техническому обеспечению ................................ 28
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
6
2.5. Описание работ по созданию системы .................................................. 29
2.5.1 Состав работ ................................................................................. 29
2.5.2 Виды и объем испытаний системы ............................................ 30
2.5.3 Требования к содержанию работ ............................................... 30
3 Проектирование ...................................................................................................... 32
3.1 Построение диаграммы вариантов использования ............................... 32
3.1.1 Выявление акторов ...................................................................... 32
3.1.2 Выявление вариантов использования ........................................ 33
3.1.3 Разработка диаграмм вариантов использования ...................... 34
3.1.4 Реестр вариантов использования ............................................... 37
3.2 Диаграммы последовательностей ........................................................... 45
3.3 Диаграмма классов .................................................................................... 49
3.4 ER-диаграмма ............................................................................................ 51
3.5 Диаграмма развертывания системы ........................................................ 52
4 Анализ программного продукта и его работа ..................................................... 53
4.1
программных
многопользовательского
Подп.и дата
Инв. № дубл.
Выбор
средств
доступа
для
разработки
заполнения
системы
сведений
об
образовательной организации. ...................................................................... 54
4.2 Архитектура веб-приложения.................................................................. 56
4.3 Реализация системы многопользовательского доступа заполнения
сведений об образовательной организации .................................................. 58
ЗАКЛЮЧЕНИЕ ......................................................................................................... 68
ам. инв. №
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ................................................ 70
ПРИЛОЖЕНИЕ А ..................................................................................................... 71
ПРИЛОЖЕНИЕ Б ...................................................................................................... 92
Инв.№ подл.
Подп. и дата
ПРИЛОЖЕНИЕ В ..................................................................................................... 97
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
7
ВВЕДЕНИЕ
В данной бакалаврской работе стояла задача автоматизации публикации
сведений об образовательной организации МГУ им. Н. П. Огарева в
соответствии с частью 5 статьи 97 Федерального закона «Об образовании в
Российской Федерации» и обеспечении открытости и доступности информации
о своей деятельности посредством обеспечения размещения информации в
информационно–телекоммуникационных сетях, в том числе на официальном
сайте в сети «Интернет» в связи с установленным порядком осуществления
мониторинга системы образования (Постановление Правительства РФ от
05.08.2013 N 662 «Об осуществлении мониторинга системы образования»).
Сайт МГУ им. Н. П. Огарева является одним из самых посещаемых
Интернет–ресурсов в Республике Мордовия и входит в топ–20 самых
посещаемых официальных сайтов образовательных организаций. Ежедневное
количество посещений составляет порядка 40000 уникальных пользователей, в
Инв. № дубл.
Подп.и дата
период приемной комиссии данный показатель увеличивается более чем в 2
раза. На сайте есть информация о структуре ВУЗа и руководстве, информация
для студентов, абитуриентов и работодателей, нормативные документы и
многое другое.
В связи с выходом приказов Министерства образования и науки
Российской Федерации от 22 сентября 2017 г. № 955 «Об утверждении
показателей мониторинга системы образования», от 27 ноября 2017 г. № 1968
ам. инв. №
«О внесении изменений в требования к структуре официального сайта
образовательной организации в информационно–телекоммуникационной сети
“Интернет” и формату представления в нем информации» раздел сайта
Инв.№ подл.
Подп. и дата
«Сведения об образовательной организации» МГУ им. Н. П. Огарева перестал
отвечать требованиям Рособрнадзора. Изменились правила размещения
информации на официальном сайте образовательной организации. Изменения
были проведены для организации автоматизированной проверки программно-
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
8
методическим комплексом «Spider VIKON». Предварительный мониторинг
показал, что на сайте отсутствуют теги, необходимые для автоматизированной
проверки.
В целях реализации приказов Министерства образования и науки
Российской Федерации от 22 сентября 2017 г. № 955, от 27 ноября 2017 г. №
1968, а так же актуализации методических рекомендаций представления
информации об образовательной организации высшего образования в открытых
источниках с учетом соблюдения требований законодательства в сфере
образования и внесения сведений в специальные разделы официального сайта
университета должна быть разработана система многопользовательского
доступа заполнения сведений.
Для достижения поставленной цели необходимо решить следующие
задачи:
1) провести анализ предметной области;
2) определить с функциональные требования к системе;
3) выбрать способ реализации системы и подобрать необходимые
ам. инв. №
Инв. № дубл.
Подп.и дата
инструменты для разработки;
4) реализовать поставленные функциональные требования, разработать
интерфейс приложения;
5) определить основополагающие элементы развертывания системы.
Цель и задачи определили структуру выпускной квалификационной
работы.
Разработанная система должна обеспечить успешное прохождение
мониторинга официального сайта МГУ им. Н. П. Огарева, обеспечить
своевременное
обновление
информации,
поддержание
разделов
сайта
Инв.№ подл.
Подп. и дата
образовательной организации в актуальном состоянии, а также облегчить
работу ректората, институтов, филиалов, факультетов и подразделений в плане
быстроты и удобства заполнения сведений об образовательной организации.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
9
1 Анализ предметной области
В данном разделе рассмотрим порядок прохождения мониторинга и
экспертной оценки официального сайта МГУ им. Н. П. Огарева, обусловленных
приказами Министерства образования и науки Российской Федерации от 22
сентября 2017 г. № 955 «Об утверждении показателей мониторинга системы
образования», от 27 ноября 2017 г. № 1968 «О внесении изменений в
требования к структуре официального сайта образовательной организации в
информационно–телекоммуникационной
сети
“Интернет”
и
формату
представления в нем информации».
Проведем анализ поставленной задачи и определимся с решением,
которое будет использоваться для выполнения этой задачи.
1.1 Общие сведения о мониторинге
Инв. № дубл.
Подп.и дата
В настоящее время официальный сайт вуза является одним из основных
источников данных при государственной аккредитации, контрольно-надзорных
мероприятиях и в период приемной кампании вузов. Проводится регулярная
автоматизированная
проверка
сайтов
вузов
программно-методическим
комплексом РОН.
Мониторинг осуществляется в целях информационной поддержки
разработки и реализации государственной политики Российской Федерации в
ам. инв. №
сфере образования, непрерывного системного анализа и оценки состояния и
перспектив развития образования (в том числе в части эффективности
деятельности организаций, осуществляющих образовательную деятельность),
Инв.№ подл.
Подп. и дата
усиления результативности функционирования образовательной системы за
счет повышения качества принимаемых для нее управленческих решений, а
также в целях выявления нарушения требований законодательства об
образовании.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
10
Информация, размещенная на сайте образовательной организации,
является одним из значимых источников для экспертов при подготовке и
проведении плановых и внеплановых проверок в рамках надзорных и
контрольных мероприятий, проводимых Федеральной службой по надзору в
сфере образования и науки.
«Spider VIKON» проводит автоматизированную оценку полноты и
достоверности
размещаемой
информации
на
сайте
образовательной
организации с получением подробного отчета о соответствии каждого
подраздела нормативным требованиям.
1.1.1 Мониторинг образовательной организации
Организация мониторинга осуществляется Министерством образования и
науки Российской Федерации, Федеральной службой по надзору в сфере
образования и науки, иными федеральными государственными органами,
Инв. № дубл.
Подп.и дата
имеющими в своем ведении организации, осуществляющие образовательную
деятельность
(далее
—
органы
государственной
власти),
органами
исполнительной власти субъектов Российской Федерации, осуществляющими
государственное
управление
в
сфере
образования
(далее
—
органы
исполнительной власти субъектов Российской Федерации), и органами
местного самоуправления, осуществляющими управление в сфере образования
(далее — органы местного самоуправления).
ам. инв. №
Показатели мониторинга системы образования и методика их расчета
определяются Министерством образования и науки Российской Федерации в
соответствии с перечнем обязательной информации о системе образования,
Инв.№ подл.
Подп. и дата
подлежащей мониторингу, утвержденным постановлением Правительства
Российской Федерации от 5 августа 2013 г. № 662. Мониторинг проводится
органами государственной власти, органами исполнительной власти субъектов
Российской Федерации и органами местного самоуправления не реже 1 раза в
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
11
год в соответствии с процедурами, сроками проведения и показателями
мониторинга, устанавливаемыми указанными органами.
1.1.2 Результаты мониторинга
Результаты проведенного анализа состояния и перспектив развития
системы образования ежегодно публикуются на официальных сайтах органов
государственной власти, органов исполнительной власти субъектов Российской
Федерации и органов местного самоуправления в сети «Интернет» в виде
итоговых отчетов по форме, установленной Министерством образования и
науки Российской Федерации (далее — итоговые отчеты), не реже 1 раза в год в
соответствии со сроками, установленными органами государственной власти,
органами исполнительной власти субъектов Российской Федерации и органами
местного самоуправления.
Инв. № дубл.
Подп.и дата
1.2 Анализ поставленной задачи и требований к системе
Цель создания состоит в том, чтобы собрать, проанализировать и
определить
потребности
и
возможности
системы
многопользовательского доступа заполнения сведений об образовательной
организации. Документ акцентирует внимание на возможностях, необходимых
совладельцам и целевым пользователям, и на том, почему эти потребности
существуют.
ам. инв. №
высокоуровневые
заполнения
Подробности
сведений
об
того,
как
система
образовательной
многопользовательского
организации
выполняет
эти
потребности, будут детализированы в прецедентах и дополнительных
Инв.№ подл.
Подп. и дата
спецификациях.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
12
1.2.1 Позиционирование
В настоящее время заполнение информации на официальном сайте МГУ
им. Н. П. Огарева не автоматизировано, отсутствуют теги для разметки
страницы официального сайта, формирование адресов страниц раздела
«Сведения об образовательной организации» не соответствует требованиям
Рособрнадзора.
Новое решение позволит успешно преодолеть мониторинг сайта МГУ им.
Н. П. Огарева, обеспечить более удобный режим доступа пользователей
системы к информации, повысить быстродействие, обеспечить надёжное
хранение данных и более полный охват функций, подлежащих автоматизации,
структурированно
представить
информацию
на
сайте
образовательной
организации, понятную как для пользователей системы, так и для программнометодического комплекса «Spider VIKON». Определение проблем представлено
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
в таблице 1.1.
Таблица 1.1 — Определение проблем
Проблема
Автоматический сбор информации об образовательной
организации комплексом «Spider VIKON» Рособрнадзора,
несоответствие
сайта
образовательной
организации
Методическим рекомендациям.
Затрагивает
Образовательная
организация,
информации
об
образовательной организации.
Ее следствием За
нарушение
предусмотренного
законодательством
является
Российской Федерации в области образования порядка приема
в организацию, а также непредоставление сведений
(информации)
Кодексом
об
административных
правонарушениях Российской Федерации предусмотрена
ответственность юридических
и должностных лиц,
допустивших нарушения.
Успешное
Соответствие
сайта
образовательной
организации
решение
Методическим рекомендациям в полной мере.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
13
Окончание таблицы 1.2
Проблема
Однозначная идентификация введенных данных об
образовательной организации для автоматического сбора
комплексом «Spider VIKON».
Затрагивает
Образовательная организация.
ам. инв. №
Инв. № дубл.
Подп.и дата
Ее следствием Невозможность конкретного
распознавания
введенной
является
информации для её структурирования Рособрнадзором.
Успешное
решение
Структурированное представление информации на сайте
образовательной
организации,
понятное
как
для
пользователей системы, так и для робота «Spider VIKON».
Проблема
Поддержание сведений об образовательной организации в
актуальном состоянии
Затрагивает
Ректорат, институты, филиалы, факультеты, подразделения
Ее следствием
является
Отсутствие актуальной информации для посетителей сайта
образовательной организации, несвоевременное обновление
информационных разделов
Успешное
решение
Каждодневное, своевременное обновление информации,
поддержание разделов сайта образовательной организации в
актуальном состоянии
Определение позиции изделия показано в таблице 1.2.
Таблица 1.2 — Определение позиции изделия
Для
ФГБОУ ВО «МГУ им. Н. П. Огарёва»
которой
требуется
соответствие
сайта
образовательной
организации
Методическим
рекомендациям
Рособрнадзора в рамках закона Федеральным законом
от 29.12.2012 № 273-ФЗ
«Аккредитация»
основан на технологии MVC в стеке с реляционной
базой данных
существующего механизма на основе устаревших
электронных таблиц, не соответствующих требованиям
Роскомнадзора
имеет возможность многопользовательской работы,
автоматическую выгрузку и генерацию заполненных
страниц
название продукта
который
Инв.№ подл.
Подп. и дата
в отличие от
наш продукт
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
14
Выявленные проблемы позволят определить пользователей системы, их
потребности, ответственности и критерии успеха.
1.2.2 Описание пользователей
У системы существуют два основных пользователя: администратор и
ответственный за показатели мониторинга. Администратор создаёт новых
пользователей, добавляет им права на редактирование определенных разделов.
Ответственный заполняет требуемые поля разделов согласно приложения к
приказу ФГБОУ ВО «МГУ им. Н.П. Огарева» от 17.01.2018 г. №27.
В настоящее время в Университете имеется 51 подразделение, 2 филиала,
7 институтов, 10 факультетов.
Пользователи будут взаимодействовать с системой, используя браузер.
Доступ к данным на сервере будет осуществляться через сеть Интернет.
Операционная система для серверной части — Ubuntu 14.04, для клиентской —
ам. инв. №
Инв. № дубл.
Подп.и дата
любая современная ОС. В таблице 1.3 представлены профили пользователей
системы.
Таблица 1.3 — Профили пользователей
Типичный
представитель
Описание
Администратор
Пользователь системы, наделенный правами на
создание новых пользователей, редактировании
прав, изменении информации в любом разделе
системы
Администратор
Создаёт новых пользователей, добавляет им права на
редактирование определенных разделов
Получение актуальных данных о реальных
показателях мониторинга сайта.
Ответственный
Тип
Ответственности
Инв.№ подл.
Подп. и дата
Критерий успеха
Типичный
представитель
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
15
Окончание таблицы 1.3
Описание
Пользователь системы, наделенный правами на
создание, изменение и удаление доступных для него
полей разделов
Пользователь
Создает, заполняет и редактирует доступные для
него поля разделов
Заполнение всех доступных для него полей разделов
Тип
Ответственности
Критерий успеха
Ключевые потребности пользователей
Ответственные затрачивают значительное количество времени и сил на
заполнение разделов, отсутствует режим многопользовательского доступа к
заполнению разделов. Образовательное учреждение нуждается в системе,
которая бы ускорила и оптимизировала вышеуказанные процессы.
1.2.3 Краткий обзор изделия
Система является законченной независимой разработкой. В перспективе
Инв. № дубл.
Подп.и дата
возможно
расширение
системы
до
полноценной
системы
управления
содержимым (CMS), которая обеспечит заполнение всех разделов сайта
образовательной организации с их автоматической ежедневной выгрузкой.
Коммуникации — на уровне доступа к общей базе данных. Сводка
возможностей системы представлена в таблице 1.4.
Инв.№ подл.
Подп. и дата
ам. инв. №
Таблица 1.4 — Сводка возможностей
Выгоды заказчика
Поддерживающие возможности
Автоматическая
Система ежедневно автоматически генерирует
генерация.
заполненные пользователями страницы.
Автоматическая
Система автоматически выгружает сгенерированные
выгрузка.
страницы в специальный раздел сайта Университета.
Возможность работы с Система автоматически забирает актуальные данные
файлами *.xml.
о списках преподавателей из файла формата .xml и
загружает их в свою базу данных.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
16
Окончание таблицы 1.4
Поддержка
Система поддерживает большое количество большое
многопользовательского количество
одновременно
работающих
режима работы
пользователей.
Предположения и зависимости
Система будет использоваться в ФГБОУ ВО «МГУ им. Н. П. Огарёва, в
том числе в двух его филиалах: Ковылкинский филиал, Рузаевский институт
машиностроения.
Применимость:
Время, необходимое для обучения обычных пользователей — 1 рабочий
день (8 часов), для обучения продвинутых пользователей не требуется
проводить обучение.
Время отклика для задач любого типа не должно превышать 1000мс.
Надежность:
Доступность — время, затрачиваемое на обслуживание системы, не
Инв. № дубл.
Подп.и дата
должно превышать 1% от общего времени работы.
Доступность — время, затрачиваемое на обслуживание системы, не
должно превышать 3% от общего времени работы.
Среднее время безотказной работы — за время работы системы отказы не
были обнаружены.
Максимальная норма ошибок или дефектов — 1 ошибка на десять тысяч
строк кода.
случае
изменений
обрамляющих
тегов
Рособрнадзором
«Аккредитация» должна претерпеть малосущественные изменения (будет
необходимо изменить теги при генерации страниц).
Инв.№ подл.
Подп. и дата
ам. инв. №
В
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
17
1.2.4 Сравнение с представленными программными решениями на
рынке
В настоящий момент на рынке имеется два решения, позволяющие
соблюсти все требования к ведению официального сайта ОО ВО, не стать
вузом–нарушителем, избежать ошибок при ведении сайта и их последствия.
1) Программно-методический комплекс «Информационный модуль сайта
— VIKON». Данный комплекс позволяет заполнить информацию в разделе
сайта «Сведения об образовательной организации», сгенерировать заполненные
страницы и выгрузить их в нужный раздел. Преимуществом данного продукта
является
самопроверка
соответствия
сайта
организации
нормативным
требованиям и рекомендациям. Существенными недостатками являются
платная подписка на программно-методический комплекс (порядка 40000
руб.— первый год подписки, 30000 руб. — последующие года, стоимость
участия в вебинаре без предоставления доступа к VIKON — 4900 руб.),
Инв. № дубл.
Подп.и дата
невозможность ежедневной автоматической генерации и выгрузки страниц на
официальный сайт, отсутствие многопользовательского режима работы.
2) Официальное
бесплатное
решение
Рособрнадзора.
Данный
программный комплекс не является удобным для использования по ряду
причин: отсутствует возможность многопользовательского режима работы,
отсутствие ежедневной автоматической генерации и выгрузки страниц, дизайн
сгенерированных страниц является стандартным, без возможности его
Инв.№ подл.
Подп. и дата
ам. инв. №
изменения под стилистику сайта образовательной организации.
1.2.5 Возможности продукта
Сводка возможностей системы многопользовательского доступа сведений
об образовательной организации представлена в таблице 1.5.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
18
Таблица 1.5 — Сводка возможностей системы.
Сфера воздействия
Автоматическая генерация.
Автоматическая выгрузка.
Возможность работы с файлами
*.xml.
«Гибкий» дизайн сгенерированных
страниц
Поддержка
многопользовательского
работы
единой
базы
Программная
совместимость с
современными ОС
Система полностью совместима со всеми
видами
современных
операционных
систем, не требует больших ресурсов
Удобство
использования
Система
наделена
дружелюбным
графическим интерфейсом
ам. инв. №
Инв. № дубл.
Подп.и дата
Формирование
данных
режима
Результат
Система
ежедневно
автоматически
генерирует заполненные пользователями
страницы.
Система
автоматически
выгружает
сгенерированные страницы в специальный
раздел сайта Университета.
Система
автоматически
забирает
актуальные
данные
о
списках
преподавателей из файла формата .xml и
загружает их в свою базу данных.
Сгенерированные страницы содержат
только необходимую информацию и
разметку.
Администратор
имеет
возможность подключить свои стили и
изменить внешний вид страниц под
стилистику образовательной организации.
Система
поддерживает
большое
количество
большое
количество
одновременно работающих
пользователей.
Вся информация хранится в одной базе
данных доступ, ее изменение разрешено
только администратору системы
Представленная сводка возможностей определила задачи, которые нужно
решить. Необходимо разработать систему, которая будет соответствовать
Инв.№ подл.
Подп. и дата
требованиям заказчика, решать поставленные требования и задачи, устранять
выявленные проблемы. Требования и порядок создания системы описаны в
техническом задании.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
19
2 Техническое задание
Техническое задание является основным документом, определяющим
требования и порядок создания системы, в соответствии с которым проводится
ее разработка и ввод в эксплуатацию.
2.1 Общие сведения
2.1.1 Полное наименование системы и ее условное обозначение
Полное
наименование:
«Система
многопользовательского
доступа
заполнения сведений об образовательной организации с учетом соблюдения
требований законодательства в сфере образования с целью прохождения
автоматизированной проверки Росаккредагенством «Аккредитация»».
Условное обозначение системы: «Аккредитация».
Условное обозначение: Система.
Инв. № дубл.
Подп.и дата
2.1.2 Основание для проведения работ
Работа выполняется на основании приказа №27 от 17 января 2018 года
«Об установлении ответственных за показатели мониторинга» на поставку,
внедрение и сопровождение прикладного программного обеспечения для
автоматизации заполнения разделов об образовательной организации и
ам. инв. №
Соответствие
сайта
образовательной
организации
Методическим
рекомендациям в полной мере.
Перечень нормативных правовых актов, на основе и с соблюдением
Инв.№ подл.
Подп. и дата
которых должны быть выполнены работы:
1) Федеральный закон от 29.12.2012 № 273-ФЗ (ред. от 29.12.2017) «Об
образовании в Российской Федерации»
2) Постановление Правительства РФ от 05.08.2013
Изм. Лист
№ докум.
Подп.
Дата
№ 662 «Об
БР-02069964-09.03.01-02-18
Лист
20
осуществлении мониторинга системы образования» (вместе с «Правилами
осуществления мониторинга системы образования»)
3) Приказ Минобрнауки России от 22.09.2017 № 955 «Об утверждении
показателей мониторинга системы образования» (Зарегистрировано в Минюсте
России 12.10.2017 N 48516)
4) Постановление Правительства РФ от 10.07.2013 № 582 (ред. от
07.08.2017) «Об утверждении Правил размещения на официальном сайте
образовательной организации в информационно-телекоммуникационной сети
“Интернет” и обновления информации об образовательной организации»
5) Приказ Рособрнадзора от 29.05.2014 № 785 (ред. от 27.11.2017) «Об
утверждении требований к структуре официального сайта образовательной
организации в информационно-телекоммуникационной сети «Интернет» и
формату представления на нем информации» (Зарегистрировано в Минюсте
России 04.08.2014 N 33423)
6) Постановление Правительства РФ от 17.05.2017 № 575 «О внесении
ам. инв. №
в
пункт
3
Правил
размещения
на
официальном
сайте
образовательной организации в информационно-телекоммуникационной сети
“Интернет” и обновления информации об образовательной организации»
2.1.3 Наименование организаций — Заказчика и Разработчика
Инв. № дубл.
Подп.и дата
изменений
Заказчик:
Федеральное государственное бюджетное образовательное учреждение
высшего
образования
«Национальный
исследовательский
Мордовский
государственный университет им. Н. П. Огарёва»
Инв.№ подл.
Подп. и дата
Адрес: ул. Большевистская, д. 68, г. Саранск, Республика Мордовия,
430005.
Тел.: 8 (8342) 233-755
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
21
Банковские реквизиты: УФК по Республике Мордовия (ФГБОУ ВО
«МГУ
им.
Н.П.
Огарёва»
л/с
20096X35120)
Расчетный
счет
40501810000002000002 Отделение - НБ Республика Мордовия БИК 048952001
Разработчик:
Арташкин Евгений Павлович
2.2 Назначение и цель создания системы
Система многопользовательского доступа заполнения сведений об
образовательной
организации
законодательства
в
автоматизированной
сфере
проверки
с
учетом
образования
соблюдения
с
целью
Росаккредагенством
требований
прохождения
«Аккредитация»»
—
прикладное программное обеспечение, предназначенное для:
1) Поддержания сведений об образовательной организации в актуальном
состоянии;
2) Однозначной идентификации введенных данных об образовательной
Подп.и дата
организации для автоматического сбора роботом «Spider VIKON»;
Основными целями внедрения системы являются:
3) Создание системы многопользовательского доступа заполнения
Инв. № дубл.
сведений об образовательной организации с учетом соблюдения требований
законодательства в сфере образования;
4) Эффективное администрирование и исполнение процессов в рамках
ам. инв. №
Приказ Министерства образования и науки Российской Федерации от 22
сентября 2017 г. №99 «Об утверждении показателей мониторинга системы
образования» и приказа Министерства образования и науки Российской
Федерации от 27 ноября 2017 г. №1968 «О внесении изменений в требования
Инв.№ подл.
Подп. и дата
к
структуре
официального
сайта
информационно-телекоммуникационной
образовательной
сети
организации
“Интернет”
и
в
формату
представления в нем информации».
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
22
В результате создания хранилища данных должны быть улучшены
значения следующих показателей:
1) рейтинг сайта Национального исследовательского Мордовского
государственного университета им. Н. П. Огарёва по версии Рособрнадзора.
2) время генерации заполненных разделов сайта образовательной
организации.
3) время, затрачиваемое на заполнение необходимых разделов сайта
образовательной организации.
2.3 Характеристика объектов автоматизации
Выделены следующие процессы в деятельности сайта Университета, в
рамках
которых
производится
анализ
информации
и
вынесены
соответствующие выводы о возможности их автоматизации: (таблица 2.1)
Инв. № дубл.
Подп.и дата
Таблица 2.1 — выводы о возможности автоматизации процессов в деятельности
Структурное
подразделение
Наименование
процесса
Возможность
автоматизации
Администратор
Создание нового
пользователя
Добавление прав
пользователю
Удаление
пользователя
Редактирование
прав пользователя
Редактирование
информации
в
разделах
Удаление
информации
в
разделах
Генерация
HTML-страниц
Возможна
Администратор
Администратор
ам. инв. №
Администратор
Администратор
Инв.№ подл.
Подп. и дата
Администратор
Администратор
Изм. Лист
№ докум.
Подп.
Дата
Возможна
Возможна
Возможна
Возможна
Решение
об
автоматизации в
ходе проекта
Будет
автоматизирован
Будет
автоматизирован
Будет
автоматизирован
Будет
автоматизирован
Будет
автоматизирован
Возможна
Будет
автоматизирован
Возможна
Будет
автоматизирован
БР-02069964-09.03.01-02-18
Лист
23
Окончание таблицы 2.1
Администратор
Выгрузка
Возможна
сгенерированных
страниц.
Создание нового Возможна
поля в разделе
Удаление
Возможна
информации
в
разделе
Ответственный
Ответственный
Будет
автоматизирован
Будет
автоматизирован
Будет
автоматизирован
2.4 Требования к системе в целом
2.4.1 Требования к структуре и функционированию системы
Система «Аккредитация» должна быть централизованной — все данные
должны располагаться в центральном хранилище. Система «Аккредитация»
должна иметь двухуровневую архитектуру.
Система многопользовательского доступа заполнения сведений об
взаимодействие с сайтом ФГБОУ ВО "МГУ им. Н. П. Огарёва" (https://mrsu.ru/)
и расположен на мощностях подразделения Центра Интернет ФГБОУ ВО
«МГУ им. Н. П. Огарёва» (на сервере публикации).
Система должна обеспечивать:
- работу пользователей режиме — 24 часа в день, 7 дней в неделю (24х7)
- выполнение своих функций
Для обеспечения высокой надежности функционирования Системы, как
системы в целом, так и ее отдельных компонент должно обеспечиваться
выполнение требований по диагностированию ее состояния.
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
образовательной организации «Аккредитация» должна иметь информационное
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
24
2.4.2 Требования к численности и квалификации персонала системы
и режиму его работы
В состав персонала, необходимого для обеспечения эксплуатации
Системы в рамках соответствующих подразделений Заказчика необходимо
выделение следующих ответственных лиц:
Администратор Системы — 2 человека.
Данные
лица
должны
выполнять
следующие
функциональные
обязанности.
Администратор Системы — на всем протяжении функционирования
«Аккредитации» обеспечивать контроль функционирования системы
К квалификации персонала, эксплуатирующего Систему, предъявляются
следующие требования.
Конечный пользователь — знание соответствующей предметной области;
знание основ программного интерфейса.
Инв. № дубл.
Подп.и дата
Администратор Системы — знание основ программирования на ЯВУ,
знания и навыки администрирования приложения; знание языка запросов SQL;
знание инструментов разработки.
Персонал, работающий с Системой и выполняющий функции её
сопровождения и обслуживания, должен работать в следующих режимах:
Конечный пользователь — в соответствии с основным рабочим
графиком МГУ им. Н. П. Огарева.
ам. инв. №
Администратор Системы — в соответствии с основным рабочим
графиком подразделений МГУ им. Н. П. Огарева.
Инв.№ подл.
Подп. и дата
2.4.3 Показатели назначения
Система должна обеспечивать следующие количественные показатели,
которые характеризуют степень соответствия ее назначению:
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
25
Количество разделов — 11.
Количество показателей — 177.
Количество таблиц — 55.
Количество загружаемых файлов> 300.
2.4.4. Требования к эргономике и технической эстетике
Интерфейс взаимодействия пользователей с Системой должен быть
основан на принципе визуального графического интерфейса.
Интерфейс Системы должен быть понятным и удобным, не должен быть
перегружен графическими элементами и должен обеспечивать быстрое
отображение экранных форм.
Навигационные элементы должны быть выполнены в удобной для
пользователя форме. Ввод–вывод данных Системы, прием управляющих
команд и отображение результатов их исполнения должны выполняться в
Инв. № дубл.
Подп.и дата
интерактивном режиме. Интерфейс должен соответствовать современным
эргономическим требованиям и обеспечивать удобный, дружественный доступ
к основным функциям Системы [1].
Пользователь
должен
получать
информацию,
как
об
успешном
завершении операций, так и о возникновении сбоев в ходе их выполнения или
невозможности выполнения.
Подсистемы
автоматизации
деятельности
ответственных
и
ам. инв. №
администраторов должны обеспечивать удобный для конечного пользователя
интерфейс, отвечающий следующим требованиям.
В части внешнего оформления:
- интерфейсы подсистем должен быть типизированы;
Инв.№ подл.
Подп. и дата
- должно быть обеспечено наличие локализованного интерфейса
пользователя;
- должен использоваться шрифт Roboto;
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
26
- размер шрифта должен быть 14 пт;
- цветовая палитра должна быть выполнена в стиле ФГБОУ ВО «МГУ им.
Н. П. Огарёва".
2.4.5 Требования к лингвистическому обеспечению
Языки программирования
При реализации системы должны применяться следующие языки и
стандарты взаимодействия Системы со смежными системами и пользователей с
«Аккредитацией»: должны использоваться встроенные средства диалогового
взаимодействия WEB-приложения; JavaScript, HTML и др.
Для реализации алгоритмов манипулирования данными в ХД необходимо
использовать стандартный язык запроса к данным.
Для
разработки
был
выбран
Ruby
on
Rails
—
полноценный,
многоуровневый фреймворк для построения веб-приложений, использующих
Инв. № дубл.
Подп.и дата
базы данных, который основан на архитектуре Модель-ПредставлениеКонтроллер (Model-View-Controller, MVC). Основным преимуществом языка
программирования Ruby и фреймворка Ruby on Rails считается скорость
разработки [2].
В качестве сервера, на котором будет расположено приложение был
выбран Nginx. Nginx является очень быстрым HTTP сервером. Nginx
используют, чтобы ускорить обработку запросов и уменьшить нагрузку на
ам. инв. №
сервер.
Для хранения информации была использована СУБД SQLite. SQLite не
использует парадигму клиент-сервер, то есть движок SQLite не является
Инв.№ подл.
Подп. и дата
отдельно работающим процессом, с которым взаимодействует программа, а
представляет собой библиотеку, с которой программа компонуется, и движок
становится составной частью программы.
Языки взаимодействия пользователей и системы
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
27
Основным языком взаимодействия пользователей и системы является
русский язык:
- взаимодействие пользователя с ПК должно осуществляться на русском
языке (исключение могут составлять только системные сообщения, выдаваемые
программными продуктами третьих компаний);
- графический интерфейс пользователя Подсистемы должен быть создан
на русском языке.
Языки взаимодействия администраторов и системы
Комплектование
Подсистемы
программным
обеспечением
и
документацией на английском языке допускается только в том случае, если это
программное
обеспечение
и
документация
используются
только
администраторам системы.
2.4.6 Требования к техническому обеспечению
Подп.и дата
следующими характеристиками:
Инв. № дубл.
Система должна быть реализована с использованием серверов со
не менее 3-х ГГц, имеющий не менее 2-х ядер и кэш-памятью 2-го уровня — не
Минимальные системные требования на сервере:
- Не менее 2-х центральных процессоров Intel Xeon с тактовой частотой
менее 3 Мб.
- Оперативная память — стандарт SDRAM DDR3, объем не менее 4 Гб.
ам. инв. №
- Дисковое хранилище — объем не менее 100 Гб.
- Скорость канала в сеть Интернет — не менее 10 мб/с.
- Наличие бесперебойного питания емкостью не менее 500 ВА.
Минимальные системные требования для СХД:
Инв.№ подл.
Подп. и дата
- Физическая емкость системы хранения 16 Тб
- Твердотельные диски емкостью 600 ГБ
Минимальные системные требования на клиенте:
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
28
- Центральный процессор с тактовой частотой не менее 2-х ГГц.
- Оперативная память — стандарт SDRAM, объем не менее 1 Гб.
- Дисковое хранилище — интерфейс SATA2, объем не менее 40 Гб.
- Видеосистема — видеокарта и монитор с возможностью отображения с
разрешением не менее 1024*768 точек, глубиной цвета не менее 24 бит и
частотой не менее 60 Гц.
- Материнская плата с интегрированным интерфейсом USB 2.0.
- Наличие интерфейса Ethernet со скоростью не менее 100 мб/с.
- Устройства ввода: мышь, клавиатура [3].
2.5. Описание работ по созданию системы
2.5.1 Состав работ
Система подвергается испытаниям следующих видов: Предварительные
испытания. Опытная эксплуатация. Приемочные испытания.
и
методы
«Программа
и
испытаний
методика
системы
определяются
документом «Программа опытной эксплуатации», разрабатываемым на стадии
испытаний»,
разрабатываемым на стадии «Рабочая документация».
Состав, объем и методы опытной эксплуатации системы определяются
«Ввод в действие».
Состав, объем и методы приемочных испытаний системы определяются
документом «Программа и методика испытаний», разрабатываемым на стадии
«Ввод в действие» с учетом результатов проведения предварительных
испытаний и опытной эксплуатации [4].
Инв.№ подл.
Подп. и дата
ам. инв. №
документом
предварительных
Подп.и дата
объем
Инв. № дубл.
Состав,
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
29
2.5.2 Виды и объем испытаний системы
Работы по созданию, модернизации и развитию системы выполняются
поэтапно в соответствии с таблицей 2.2.
Таблица 2.2 — Этапы работ
№
1
2
3
4
5
Наименование этапа
Разработка и утверждение технического задания.
Создание портала мировой юстиции в соответствии с техническим
заданием.
Проведение предварительных испытаний
Опытная эксплуатация портала на 3-х участках мировых судей.
Ввод портала в промышленную эксплуатацию
2.5.3 Требования к содержанию работ
2.5.3.1 Разработка и утверждение технического задания
настоящего
технического
задания
разрабатывается
по информатизации и международному сотрудничеству Лещанкиным К. А. и
учебной работе Масловой А. Ю.
2.5.3.2 Создание системы многопользовательского доступа
В
рамках
данного
этапа
Исполнитель
выполняет
работы,
удовлетворяющие требованиям технического задания. Осуществляет установку
и настройку системы на тестовом сервере.
Инв.№ подл.
Подп. и дата
ам. инв. №
основании
техническое задание на создание системы, которое согласуется с проректорами
Инв. № дубл.
Подп.и дата
На
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
30
2.5.3.3. Проведение предварительных испытаний портала
В рамках работ на данном этапе Исполнитель в присутствии комиссии
Заказчика проводит предварительные испытания системы согласно программе
и методике испытаний.
2.5.3.4 Опытная эксплуатация
Опытная эксплуатация портала должна проводиться с использованием
тестовых данных. В ходе проведения опытной эксплуатации портала ведется
рабочий журнал учета хода опытной эксплуатации, продолжительности
испытаний, ошибок и результатов их устранения. В рамках данного этапа
необходимо добиться устойчивого функционирования системы.
2.5.3.5 Ввод системы в промышленную эксплуатацию
основной сервер, создать пользователей, настроить автоматическую генерацию
и выгрузку страниц.
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
В рамках данного этапа работ Исполнитель обязан установить систему на
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
31
3 Проектирование
3.1 Построение диаграммы вариантов использования
3.1.1 Выявление акторов
Для проектирования системы необходимо определить акторов системы —
множество
логически
связанных
ролей
в
UML,
исполняемых
при
взаимодействии с прецедентами или сущностями. Анализ акторов системы
Инв. № дубл.
Подп.и дата
приведен на рисунке 3.1.
Рисунок 3.1 — Анализ акторов системы
Интервью, проведённое с указанными выше кандидатами, показало, что
ректорат, институты, филиалы, факультеты и подразделения предполагают
пять ролей в одну, аналогичная ситуация с администраторами, отвечающими за
корректную работу системы.
Инв.№ подл.
Подп. и дата
ам. инв. №
использовать разрабатываемую АИС однотипно. Это позволило обобщить эти
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
32
3.1.2 Выявление вариантов использования
Выявленные варианты использования системы многопользовательского
доступа заполнения сведений об образовательной организации сведены в
таблицу 3.1.
Таблица 3.1 — Выявленные варианты использования системы
Основной актор
Наименование Формулировка
Администратор
Создание
нового
пользователя
Удаление
пользователя
Редактирован
ие
прав
пользователя
Редактирован
ие
информации в
разделах
Удаление
информации в
разделах
Создание
нового поля в
разделе
Просмотр
заполненного
раздела
Создание
нового поля в
разделе
Добавление
информации в
раздел
Администратор
Администратор
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
Администратор
Администратор
Администратор
Администратор
Ответственный
Ответственный
Ответственный
Изм. Лист
№ докум.
Этот вариант использования позволяет
администратору
создать
нового
пользователя системы.
Администратор может удалить пользователя
из системы в случае необходимости.
При необходимости администратор может
изменить
права
пользователя
на
редактирование разделов и их пунктов
В случае, если ответственным была введена
неверная информация, администратор имеет
возможность
исправить
сохраненные
данные.
Администратор имеет возможность удалить
информацию,
введённую
любым
пользователем системы.
Администратор имеет возможность создать
новое поле в любом разделе.
Администратор
имеет
возможность
просмотреть заполненные разделы системы.
Ответственный имеет возможность создать
новое поле в доступном ему разделе.
Ответственный может заполнить созданное
поле необходимой информацией.
Удаление
Этот вариант использования позволяет
информации в ответственному удалить поле в разделе,
разделе
доступном ему.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
33
Окончание таблицы 3.1
Ответственный
Просмотр
заполненного
раздела
Этот вариант использования позволяет
ответственному просмотреть заполненную
им информацию об образовательной
организации.
Выявленные варианты использования позволят определить критерии
ответственности пользователей системы и перейти к разработке диаграммам
вариантов использований.
3.1.3 Разработка диаграмм вариантов использования
Анализ вариантов использования выявил следующие взаимосвязи.
1. Варианты
использования
«Удаление
информации
в
разделах»,
«Создание нового поля в разделе» и «Просмотр заполненного раздела» не
содержат принципиальных отличий, поэтому было принято решение ввести
разделах системы», как основной, обобщающий прецеденты «Удаление
информации в разделах», «Создание нового поля в разделе» и «Просмотр
заполненного раздела» (см. рис. 3.2).
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
новый вариант использования прецедент «Редактирование информации в
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
34
Рисунок 3.2 — Обобщение вариантов редактирования информации
2.
Варианты
использования
«Создание
нового
пользователя»,
«Добавление прав пользователю» и «Удаление пользователя» не содержат
вариант использования прецедент «Управление пользователями системы», как
основной,
обобщающий
прецеденты
«Создание
нового
пользователя»,
«Добавление прав пользователю» и «Удаление пользователя» (см. рис. 3.3).
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
принципиальных отличий, поэтому было принято решение ввести новый
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
35
Рисунок 3.3 — Обобщение вариантов управления пользователями
системы
Результирующая диаграмма вариантов использования системы показана
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
рисунке 3.4.
Рисунок 3.4 — Модифицированная диаграмма прецедентов системы
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
36
3.1.4 Реестр вариантов использования
По результатам анализа, проделанного в параграфе «Структуризация
вариантов использования», было принято решение о создании обобщающего
варианта использования:
1. «Редактирование информации в разделах системы» — обобщает
варианты использований «Удаление информации в разделах», «Создание
нового поля в разделе», «Просмотр заполненного раздела»
2. «Управление
использований
пользователями
«Создание
нового
системы»
—
пользователя»,
обобщает
варианты
«Добавление
прав
пользователю», «Удаление пользователя».
Пришлось обобщить по причине того, что осуществляемые в них
активности отличаются малосущественно или проходили в рамках одного
процесса. Реестр вариантов использования системы представлен на рисунке 3.2.
AАдминистратор
Создание
нового
пользователя
Этот
вариант
использования
позволяет администратору создать
нового пользователя системы.
AАдминистратор
Добавление
прав
пользователю
Этот
вариант
использования
позволяет администратору добавить
права новому пользователю на
редактирование
определенного
раздела и его пунктов.
A3
Администратор
Удаление
пользователя
Администратор
может
удалить
пользователя из системы в случае
необходимости.
A4
Администратор
Управление
При необходимости администратор
пользователями может изменить права пользователя
системы
на редактирование разделов и их
пунктов
А1
А2
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
Таблица 3.2 — Реестр вариантов использования
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
37
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
Продолжение таблицы 3.2
A5
Администратор
Редактирование В случае, если ответственным была
информации в введена
неверная
информация,
разделах
администратор имеет возможность
исправить сохраненные данные.
Удаление
Администратор имеет возможность
информации в удалить информацию, введённую
разделах
любым пользователем системы.
A6
Администратор
A7
Администратор
Создание
Администратор имеет возможность
нового поля в создать новое поле в любом разделе.
разделе
A8
Администратор
Просмотр
заполненного
раздела
А9
Ответственный
Добавление
информации
раздел
А10
Администратор
Генерация
HTML-страниц
Администратор имеет возможность
сгенерировать
HTML-страницы,
содержащие
информацию
о
заполненных
разделах
сайта
образовательной организации.
А11
Администратор
Выгрузка
сгенерированн
ых страниц.
Администратор имеет возможность
вручную загрузить сгенерированные
страницы в специальный раздел
сайта образовательной организации.
R1
Ответственный
R2
Ответственный
Создание
Ответственный имеет возможность
нового поля в создать новое поле в доступном ему
разделе
разделе.
Добавление
Ответственный может заполнить
информации в созданное
поле
необходимой
раздел
информацией.
R3
Ответственный
Удаление
информации
разделе
Администратор имеет возможность
просмотреть заполненные разделы
системы.
Ответственный может заполнить
в созданное
поле
необходимой
информацией.
Этот
вариант
использования
в позволяет ответственному удалить
поле в разделе, доступном ему.
Окончание таблицы 3.2
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
38
R4
Ответственный
Просмотр
заполненного
раздела
Этот
вариант
использования
позволяет
ответственному
просмотреть
заполненную
им
информацию об образовательной
организации.
3.1.5 Конкретизация вариантов использования
А1. Создание нового пользователя
Действующее лицо прецедента: Администратор.
Другие участники: отсутствуют.
Связи с другими вариантами использования: включается претендентом А4
«Управление пользователями системы».
Краткое описание.
Данный
вариант
использования
позволяет
Администратору
регистрировать нового пользователя и передавать данные для входа в систему
физическому лицу. В каждом разделе системы находятся таблицы, которые
Инв. № дубл.
Подп.и дата
содержат различные типы полей для ввода (Текстовое поле, поле для
прикрепления файла, область для многострочного ввода текста). Поля,
обязательные для ввода, отмечены символом «*» и выделены красным цветом.
После их заполнения они выделяются зеленым цветом. Сохранение каждой
строки в таблице происходит автоматически.
А2. Добавление прав пользователю
ам. инв. №
Действующее лицо прецедента: Администратор.
Другие участники: отсутствуют.
Связи с другими вариантами использования: включается претендентом А4
«Управление пользователями системы».
Инв.№ подл.
Подп. и дата
Краткое описание.
Данный вариант использования Администратору внести изменения в
права пользователей на изменение разделов системы. Доступно два вида
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
39
изменения прав: изменение разделов, доступных Ответственным и изменение
прав заполнения таблиц разделов. Кроме того, Ответственный не имеет прав
удалять и изменять те записи, которые не были созданы им самим.
А3. Удаление пользователя
Действующее лицо прецедента: Администратор.
Другие участники: отсутствуют.
Связи с другими вариантами использования: включается претендентом А4
«Управление пользователями системы».
Краткое описание.
Данный вариант использования позволяет Администратору удалять
любого пользователя системы, кроме себя. Поля, заполненные удаленным
пользователем доступны для изменения только Администратору системы и,
при необходимости, могут быть переданы для редактирования другому
пользователю, согласно служебной записке.
А4. Управление пользователями системы
Инв. № дубл.
Подп.и дата
Действующее лицо прецедента: Администратор.
Другие участники: отсутствуют.
Связи с другими вариантами использования: включает прецеденты А1
«Создание нового пользователя», А2 «Добавление прав пользователю», А3
«Удаление пользователя».
Краткое описание.
Этот вариант использования позволяет администратору управлять
ам. инв. №
пользователями системы, включая их создание удаление, редактирование прав
на заполнение разделов.
А5. Редактирование информации в разделах
Инв.№ подл.
Подп. и дата
Действующее лицо прецедента: Администратор.
Другие участники: Ответственный.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
40
Связи с другими вариантами использования: включает прецеденты А6
«Удаление информации в разделах», А7 «Создание нового поля в разделе», А8
«Просмотр заполненного раздела», А9 «Просмотр заполненного раздела».
Краткое описание.
Данный
вариант
использования
позволяет
Администратору
при
необходимости изменить представленную Ответственным информацию, в
случае если по каким-то причинам Ответственный предоставил неверную
информацию, либо допустил ошибки при заполнении таблиц.
А6. Удаление информации в разделах
Действующее лицо прецедента: Администратор.
Другие участники: Ответственный.
Связи с другими вариантами использования. включается претендентом А5
«Редактирование информации в разделах».
Краткое описание.
Система позволяет Администратору при проверке удалить информацию,
Инв. № дубл.
Подп.и дата
предоставленную любым пользователем системы в случае, если она устарела
либо является некорректной.
А7. Создание нового поля в разделе
Действующее лицо прецедента: Администратор.
Другие участники: Ответственный.
Связи с другими вариантами использования: включается претендентом А5
«Редактирование информации в разделах».
ам. инв. №
Краткое описание.
Администратор имеет возможность создать новое поле в любом разделе
системы. Данная функция используется Администратором крайне редко, так
Инв.№ подл.
Подп. и дата
как им не производятся заполнения полей разделов.
Эта возможность используется Администратором для тестирования
правильности работы системы в случае добавления новых таблиц либо
вопросов пользователей по поводу работы системы.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
41
А8. Просмотр заполненного раздела
Действующее лицо прецедента: Администратор.
Другие участники: Ответственный.
Связи с другими вариантами использования: включается претендентом А5
«Редактирование информации в разделах».
Краткое описание.
Администратор имеет возможность просмотреть любой раздел системы,
проверить наличие необходимой информации, заполненность системы. В
случае необходимости — передать информацию Ответственному.
А9. Добавление информации в раздел
Действующее лицо прецедента: Администратор.
Другие участники: Ответственный.
Связи с другими вариантами использования: включается претендентом А5
«Редактирование информации в разделах».
Краткое описание.
Инв. № дубл.
Подп.и дата
В случае необходимости администратор имеет возможность заполнить
поля той информацией, которая требуется в конкретном разделе системы
«Аккредитация» (заполнение текстовых полей, многострочных текстовых
полей, загрузка файлов, указание ссылок на документы об образовательной
организации, множественный или единичный выборы полей).
А10. Генерация HTML-страниц
Действующее лицо прецедента: Администратор.
ам. инв. №
Другие участники: Ответственный.
Связи с другими вариантами использования: включается претендентом А5
«Редактирование информации в разделах».
Инв.№ подл.
Подп. и дата
Краткое описание.
Администратор имеет возможность в случае необходимости вручную
сгенерировать HTML-страницы, содержащие информацию о заполненных
разделах
Изм. Лист
сайта
№ докум.
образовательной
Подп.
Дата
организации.
Данная
функция
может
БР-02069964-09.03.01-02-18
Лист
42
использоваться для проверки правильности работы автоматической работы
выгрузки страниц.
А11. Выгрузка сгенерированных страниц
Действующее лицо прецедента: Ответственный.
Другие участники: отсутствуют.
Связи с другими вариантами использования: отсутствуют.
Краткое описание.
Администратор имеет возможность в случае необходимости вручную
загрузить
сгенерированные
страницы
в
специальный
раздел
сайта
образовательной организации. Данная функция может использоваться для
проверки правильности работы автоматической работы генератора страниц.
R1. Создание нового поля в разделе
Действующее лицо прецедента: Ответственный.
Другие участники: Администратор.
Связи с другими вариантами использования: отсутствуют.
Инв. № дубл.
Подп.и дата
Краткое описание.
Каждый Ответственный, прикрепленный за конкретным разделом, имеет
возможность создавать пустые поля в таблицах, необходимых ему для
выполнения приказа от 27 ноября 2017 г. № 1968 «О внесении изменений в
требования к структуре официального сайта образовательной организации в
информационно-телекоммуникационной
сети
«Интернет»
и
формату
представления в нем информации».
ам. инв. №
R2. Добавление информации в раздел
Действующее лицо прецедента: Ответственный.
Другие участники: Администратор.
Инв.№ подл.
Подп. и дата
Связи с другими вариантами использования: отсутствуют.
Краткое описание.
Ответственный обязан заполнить созданные им поля той информацией,
которая требуется в конкретном разделе системы «Аккредитация» (заполнение
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
43
текстовых полей, многострочных текстовых полей, загрузка файлов, указание
ссылок на документы об образовательной организации, множественный или
единичный выборы полей).
R3. Удаление информации в разделе
Действующее лицо прецедента: Ответственный.
Другие участники: Администратор.
Связи с другими вариантами использования: отсутствуют.
Краткое описание.
Ответственный имеет возможность удалить информацию в разделе
(только ту, которая была введена им самим!), в случае если она была введена
неверно или устарела.
R4. Просмотр информации в разделе
Действующее лицо прецедента: Ответственный.
Другие участники: Администратор.
Связи с другими вариантами использования: отсутствуют.
Инв. № дубл.
Подп.и дата
Краткое описание.
Ответственный
имеет возможность просмотреть заполненную им
информацию в системе «Аккредитация» в реальном времени и на следующий
день, перейдя по ссылке https://mrsu.ru/sveden/common/.
Анализ сформулированных вариантов использования показал, что с точки
зрения
потенциальных
рисков
и
архитектурной
значимости
наиболее
существенными являются прецеденты, связанные с работником участка
ам. инв. №
мировой юстиции (Администратором портала).
A1. Создание нового пользователя;
A5. Редактирование информации в разделах;
Инв.№ подл.
Подп. и дата
A10. Генерация HTML-страниц.
Также не маловажен прецедент А10 под названием «Выгрузка
сгенерированных страниц», связанный с работой с CMS Bitrix, которую
использует МГУ им. Н.П. Огарёва.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
44
3.2 Диаграммы последовательностей
Диаграммы последовательностей представляют взаимодействия между
линиями жизни как упорядоченную последовательность событий. Это самая
богатая и гибкая форма диаграммы взаимодействий. В некоторых случаях
моделирование начинают с создания эскиза реализации прецедента с помощью
коммуникационной диаграммы, потому что на диаграмме легко размещать и
соединять линии жизни [4].
Составим
для
разрабатываемой
системы
четыре
диаграммы
последовательности:
- Создание нового пользователя;
- Редактирование информации в разделах;
- Генерация HTML-страниц;
- Выгрузка сгенерированных страниц.
и передавать данные для входа в систему физическому лицу. Диаграмма
«Создание нового пользователя» представлена на рисунке 3.4. Выделяются
четыре объекта: Администратор, Новый пользователь, Система, База данных.
Стрелками показаны взаимодействия этих объектов, а именно пересылка
сообщениями между этими объектами, необходимых для выполнения
поставленной задачи.
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
Администратор имеет возможность регистрировать нового пользователя
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
45
Подп.и дата
Инв. № дубл.
Рисунок 3.4 — Диаграмма последовательности для процесса «Создание
ам. инв. №
нового пользователя»
Администратор
при необходимости имеет возможность изменить
представленную Ответственным информацию, в случае если по каким-то
Инв.№ подл.
Подп. и дата
причинам Ответственный ввел неверную информацию, либо допустил ошибки
при заполнении таблиц. Диаграмма последовательности «Редактирование
информации в разделах» представлена на рисунке 3.5. Выделяются пять
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
46
объектов: Администратор, Раздел, Таблица раздела, Система, База данных.
Стрелками показаны взаимодействия этих объектов, а именно пересылка
сообщениями между этими объектами, необходимых для выполнения
поставленной задачи.
Инв. № дубл.
Подп.и дата
Рисунок 3.5 — Диаграмма последовательности для процесса
«Редактирование информации в разделах»
Администратор имеет возможность в случае необходимости вручную
сгенерировать HTML-страницы, содержащие информацию о заполненных
ам. инв. №
разделах
сайта
образовательной
организации.
Данная
функция
может
использоваться для проверки правильности работы автоматической работы
выгрузки страниц. Диаграмма последовательности «Генерация HTML-страниц»
представлена на рисунке 3.6. Выделяются два объекта: Администратор,
Инв.№ подл.
Подп. и дата
Система. Стрелками показаны взаимодействия этих объектов, а именно
пересылка
сообщениями
между
этими
объектами,
необходимых
для
выполнения поставленной задачи.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
47
Рисунок 3.6 — Диаграмма последовательности для процесса «Генерация
Инв. № дубл.
Подп.и дата
HTML-страниц»
Администратор имеет возможность в случае необходимости вручную
загрузить
сгенерированные
страницы
в
специальный
раздел
сайта
образовательной организации. Данная функция может использоваться для
проверки правильности работы автоматической работы генератора страниц.
Диаграмма последовательности «Выгрузка сгенерированных станиц»
ам. инв. №
представлена на рисунке 3.7. Выделяются три объекта: Администратор,
Система, CMS Bitrix (mrsu.ru). Стрелками показаны взаимодействия этих
объектов, а именно пересылка сообщениями между этими объектами,
Инв.№ подл.
Подп. и дата
необходимых для выполнения поставленной задачи.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
48
Рисунок 3.7 — Диаграмма последовательности для процесса «Выгрузка
сгенерированных станиц»
Диаграммы последовательностей были использованы для уточнения
диаграмм
прецедентов,
более
детального
описания
логики
сценариев
использования.
Инв. № дубл.
Подп.и дата
3.3 Диаграмма классов
Диаграммы классов является основным логическим представлением
модели. Диаграмма классов служит для представления статической структуры
модели
системы
программирования.
в
терминологии
Диаграмма
классов
классов
может
объектно-ориентированного
отражать,
в
частности,
ам. инв. №
различные взаимосвязи между отдельными сущностями предметной области,
такими как объекты и подсистемы, а также описывает их внутреннюю
структуру и типы отношений [6].
Атрибутом
класса
называется
именованное
свойство
класса,
Инв.№ подл.
Подп. и дата
описывающее множество значений, которые могут принимать экземпляры
этого свойства. Класс может иметь любое число атрибутов (в частности, не
иметь ни одного атрибута). Свойство, выражаемое атрибутом, является
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
49
свойством моделируемой сущности, общим для всех объектов данного класса.
Так что атрибут является абстракцией состояния объекта. Любой атрибут
любого объекта класса должен иметь некоторое значение.
Операцией класса называется именованная услуга, которую можно
запросить у любого объекта этого класса. Операция — это абстракция того, что
можно делать с объектом. Класс может содержать любое число операций (в
частности, не содержать ни одной операции). Набор операций класса является
общим для всех объектов данного класса.
ам. инв. №
Инв. № дубл.
Подп.и дата
Диаграмма классов представлена на рисунке 3.8.
Инв.№ подл.
Подп. и дата
Рисунок 3.8 — Диаграмма классов
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
50
3.4 ER-диаграмма
ER диаграмма — это модель данных, позволяющая описывать
концептуальные схемы. Она предоставляет графическую нотацию, основанную
на блоках и соединяющих их линиях, с помощью которых можно описывать
объекты
и
отношения
между
ними.
ER-модель
используется
при
высокоуровневом (концептуальном) проектировании баз данных. С её
помощью можно выделить ключевые сущности и обозначить связи, которые
могут устанавливаться между этими сущностями.
Во время проектирования баз данных происходит преобразование ERмодели в конкретную схему базы данных на основе выбранной модели данных
(реляционной, объектной, сетевой или др.).
ER-модель представляет собой формальную конструкцию, которая сама
по себе не предписывает никаких графических средств её визуализации. В
качестве стандартной графической нотации, с помощью которой можно
(англ. entity-relationship diagram, ERD, ER-диаграмма).
ER-диаграмма представлена на рисунке 3.9.
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
визуализировать ER-модель, была предложена диаграмма «сущность–связь»
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
51
Подп.и дата
Инв. № дубл.
Рисунок 3.9 — ER-диаграмма
ам. инв. №
3.5 Диаграмма развертывания системы
Диаграмма развертывания предназначена для визуализации элементов и
Инв.№ подл.
Подп. и дата
компонентов портала, существующих лишь на этапе ее исполнения (runtime).
При
этом представляются
только
компоненты–экземпляры
программы,
являющиеся исполняемыми файлами или динамическими библиотеками. Те
компоненты, которые не используются на этапе исполнения, на диаграмме
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
52
развертывания не показываются. Так, компоненты с исходными текстами
программ могут присутствовать только на диаграмме компонентов. На
диаграмме развертывания они не указываются [13]. Диаграмма развертывания
системы представлена на рисунке 3.10.
ам. инв. №
Инв. № дубл.
Подп.и дата
Рисунок 3.10 — Диаграмма развертывания
4 Анализ программного продукта и его работа
На данный момент третья версия системы многопользовательского
доступа
заполнения
сведений
об
образовательной
организации
уже
функционирует. В таблице 4.1 представлен список версий и изменений системы
вплоть до настоящего времени.
Инв.№ подл.
Подп. и дата
Таблица 4.1 — версии системы «Аккредитация»
27/дек/17
Изм. Лист
№ докум.
v 1.0.0
Подп.
Дата
Рабочая версия системы многопользовательского
доступа заполнения
сведений об образовательной
организации
БР-02069964-09.03.01-02-18
Лист
53
29/дек/17
v 1.0.1
Доработка ошибок, недочетов, мелкие исправления
системы
12/янв/18
v 2.0.0
Полное изменение
системы.
15/янв/18
v 2.1.0
Добавление пользователей системы
16/янв/18
v 2.1.1
Добавление прав пользователей на редактирование
разделов сведений об образовательной организации
17/янв/18
v 2.1.2
Выход
приказа
№27
«Об
установлении
ответственных за показатели мониторинга», релиз
программы
23/янв/18
v 2.2.0
Автоматическая генерация заполненных страниц
25/янв/18
v 2.3.0
Автоматическая выгрузка сгенерированных страниц
по расписанию
29/янв/18
v 2.3.0
Замечание
по
поводу
структуры
таблицы
«Информация по образовательным программам, в
том числе адаптированным»
29/янв/18
v 2.3.1
Добавление колонки «Профиль» в таблицу
«Информация по образовательным программам, в
том числе адаптированным»
29/янв/18 —
1/апр/18
v 2.3.2
Исправление мелких ошибок и недочетов
7/май/18
v 3.0.0
Создание независимой подсистемы «Ковылкинский
филиал ФГБОУ ВО "НИ МГУ им. Н.П.Огарева"»
kov.accreditation.ru, ввод в эксплуатацию
Инв. № дубл.
Подп.и дата
Окончание таблицы 4.1
4.1
Выбор
программных
средств
дизайна
для
и
внешнего
разработки
вида
системы
ам. инв. №
многопользовательского доступа заполнения сведений об образовательной
организации.
При работе с данными используют программные средства, называемые
Инв.№ подл.
Подп. и дата
системами управления базами данных. Используя данные средства возможно
создавать структуру базы данных, то есть таблицы, каждый столбец которых
содержит в себе данные заранее определенного типа. СУБД так же
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
54
обеспечивает различные операции с данными, такие как: поиск, добавление,
изменение или удаление записей из таблиц.
В ходе разработки БД данного проекта была использована СУБД SQLite.
SQLite не использует парадигму клиент–сервер, то есть движок SQLite не
является отдельно работающим процессом, с которым взаимодействует
программа,
а
представляет
собой
библиотеку,
с
которой
программа
компонуется, и движок становится составной частью программы. Таким
образом, в качестве протокола обмена используются вызовы функций (API)
библиотеки SQLite. Такой подход уменьшает накладные расходы, время
отклика и упрощает программу. SQLite хранит всю базу данных (включая
определения, таблицы, индексы и данные) в единственном стандартном файле
на том компьютере, на котором исполняется программа. Простота реализации
достигается за счёт того, что перед началом исполнения транзакции записи весь
файл, хранящий базу данных, блокируется; ACID-функции достигаются в том
числе за счёт создания файла журнала.
Инв. № дубл.
Подп.и дата
На сегодняшний день существует множество различных средств
разработки приложений. Для разработки был выбран Ruby on Rails —
полноценный, многоуровневый фреймворк для построения веб-приложений,
использующих базы данных, который основан на архитектуре МодельПредставление-Контроллер (Model-View-Controller, MVC) [11].
Основным преимуществом языка программирования Ruby и фреймворка
Ruby on Rails считается скорость разработки. Практика показывает, что
ам. инв. №
скорость разработки проектов на RoR увеличивается на 30-40 процентов по
отношению к любому другому языку программирования или фреймворку. В
первую очередь прирост скорости разработки определяется обширным набором
Инв.№ подл.
Подп. и дата
готовых к работе штатных инструментов RoR, колоссальным набором готовых
решений в сообществе, языку Ruby и простоте программирования на нем. В
Ruby on Rails существуют штатные инструменты работы с базами данных —
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
55
«миграции». Структура базы данных хранится в коде приложения и
конфигурируется из проекта.
4.2 Архитектура веб-приложения
Для разработки системы «Аккредитация» была выбрана многоуровневая
архитектура — архитектурная модель, предполагающая наличие в приложении
трёх компонентов: клиента, сервера приложений (к которому подключено
клиентское приложение) и сервера баз данных (с которым работает сервер
ам. инв. №
Инв. № дубл.
Подп.и дата
приложений). Основные уровни данной архитектуры приведены на рисунке 4.1.
Рисунок 4.1 — Структура многоуровневой модели
Инв.№ подл.
Подп. и дата
Presentation layer (уровень представления): это тот уровень, с которым
непосредственно взаимодействует пользователь. Этот уровень включает
компоненты пользовательского интерфейса, механизм получения ввода от
пользователя. На данном уровне расположены представления и все те
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
56
компоненты,
который
составляют
пользовательский
интерфейс
(стили,
статичные страницы html, javascript), а также модели представлений,
контроллеры, объекты контекста запроса [5].
Business layer (уровень бизнес-логики): содержит набор компонентов,
которые отвечают за обработку полученных от уровня представлений данных,
реализует
всю
необходимую
логику
приложения,
все
вычисления,
взаимодействует с базой данных и передает уровню представления результат
обработки.
Data Access layer (уровень доступа к данным): хранит модели,
описывающие используемые сущности, также здесь размещаются специфичные
классы для работы с разными технологиями доступа к данным. Здесь также
хранятся репозитории, через которые уровень бизнес-логики взаимодействует с
базой данных.
Каждому слою не обязательно знать, что делают его соседи. Здесь
проявляется такое свойство как разделение ответственности. Если все три слоя
Инв. № дубл.
Подп.и дата
являются закрытыми, то запрос пользователя к верхнему уровню инициирует
цепочку обращений с верхнего уровня до самого нижнего. В этом случае
уровень представления отвечает за пользовательский интерфейс и отображение
данных для пользователя и ничего не знает о существовании физического
хранилища данных. Ничего о существовании базы данных не знает и уровень
логики — его «беспокоят» только правила бизнес-логики. Доступ к базе данных
имеет лишь через уровень управления данными. Достоинствами применения
архитектуры
являются
простота
разработки
и
тестирования,
централизованное хранение данных [12].
Инв.№ подл.
Подп. и дата
ам. инв. №
такой
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
57
4.3 Реализация системы многопользовательского доступа заполнения
сведений об образовательной организации
Система многопользовательского доступа заполнения сведений об
образовательной организации имеет простой и дружелюбный интерфейс,
понятный для пользователя любой возрастной категории, независимо от уровня
владения компьютером.
При открытии ссылки http://accreditation.mrsu.ru пользователь попадет на
страницу авторизации, где доступны следующие действия:
1) Ввести в соответствующие поля логин и пароль, и, нажав на кнопку
«Войти в систему», выполнить вход на главную страницу сайта, при условии,
что данные введены верно.
2) Нажать на гиперссылку с названием «Инструкция» и ознакомиться с
правилами работы в системе «Аккредитация»
Внешний вид страницы авторизации пользователей приведен на рисунке
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
4.1.
Рисунок 4.2 — Интерфейс страницы авторизации пользователей
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
58
После успешной авторизации пользователь системы попадает на главную
страницу системы. Рассмотрим интерфейс системы на примере личного
кабинета проректора по учебной работе МГУ им. Н.П. Огарева Масловой
Алины Юрьевны. Внешний вид страницы представлен на рисунке 4.2.
На данной странице имеется три основных элемента:
1) Блок, который является кнопкой и служит для перехода на главную
страницу с любой страницы системы представлен на рисунке 4.3.
ам. инв. №
Инв. № дубл.
Подп.и дата
Рисунок 4.3 — Интерфейс главной страницы системы.
Рисунок 4.4 — Кнопка возврата на главную страницу.
Инв.№ подл.
Подп. и дата
2) Блок, который является кнопкой перехода к редактированию раздела,
название которого он содержит представлен на рисунке 4.3.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
59
Рисунок 4.5 — Кнопка перехода к редактированию раздела.
3) Данный блок расположен в правом верхнем углу страницы и
отображает имя текущего пользователя системы. Кнопка «Выйти» в данном
блоке позволяет пользователю выйти из системы.
Рисунок 4.6 — Блок информации о текущем пользователе.
После выбора раздела, который необходимо заполнить, пользователь
раздела представлен на рисунке 4.7.
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
попадает на его редактирования. Внешний вид страницы редактирования
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
60
Подп.и дата
Инв. № дубл.
Рисунок 4.7 — интерфейс страницы редактирования раздела
На страницах редактирования разделов пользователь имеет возможность
ам. инв. №
добавлять строки в таблицы, удалять ненужные, редактировать введенную
информацию.
В системе представлены следующие возможные для заполнения поля:
1) Поле, обязательное для заполнения
2) Поле, не обязательное для заполнения
Инв.№ подл.
Подп. и дата
3) Поле со списком
4) Поле выбора любого количества вариантов из предложенного списка
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
61
5) Поле загрузки файла в систему
Кроме того, внизу каждой страницы находится кнопка «Сохранить
изменения», при нажатии которой все введенные данные запишутся в базу
данных. Изменения сохраняются и при добавлении пользователем новой строки
в таблице раздела системы.
Администратор имеет интерфейс, схожий по наполнению с интерфейсом
Ответственного, за исключением небольших дополнений.
На главной странице администратор имеет возможность нажать кнопку
«Создать пользователя» или кнопку «Генерация страниц», чтобы вручную
сгенерировать страницы сведений об образовательной организации. Интерфейс
ам. инв. №
Инв. № дубл.
Подп.и дата
администратора представлен на рисунке 4.8.
Инв.№ подл.
Подп. и дата
Рисунок 4.8 — Интерфейс главной страницы Администратора системы
Нажав на кнопку «Создать пользователя», Администратор попадет на
страницу регистрации нового пользователя системы, где имеет возможность
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
62
задать имя пользователя, логин, пароль, а также разделы и подразделы,
доступные для заполнения. Внешний вид страницы регистрации пользователя
Инв. № дубл.
Подп.и дата
представлен на рисунке 4.9.
Рисунок 4.9 — Страница создания нового пользователя.
ам. инв. №
Ежедневно система генерирует страницы раздела общих сведений об
образовательной организации, заполняя подготовленные администратором
шаблоны данными, введёнными всеми пользователями системы за день.
Инв.№ подл.
Подп. и дата
Генерируется две версии страниц: стандартная версия и версия для людей с
ОВЗ. Данная функция не имеет графического интерфейса. Сделано это по двум
причинам:
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
63
1) Система выполняет данную функцию автоматически в 23:30
ежедневно. Данное время было выбрано для того, чтобы исключить
возможность заполнения Ответственным своих разделов во избежание ошибок
в системе. Повторная генерация производится в 03:00 следующего дня.
2) Генерация
страниц
может
занимать
длительное
время,
всю
необходимую информацию о статусе генерации администратор может
получить в файле логов системы.
После
генерации
страниц,
система
автоматически
выгружает
сгенерированные страницы на сервер mrsu.ru, взаимодействуя с CMS Bitrix, на
которой написан официальный сайт МГУ им. Н, П. Огарёва. Данная функция
так же не имеет графического интерфейса по некоторым причинам:
1) Система выполняет данную функцию автоматически в 00:30
ежедневно. Данное время было выбрано для того, чтобы исключить
возможность заполнения Ответственным своих разделов во избежание ошибок
в системе и не завершения генерации заполненных страниц. Повторная
2) Данная функция является наиболее важной, поэтому ее выполнение
необходимо сделать наиболее безопасным. Генерацию страниц возможно
запустить только из одной подсети Университета и только в режиме
суперпользователя из командной строки виртуальной машины. Код данной
функции представлен на рисунке 4.10.
ам. инв. №
Инв. № дубл.
Подп.и дата
генерация производится в 03:30 следующего дня.
Инв.№ подл.
Подп. и дата
Рисунок 4.10 — Реализация функции выгрузки файлов
на официальный сайт Университета
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
64
После успешного завершения генерации и выгрузки заполненных
разделов всю информацию можно увидеть на сайте МГУ им. Н.П, Огарева по
ссылке https://mrsu.ru/sveden/common/. Пример
сгенерированных
страниц
Подп.и дата
продемонстрирован на рисунке 4.11, 4.12.
Инв. № дубл.
Рисунок 4.11 — Внешний вид страницы раздела сведений
Инв.№ подл.
Подп. и дата
ам. инв. №
об образовательной организации
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
65
Рисунок 4.12 — Внешний вид сгенерированной страницы
для людей с ОВЗ
Предварительная оценка пауком Sider-VIKON позволила продвинуться
сайту МГУ им. Н. П. Огарева подняться в рейтинге сайтов из 13 лиги в 4.
Инв. № дубл.
Подп.и дата
Результат оценки приведен на рисунке 4.13.
ам. инв. №
Рисунок 4.13 — Результат предварительной оценки рейтинга
сайта пауком Spider VIKON
Инв.№ подл.
Подп. и дата
Кроме того, предварительный мониторинг сайта Рособорнадзором
показал, что на данный момент сайт МГУ им. Н. П. Огарева на 90%
соответствует постановлению Правительства РФ от 10.07.2013 № 582 (ред. от
07.08.2017) «Об утверждении Правил размещения на официальном сайте
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
66
образовательной организации в информационно-телекоммуникационной сети
«Интернет» и обновления информации об образовательной организации». На
декабрь 2017 года данный показатель составлял 0%. Текущий результат
проверки представлен на рисунке 4.14.
Рисунок 4.14 — Текущие показатели проверки сайта Университета
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
Рособрнадзором
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
67
ЗАКЛЮЧЕНИЕ
Целью выпускной квалификационной работы являлась разработка
системы
многопользовательского
образовательной
организации
доступа
с
учетом
заполнения
сведений
соблюдения
об
требований
законодательства в сфере образования. В ходе работы были проведены
следующие основные мероприятия.
Этап
анализа
предметной
области
позволил
конкретизировать
поставленные задачи, выбрать основные средства разработки, выявить деловые
преимущества разработанной системы, уникальные возможности и роли
пользователей системы.
На этапе проектирования в соответствии с ТЗ были построены UMLдиаграммы:
диаграмма
вариантов
использования,
диаграмма
классов,
диаграммы последовательности, а также была проведена конкретизация
вариантов использования с выделением потоков событий.
Инв. № дубл.
Подп.и дата
Разработанная система удовлетворяет всем требованиям, обозначенным в
задании на проектирование и позволяет решить задачи, сформулированные в
первой главе, а именно:
1) Несоответствие раздела сведений об образовательной организации
сайта МГУ им Н. П. Огарева Методическим рекомендациям Рособрнадзора;
2) Однозначная идентификация введенных данных об образовательной
организации для автоматического сбора роботом «Spider VIKON»;
ам. инв. №
3) Поддержание сведений об образовательной организации в актуальном
состоянии
Предварительная оценка программно-методическим комплексом «Sider-
Инв.№ подл.
Подп. и дата
VIKON» позволила продвинуться сайту МГУ им. Н. П. Огарева в рейтинге
сайтов образовательных организаций из 13 лиги в 4. Данная система
существенно облегчает работу главного администратора сайта МГУ им. Н. П.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
68
Огарева, ускоряет заполнение разделов сайта об образовательной организации,
позволяет работать с сайтом Университета в многопользовательском режиме.
В перспективе возможно расширение программного комплекса до
полноценной системы управления содержимым (CMS), которая обеспечит
заполнение всех разделов сайта образовательной организации ответственными
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
лицами и автоматическую ежедневную выгрузку.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
69
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Колесов Ю., Сениченков Ю. Моделирование систем. Объектноориентированный подход. — БХВ-Петербург, 2000. — 192 с.
2 Хартл М. Ruby on Rails для начинающих. Изучаем разработку вебприложений на основе Rails — ДМК Пресс, 2017. — 572 с.
3 Маглинец. Ю. А.
информационным
Анализ требований к автоматизированным
системам.
[Электронный
ресурс]:
курс
лекций
/ Ю. А. Маглинец — Режим доступа: www.intuit.ru
4 Ларин
Л.
С.
Технико-экономическое
обоснование
дипломных
проектов: учеб. пособ. / Л. С. Ларин, Л. А. Чалдаева, Н. Д. Гуськова. —
Саранск: Мордов. ун-т, 1983. — 100 c.
5 Бенкен Е. AJAX. Программирование для интернета / Е. Бенкен. — СПб.:
БХВ-Петербург, 2009. — 464 с.
6 Храмцов П. Б. Основы WEB-технологий / П. Б. Храмцов, С. А. Брик, А.
Инв. № дубл.
Подп.и дата
М. Русак, А. И. Сурин — М.: ИНТУИТ.РУ, 2013. — 512 с.
7 Дунаев В.В. JavaScript. — СПб.: “Питер”, 2015. — 394 с.
8 Федоров, А.Г. JavaScript для всех / А.Г. Федоров. — М.: Компьютерпресс, 1998. — 384 c.
9 Флэнаган, Д. JavaScript: подробное руководство / Д. Флэнаган. — М.:
Символ, 2008. — 992 c.
10 Гарнаев А. WEB-программирование на Java и JavaScript / Андрей
ам. инв. №
Гарнаев, Сергей Гарнаев. — М.: БХВ-Петербург, 2005. — 313 c
11 Хартл М. Ruby on Rails Tutorial: Learn Web Development with Rails —
ДМК Пресс, 2017. — 572 с.
Инв.№ подл.
Подп. и дата
12 Симпсон, К. You don’t know JS / К. Симпсон - Питер, 2017 г. — 336с.
13 Трофимов С. А. CASE-технологии: практическая работа в Rational
Rose. / С. А. Трофимов — М.: Бином-Пресс, 2002. — 288 с.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
70
ПРИЛОЖЕНИЕ А
(обязательное)
Частичный программный код разработанных модулей
Листинг А.1 — реализация главного контроллера приложения
class ApplicationController < ActionController::Base
include ActionView::Helpers::TextHelper
include ZipHelper
include GenerationsHelper
include SvedenStructHelper
include SvedenDocumentHelper
include SvedenBudgetHelper
include SvedenEducationHelper
include SvedenEmployeesHelper
include SvedenGrantsHelper
include SvedenObjectsHelper
include SvedenPaidEduHelper
include SvedenVacantHelper
include SvedenEduStandartsHelper
protect_from_forgery with: :exception
before_action: authenticate_user!
End
Подп.и дата
<!DOCTYPE html>
<html>
<head>
<title>Аккредитация</title>
<%= csrf_meta_tags %>
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
<link rel="shortcut icon" href="/assets/icon.ico" type="image/x-icon">
<meta property="og:title" content="Аккредитация | Система
многопользовательского доступа заполнения сведений об образовательной организации с
учетом соблюдения требований законодательства в сфере образования с целью
прохождения автоматизированной проверки Росаккредагенством" />
<meta property="og:site_name" content="Аккредитация" />
<meta property="og:url" content="www.accreditation.mrsu.ru" />
<meta property="og:description" content="Главная страница системы
многопользовательского доступа" />
<meta property="og:image" content="http://tflops.ru/assets/forsites.jpg" />
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/foundation/6.2.4/foundation.min.css">
<script
src="https://cdn.jsdelivr.net/foundation/6.2.4/foundation.min.js"></script>
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
71
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<%= stylesheet_link_tag
'application', media: 'all', 'data-turbolinkstrack': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
%>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/fontawesome.min.css" rel="stylesheet" integrity="sha384wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN"
crossorigin="anonymous">
<link href="https://fonts.googleapis.com/css?family=Dancing+Script"
rel="stylesheet">
</head>
<body>
<% if current_user.present? %>
<div class="row header tasya">
<div class="small-6 large-6 medium-6 columns logoback">
<%= link_to root_path do %>
<p id="pid">ФГБОУ ВО "МГУ им. Н. П. Огарёва"</p>
<% end %>
<p> </p>
</div>
<div class="small-6 large-6 medium-6 columns columnsa" style="paddingright:40px; margin-top: 15px;">
<p style="text-align: right; font-size: 22px; color: black;">
Подп.и дата
<%if current_user.id == 30 %>
<%= link_to new_user_path, :method => :get do %>
Создать <i class="fa fa-users" aria-hidden="true"></i> |
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
<% end %>
<% end %>
<i class="fa fa-user" aria-hidden="true"></i>
<%= current_user.fio %>
<%= link_to destroy_user_session_path, :method => :delete do %>
[ Выйти ]
<% end %>
</p>
</div>
</div>
<% end %>
<div class="row site_row">
<%= yield %>
</div>
</body>
<script>
$(document).foundation();
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
72
$(document).ready(function() {
$(".download_file_file").change(function() {
var file_id = $(this).attr('data-item')
var filename = $(this).val().replace(/.*\\/, "");
if (filename == "") {
$("#file-span-" + file_id.toString()).prop('title', "Выберите файл");
$("#file-span-" + file_id.toString()).removeClass("success");
$("#file-span-" + file_id.toString() + " i").addClass("fa-upload");
$("#file-span-" + file_id.toString() + " i").removeClass("fa-check");
} else {
$("#file-span-" + file_id.toString()).addClass("success");
$("#file-span-" + file_id.toString()).prop('title', filename);
$("#file-span-" + file_id.toString() + " i").removeClass("fa-upload");
$("#file-span-" + file_id.toString() + " i").addClass("fa-check");
}
});
var spans = document.querySelectorAll(".file-span");
console.log(spans.length);
for (var i = 0; i < spans.length; i++) {
if (spans[i].title != 'Выберите файл') {
$(spans[i]).addClass("success");
}
}
});
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
$(".delete_button").hover(function() {
$(".save_btn").click();
});
$(".button").hover(function() {
$(".save_btn").click();
});
</script>
</html>
<style>
#pid {
padding: 10px;
color: black;
display: inline-block;
border: 3px solid black;
}
.logoback img {
display: block;
float: left;
width: 50px;
height: 50px;
margin-right: 50px;
}
.logoback {
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
73
font-size: 22px;
}
.columnsa a {
color: black;
}
body {
background-color: #edeef0;
}
.box_shadow {
background-color: white;
}
</style>
Листинг А.2 — Реализация контроллера и представления, отвечающих за
работу с разделом «Основные сведения»
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
class BasicInformationsController < ApplicationController
before_action :set_basic_information, only: [:show, :edit, :update]
before_action :set_filiations, only: [:show, :edit, :update]
before_action :set_founders, only: [:show, :edit, :update]
before_action :authenticate_user!
skip_before_action :verify_authenticity_token
# GET /basic_informations/new
def new
@basic_information = BasicInformation.new
end
# GET /basic_informations/1/edit
def edit
end
def destroy
if params["fl_id"].present?
Filiation.find(params["fl_id"]).destroy
end
if params["fn_id"].present?
Founder.find(params["fn_id"]).destroy
end
redirect_back(fallback_location: root_path)
end
def index
@basic_informations = BasicInformation.all
end
# POST /basic_informations
def create
if params["create"]=="fil"
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
74
@filiation = Filiation.new(:'owner' => current_user.id)
@filiation.save
end
if params["create"]=="found"
@founder = Founder.new(:'owner' => current_user.id)
@founder.save
end
redirect_back(fallback_location: root_path)
end
# PATCH/PUT /basic_informations/1
def update
founder_params_update
filiation_params_update
@basic_information.update(basic_information_params)
#redirect_to root_path(notice: 'information was successfully created.')
end
private
# Use callbacks to share common setup or constraints between actions.
def set_basic_information
@basic_information = BasicInformation.last
end
def set_founders
@founders_list = []
Founder.all.each do |f|
@founders_list << f
end
end
# Never trust parameters from the scary internet, only allow the white list
through.
def basic_information_params
params.require(:basic_information).permit!
end
def filiation_params_update
if params["filiations"].present?
params["filiations"].each do |filiation|
if params["filiations"][filiation]["name"] != ""
@params = params["filiations"][filiation].permit!
@params["owner"] = current_user.id
Filiation.find(filiation).update(@params)
end
end
end
end
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
def set_filiations
@filiations_list = []
Filiation.all.each do |f|
@filiations_list << f
end
end
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
75
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
def founder_params_update
if params["founders"].present?
params["founders"].each do |founder|
@params = params["founders"][founder].permit!
@params["owner"] = current_user.id
Founder.find(founder).update(@params)
end
end
end
end
<%= form_for(basic_information) do |form| %>
<%= form_tag basic_information_path do %>
<% if current_user.sub_sections.include?("1.1") or
current_user.adm_sub_sections.include?("1.1") %>
<i class="notice">Поля, отмеченные знаком *, обязательны для заполнения</i>
<div class="box_shadow">
<h3>Основные сведения</h3>
<table class="unstriped">
<tr>
<td>Дата создания образовательной организации *</td>
<td><%= form.text_field :date_create, id: :basic_information_date_create,
:required => true %></td>
</tr>
<tr>
<td >Адрес местонахождения образовательной организации *</td>
<td><%= form.text_field :address, id: :basic_information_address, :required
=> true %></td>
</tr>
<tr>
<td>Режим, график работы *</td>
<td><%= form.text_field :mode, id: :basic_information_mode, :required =>
true %></td>
</tr>
<tr>
<td>Контактные телефоны *</td>
<td><%= form.text_field :phones, id: :basic_information_phones, :required
=> true %></td>
</tr>
<tr>
<td>Факсы *</td>
<td><%= form.text_field :faxes, id: :basic_information_faxes, :required =>
true %></td>
</tr>
<tr>
<td>Адреса электронной почты *</td>
<td><%= form.text_field :emails, id: :basic_information_emails, :required
=> true %></td>
</tr>
</table>
</div>
<% end %>
<% if current_user.sub_sections.include?("1.2") or
current_user.adm_sub_sections.include?("1.2") %>
<i class="notice">Поля, отмеченные знаком *, обязательны для заполнения</i>
<div class="box_shadow">
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
76
Подп.и дата
Инв. № дубл.
ам. инв. №
Подп. и дата
Инв.№ подл.
<h3>Филиалы образовательной организации</h3>
<table class="unstriped">
<thead>
<th>Наименование филиала *</th>
<th>Адрес местонахождения филиала образовательной организации *</th>
<th>Адрес официального сайта в сети «Интернет» (при наличии)</th>
<th></th>
</thead>
<tbody>
<% @filiations_list.each do |fl| %>
<% if fl.owner == current_user.id or
current_user.adm_sub_sections.include?("1.2") %>
<%= fields_for 'filiations[]', fl do |fill| %>
<tr>
<td><%= fill.text_field :name, id: :filiation_name, :required => true
%></td>
<td><%= fill.text_field :address, id: :filiation_address, :required =>
true %></td>
<td><%= fill.text_field :off_site, id: :filiation_off_site %></td>
<td><%= link_to basic_information_path(fl_id: fl.id), :method =>
:delete, remote: true, :class => "delete_button" do %><i class="fa fa-minus fa-2x"
aria-hidden="true"></i><% end %></td>
</tr>
<% end %>
<% else %>
<tr>
<td><%= fl.name %></td>
<td><%= fl.address %></td>
<td><%= fl.off_site %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
<%= link_to "Добавить филиал",{:controler => :basic_information, :action =>
'create', :create => 'fil'}, :method => :create, :class => "success button" %>
</div>
<% end %>
<% if current_user.sub_sections.include?("1.3") or
current_user.adm_sub_sections.include?("1.3") %>
<i class="notice">Поля, отмеченные знаком *, обязательны для заполнения</i>
<div class="box_shadow">
<h3>Учредители образовательной организации</h3>
<table class="table table-bordered">
<thead>
<th>Наименование учредителя *</th>
<th>Фамилия, имя, отчество руководителя учредителя (ей) образовательной
организации</th>
<th>Адрес местонахождения учредителя(ей)</th>
<th>Контактные телефоны</th>
<th>Адрес электронной почты</th>
<th>Адрес сайта учредителя(ей) в сети «Интернет»</th>
<th></th>
</thead>
<tbody>
<% @founders_list.each do |fn| %>
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
77
Подп.и дата
Инв. № дубл.
ам. инв. №
<% if fn.owner == current_user.id or
current_user.adm_sub_sections.include?("1.3") %>
<%= fields_for 'founders[]', fn do |fill| %>
<tr>
<td><%= fill.text_field :name, id: :founder_name %></td>
<td><%= fill.text_field :director, id: :founder_director, :required
=> true %></td>
<td><%= fill.text_field :address, id: :founder_address %></td>
<td><%= fill.text_field :phones, id: :founder_phones, :required =>
true %></td>
<td><%= fill.text_field :email, id: :founder_email, :required =>
true %></td>
<td> <%= fill.text_field :off_site, id: :founder_phones, :required
=> true %></td>
<td><%= link_to basic_information_path(fn_id: fn.id), :method =>
:delete, remote: true, :class => "delete_button" do %><i class="fa fa-minus fa-2x"
aria-hidden="true"></i><% end %></td>
</tr>
<% end %>
<% else %>
<tr>
<td><%= fn.name %></td>
<td><%= fn.director %></td>
<td><%= fn.address %></td>
<td><%= fn.phones %></td>
<td><%= fn.email %></td>
<td><%= fn.off_site %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
<%= link_to "Добавить учредителя",{:controler => :basic_information, :action
=> 'create', :create => 'found'}, :method => :create, :class => "success button" %>
</div>
<% end %>
<div class="actions">
<%= button_tag(type: "submit", class: "button save_btn") do %>Сохранить
изменения <% end %>
</div>
<% end %>
<% end %>
Листинг А.3 — Реализация контроллера и представления, отвечающих за
работу с разделом «Структура и органы управления образовательной
Инв.№ подл.
Подп. и дата
организацией»
class ManagementsController < ApplicationController
before_action :set_managements, only: [:show, :edit, :update]
before_action :set_subdivisions, only: [:show, :edit, :update]
before_action :authenticate_user!
skip_before_action :verify_authenticity_token
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
78
# GET /basic_informations/new
def new
@management = Management.new
end
# GET /basic_informations/1/edit
def edit
end
def destroy
if params["mn_id"].present?
Management.find(params["mn_id"]).destroy
end
if params["sub_id"].present?
Subdivision.find(params["sub_id"]).destroy
end
# POST /basic_informations
def create
if params["create"]=="management"
@management = Management.new(:'owner' => current_user.id)
@management.save
end
if params["create"]=="sub"
@subdivision = Subdivision.new(:'owner' => current_user.id)
@subdivision.save
end
redirect_back(fallback_location: root_path)
end
# PATCH/PUT /basic_informations/1
def update
management_params_update
subdivision_params_update
#redirect_to root_path(notice: 'information was successfully created.')
end
private
# Use callbacks to share common setup or constraints between actions.
def set_managements
@managements_list = []
Management.all.each do |f|
@managements_list << f
end
end
def set_subdivisions
@subdivisions_list = []
Subdivision.all.order(:name).each do |f|
@subdivisions_list << f
end
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
redirect_back(fallback_location: root_path)
end
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
79
end
# Never trust parameters from the scary internet, only allow the white list
through.
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
def management_params_update
if params["managements"].present?
params["managements"].each do |management|
if params["managements"][management]["name"] != ""
man_params = params["managements"][management].permit(:name, :fio,
:regulation)
@man = Management.find(management)
@man.update(man_params)
end
uploaded_io = params["managements"][management][:regulation]
if uploaded_io.present?
@man.regulation = uploaded_io.original_filename
@man.save!
File.open(Rails.root.join('public', 'uploads',
uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
end
end
end
end
def subdivision_params_update
if params["subdivisions"].present?
params["subdivisions"].each do |subdivision|
if params["subdivisions"][subdivision]["name"] != ""
sub_params = params["subdivisions"][subdivision].permit(:name, :fio,
:position, :address, :off_site, :email, :file_url)
@sub = Subdivision.find(subdivision)
@sub.update(sub_params)
end
uploaded_io = params["subdivisions"][subdivision][:file_url]
if uploaded_io.present?
@sub.file_url = uploaded_io.original_filename
@sub.save!
File.open(Rails.root.join('public', 'uploads',
uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
end
end
end
end
end
<%= form_tag '/managements/1', method: :put, :multipart=> true do %>
<% if current_user.sub_sections.include?("2.1") %>
<i class="notice">Поля, отмеченные знаком *, обязательны для заполнения</i>
<div class="box_shadow">
<h3>Органы управления образовательной организации</h3>
<table class="table table-bordered">
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
80
Подп.и дата
Инв. № дубл.
ам. инв. №
Подп. и дата
Инв.№ подл.
<thead>
<th>Наименование органа управления *</th>
<th>ФИО руководителя *</th>
<th>Положение об органе управления</th>
</thead>
<tbody>
<% @managements_list.each do |mn| %>
<% if mn.owner == current_user.id %>
<%= fields_for 'managements[]', mn do |fill| %>
<tr>
<td><%= fill.text_field :name, id: :management_name, :required =>
true %></td>
<td><%= fill.text_field :fio, id: :management_fio, :required => true
%></td>
<td>
<label class="download_file">
<%= fill.file_field :regulation, id: :management_regulation,
class: :"download_file_file", "data-item": :"#{mn.id}" %>
<span class="file-span button" id="file-span-<%= mn.id %>"
title="<%= mn.regulation.present?? mn.regulation : "Выберите файл" %>">
<i class="fa fa-upload fa-1x" aria-hidden="true" ></i>
</span>
<%= link_to management_path(mn_id: mn.id), :method => :delete,
remote: true, :class => "delete_button" do %><i class="fa fa-minus fa-2x" ariahidden="true"></i> <% end %>
</label>
</td>
</tr>
<% end %>
<% else %>
<tr>
<td><%= mn.name %></td>
<td><%= mn.fio %></td>
<td><%= mn.regulation %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
<%= link_to "Добавить орган управления",{:controler =>
:managements_controller, :action => 'create', :create => 'management'}, :method =>
:create, :class => "success button" %>
</div>
<% end %>
<% if current_user.sub_sections.include?("2.2") %>
<i class="notice">Поля, отмеченные знаком *, обязательны для заполнения</i>
<div class="box_shadow">
<h3>Структурные подразделения образовательной организации</h3>
<table class="table table-bordered" style="font-size: 12px;">
<thead>
<th>Наименование структурного подразделения *</th>
<th>ФИО руководителя структурного подразделения *</th>
<th>Должность руководителя структурного подразделения *</th>
<th>Адрес местонахождения структурного подразделения *</th>
<th>Адрес официального сайта структурного подразделения *</th>
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
81
Подп.и дата
Инв. № дубл.
ам. инв. №
Подп. и дата
Инв.№ подл.
<th>Адреса электронной почты структурного подразделения *</th>
<th>Положение о структурном подразделении</th>
</thead>
<tbody>
<% @subdivisions_list.each do |sub| %>
<% if sub.owner == current_user.id %>
<%= fields_for 'subdivisions[]', sub do |fill| %>
<tr>
<td><%= fill.text_field :name, id: :subdivision_name, :required =>
true %></td>
<td><%= fill.text_field :fio, id: :subdivision_fio, :required => true
%></td>
<td><%= fill.text_field :position, id: :subdivision_position,
:required => true %></td>
<td><%= fill.text_field :address, id: :subdivision_address, :required
=> true %></td>
<td><%= fill.text_field :off_site, id: :subdivision_off_site,
:required => true %></td>
<td><%= fill.text_field :email, id: :subdivision_email, :required =>
true %></td>
<td>
<label class="download_file">
<%= fill.file_field :file_url, id: :subdivision_url_field, class:
:"download_file_file", "data-item": :"#{sub.id}" %>
<span class="file-span button" id="file-span-<%= sub.id %>"
title="<%= sub.file_url.present?? sub.file_url : "Выберите файл" %>">
<i class="fa fa-upload fa-1x" aria-hidden="true" ></i>
</span>
<%= link_to management_path(sub_id: sub.id), :method => :delete,
remote: true, :class => "delete_button" do %><i class="fa fa-minus fa-2x" ariahidden="true"></i> <% end %>
</label>
</td>
</tr>
<% end %>
<% else %>
<% if sub.name.present? %>
<tr>
<td><%= sub.name %></td>
<td><%= sub.fio %></td>
<td><%= sub.position %></td>
<td><%= sub.address %></td>
<td><%= sub.off_site %></td>
<td><%= sub.email %></td>
<td><%= sub.file_url %> </td>
</tr>
<% end %>
<% end %>
<% end %>
</tbody>
</table>
<%= link_to "Добавить структурное подразделение",{:controler =>
:managements_controller, :action => 'create', :create => 'sub'}, :method =>
:create, :class => "success button" %>
</div>
<% end %>
<div class="actions">
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
82
<%= button_tag(type: "submit", class: "button save_btn") do %>Сохранить
изменения <% end %>
</div>
<% end %>
<style>
#subdivision_url_field
{
display: none;
}
#management_regulation
{
display: none;
}
.file-span{
display: block;
margin: 0px;
width: 50%;
display: block;
float: left;
height: inherit;
}
ам. инв. №
Инв. № дубл.
Подп.и дата
.delete_button{
height: inherit;
float: right;
padding-top: 5px;
}
</style>
<script>
$(document).ready( function() {
$(".download_file_file").change(function(){
var file_id = $(this).attr('data-item')
var filename = $(this).val().replace(/.*\\/, "");
if (filename == ""){
$("#file-span-"+file_id.toString()).prop('title',"Выберите файл");
$("#file-span-"+file_id.toString()).removeClass("success");
$("#file-span-"+file_id.toString()+" i").addClass("fa-upload");
$("#file-span-"+file_id.toString()+" i").removeClass("fa-check");
}
else{
$("#file-span-"+file_id.toString()).addClass("success");
$("#file-span-"+file_id.toString()).prop('title',filename);
$("#file-span-"+file_id.toString()+" i").removeClass("fa-upload");
$("#file-span-"+file_id.toString()+" i").addClass("fa-check");
}
Инв.№ подл.
Подп. и дата
});
var spans = document.querySelectorAll(".file-span");
console.log(spans.length);
for (var i = 0; i < spans.length; i++){
if (spans[i].title != 'Выберите файл'){
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
83
$(spans[i]).addClass("success");
}
}
});
</script>
Листинг А.4 — Реализация контроллера и представления, отвечающих за
работу с разделом «Документы»
class UniverdocsController < ApplicationController
before_action :set_univer_docs, only: [:show, :edit, :update]
before_action :authenticate_user!
skip_before_action :verify_authenticity_token
# GET /basic_informations/new
def new
@univer_doc = Univerdoc.new
end
ам. инв. №
Инв. № дубл.
Подп.и дата
# GET /basic_informations/1/edit
def edit
@univer_doc_cat = UniverdocCat.all
end
def destroy
if params["ud_id"].present?
Univerdoc.find(params["ud_id"]).destroy
end
redirect_back(fallback_location: root_path)
end
# POST /basic_informations
def create
@univer_doc = UniverdocCat.find(params["udc_id"]).univerdocs.new(:'owner' =>
current_user.id)
@univer_doc.save
redirect_back(fallback_location: root_path)
end
# PATCH/PUT /basic_informations/1
def update
univer_doc_params_update
Инв.№ подл.
Подп. и дата
end
private
# Use callbacks to share common setup or constraints between actions.
def set_univer_docs
@univer_doc_list = []
Univerdoc.all.each do |f|
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
84
@univer_doc_list << f
end
UniverdocCat.find(2).univerdocs.each do |ud|
print(ud.file_url)
end
end
# Never trust parameters from the scary internet, only allow the white list
through.
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
def univer_doc_params_update
if params["documents"].present?
params["documents"].each do |document|
if params["documents"][document]["file_url"] != ""
doc_params = params["documents"][document].permit(:file_url)
@doc = Univerdoc.find(document)
@doc.update(doc_params)
end
print(doc_params)
uploaded_io = params["documents"][document][:file_url]
if uploaded_io.present?
@doc.file_url = uploaded_io.original_filename
@doc.save!
File.open(Rails.root.join('public', 'uploads',
uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
end
end
end
end
end
<%= form_tag '/univerdocs/1', method: :put, :multipart=> true do %>
<% @variable = 1 %>
<% @univer_doc_cat.each do |udc| %>
<% if current_user.sub_sections.include?("\"3."+String(@variable)+"\"") %>
<div class="box_shadow">
<table class="table table-bordered">
<thead>
<th colspan="2" style="text-align: center; font-size: 24px;"><%= udc.name %></th>
</thead>
<tbody>
<% udc.univerdocs.each do |ud| %>
<%= fields_for 'documents[]', ud do |doc| %>
<tr>
<td><span id="span_<%= ud.id %>"><%= ud.file_url %></span></td>
<% if ud.owner == current_user.id %>
<td>
<label class="download_file">
<%= doc.file_field :file_url, id: :doc_filename, class:
:"download_file_file", "data-item": :"#{ud.id}" %>
<span class="file-span button" id="file-span-<%= ud.id %>"
title="<%= ud.file_url.present?? ud.file_url : "Выберите файл" %>">
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
85
<i class="fa fa-upload fa-1x" aria-hidden="true" ></i>
</span>
<%= link_to univerdoc_path(ud_id: ud.id), :method => :delete,
remote: true, :class => "delete_button" do %><i class="fa fa-minus fa-2x" ariahidden="true"></i> <% end %>
</label>
</td>
<% end %>
</tr>
<% end %>
<% end %>
<tr><td colspan="2"><%= link_to "Добавить документ",{:controler =>
:univerdocs_controller, :action => 'create', :udc_id => udc.id}, :method =>
:create, :class => "success button", :udc_id => udc.id %></td></tr>
</tbody>
</table>
</div>
<% end %>
<% @variable = @variable+ 1 %>
<% end %>
<div class="actions">
<%= button_tag(type: "submit", class: "button save_btn") do %>Сохранить
изменения <% end %>
</div>
<% end %>
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
<style>
#doc_filename
{
display: none;
}
.file-span{
display: block;
margin: 0px;
width: 50%;
display: block;
float: left;
height: inherit;
}
.delete_button{
height: inherit;
float: right;
padding-top: 5px;
}
</style>
<script>
$(document).ready( function() {
changeSpanClass();
$(".download_file_file").change(function(){
var file_id = $(this).attr('data-item')
var filename = $(this).val().replace(/.*\\/, "");
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
86
if (filename == ""){
$("#file-span-"+file_id.toString()).prop('title',"Выберите файл");
$("#file-span-"+file_id.toString()).removeClass("success");
$("#file-span-"+file_id.toString()+" i").addClass("fa-upload");
$("#file-span-"+file_id.toString()+" i").removeClass("fa-check");
}
else{
$("#file-span-"+file_id.toString()).addClass("success");
$("#span_"+file_id.toString()).text(filename);
console.log("#span_"+file_id.toString());
$("#file-span-"+file_id.toString()).prop('title',filename);
$("#file-span-"+file_id.toString()+" i").removeClass("fa-upload");
$("#file-span-"+file_id.toString()+" i").addClass("fa-check");
}
changeSpanClass();
});
</script>
Листинг А.5 — Реализация контроллера и представления, отвечающих за
работу с разделом «Образовательные стандарты»
class EduStandartsController < ApplicationController
before_action :set_edu_standarts, only: [:show, :edit, :update]
before_action :authenticate_user!
skip_before_action :verify_authenticity_token
ам. инв. №
Инв. № дубл.
Подп.и дата
function changeSpanClass(){
var flag = false;
var spans = document.querySelectorAll(".file-span");
for (var i = 0; i < spans.length; i++){
if (spans[i].title != 'Выберите файл'){
$(spans[i]).addClass("success");
}
else{
flag = true;
}
}
$(".save_btn").attr("disabled", flag);
}
});
# GET /basic_informations/1/edit
def edit
@edu_standarts = StandartCopy.all
end
Инв.№ подл.
Подп. и дата
def destroy
if params["es_id"].present?
StandartCopy.find(params["es_id"]).destroy
end
redirect_back(fallback_location: root_path)
end
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
87
# POST /basic_informations
def create
@univer_doc = StandartCopy.new(:'owner' => current_user.id)
@univer_doc.save
redirect_back(fallback_location: root_path)
end
# PATCH/PUT /basic_informations/1
def update
standart_copies_params_update
end
private
# Use callbacks to share common setup or constraints between actions.
def set_edu_standarts
@edu_standarts_list = []
StandartCopy.all.each do |f|
@edu_standarts_list << f
end
end
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
# Never trust parameters from the scary internet, only allow the white list
through.
def standart_copies_params_update
if params["edu_standarts"].present?
params["edu_standarts"].each do |edu_standart|
if params["edu_standarts"][edu_standart]["filename"] != ""
doc_params = params["edu_standarts"][edu_standart].permit(:filename)
@doc = StandartCopy.find(edu_standart)
@doc.update(doc_params)
end
print(doc_params)
uploaded_io = params["edu_standarts"][edu_standart][:filename]
if uploaded_io.present?
@doc.filename = uploaded_io.original_filename
@doc.save!
File.open(Rails.root.join('public', 'uploads',
uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
end
end
end
end
end
<%= form_tag '/edu_standarts/1', method: :put, :multipart=> true do %>
<% if current_user.sub_sections.include?("5.1") %>
<i class="notice">Поля, отмеченные знаком *, обязательны для заполнения</i>
<div class="box_shadow">
<h5 style="font-size:24px; text-align: center;">Копии федеральных
государственных образовательных стандартов (при их использовании допускается
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
88
размещение в подразделе гиперссылки на соответствующие документы на сайте
Министерства образования и науки Российской Федерации)
</h5>
<table class="table table-bordered">
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
<tbody>
<% @edu_standarts_list.each do |es| %>
<% if es.owner == current_user.id %>
<%= fields_for 'edu_standarts[]', es do |fill| %>
<tr>
<td><span id="span_<%= es.id %>"><%= es.filename %></span></td>
<td>
<label class="download_file">
<%= fill.file_field :filename, id: :standart_url_field, class:
:"download_file_file", "data-item": :"#{es.id}" %>
<span class="file-span button" id="file-span-<%= es.id %>"
title="<%= es.filename.present?? es.filename : "Выберите файл" %>">
<i class="fa fa-upload fa-1x" aria-hidden="true" ></i>
</span>
<%= link_to edu_standart_path(es_id: es.id), :method => :delete,
remote: true, :class => "delete_button" do %><i class="fa fa-minus fa-2x" ariahidden="true"></i> <% end %>
</label>
</td>
</tr>
<% end %>
<% else %>
<tr>
<td><%= es.filename %></td>
</tr>
<% end %>
<% end %>
<tr><td colspan="2"><%= link_to "Добавить документ",{:controler =>
:edu_standarts_controller, :action => 'create'}, :method => :create, :class =>
"success button" %></td></tr>
</tbody>
</table>
</div>
<div class="actions">
<%= button_tag(type: "submit", class: "button save_btn") do %>Сохранить
изменения <% end %>
</div>
<% end %>
<%end%>
<style>
#standart_url_field
{
display: none;
}
</style>
<script>
$(document).ready( function() {
$(".download_file_file").change(function(){
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
89
var file_id = $(this).attr('data-item')
var filename = $(this).val().replace(/.*\\/, "");
if (filename == ""){
$("#file-span-"+file_id.toString()).prop('title',"Выберите файл");
$("#file-span-"+file_id.toString()).removeClass("success");
$("#file-span-"+file_id.toString()+" i").addClass("fa-upload");
$("#file-span-"+file_id.toString()+" i").removeClass("fa-check");
}
else{
$("#file-span-"+file_id.toString()).addClass("success");
$("#file-span-"+file_id.toString()).prop('title',filename);
$("#file-span-"+file_id.toString()+" i").removeClass("fa-upload");
$("#file-span-"+file_id.toString()+" i").addClass("fa-check");
}
});
var spans = document.querySelectorAll(".file-span");
console.log(spans.length);
for (var i = 0; i < spans.length; i++){
if (spans[i].title != 'Выберите файл'){
$(spans[i]).addClass("success");
}
}
});
</script>
Подп.и дата
Листинг А.6 — Реализация контроллера, отвечающего за работу с
сессиями пользователей
Инв. № дубл.
class UsersController < ApplicationController
before_action :set_user, only: [:show, :update, :destroy]
before_action :notadmin
def index
@users = User.all
Инв.№ подл.
Подп. и дата
ам. инв. №
#@users = User.all.paginate(:page => params[:page], :per_page => 10)
end
def edit
@user = User.find(params[:id])
@user.save!
end
def show
end
def update
@sections = Section.all
authorize self
@user.update(user_params)
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
90
redirect_to(:back)
end
def new
@sections = Section.all
@user = User.new
end
def create
subs=[]
@user = User.new(user_params)
print(params[:subs])
params[:subs].each do |sub|
subs.push(sub.split('.')[0])
end
@user.sections = subs.uniq
@user.sub_sections = params[:subs]
if @user.save
redirect_to root_path
end
end
#private
private
def set_user
@user = User.find_by(id: params[:id])
return redirect_to root_path unless @user
end
def user_params
params.require(:user).permit!
end
private
def notadmin
if current_user.id != 30
redirect_to root_path
end
end
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
def destroy
if current_user != @user
@user.destroy
end
redirect_back(fallback_location: root_path)
end
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
91
ПРИЛОЖЕНИЕ Б
(обязательное)
Графический материал
1) Анализ акторов системы
2) Диаграммы последовательности
3) Вспомогательные диаграммы
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
4) ER–диаграмма
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
92
Подп.и дата
Инв. № дубл.
ам. инв. №
Подп. и дата
Инв.№ подл.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
93
Подп.и дата
Инв. № дубл.
ам. инв. №
Подп. и дата
Инв.№ подл.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
94
Подп.и дата
Инв. № дубл.
ам. инв. №
Подп. и дата
Инв.№ подл.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
95
Подп.и дата
Инв. № дубл.
ам. инв. №
Подп. и дата
Инв.№ подл.
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
96
ПРИЛОЖЕНИЕ В
(необязательное)
Инв.№ подл.
Подп. и дата
ам. инв. №
Инв. № дубл.
Подп.и дата
Акт о внедрении научно-технических результатов работы
Изм. Лист
№ докум.
Подп.
Дата
БР-02069964-09.03.01-02-18
Лист
97
Отзывы:
Авторизуйтесь, чтобы оставить отзыв