ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»
( Н И У
« Б е л Г У » )
ИНСТИТУТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ И ЕСТЕСТВЕННЫХ НАУК
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ И ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ИНФОРМАЦИОННОГО
СОПРОВОЖДЕНИЯ НИР СТУДЕНТОВ И АСПИРАНТОВ (НА
ПРИМЕРЕ КАФЕДРЫ ПИИИТ)
Выпускная квалификационная работа
обучающегося по направлению подготовки 09.03.03 «Прикладная
информатика»
заочной формы обучения, группы 07001351
Крыгина Владимира Владимировича
Научный руководитель:
к.т.н., доцент Зайцева Т.В.
БЕЛГОРОД 2018
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .................................................................................................................. 3
1 Анализ предметной области. Построение диаграммы «Как есть». Обзор
сайтов НИР................................................................................................................... 5
1.1 Анализ подходов к сопровождению НИР ....................................................... 5
1.1.1 Общие понятия о НИР ................................................................................. 5
1.1.2 Система НИР на кафедре прикладной информатики НИУ «БелГУ»..... 7
1.1.3 Научно-исследовательская работа в мире................................................. 9
1.2 Структурно-функциональная диаграмма сопровождения НИР «Как есть» и
ее описание ............................................................................................................. 13
1.3 Сравнительный анализ существующих сайтов по сопровождению НИР . 16
2 Проектирование сайта информационного сопровождения НИР студентов и
аспирантов.................................................................................................................. 21
2.1 Структурно-функциональная диаграмма сопровождения НИР «Как
должно быть» и ее описание ................................................................................. 21
2.2 Проектирование сайта сопровождения НИР ................................................ 24
2.2.1 Определения требований к сайту ............................................................. 24
2.2.2 Структура сайта и цветовая палитра ....................................................... 27
2.2.3 Разработка макета сайта ............................................................................ 29
3 Программная реализация сайта. Тестирование. расчет экономической
эффективности ........................................................................................................... 32
3.1 Разработка сайта............................................................................................... 32
3.2 Контрольный пример реализации проекта .................................................... 53
3.3 Анализ социально-экономической эффективности проекта ....................... 64
ЗАКЛЮЧЕНИЕ ......................................................................................................... 68
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................................... 69
ПРИЛОЖЕНИЕ ......................................................................................................... 73
ВВЕДЕНИЕ
Информационное сопровождение любого проекта в различных сферах
деятельности является важным условием его существования и продвижения.
Реализация научных проектов нуждается в том, чтобы потенциальные
исполнители могли своевременно ознакомиться со всеми аспектами, типами,
видами и возможностями предоставляемой информационной поддержки. Выбор
технологии передачи информации и ее направленности зависит от специфики
конкретно взятого проекта.
В информационном сопровождении научно-исследовательских работ
большую роль играют как каналы передачи информации потенциальным
исследователям и средства передачи, так и само качество, и своевременность
передаваемой информации.
Объектом исследования выпускной квалификационной работы является
научно-исследовательская работа кафедры.
Предметом
исследования
является
инструментальные
средства
информатизации по НИР.
Цель выпускной квалификационной работы – спроектировать и
реализовать решение для повышения учета эффективности деятельности
студентов и аспирантов по НИР.
Для достижения поставленной цели необходимо решить ряд задач:
провести анализ предметной области;
построить структурно-функциональная диаграмма сопровождения
НИР «Как есть»;
сделать обзор сайтов информационного сопровождения НИР;
построить структурно-функциональную диаграмму сопровождения
НИР «Как должно быть»;
определиться с требованиями к сайту;
определить структура сайта;
3
построить макет сайта;
реализовать сайт;
провести контрольное тестирование;
проанализировать социально-экономическую эффективность.
Выпускная квалификационная работы состоит из трех разделов. Первый
раздел
–
аналитический,
содержит
общую
информацию
о
научно-
исследовательских работах в РФ и мире, анализ предметной области,
сравнительный анализ сайтов, посвященных НИР, а также построение
диаграммы сопровождения НИР по методологии IDEF0 «Как есть». Второй
раздел – проектный, содержит структурно-функциональную диаграмму «Как
должно быть», проектирование сайта с определением требований и построением
ориентировочного макета. Третий раздел – программная реализация сайта и
последующее контрольное тестирование, а также расчет экономической
эффективности проекта.
Выпускная квалификационная работа написана на 72 страницах, в ней
присутствует 31 рисунок, 19 таблиц, а также приложение с программным кодом
сайта.
4
1 Анализ предметной области. Построение диаграммы «Как есть».
Обзор сайтов НИР
1.1 Анализ подходов к сопровождению НИР
1.1.1 Общие понятия о НИР
Научно-исследовательская работа (НИР) студента – одна из форм
самовыражения его личности, его стремления к жизненному самоутверждению,
развивает творческие способности, самостоятельность, умение разбираться в
потоках информации, отбирать и перерабатывать нужную [1]. Занимаясь
исследовательской работой, студент включен в специфическую деятельность и в
систему
научно-исследовательской
работы
студентов
вуза,
имеющей
определенную структуру и особенности [38].
В России сам термин «научно-исследовательская работа» вошел в
употребление
еще
в
советские
времена.
Порядок
выполнения
НИР
регламентируется ГОСТ 15.101-98 и порядок оформления - ГОСТ 7.32-2001 и
регулируется Гражданским кодексом РФ. Основным результатом НИР является
отчёт о выполнении научных исследований, также допускается создание
макетов, в отличие от опытно-конструкторских работ, результатом которой
являются опытный образец изделия, конструкторская документация или новая
технология [20].
Научно-исследовательская работа считается важнейшим инструментом
формирования любой из наук [3]. Будь это естественные или гуманитарные
науки. А кроме того это неотъемлемый компонент среднего и высшего
образования. Таким образом, НИР считается главной работой ученых кругов и
существенным
сектором
в
деятельности
учащихся
вузов.
Научно-
исследовательская работа может иметь определенную особенность в области
5
научного познания и различаться в зависимости от предметной области [1]. Так,
например, НИР по физике или биологии непременно подразумевает проведение
эксперимента. Вследствие опытной работы делаются знакомыми новейшие
свойства и качества живых и безжизненных организмов. Такого рода способ дает
возможность имитировать естественные условия, вследствие чего содержит
весьма значительную эффективность в очах научного работника. В то же время,
историческое
либо
литературное
исследование
лишены
такого
рода
возможности [2].
Каждая научно-исследовательская работа разделяется на разные рубежи
в ее содержании. Первейшей стадией, в особенности важной, в случае если речь
проходит об учебном проекте, считается установка задач и целей исследующего.
Весьма немаловажно, чтобы НИР была самобытной и не повторяло
произнесенных кем-то раньше заключений [8]. В то же время в таких работах
разрешается обобщение ранее заявленного, расширение точек зрения на
научную дилемму, обнаружение их слабых и сильных сторон. Последующей
стадией является получение и обработка данных. Опять же, в зависимости от
научной области, способы на данной стадии могут быть абсолютно разные.
Затем проходит обработка полученных результатов, где оцениваются и
разъясняются полученные заключения, делаются окончательные выводы. И в
окончание, демонстрация результатов НИР, где студент подтверждает свою
квалификацию. И здесь защита в некоторых случаях может быть даже более
значима, чем само исследование [10].
В случае же большого исследования, на кону стоит скорее само
заключение и его значимость для мира науки, вероятность применения на
практике и в последующих научных исследованиях. Кроме того, необходимо
отметить, то что тема НИР формируется прежде всего научными интересами
исследующего. Весьма предпочтительно, чтобы тематика следующих трудов
была логичным продолжением предшествующих. Таким способом, молодой
ученый расширяет сферу своих профессиональных познаний и увеличивает
шанс своего исключительного вклада в развитие соответствующей научной
6
области. Поэтому очень немаловажно выбрать важную и актуальную проблему
с первого раза, иначе позже придется начинать все с нуля [23].
1.1.2 Система НИР на кафедре прикладной информатики НИУ «БелГУ»
Сегодня в НИУ «БелГУ» научно-исследовательская деятельность
реализуется по направлениям научных исследований, руководителями которых
являются
доктора
наук,
профессора,
исследования
которых
широко
представлены в научных изданиях в России и за рубежом, реализуются в рамках
грантов ФЦП, РНФ, государственного задания Министерства образования и
науки РФ, РФФИ и другие [13].
На протяжении всех лет обучения студенты активно привлекаются к
научно-исследовательской работе, участию и проведению научных конференций
и семинаров, прохождению стажировок за рубежом. Становясь частью научного
сообщества университета, студенты Института имеют возможность не только
быть в курсе наиболее актуальных исследований, но и внести собственный вклад
в развитие определенной научной области.
Область научных интересов кафедры прикладной информатики –
внедрение информационных технологий в процесс управления предприятиями и
медицину. В рамках этих научных направлений преподаватели совместно со
студентами кафедры участвуют в исследованиях по грантам Министерства
образования и науки РФ, а также выполняют финансируемые государственные
заказы и проекты НИУ «БелГУ».
Научно-исследовательские и опытно-конструкторские работы (НИОКР)
ведутся в рамках наиважнейшего научного направления «Информационнотелекоммуникационные системы» РФ. Они отвечают двум направленностям
программы
президента
РФ
по
модернизации
и
научно-техническому
формированию экономики Российской федерации, а именно:
7
1) стратегические информационные технологии, в том числе проблемы
построения суперкомпьютеров и разработки ПО;
2) телекоммуникации и космос, в том числе проблемы формирования
инфраструктуры.
В рамках первого направления ключевые успехи сопряжены с созданием
математического и программного обеспечения параллельной обработки
аэрокосмических
фотоснимков
на
основе
высокопроизводительных
мультипроцессорных вычислительных кластеров, в том числе, с применением
графических
ускорителей,
включая
также
формирование
уникальных
математических основ и эффективных алгоритмов дешифровки объектов на
изображениях поверхности Земли.
В рамках следующего направления создаются математические методы и
технологии формирования и обработки оптимальных канальных сигналов,
позволяющих обеспечить минимизацию затрат частотно-временных ресурсов на
передачу
и
хранение
информации
и
повысить
помехоустойчивость
инфокоммуникационных систем.
Разрабатываются методы и алгоритмы кодирования речевых сигналов и
изображений (аудиовизуальной информации), позволяющие существенно
уменьшить объемы их битовых представлений при хранении и передачи и
повысить скрытность хранимой и передаваемой информации.
Разработаны уникальные математические методы и алгоритмы сжатия
аудиовизуальной информации, что позволяет значительно понизить трафик
данных при их передаче, а также методы и алгоритмы формирования и
обработки оптимальных канальных сигналов с минимальным уровнем
просачивания энергий за пределы выделенных частотных интервалов, что
позволяет по сравнению с применяемыми технологиями существенно увеличить
объем передаваемых в режиме частотного уплотнения данных [13].
Разрабатываются предложения по аппаратно-программной реализации
созданных алгоритмов обработки сигналов и изображений.
8
В НИР интенсивное участие принимают учащиеся кафедры. Они каждый
год становятся победителями всероссийских и университетских конкурсов
НИРС и предметных олимпиад.
За успехи в научной, общественной, спортивной и творческой
деятельности студенты получают повышенные и именные стипендии, в том
числе стипендии Президента и Правительства РФ для студентов, обучающихся
по
направлениям
подготовки
и
специальностям,
соответствующим
приоритетным направлениям модернизации и технологического развития
экономики России.
Магистранты принимают участие в форуме «Суперкомпьютерные
технологии в образовании, науке и промышленности». Партнеры форума –
корпорация «Intel», компании Hewlett-Packard (HP) и Nvidia.
Среди продуктов интеллектуальной деятельности кафедры имеется:
−
4 патента на изобретения;
−
свидетельства о регистрации баз данных;
−
свидетельства программ для ЭВМ.
1.1.3 Научно-исследовательская работа в мире.
В практике нынешней иностранной высшей школы традиционно
сформировалось и стремительно используются вариативные формы организации
НИР студентов: научные пропедевтические курсы и просеминары (Германия);
исследовательские
проекты
(США,
Германия,
Япония);
проблемно-
ориентированные курсы (Франция, Великобритания, Германия); проектные
технологии в малых исследовательских группах (США, Япония) [35].
В заметке Н. Юрко раскрываются характерные черты высшего
образования в Шотландии. В государстве функционируют 2 аспирантские
программы. «Taught» схожа с российским вариантом, она содержит лекционные
9
занятия, семинары, сдачу переходных экзаменов и тестов. В отличие от первой
программа «Research» рассчитана на людей, проводящих научные исследования,
основой которых является коллективная работа с научным управляющим. Автор
резюмирует, что в последнее период времени в странах Запада большим спросом
стали использоваться программы дистанционного образования [16].
Собственная особенность присуща концепции научной деятельности в
высшем
образовании
Германии.
Ч.
Опиц
и
Е.Франк
в
заметке:
«Совершенствование высшего образования в Германии» подмечают, что в
государстве
стремительно
обсуждают
задачи
увеличения
конкурентоспособности институтской системы. Политические деятели сходятся
в суждении, что посредством перестроения высшего образования Германии
необходимо
сформировать
такую
систему
подготовки
высококвалифицированных профессионалов, что сумеет результативно работать
в обстоятельствах суровой конкурентной борьбы. Авторы заметки предлагают
существенно поменять структуру рынка научно-образовательных услуг в
Германии. Развитие иерархии институтов вынудит их больше работать
«менеджментом репутации», для того чтобы заинтересовывать более способных
учащихся и обладать возможностью осуществлять НИР на достаточно высоком
уровне [15].
Яркой характерной чертой формирования учебного процесса в
университетах Германии считается установленное с конца шестидесятых годов
и целиком оправдавшее себя так называемое «исследовательское обучение»,
сущность которого заключается в том, что учащемуся старших курсов,
проявившему интерес к научной деятельности, присваивается статус «студентисследователь» и предоставляется не тема ВКР, а тема диссертационного
исследования. Такое обучение должно завершаться защитой диссертации. В
данный период студенты работают по персональному плану, формируют
исследовательские коллективы и секции, имеют научного руководителя.
Изобретены так называемые «признаки» учащегося-исследователя: умение к
генерации научных идей, владение иностранными языками, упорство при
10
решении научных задач, навык коллективной работы, жажда к научным
публикациям, проявление интереса к научным задачам смежных дисциплин.
В практике германской высшей школы удачно реализуются специальные
формы
особого
одобрения
высокоодаренных
учащихся
в
виде
экспериментальных кружков по обучению кадров высшей квалификации:
«резерв
ректора»,
«классы
мастеров»,
«исследовательские
кадры
для
промышленности», «высокопроизводительная научная смена». Неотъемлемым
обстоятельством деятельности в подобных коллективах представляется
заключение соглашения между ректором и каждым участником. Развиваются и
получают обширное распространение новые всеохватывающие формы научного
взаимодействия высших учебных заведений с ведущими объединениями
индустрии: временные научные группы, так называемые «аппликационные
группы», консультационные центры, взаимодействие в объединенных научных
комиссиях,
методико-диагностические
центры,
студенческие
научные
технологические центры в рамках междисциплинарных научных исследований
и многое другие [17].
Больший интерес представляет опыт высших учебных заведений США в
организации НИР учащихся, где, не считая университета огромное значение
играет производственное предприятие либо компания. Например, в статье Т.С.
Георгиевой анализируется опыт высших учебных заведений США по
сотрудничеству с промышленными предприятиями, где, также разглядывает
роль в данном процессе студенческой науки.
В последние несколько лет в США верно обусловилась тенденция к более
широкой роли личных компаний в предоставлении финансов вузовских
исследовательских работ, непреклонно развивается взаимодействие высших
учебных заведений с индустрией. Обычно взаимодействие начинается с того, что
компании употребляют вузовских научных работников в качестве консультантов
в
процессе
проведения
собственных
исследовательских
работ.
Потом
заключается договор на проведение совместных работ. В последний период
времени вырастает число проектных институтов – независящих от институтской
11
администрации научно-исследовательских компаний, в которых работают
педагоги, студенты и аспиранты. Подобные компании дают возможность
учащимся начинать исследования еще на младших курсах, а дальше продолжать
их в период выпуска, а потом уже в статусе аспиранта и педагога-исследователя.
Еще одна многообещающая форма контактов высших учебных заведений и
производственных
компаний
в
проведении
научных
разработок
–
исследовательские и научные парки, основное назначение которых является
реализация
научных
исследований
студенческой
молодежи,
поддержка
многообещающих исследований учащихся [18].
НИР студентов в вузах Великобритании является основой последующей
научной
послевузовской
подготовки.
К
учебно-научным
программам
докторского уровня в английских университетах относятся прежде всего New
Route PhD – встроенные программы послевузовской подготовки, которые
сочетают научную деятельность с программой проф. подготовки. Успешные
выпускники таковых программ – это независимые исследователи, снаряженные
профессиональными, личными и переносимыми (transferable) способностями,
которые способны внести значимый вклад в развитие избранной области.
Реализация собственного исследовательского проекта проходит в тесном
взаимодействии с научным руководителем.
Учебный модуль включает курсы по специальности, курсы, которые
направлены
на
выработку
междисциплинарные
курсы,
учебных
и
научных
которые
направлены
полномочий,
также
на
проф.
развитие
способностей. New Route PhD относятся к, так называемым, встроенным
докторским программам (Integrated PhD). Мысль состоит в том, что изначально
студенты поступает на магистерскую программу учебно-исследовательского
типа (например, MRes или MPhil), и при условии удачного окончания первого
года обучения (либо 2-ух лет) воспринимает решение о продолжении обучения
и переводится на программку PhD. Такая форма дозволяет уменьшить срок
обучения на докторской программе. Как указывает заграничный опыт
организации научно-исследовательских работ учащихся в современных
12
критериях университет, по собственной сущности, становится не только лишь
местом обучения учащихся, но и центром научной работы [19]. Необходимо
подчеркнуть, что заграничная система высшего образования накопила
обеспеченный опыт организации научно-исследовательской работы учащихся,
так как учебный процесс, сливаясь с научным трудом учащихся, все более
преобразуется в настоящую профессиональную деятельность.
1.2 Структурно-функциональная диаграмма сопровождения НИР «Как
есть» и ее описание
Модель «Как есть» — это модель уже существующего процесса или
функции. Исследование процессов является обязательной частью любого
проекта создания системы [4]. Построение структурно-функциональной модели
позволяет выяснить, какие процессы выполняются на предприятии, а также
какие используются информационные объекты при выполнении различных
функций.
Структурно-функциональная модель «Как есть» является начальной
точкой для выявления потребностей и проблем предприятия, а также разработки
проекта автоматизации бизнес-процессов [5].
Для реализации структурно-функциональной модели была использована
программа AllFusion Process Modeler. Модели, построенные в данной программе,
являются основой для осмысления бизнес-процессов, а также описывают
взаимосвязь потоков информации и процессов в организации.
AllFusion Process Modeler — это программный продукт для реализации
средств CASE-технологий, позволяющий проводить анализ, моделирование и
описание бизнес-процессов [7]. Выбранное программное средство очень
востребовано. В настоящее время его распространяет компания Computer
Associates на коммерческой основе. Содержит три стандартные методологии:
13
функциональное моделирование (IDEF0), моделирование потоков данных (DFD)
и моделирование потоков работ (IDEF3). Каждая методологии уникальна посвоему и может быть отдельно выполнена, однако их совокупность представляет
аналитику полную картину предметной области клиента [22].
В IDEF0 система — это совокупность взаимодействующих между собой
функций или работ. Более четко смоделировать взаимодействие и логику бизнеспроцессов организации позволяет чисто функциональная ориентация, при
которой происходит анализ функций системы независимо от объектов,
которыми они оперируют [6].
Контекстная
диаграмма
функциональной
модели
процесса
«Информационного сопровождения НИР студентов и аспирантов» кафедры
прикладной информатики «Как есть» представлена на рисунке 1.1.
Рисунок 1.1 – Контекстная диаграмм «Сопровождение НИР»
Из
контекстной
диаграммы,
представленной
выше,
видно,
что
механизмами реализации процесса сопровождения научно-исследовательской
работы являются – студент, аспирант, преподаватель и ответственный за НИР.
14
Механизмами
управления
выступают
законодательные
документы
РФ,
нормативные документы высшего учебного заведения (Приказ от 24.02.2016
№133-ОД «Об утверждении и введении в действие форм планов и отчетов по
научно-исследовательской работе кафедр и подразделений университета», План
научно-исследовательской работы кафедры (структурного подразделения)) и
различные методические документы. Входящие на данные это информация от
студента, информация от аспиранта, информация от преподавателя и
информация о событиях. На выходе из процесса – отчет по запрос, отчет НИР,
архивная информация, а также актуальная информация. По построенной
диаграмме точно нельзя понять, как происходит процесс сопровождения НИР,
следовательно, необходимо провести декомпозицию контекстной диаграммы,
что
предусматривает
выделение
основных
функций,
способствующих
реализации учета и сопровождения заказов. Результат представлен на
рисунке 1.2.
Рисунок 1.2 – Декомпозиция диаграммы «Сопровождение НИР»
15
В результате декомпозиции процесса учета и сопровождения заказов
были выделены следующие 4 подпроцесса:
1) ввод информации о персоналиях. При первичном появление в базе НИР
создается персонализированная документация с информацией о студенте,
аспиранте или преподавателе (курс, группа, дисциплины, достижения и т.д.).
Соответственно при новом обращении их данные уже хранятся в базе. Однако,
использование бумажной документации недостаточно удобно, так как не всегда
обеспечивается скорость выполнения работы;
2) ввод информации о событиях. Добавление информации об актуальных
конкурсах, конференциях, олимпиадах, грантах и т.д.;
3) подбор интересующий информации. Например, преподаватель может
сделать запрос информации о каком-нибудь студенте с которым можно было бы
работать в будущем над научно-исследовательской работой;
4) формирование архивной информации и отчетов. На данном этапе
формируются отчеты по НИР и прочая архивная информация. Сформированные
отчеты хранятся на бумажных носителях. При этом существенно увеличивается
количество бумаг, что усложняет ведение документации.
Исходя из полученных данных структурно-функциональной диаграммы,
следует вывод, что процессы по сопровождению НИР студентов и аспирантов не
автоматизированы,
выполняются
вручную
с
присутствием
бумажной
документации, что вызывает затруднения при работе, и как следствие, и как
следствие невысокую заинтересованность ею.
1.3 Сравнительный анализ существующих сайтов по сопровождению
НИР
Анализирование дизайна веб-сайта относится к юзабилити аудиту, и
дозволяет оценить качество дизайна, также его воздействие на поведение
16
пользователей. В ходе, когда делается конструирование веб-сайтов: создание
веб-сайта визитки, создание веб магазина либо создание корпоративного вебсайта, также остальных типов ресурсов, огромное внимание постоянно уделяется
дизайну [34].
Но, беспристрастно оценить его качество, пока веб-сайт еще не доступен
для пользователей, довольно трудно. Уже в процессе работы ресурса, когда
можно всесторонне изучить поведение пользователей, которых приходят на вебсайт, можно и необходимо произвести изучение дизайна веб-сайта.
Изучение дизайна веб-сайта содержит в себе: изучение дизайна веб-сайта
исходя из его привлекательности для пользователей. Если дизайн оригинален,
организован с внедрением гармонического сочетания цветов, которые не
раздражают пользователя, привлекает к себе внимание, принуждает гостя вебсайта продолжить путешествие по страничкам ресурса, то это гласит в его пользу
и охарактеризовывает дизайн, как высококачественный.
Анализ веб-сайта на предмет удобства: дизайн сайта включает в себя не
только лишь визуальное оформление ресурса, но и навигацию по нему. Если
навигационное меню просто обнаружимо пользователем, ясно и понятно
представляет структуру веб-сайта, то это делает пребывание на страничках сайта
удобным для пользователя, также облегчает поиск нужных пользователю
данных.
Изучение причин, которые влияют на осознание пользователем данных:
дизайн веб-сайта содержит в себе информационные блоки, которые оформлены
особым образом. Оформление данных блоков не должно мешать знакомству
пользователей с информационным содержимым страничек ресурса. Цвет фона,
который сливается с цветом текста, очень маленький размер шрифтов, нелогично
расположенная
область,
в
отрицательное
воздействие
коей
на
располагается
осознание
и
контент
усвоение
–
оказывают
пользователем
принципиальных данных. Хоть какой пользователь приходит на сайт, сначала,
чтобы ознакомиться с его информационным содержимым, потому дизайн вебсайта не должен быть преградой для выполнения данной задачи.
17
Анализ веб-ресурса, с точки зрения его актуальности; Чрезвычайно
нередко в сети попадаются веб-сайты, которые обладают чрезвычайно
необычным дизайном: сверкающими элементами в оформлении фона,
разноцветными заголовками, либо даже знаками, которые входят в одно слово,
нелепыми графическими изображениями, яркими кнопками, использующимися
для дизайна меню и иных элементов, которые сразу начинают резать глаз,
вызывать желание оставить веб-ресурс. Подобное оформление веб-сайтов
использовалось много годов назад, когда интернет-дизайнеры еще не имели
технического и программного обеспечения для разработки осторожных,
понятных и высококачественных дизайнов для интернет-ресурсов. Современный
интернет-дизайн ушел дальше вперед, и веб-сайты, дизайном которых
занимаются передовые специалисты в данной области, сходу реально отличить
от устаревших во всем ресурсы. Актуальный веб-дизайн сайта — это
чрезвычайно принципиальный аспект оценки качества дизайна веб-ресурса.
Дизайн веб-сайта должен быть запоминающимся и необычным.
Высококачественный, запоминающийся дизайн, который содержит элементы
корпоративного стиля компании, содействует формированию позитивной
репутации компании, увеличению лояльности со стороны клиентов, также
вызывает доверие у покупателей и партнеров компании.
Изучение
дизайна
веб-сайта
дозволяет
всецело
оценить
высококачественные свойства внешнего облика сайта, найти не самые сильные
стороны и выявить ошибки, также сформировать советы по повышению качества
дизайна.
Основными критериями оценки web-ресурсов НИР стали:
−
информативность (объем представленных сведений, детальность
данных);
−
навигация
(структурированность
информации,
удобство
пользования Web-сайтом);
−
технические возможности (наличие информационных справочников
о НИР);
18
−
дизайн сайта;
−
скорость загрузки сайта и его подразделов;
−
регулярность обновления информации.
Информативность — это, бесспорно, одна из основных характеристик
любого Интернет-ресурса. Практически все просмотренные Web-сайты,
посвященные информационной поддержки НИР предлагают своим посетителям
общую информацию о структуре управления научной деятельностью, последние
новости, посвященные научной деятельности учебного заведения, информацию
о
конференциях,
конкурсах,
грантах.
Но
информативность
научно-
исследовательских ресурсов, как правило, этим не исчерпывается. На сайтах
можно найти отчетную информацию о достижениях студентов по годам, ссылки
на другие научные ресурсы.
Редко, встречаются ресурсы, которые несут лишь минимум информации,
которая ограничивается лишь общим описанием отдела по работе с научноисследованиями студентов и аспирантов.
Под навигацией понимается удобство пользованием web-сайтом
подразумевается
возможность
получения
необходимой
информации
кратчайшим путем, (то есть за минимальное количество “кликов” компьютерной
мышки). В основной массе у сайтов навигация значительно “хромает”.
Например, возврат из разделов третьего-четвертого уровня на главную
страницу или переход на другие разделы возможны только через нажатие кнопки
“назад”. Примерно у четверти Интернет-сайтов функции навигации реализованы
на достаточно высоком уровне.
В плане дизайна в основном, все крупные научные порталы высших
учебных заведений с легкостью можно отличить один от другого: они имеют
свое
лицо,
то
есть
оригинальный
логотип
и
эксклюзивный
дизайн
соответствующий общему оформления сайта ВУЗ.
Но некоторые ресурсы, все же, отличаются некоторыми недоработками в
области дизайна, например, неоправданно большие фотографии и некоторая
19
перегрузка сайтов фреймами. К счастью, в целом работу web-дизайнеров можно
считать достаточно квалифицированной.
Скорость загрузки web-сервера в основном зависит от быстродействия
канала на котором он размещен, от трафика на этом канале, качества связи и от
самого сервера (возможности специалиста, технология, количество графики и
др.). Совершенно не обязательно web-сервер, вообще лишенный графики будет
быстрее загружаться. Все сайты, были просмотрены с одного рабочего места.
Результатом явилась примерно одинаковая скорость загрузки.
Обновляемость также один из важнейших критериев так, как только
постоянно обновляемые web-сайты привлекают внимание пользователей сети
[40]. В целом все сайты содержать актуальные, свежие новости о научных
студенческих мероприятиях, грантах, конкурсах и так далее.
20
2 Проектирование сайта информационного сопровождения НИР
студентов и аспирантов
2.1 Структурно-функциональная диаграмма сопровождения НИР «Как
должно быть» и ее описание
Рассмотрим, каким образом изменится исследуемая предметная область
при внедрении разрабатываемой информационной системы.
На контекстной диаграмме видны следующие изменения: добавлен
механизм «ИС», то есть все функции будут автоматизированы, а также
управляющее воздействие «Правила работы в ИС», ведь для работы в
разрабатываемой
информационной
системе
понадобится
соблюдение
определенных правил. Две новых стрелки на диаграмме выделены синим цветом.
Описанные выше изменения представлены на рисунке 2.1.
Рисунок 2.1 – Контекстная диаграмма функциональной модели «Как должно
быть»
21
Основным процессом по-прежнему будет «Сопровождение НИР». Для
выполнения этого процесса в систему будут поступать следующие данные и
документы:
− запрос (выполняется нахождением самим пользователем нужной
информации);
− информация от студентов и аспирантов (студенты регистрируются в
системе и заполняю в соответствующие полю требуемую информацию);
− информация от преподавателей (преподаватели регистрируются в
системе и заполняю в соответствующие полю требуемую информацию);
− информация о событиях (преподаватели и ответственный за НИР могут
публиковать различные новости, касающиеся научной деятельности кафедры).
Эти данные являются входами функционального блока.
В результате выполнения процесса будут получены следующие данные и
документы, которые являются выходными данными функционального блока:
− отчет по запросу (передается клиенту);
− отчет НИР. Хранится в электронном виде, доступ к нему получает
производственный цех, для изменения статуса заказа;
− актуальная информация (формируются всевозможные отчеты по ходу
и результатам завершения заказа);
В качестве управления используются следующие механизмы:
− законодательные документы;
− нормативные документы;
− методические документы;
− правила работы в разрабатываемой информационной системе.
Механизмом реализации рассматриваемого процесса является менеджер
отдела сбыта, а также информационная система, с которой работает менеджер, и
к которой имеют доступ работники других отделов.
Однако, контекстная диаграмма отражает лишь общий процесс, поэтому
для
понимания
того,
как
функционирует
информационная
система
сопровождения НИР необходимо выполнить декомпозицию контекстной
22
диаграммы. Для этого была разработана функциональную модель «Как должно
быть». Изменения в диаграмме первого уровня можно рассмотреть на
рисунке 2.2.
Рисунок 2.2 – Функциональная модель первого уровня «Как должно быть»
Рассмотрим, какие изменения будут происходить при внедрении
информационной системы. В результате декомпозиции основного процесса в
было выделено четыре подпроцесса: ввод информации о персоналиях,ввод
информации о событиях, подбор интересующей информации и формирование
архивной информации и отчета.
Рассмотрим, как изменились основные подпроцессы.
1) Ввод информации о персоналиях. Следует отметить, что все данные
студентов,
аспирантов
и
преподавателей
вносятся
в
базу
данных
информационной системы ими самими при регистрации. Если пользователь
входит в систему повторно, то его данные и работы уже будут иметься в базе,
производится только их обновление при необходимости.
23
2) Ввод информации о событиях. Преподаватели и администратор
системы смогут публиковать от своего имени новости различных типов событий
(конференции, конкурсы, гранты).
3) Подбор
интересующей
информации.
Пользователи
смогут
просматривать интересующую их информацию об актуальных событиях,
студентах, аспирантах и преподавателях в любое время и любого места где есть
доступ в интернет.
4) Формирование архивной информации и отчета. Пользователи могут
загружать свои работы в систему. Также возможно формирование графических
отчетов по годам со статистикой всех достижений.
2.2 Проектирование сайта сопровождения НИР
2.2.1 Определения требований к сайту
Сайт «Информационного сопровождения научно-исследовательских
работ студентов и аспирантов» должен быть разработан в результате
технического задания на выпускную квалификационную работу. Предназначен
для получения интересующей информации о научно-исследовательских работах
онлайн.
Основанием для разработки является задание на проектирование,
выданное Белгородским государственным университетом (БелГУ).
Тема разработки: создание сайта «Информационного сопровождения
научно-исследовательских работ студентов и аспирантов».
Назначение разработки: сайт предназначен для размещения информации
о научных работах, формирования отчетной статистики НИР, отслеживания
научной деятельности студентов и их руководителей.
24
Требования к функциональным характеристикам: разработанный сайт
должен осуществлять переход по гиперссылкам от одной странице к другой [24].
Разделы:
1) главная страница - содержание сайта и описание сайта.
2) новости - публикация информации о конференциях, грантах,
конкурсах;
3) каталог студентов - список профилей зарегистрированных студентов;
4) каталог преподавателей - список профилей зарегистрированных в
системе преподавателей;
5) вопрос и ответ – техподдержка, вопросы администратору от
пользователей
6) Отчеты – формирование отчетов с графиком о количестве достижений
по годам.
7) Редактор статей и приватный блог по совместительству.
Требования к надежности: пользователь не должен вносить какую-либо
информацию в программу, которая бы повлекла порчу программы или потерю
достоверности информации.
Требования к информационной и программной совместимости:
На входе и выходе web-ресурса информация должна быть текстового и
числового типа и предоставляться на русском языке. Данный сайт будет создан
в программе PhpStorm – это интегрированная среда разработки на PHP с
интеллектуальным редактором, которая глубоко понимает код, поддерживает
PHP 7.2-5.3 для современных и классических проектов, обеспечивает лучшее в
индустрии автодополнение кода, рефакторинги, предотвращение ошибок налету
и поддерживает смешивание языков [30]. Интерфейс удовлетворяет всем
требованиям Windows и автоматически настраивается на ту систему, которая
установлена на компьютере пользователя.
Технико-экономические показатели:
25
Данный сайт не требует больших ресурсов вычислительной системы. Не
занимает место на жестком диске. Но необходима одна из программ для
просмотра сайта – Google Chrome, Mozilla Firefox, Internet Explorer или Opera.
Сайт разрабатывается несколько этапами:
-
определение назначения и функций сайта;
-
выбор цветового и стилистического оформления;
-
определение страниц и содержание;
-
выбор инструментов для программирования, удовлетворяющего
функциям и назначениям сайта;
-
верстка сайта.
Порядок контроля и приемки:
Программа должна быть испытана различными методами тестирования.
Основным
методом
обнаружения
ошибок
в
проекте
является
тестирование.
Тестирование представляет собой процесс выполнения программы с
целью проверки правильности результатов ее работы. Оно включает в себя
преднамеренное
конструирование
трудных
наборов
входных
данных,
создающих наибольшие возможности для отказа программы.
Основной метод для обнаружения ошибок в программе – проведение
испытаний. Испытание представляет собой процесс выполнения программы с
целью проверки правильности результатов ее работы и соответствия заданным
характеристикам. Процесс испытаний включает в себя преднамеренное
конструирование сложных наборов входных данных, создающих наибольшие
возможности для отказа программы.
Порядок проведения испытаний:
- запуск сайта;
- ссылка должны ввести на определенную ей страницу;
- корректное отображение графических элементов;
- корректное отображение сайта в различных пользовательских режимах;
- функциональность и соответствие проекта поставленной задаче.
26
2.2.2 Структура сайта и цветовая палитра
Структура сайта - это связь документов, принадлежащих ему, между
собой [11]. Правильная структура позволит поисковым роботам быстро
совершать обход ресурса, а посетителям легко перемещаться между его
страницами. Структура сайта важна как для SEO, так и для посетителей ресурса.
И поисковик, и человек не должны слишком долго путешествовать в поисках
нужной информации. Потерявший терпение человек просто покинет ресурс, а
поисковик не сможет проиндексировать все важные страницы.
Существует несколько видов структуризации сайтов:
- линейная;
- линейная с ответвлениями;
- блочная;
- древовидная.
Наиболее универсальной является древовидная структура, и именно на
ней следует остановиться при организации навигации по разделам сайта. Смысл
в том, что для каждого направления будет своя ветка, для каждого раздела будет
отдельное ответвление. То есть, те самые привычные разделы и подразделы. Эта
структура позволяет передавать дополнительный вес как на главную, так и на
разделы.
Изображение структуры будущего сайта показано на рисунке 2.3.
Рисунок 2.3 – Структура сайта
27
В мире веб-дизайнеров одной из главных ошибок при проектировании
дизайна сайта является некорректное использование цветовой гаммы. При
подборе цветовой палитры необходимо опираться на те принципы, что сайт
будет просмотрен большим количеством людей со своими взглядами и вкусами.
Поэтому, подбирать цветовую палитру необходимо очень осторожно.
Цвет – очень важный источник эмоций. Цвета могут мощно влиять на
пользователей, устанавливать верный тон и передавать необходимые эмоции
посетителям сайта, могут вызвать множество чувств и призывать к действиям.
Существует три основных цвета: красный (# ff0000 в HTML или # F00 в
CSS), желтый (# FFFF00 в HTML или # ff0 в CSS) и голубой (# 0000FF в HTML
или # 00f в CSS). Их невозможно получить путем смешивания других цветов
[21]. А как раз составные и дополнительные цвета можно получить, смешав
основные.
Для сайта «Информационного сопровождения научно-исследовательских
работ студентов и аспирантов» как основная цветовая палитра на который будет
опираться ресурс был выбран синий цвет и его оттенки, так как именно его чаще
всего используют на сайтах, связанных с наукой, инновациями, технологиями,
так как он вызывает чувство надежности и уверенности. Также на сайтах
социальных сетей, потому что он символизирует доверие, откровенность,
честность, общительность, сплоченность.
Цвет
помогает
сконцентрировать
внимание
на
стабильности,
постоянстве, профессионализме, а также стратегическом лидерстве. Он является
весьма распространенным цветом в бизнес-среде и широко используется на
корпоративных сайтах с целью создать ощущение уверенности, силы и
надежности.
Синий цвет также очень популярен в web-дизайне, символизирует
достоверность и доходчивость [14]. Хорошо подходит для рекламной продукции
или упаковки. Но также у него есть и недостаток, он может восприниматься с
нотками безразличия, поэтому лучше сочетать его с другими цветами.
28
2.2.3 Разработка макета сайта
Процесс
разработки
интернет-проекта
состоит
из
нескольких
принципиальных шагов, и одним из главных является шаг, на котором
производится разработка макета веб-сайта. Он важен тем, что дозволяет
осознать, как будет в итоге смотреться сам проект, на что ориентироваться при
разработке и его многофункциональные возможности, так как единственным
шагом после чего будет лишь создание дизайна и его верстка на базе такого же
макета [9].
Для разработки прототипа сайта был выбран условно-бесплатный сервис
Moqups.com. Как характеризуют сервис сами разработчики, Moqups — это
«изящное
HTML5-приложение
для
создания
макетов,
концептов
пользовательского интерфейса, прототипов, в зависимости от того, как вы сами
это называете» [12]. Moqups — это онлайн-редактор для создания прототипов
сайтов и приложений. Проектирование происходит по простому сценарию.
С помощью панели с элементами можно легко перетаскивать их в рабочую
область, затем менять размеры, открывать меню свойств, менять форму, цвета
и другие параметры.
Макет главной страницы представлен на рисунке 2.4, на нем изображена
шапка сайта в виде графического изображения и меню с основными разделами
сайта, описание системы, блоки последних новостей, три случайных студента и
преподавателя
которые
будут
выводится
соответствующих каталогов.
29
на
главную
страницу
из
Рисунок 2.4 – Макет главной страницы
Макет страницы раздела «Студенты» в гостевом режиме доступа
(рисунок 2.5) содержит шапку со ссылками на формы входа и регистрации
боковое вертикальное меню навигации по разделам, список зарегистрированных
профилей студентов и форма поиска по полям.
30
Рисунок 2.5 - Макет страницы раздела «Студенты»
Остальные разделы будут оформлены аналогичным образом, с поправкой
на их основное содержание.
31
3 Программная реализация сайта. Тестирование. расчет экономической
эффективности
3.1 Разработка сайта
Для разработки сайта был установлен локальный веб-сервер OpenServer.
Этот программный комплекс имеет богатый набор серверного программного
обеспечения,
удобный,
многофункциональный
продуманный
интерфейс,
обладает мощными возможностями по администрированию и настройке
компонентов [25]. Платформа широко используется с целью разработки, отладки
и тестирования веб-проектов, а также для предоставления веб-сервисов в
локальных сетях.
Процесс
разработки
осуществлялся
в
IDE
PhpStorm.
PhpStorm
представляет собой интеллектуальный редактор для PHP, HTML и JavaScript с
возможностями анализа кода на лету, предотвращения ошибок в коде и
автоматизированными средствами рефакторинга для PHP и JavaScript.
Автодополнение кода в PhpStorm поддерживает спецификацию PHP 5.3, 5.4, 5.5,
5.6, 7.0 и 7.1 [26].
Файловая структура сайта представлена на рисунке 3.1.
Рисунок 3.1 – Файловая структура сайта
32
Описание файловой структуры представлено в таблице 3.1.
Таблица 3.1 – Описание файловой структуры сайта
Файл/Папка
Расположение
Описание
1
.env
корень сайта
базовые настройки сайта
2
config
корень сайта
настройки
сайта,
сгруппированные по файлам
3
migrations
корень сайта
файлы миграций и генераторов
данных
4
public
корень сайта
файлы верстки
5
views
resources
виды
6
web.php
routes
роуты
7
admin
app/http/controllers
контроллеры для пользователей
типа администратор
8
student
app/http/controllers
контроллеры для пользователей
типа студент
9
teacher
app/http/controllers
контроллеры для пользователей
типа преподаватель
10
user
app/http/controllers
контроллеры
для
незарегистрированных
пользователей
11
auth
app/http/controllers
контроллеры для авторизации и
регистрации пользователей
12
middleware
app/http
посредники
13
vendor
корень сайта
каталог
для
дополнительных
библиотек
14
app
корень сайта
каталог для моделей
Редактирование базы данных mysql осуществлялось с помощью
phpMyAdmin, который по умолчанию включен в состав OpenServer. Все данные
базы представлены в кодировке utf8mb4_unicode_ci.
Диаграмма схемы базы данных представлена на рисунке 3.2.
33
Рисунок 3.2 – Схема базы данных
Всего база данных содержит 15 таблиц, изображение из PhpMyAdmin на
рисунке 3.3.
Рисунок 3.3 – База данных сайта
34
Структура таблицы users содержит в себе информацию о всех трех типах
пользователей – «Студент», «Преподаватель» и «Администратор». . Структура
представлена в таблице 3.2.
Таблица 3.2 – Структура таблицы users
id
int
Идентификатор
name
varchar
Имя
last_name
varchar
Отчество
surname
varchar
Фамилия
email
varchar
Email
password
varchar
Пароль
is_active
tinyint
Заблокирован
ли
пользователь
Type
tinyint
Тип пользователя
information
text
Доп. информация
contacts
text
Контакты
date_birth
datetime
Дата рождения
photo
varchar
Фотография
course_id
int
Идентификатор курса
group_id
int
Идентификатор группы
interests
text
Научные интересы
disciplines
text
Преподаваемые
дисциплины
position
text
Должность
biography
text
Биография
created_at
timestamp
Дата создания
updated_at
timestamp
Дата обновления
remember_token
varchar
Токен для авторизации
Таблица
achievements
содержит
информацию
о
пользователей системы. Структура представлена в таблице 3.3.
35
достижениях
Таблица 3.3 – Структура таблицы achievements
id
int
Идентификатор
type_id
int
Идентификатор
типа
достижения
user_id
Идентификатор
int
пользователя
date
datetime
Дата достижения
link
varchar
Ссылка
name
varchar
Название достижения
description
text
Описание достижения
created_at
timestamp
Дата создания
updated_at
timestamp
Дата обновления
Таблица files отвечает за загруженные в систему работы пользователей. .
Структура представлена в таблице 3.4.
Таблица 3.4 – Структура таблицы files
id
int
Идентификатор
user_id
int
Идентификатор
пользователя
link
varchar
Название файла
name
varchar
Название работы
description
text
Описание работы
created_at
timestamp
Дата создания
updated_at
timestamp
Дата обновления
Таблица
типов
достижений,
администратор системы (таблица 3.5).
36
которые
сможет
редактировать
Таблица 3.5 – Структура таблицы achievement_types
id
int
Идентификатор
name
varchar
Название типа
достижения
Таблица questions будет отвечать за хранение вопросов и ответов из
одноименного раздела ИС (таблица 3.6).
Таблица 3.6 – Структура таблицы questions
id
int
Идентификатор
user_id
int
Идентификатор
пользователя
theme
varchar
Тема вопроса
description
text
Текст вопроса
answer
text
Ответ на вопрос
created_at
timestamp
Дата создания
updated_at
timestamp
Дата обновления
Таблица courses хранит данные о доступных курсах информационной
системы (таблица 3.7).
Таблица 3.7 – Структура таблицы courses
id
int
Идентификатор
name
varchar
Название курса
Таблица groups содержит данные о группах ИС (таблица 3.8).
Таблица 3.8 – Структура таблицы groups
id
int
Идентификатор
name
varchar
Название группы
37
Таблица ref_users отвечающая за связку преподаватель-студент для
совместной работы (таблица 3.9).
Таблица 3.9 – Структура таблицы ref_users
id
int
Идентификатор
teacher_id
int
Идентификатор
преподавателя
student_id
int
Идентификатор студента
is_confirmed
tinyint
Подтверждение от
преподавателя
Таблица news отвечает в ИС за новости (таблица 3.10).
Таблица 3.10 – Структура таблицы news
id
int
Идентификатор
title
varchar
Заголовок новости
Текст новости
description
user_id
Идентификатор
int
пользователя
type_id
Идентификатор типа
int
новости
created_at
timestamp
Дата создания
updated_at
timestamp
Дата обновления
Таблица new_types хранит данные о категории новости (таблица 3.11)
Таблица 3.11 – Структура таблицы new_types
id
int
Идентификатор
name
varchar
Название типа новости
Таблица articles содержит в себе тексты из раздела редактора статей
(таблица 3.12).
38
Таблица 3.12 – Структура таблицы articles
id
int
Идентификатор
title
varchar
Заголовок статьи
description
text
Текст статьи
user_id
int
Идентификатор
пользователя
created_at
timestamp
Дата создания
updated_at
timestamp
Дата обновления
Таблица comments вспомогательная к редактору статей, содержит
комментарии к записям. Структура представлена в таблице 3.13.
Таблица 3.13 – Структура таблицы comments
id
int
Идентификатор
article_id
int
Идентификатор статьи
user_id
int
Идентификатор
пользователя
description
text
Текст комментария
created_at
timestamp
Дата создания
updated_at
timestamp
Дата обновления
Таблица ref_articles – связка пользователя со статьей (таблица 3.14).
Таблица 3.14 – Структура таблицы ref_articles
id
int
Идентификатор
article_id
int
Идентификатор статьи
user_id
int
Идентификатор
пользователя
Для разработки информационной системы использовался Laravel 5.6. Это
бесплатный фреймворк, написанный на php и поддерживающий архитектуру
MVC. Особенности его применения связаны с шаблоном проектирования
39
ActiveRecord (Eloquent ORM), обратной маршрутизацией, REST-контроллерами,
миграциями, автозагрузкой [27].
Для создания структуры базы и ее модификации в процессе развития
сайта для каждой таблицы был создан класс миграции, файл которого
располагается в database/migrations. Миграции так же необходимы при переносе
проекта из локального окружения на рабочий сервер.
Пример кода:
Schema::create('achievements', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('type_id')->nullable();
$table->unsignedInteger('user_id')->nullable();
$table->dateTime('date')->nullable();
$table->text('description')->nullable();
$table->string('name')->nullable();
$table->string('link')->nullable();
$table->timestamps();
$table->foreign('type_id')->references('id')>on('achievement_types')
->onUpdate('cascade')->onDelete('set null');
$table->foreign('user_id')->references('id')->on('users')
->onUpdate('cascade')->onDelete('cascade');
});
Для настройки конфигурации сайта были установлены следующие
значения:
− app.timezone = ‘Europe/Moscow’ (временная зона);
− database.default = ‘mysql’ (подключение к mysql);
− database = ‘nir’ (имя базы данных);
− username = ‘root’ (имя пользователя mysql);
− password = ‘’ (пароль для подключения к базе данных);
− cashe.default = 'file' (кеширование на файлах);
− filesystem.default = ‘local’ (работа с файлами локально);
− session.lifetime = 525960 (время хранения сессии в сек).
Фреймворк Laravel придерживается принципов архитектуры MVC,
согласно
которым
необходимо
определить
модели(models),
контроллеры(controllers) и виды(views). Эти объекты отвечают за структуру и
40
анализ данных, логику распределения данных и представление (отображение)
данных соответственно.
Модели находятся в каталоге app и соответствуют таблицам базы данных
сайта. Например, User, Achievement, WorkFile.
Пример кода модели Achievement:
class Achievement extends Model
{
protected $dates=['created_at', 'updated_at', 'date'];
protected $guarded = ['id'];
public function user()
{
return $this->belongsTo(User::class);
}
public function type()
{
return $this->belongsTo(AchievementType::class);
}
}
Контроллеры расположены в каталоге app/Http/Controllers. Определены
следующие контроллеры:
− Admin
1)
AchievementController
2)
CourseController
3)
NewsController
4)
ProfileController
5)
QuestionController
6)
ReportController
7)
UserController
− Student
1)
ArticleController
2)
ProfileController
3)
QuestionController
4)
UserController
− Teacher
1)
ArticleController
41
−
2)
NewsController
3)
ProfileController
4)
QuestionController
5)
ReportController
6)
UserController
User
1)
QuestionController
2)
UserController
− IndexController
− NewController
Контроллер Controller.php является базовым для остальных.
Для связи методов контроллеров и запросов пользователей созданы
специальные правила обработки запросов. Фрагмент таких правил:
Route::group(['prefix'=>'admin',
'middleware'=>['auth','admin']],function(){
Route::get('profile', 'Admin\ProfileController@index')>name('admin.profile');
Route::post('profile', 'Admin\ProfileController@update')>name('admin.profile.update');
Route::get('users', 'Admin\UserController@users')>name('admin.users');
Route::post('user/delete', 'Admin\UserController@ajaxDelete')>name('admin.user.delete');
Route::post('user/block', 'Admin\UserController@ajaxBlock')>name('admin.user.block');
Route::get('user/profile/{id}', 'Admin\UserController@user')>name('admin.user.profile')->where('id', '[0-9]+');
Route::group(['prefix'=>'news'], function() {
Route::get('/', 'Admin\NewsController@index')>name('admin.news');
Route::get('add', 'Admin\NewsController@add')>name('admin.new.add');
Route::post('add', 'Admin\NewsController@store')>name('admin.new.store');
Route::get('{id}', 'Admin\NewsController@edit')>name('admin.new.edit')->where('id', '[0-9]+');
Route::post('{id}', 'Admin\NewsController@update')>name('admin.new.update')->where('id', '[0-9]+');
42
Route::post('delete/{id}', 'Admin\NewsController@delete')>name('admin.new.delete');
});
});
Правила объединены в группы.
При запросах, которые не будут соответствовать ни одному правилу,
будет происходить перенаправление с сообщением об ошибке 404.
Объекты views(виды) расположены в каталоге resources/views. Laravel
позволяет создавать иерархию видов, поэтому для удобства виды распределены
по папкам admin, auth, student, teacher, user. Laravel предоставляет шаблонизатор
blade для работы с php-переменными и внедрения простейшей логики в html-код.
Пример кода для шаблонизатора blade ниже, остальные в приложение:
@extends('teacher._template')
@section('title', 'Cтатьи ваших учеников')
@section('content_header')
<section class="content-header">
<h1>Cтатьи ваших учеников</h1>
</section>
@endsection
@section('content_body')
<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box_">
<div class="box-body" style="overflow-x: auto;">
{{ csrf_field() }}
@if(count($articles)>0)
<table id="studentarticles2" class="table tablebordered table-striped">
<thead>
<tr>
<th>№</th>
<th>Заголовок</th>
<th>{{config('app.user_types')[3][0]}}</th>
<th>Дата создания</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($articles as $u)
<tr>
<td>{{ $u->id }}</td>
43
<td><a
href="{{
route('teacher.article.edit',[$u->id]) }}">{{ $u->title }}</a></td>
<td>
<a
href="{{
route('teacher.student', [$u->user_id]) }}">{{ $u->student->full_name_io
}}</a>
</td>
<td>{{
$u->created_at>format('d.m.Y') }}</td>
<td>
<a
class="btn
btn-primary
btn-sm" href="{{ route('teacher.article.edit',[$u->id]) }}"
role="button"
datatoggle="tooltip" title="Подробнее">
<i
class="glyphicon
glyphicon-pencil"></i>
</a>
</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<th>№</th>
<th>Заголовок</th>
<th>{{config('app.user_types')[3][0]}}</th>
<th>Дата создания</th>
<th></th>
</tr>
</tfoot>
</table>
@else
<p>Статьи не найдены</p>
@endif
</div>
</div>
</div>
</div>
</section>
@endsection
@section('js')
<script
src="{{
asset('assets/libs/plugins/moment.min.js')
}}"></script>
<script
src="{{
asset('assets/libs/plugins/datetime-moment.js')
}}"></script>
<script>
$(function () {
$.fn.dataTable.moment('DD.MM.YYYY');
$("#studentarticles2").DataTable({
44
"columns": [
null, null,
{"orderable": false },
null, {"orderable": false },
],
stateSave: true
});
});
</script>
@endsection
В Laravel реализован механизм добавления посредников (middleware),
которые обрабатывают запрос до контроллеров. К стандартным посредникам
Authenticate,
добавлены
EncryptsCookies,
посредники
StudentMiddleware,
которые
VerifyCsrfToken,
RedirectIfAuthenticated
AdminMiddleware,
TeacherMiddleware,
проверяют
тип
пользователя
и
в
случае
отрицательных результатов не допускает к контроллерам зарегистрированных
пользователей, а перенаправляет на стартовую страницу сайта.
Пример кода посредника AdminMiddleware:
class Admin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Auth::user()->type != 1 || !Auth::user()->is_active) {
return redirect('/');
}
return $next($request);
}
Для оптимизации работы сайта используется технология ajax, которая
позволяет обновить фрагмент страницы сайта без полной перезагрузки
страницы, что снижает нагрузку на сервер и время ожидания пользователя. Код
при применении ajax разделен на клиентский и серверный.
Пример кода на клиенте
45
$('body').on('click', 'a.del_user', function () {
if ($(this).text() != 'Удален') {
var t = $(this);
var id = t.attr('data-id');
var _token = $('input[name=_token]').val();
$.ajax({
url: '{{ route('admin.user.delete') }}',
headers: {'X-CSRF-TOKEN': _token},
data: {
'id': id,
'_token': _token
},
type: 'POST',
datatype: 'JSON',
success: function (resp) {
if (resp.result) {
t.text('Удален');
t.removeClass('btn-danger');
t.addClass('btn-default');
}
}
});
}
return false;
});
Пример кода на сервере
public function ajaxBlock(Request $r)
{
if ($r->ajax() && $user = User::find($r->input('id', 0))) {
$user->is_active = !$user->is_active;
$user->save();
return response()->json(['result' => true]);
}
return response()->json(['result' => false]);
}
Для реализации функционала сайта базового комплекта фреймворка
Laravel недостаточно. При этом можно подключить как библиотеку,
адаптированную для Laravel, так и независимую стороннюю библиотеку.
Для создания интерфейса сайта используются шаблоны admin lte, agency,
clean blog, основанные на фреймворке Bootstrap 3.
Bootstrap – это набор базовых элементов верстки, которые необходимы
практически в любом крупном проекте. Bootstrap является популярным
фреймворком, что обеспечивает быстрый поиск исполнителей для развития
сайта, а так же своевременное решение проблем, связанных с новыми версиями
46
браузеров [28]. Примеры использованных графических элементов представлены
в таблице 3.15.
Таблица 3.15 – Примеры используемых элементов
Название элемента
Изображение элемента
Кнопки
Поля формы
Модальные окна
Изображения
Иконки
Таблицы
47
Примеры кода элементов представлены в таблице 3.16.
Таблица 3.16 – Примеры кода элементов
Название элемента
Код элемента
Кнопки
<button type="submit" class="btn btn-primary">
Отказаться от руководства
</button>ввпвпвпв
<button type="submit" class="btn btn-primary">
Отказаться от руководства
</button>
Поля формы
<div class="form-group">
<label>Ссылка</label>
<input type="text" name="link" class="form-control"
placeholder="" value="">
</div>
Модальные окна
<div id="modal" class="modal fade">
….
<div class="modal-footer">
<button type="submit" id="modal_save_btn" class="btn btnprimary">Сохранить</button>
<button type="button" class="btn btn-default" datadismiss="modal">Закрыть</button></div>
Изображения
<img class="profile-user-img img-responsive img-circle" alt="Фото">
Иконки
<i class="glyphicon glyphicon-question-sign"></i>
Таблицы
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>№</th>
<th>Название</th>
</tr>
</thead>
....
</table>
48
Bootstrap также включает в себя сетку из 12 колонок, адаптированную под
различные устройства. Доступны четыре диапазона:
− менее 768px;
− от 768px до 992px;
− от 992px до 1200px;
− более 1200px.
Макет сетки изображен на рисунке 3.4.
Рисунок 3.4 – Макет сетки
Пример адаптивности страницы сайта с разделом «Вопросы и ответы»
при ширине окна браузера 1000 пикселей показан на рисунке 3.5.
Рисунок 3.5 – Страница «Вопросы и ответы» при ширине экрана в 1000px
49
Пример адаптивности той же страницы сайта при меньшей в два раза
ширине окна браузера показан на рисунке 3.6.
Рисунок 3.6 – Страница «Вопросы и ответы» при ширине экрана в 500px
Для использования шаблонов и фреймворка в соответствующих bladeфайлах подключены css- и js-файлы, а также изображения и шрифты:
<link
rel="stylesheet"
href="{{
asset('assets/css/bootstrap.min.css') }}">
<link
rel="stylesheet"
href="{{
asset('assets/css/fontawesome.min.css') }}">
<link
rel="stylesheet"
href="{{
asset('assets/css/ionicons.min.css') }}">
<link
rel="stylesheet"
href="{{
asset('assets/libs/plugins/datatables/dataTables.bootstrap.css')
}}">
<link rel="stylesheet" href="{{ asset('assets/css/admin.css')
}}">
<link rel="stylesheet" href="{{ asset('assets/css/skins/_allskins.css') }}">
<link
rel="stylesheet"
href="{{
asset('assets/libs/plugins/iCheck/flat/blue.css') }}">
50
Список дополнительных библиотек:
1)
CKEditor – Добавление стилизации и функционала к элементу
textarea (рисунок 3.7). Расположение public/assets/libs/plugins.
Рисунок 3.7 – Пример работы редактора CKEditor
Пример кода
CKEDITOR.replace('lit' + i, {
language: 'ru',
toolbarGroups: [
{name:
'clipboard',
groups:
['clipboard',
'undo']},
{name: 'editing', groups: ['find', 'selection',
'spellchecker', 'editing']},
{name: 'links', groups: ['links']},
{name: 'insert', groups: ['insert']},
{name: 'forms', groups: ['forms']},
{name: 'tools', groups: ['tools']},
{name: 'document', groups: ['mode', 'document',
'doctools']},
{name: 'others', groups: ['others']},
'/',
{name: 'styles', groups: ['styles']},
{name: 'basicstyles', groups: ['basicstyles',
'cleanup']},
{name: 'paragraph', groups: ['list', 'indent',
'blocks', 'align', 'bidi', 'paragraph']},
51
{name: 'colors', groups: ['colors']}
],
// Remove the redundant buttons from toolbar groups
defined above.
removeButtons:
'RemoveFormat,Outdent,Indent,Image,Anchor,Scayt,PasteText,PasteFrom
Word,Paste,Copy,Cut,Styles',
skin: 'moono-lisa',
height: h
});
2)
Datatables – плагин для стилизации и добавление функционала к
элементу table, пример работы представлен на рисунке 3.8.
Рисунок 3.8 – Пример работы плагина Datatables
Фреймворк Laravel позволяет использовать следующие приемы защиты
данных.
−
хеширование пароля по алгоритму Bcrypt;
−
при авторизации допустимо ограниченное количество попыток
входа в систему;
−
допускается возможность запомнить пользователя для упрощения
следующей авторизации;
−
к маршрутам(routes) можно добавить посредник(middleware), в
котором будет происходить проверка, авторизован ли пользователь или нет.
Таким образом можно защищать ряд запросов от незарегистрированных или от
некоторого типа пользователей.
52
−
Добавление к параметрам маршрута ограничений на формат.
Например, в следующем примере параметр id может содержать только цифры.
−
Защита от подделки запросов CSRF. Атака CSRF (Cross-Site Request
Forgery, XSRF) активно применяется при использовании технологии ajax и
позволяет злоумышленнику выполнять действия от лица другого пользователя
(если сайт не защищен должным образом) [29].
Для защиты необходимо в вид(view) в форму добавить код {{ csrf_field()
}}.
−
доступны функции для устойчивого шифрования по алгоритму AES
с помощью расширения Mcrypt для PHP;
−
ряд проверок введенных пользователей данных осуществляется на
клиентской стороне (в браузере) благодаря стандарту html5. Например, указание
type=”number” не позволит ввести в input нечисловое значение;
−
возможность шифровать сессии (в config.session необходимо
установить свойство encrypt в true), использование шифрования повышает
защиту сайта, но увеличивает время работы с переменными сессии;
−
возможность запретить использовать cookies, если соединение не
является защищенным (не https). В config.session необходимо установить
свойство secure в true;
−
при работе с базой данных через Eloquent ORM автоматически
происходит валидация входных данных, экранирование и тем защите от SQLинъекций.
3.2 Контрольный пример реализации проекта
Рассмотрим пример реализации разработанной системы. При входе на
сайт посетитель попадает на его главную страницу: на главной странице можно
53
увидеть шапку сайта в виде меню представляющее из себя ссылки-якоря, а также
ссылки на страницы с формами входа и регистрации (рисунок 3.9).
Рисунок 3.9 – Главная страница
Прокрутив главную страницу вниз или кликнув по одной трех из ссылокякорей можно также увидеть на главной странице блоки последних новостей с
заголовком, типом новости и автором публикации с датой размещения новости
о событии. Ниже три профиля случайных студентов из базы данных
(рисунок 3.10).
54
Рисунок 3.10 – Главная страница
И в конце главной располагается также три случайных преподавателя
(рисунок 3.11)
Рисунок 3.11 – Главная страница нижняя часть
Кликнув на ссылку «Все студенты» или «Все преподаватели» –
пользователь попадет в соответствующий каталог в режиме гостя (рисунок 3.12).
55
Рисунок 3.12 – Каталог студентов
В режиме гостя также доступен раздел «Вопросы и ответы» где
пользователь может задавать вопросы, касающиеся общей работе системы
(рисунок 3.13).
Рисунок 3.13 – Раздел «Вопросы и ответы»
Раздел «новости» представляет из себя ленту новостей с информацией о
научных публикациях и мероприятиях, представлен на рисунке 3.14.
56
Рисунок 3.14 – Лента новостей
На сайте предусмотрена возможность самостоятельной регистрации
пользователя для этого следует кликнуть по ссылке «Регистрация» в шапке, и
появятся формы для заполнения первичных данных (рисунок 3.15).
Рисунок 3.15 – Регистрация пользователя
После регистрации пользователь попадает в свой профиль где может
добавить остальные данные о себе, а также загрузить свои работы (рисунок 3.16).
57
Рисунок 3.16 – Профиль пользователя
Студент в системе также может выбрать себе подходящего научного
руководителя посматривая профили преподавателей и отправить запрос
находясь на его персональной странице (рисунок 3.17).
58
Рисунок 3.17 – Профиль выбранного преподаватели
В следствии чего в разделе «Статьи» появится возможность совместной
работы с возможностью комментирования (рисунок 3.18).
59
Рисунок 3.18 – Редактор статей
Помимо преподавателя и студента, в система также есть еще один тип
пользователя – администратор. При входе администратор попадет в общий
список пользователей, где может прямо из списка блокировать и удалять
профили нажав на советующую иконку (рисунок 3.19).
Рисунок 3.19 – Админ-панель и общий список пользователей
60
Администратор может отвечать на вопросы пользователей из раздела
«Вопросы и ответы» (рисунок 3.20).
Рисунок 3.20 – Ответ пользователю
Публиковать новости, редактировать, удалять новости, эта функция
также доступна и преподавателям (рисунок 3.21).
Рисунок 3.21 – Раздел добавления новостей
61
Редактировать список курсов и групп доступных для выбора студентами
(рисунок 3.22).
Рисунок 3.22 – Раздел редактирования курсов и групп
Управлять типами достижений студентов и преподавателей (рисунок
3.23).
Рисунок 3.23 – Редактор типов достижений
62
Просматривать статистику и график по количеству достижений всех
пользователей системы по годам (рисунок 3.24).
Рисунок 3.24 – Раздел «Отчеты»
63
Таким образом, контрольное тестирование ИС успешно завершено, вебресурс может переходить к последнему этапу – интеграции сайта.
3.3 Анализ социально-экономической эффективности проекта
Проектирование и разработка информационного сопровождения НИР
студентов и аспирантов позволит снизить трудоемкость работ, повысить
производительность труда персонала и доступность информации всем
желающим заняться научной деятельность, а также увеличить количество
научно-исследовательских работ и мероприятий.
Цель разработки – повышение информативности, и как следствие,
заинтересованности к НИР студентов. В следствии внедрения разработки
повышается своевременность и качество принимаемых решений. Уменьшается
количество ошибок, за счет хранения данных в единой базе, следовательно,
происходит сбережение объема употребляемой памяти, повышается уровень
достоверности информации и скорость ее обработки, а кроме того надежность
хранения сведений, за счет использования электронных носителей. Также
улучшаются условия труда, в результате автоматизации бизнес-процессов,
выполнение которых раньше происходило вручную, при этом доводилось
расходовать значительно больше временных затрат и усилий [28].
К затратам на разработку относятся:
−
материальные затраты;
−
расходы на оплату труда исполнителя, непосредственно занятого
разработкой ИС;
−
отчисления на социальные нужды;
−
накладные расходы.
64
К материальным затратам относится стоимость сырья, материалов,
канцелярских и расходных товаров в действующих ценах, использованных при
проведении исследований (таблица 3.17).
Таблица 3.17 – Затраты на приобретение комплектующих изделий
Наименование изделий
Бумага
Расходные материалы на
принтер
Ручка
Ед.
изм.
шт.
шт.
Кол-во
Цена за ед., руб.
1
248
Стоимость,
руб.
248
1
700
700
1
18
18
шт.
Итоговая сумма:
966
Итоговая сумма материальных расходов составит 966 руб.
Рассмотрим затраты на оплату труда исполнителя, непосредственно
занятого проектированием и разработкой информационной системы. Оценка
трудоемкости выполнения ВКР приведена в таблице 3.18.
Таблица 3.18 – Оценка трудоемкости выполнения ВКР
Стадии ВКР
Трудоемкость
часы
Основные виды работ
Подготовительная
Подбор
и
изучение
литературы.
Согласование
и
утверждения
технического задания и календарного плана работ
30
Аналитическая
разработка темы
Аналитическая проработка вопроса. Постановка задачи
20
Практическая
реализация
Исследование деятельности организации. Проработка
методов
усовершенствования
информационной
системы.
Разработка сайта и тестирование.
150
Обобщения и выводы по проделанной работе
15
Подготовка инструкций и отчетов о выполненной
работе
20
Защита отчета, утверждение результатов
5
Обобщения
выводы
Техническая
отчетность
Завершающая
стадия
Итого:
и
240
65
Разработка выполнялась программистом, исходя из данных таблицы 3.18,
итого на разработку и проектирование затрачено 240 часов (30 рабочих дней при
восьмичасовом рабочем дне). Месячный фонд времени работы программиста
166,25 часов, среднемесячная заработная плата 25000 рублей.
Основная заработная плата разработчика составила:
Дополнительная заработная плата составляет 20% от основной
заработной платы:
Здоп=0,2*Зосн= 0,2*36090,22= 7218,44 руб.
Затраты на оплату труда:
ЗТР=Зосн +Здоп =36090,22+7218,44 = 43308,26 руб.
Отчисления на социальные нужды.
1)
отчисления в Пенсионный фонд (28% от затрат на оплату труда):
0,28*43308,26 =12126,31 руб.;
2)
отчисления в Фонд Социального страхования (4% от затрат на
оплату труда):
0,04*43308,26 =1732,33 руб.;
3)
отчисления в Федеральный Фонд обязательного медицинского
страхования (0,2% от затрат на оплату труда):
0,002*43308,26 =86,62 руб.;
4)
отчисления в Территориальный Фонд обязательного медицинского
страхования (3,4% от затрат на оплату труда):
0,034*43308,26 =1472,48 руб;
5)
страховой взнос на обязательное социальное страхование от
несчастных случаев на производстве и профессиональных заболеваний (0,2% от
затрат на оплату труда):
0,002*43308,26 =86,62 руб
Итого отчисления на социальные нужды 15504,36 руб.
Накладные расходы составляют 80% от затрат на оплату труда:
66
0,80*43308,26 = 34646,61 руб.
Данные по затратам на разработку и внедрение информационной системы
представлены в таблице 3.19.
Таблица 3.19 – Затраты на разработку и внедрение информационной системы
№
Наименование статей затрат
Сумма
(руб.)
966
1
Материальные затраты
2
43308,26
3
Затраты на оплату труда работника, непосредственно занятого
разработкой и проектированием научно-технической продукции
Отчисления на социальные нужды
4
Накладные расходы
34646,61
Итого:
94425,23
15504,36
Исходя из данных, представленных в таблице 3.19, затраты на
проектирование и разработку информационной системы (К пр) составят 94425,23
рублей.
67
ЗАКЛЮЧЕНИЕ
В результате выполнения выпускной квалификационной работы были
решены следующие задачи:
проведен анализ предметной области;
построена структурно-функциональная диаграмма сопровождения
НИР «Как есть»;
проведен обзор сайтов информационного сопровождения НИР;
построена структурно-функциональная диаграмма сопровождения
НИР «Как должно быть»;
определены требования к сайту;
определена структура сайта;
построен макет сайта;
программная реализация сайта;
проведено контрольное тестирование сайта;
анализ социально-экономической эффективности.
Цель, спроектировать и реализовать решение для повышения учета
эффективности деятельности студентов и аспирантов по НИР – достигнута.
В рамках ВКР для улучшения эффективности сопровождения НИР был
реализован сайт для учета и сопровождения научных работ, организующий
динамическое обновление информации, а также удобное хранение информации
в виде, позволяющем анализировать достижения отдела НИР за годовой
промежуток времени. Разработанный сайт позволит студентам, аспирантам и
преподавателям эффективно использовать время при организации научного
процесса, удобно работать с данными по научно-исследовательским работам, не
тратя это дополнительное время на поиск необходимой информации на разных
бумажных носителях.
68
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1 Никитина, Е.Ю. Научно-исследовательская деятельность студентов
[Текст] / Е. Ю. Никитина. – Ставрополь, 2016. - 90 с.
2 Фискалов, В.Д. Научно-исследовательская работа магистрант [Текст]/
В.Д. Фискалов. – М.: Бибком, 2013. - 112 c.
3 Федоров, М. Студент и Наука [Текст]/М. Федоров, А. Завьялов. –
М.:LAP, 2015 – 188 c.
4 Александров, Д.В. Инструментальные средства информационного
менеджмента. CASE-технологии и распределенные информационные системы:
Учебное пособие [Текст]/ Д.В. Александров. – М.: ФиС, 2011. – 224 c.
5 Гусятников, В.Н. Стандартизация и разработка программных систем
[Текст]/ В.Н. Гусятников, А.И. Безруков. – М.: Финансы и статистика, 2012. –
288 с.
6 Дубейковский, В. И. Практика функционального моделирования с
AllFusion Process Modeler 4.1. (BPwin) Где? Зачем? Как? [Текст]/ В.И.
Дубейковский. – М.: ДИАЛОГ-МИФИ, 2014. – 464 с.
7 Муромцев, В.В. Проектирование информационных систем: Учебное
пособие для студентов вузов заочной формы обучения по спец. 010502
"Прикладная информатика в экономике" [Текст]/ В.В. Муромцев. – г. Белгород:
БелГУ, 2007. -160 с.
8 Фокин, Ю. Г. Преподавание и образование в высшей школе:
методология, цели и содержание, творчество [Текст]/ Ю.Г. Фокин. – Москва:
Академия, 2002 – 124 с.
9 Создание макета сайта: инструменты, особенности, советы // ImageCMS
URL: https://www.imagecms.net/blog/veb-razrabotka/sozdanie-maketa-saita (дата
обращения: 24.04.2018)
69
10 Никитина, Е.Ю. Проблемная лекция как способ повышения
познавательной активности студентов [Текст] / Е. Ю. Никитина. –. - Библиограф:
186 с.
11
Структура
сайта
//
SEMANTICA
URL:
https://semantica.in/blog/struktura-sajta.html (дата обращения: 24.04.2018)
12 Moqups — новый сервис для создания макетов UI // habr URL:
https://habr.com/post/147571/ (дата обращения: 30.04.2018)
13
Научно-исследовательская
информатики
//
исследовательский
естественных
работа
Белгородский
университет
наук
направления
государственный
Институт
URL:
математики
и
национальный
инженерных
технологий
и
http://iten.bsu.edu.ru/iten/science/nir-
mi/index.php?type=original (дата обращения: 23.04.2018)
14 Цвет на сайте: создаем настроение, управляем эмоциями // ONVOLGA
URL:
http://www.onvolga.ru/statsozd/1934-cvet-na-site.html
(дата обращения:
1.05.2018)
15 АНАЛИЗ ОРГАНИЗАЦИИ НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ
ДЕЯТЕЛЬНОСТИ
CYBERLENINKA
СТУДЕНТОВ
URL:
В
РОССИИ
И
ЗА
РУБЕЖОМ
//
https://cyberleninka.ru/article/n/analiz-organizatsii-
nauchno-issledovatelskoy-deyatelnosti-studentov-v-rossii-i-za-rubezhom.pdf
(дата
обращения: 25.04.2018)
16 Das Hochshutwesen in der Bundesrepublik Deutsrepublik Deutschland /
Hrsg. Yol Ulrich teichler. Wweinheim: Dt, Studien Verl., 2014
17
Ярыгин,
А.Н.
Управление
качеством
подготовки
будущих
специалистов [Текст]/ А.Н. Ярыгин. - Вектор науки ТГУ. 2014.
18 Коростелев, А.А. Обеспечение готовности студентов к инновационной
деятельности на основе формирования инновационно-ориентированной учебноисследовательской среды [Текст]/ А.А. Коростелев. - Вектор науки ТГУ. 2014.
19 Пустовалова, Н.И. Организация самостоятельной работы студентов на
основе
электронных
учебно-методических
70
комплексов
[Текст]/
Н.И.
Пустовалова, Д.В. Лазаренко, В.Г. Пустовалов – Вестник Гуманитарного
института ТГУ. 2015. № 2. С. 8790
20
Научно-исследовательская
энуиклопедия
URL:
работа
//
Википедия
Свободная
https://ru.wikipedia.org/wiki/Научно-исследовательская
_работа (дата обращения: 29.04.2018)
21 Руководство по разработке цветовой палитры сайта // Webformula
URL:
https://webformula.pro/article/rukovodstvo-po-razrabotke-tsvetovoy-palitry-
sayta/ (дата обращения: 01.05.2018)
22 Знакомство с нотацией IDEF0 и пример использования // habr URL:
https://habr.com/company/trinion/blog/322832/ (дата обращения: 4.05.2018)
23 Что такое НИР, ОКР, НИОКР // TEHPIS.RU - Ваш Технический
писатель
URL:
http://tehpis.ru/services/otchetnaya_dokumentatsiya_po_nir
_okr_niokr/chto-takoe-nir-okr-niokr/ (дата обращения: 25.04.2018)
24 Разработка ТЗ по ГОСТ 19 - разделы 4-8 // RuGost - разработка
документации
по
ГОСТ
URL:
http://www.rugost.com/index.php?option=
com_content&view=article&id=106:19-4-8&catid=25&Itemid=77#4
(дата
обращения: 28.04.2018)
25 Open Server Panel // Open Server Panel — Локальный веб-сервер для
Windows URL: https://ospanel.io (дата обращения: 16.05.2018)
26 PhpStorm: основная информация // softocracy.ru софтократия URL:
https://softocracy.ru/prog.php?id=808 (дата обращения: 16.05.2018)
27
Laravel
//
Википедия
свободная
энциклопедия
URL:
https://ru.wikipedia.org/wiki/Laravel (дата обращения: 17.05.2018)
28 Фреймворк Bootstrap – что это такое? // ZYUBIN.RU блог о разработке
и продвижении сайтов URL: https://zyubin.ru/frameworks/bootstrap/frejmvorkbootstrap-chto-eto-takoe.html (дата обращения: 17.05.2018)
29 БЕЗОПАСНОСТЬ // LARAVEL.SU URL: http://laravel.su/docs/
4.1/security (дата обращения: 18.05.2018)
30 PhpStorm – интегрированная среда разработки на PHP // JetBrains URL:
https://jetbrains.ru/products/phpstorm/ (дата обращения: 10.05.2018)
71
31 ГОСТ 2.105-95. Общие требования к текстовым документам [Текст]. Взамен ГОСТ 2.105-79. ГОСТ 2.906-71; Введ. 01.06.1996. - Минск: МГС, 2007. –
30 с.
32 ГОСТ 7.32-2001 Система стандартов по информации, библиотечному
и издательскому делу [Текст]. - Взамен ГОСТ 7.32-91; Введ. 22.05.2001. - Минск:
МГС, 2007. – 22 с.
33 ГОСТ 7.82-2001. Библиографическая запись. библиографическое
описание. электронных ресурсов. Общие требования и правила составления
[Текст]. – Введ. 01.06.2002. - Минск: Межгосударственный совет по
стандартизации, метрологии и сертификации, 2007. – 27 с.
34 Делаем анализ сайта. Краткое руководство. // Как это сделать? URL:
http://kak-eto-sdelat.com/delaem-analiz-sajta-kratkoe-rukovodstvo/
(дата
обращения: 24.04.2018).
35 Малинова, О.Ю. Методика научно-исследовательской работы
[Текст]/О.Ю. Малинова, Е.Ю. Мелешкина – Москва: МГИМО-Университет,
2014. – 112 с.
36 Кукушкина, В.В. Организация научно-исследовательской работы
студентов (магистров) [Текст]/В.В. Кукушкина – Москва: Инфра-М, 2011. – 272
с.
37 Вайндорф-Сысоева, М.Е. Технология организации и оформления
научно-исследовательских работ. Учебно-методическое пособие [Текст]/М.Е.
Вайндорф-Сысоева – Москва: Перспектива, 2011. – 120 с.
38 Комлацкий, В,М. Планирование и организация научных исследований.
Учебник [Текст]/ В.М. Комлацкий, С.В. Логинов, Г.В. Комлацкий. – Ростов-наДону:Феникс, 2014. – 208 с.
39 Митросенко С.В. Организация НИР [Текст]/С.В. Митросенко. –
Красноярск: Сиб. фед. ун-т, 2013. – 118 с.
40 Розанова, Н.М. Научно-исследовательская работа студента. Учебнопрактическое пособие [Текст]/ Н.М. Розанова. – Москва: Кнорус, 2018. – 256 c.
72
ПРИЛОЖЕНИЕ
Листинг главной страницы:
<!DOCTYPE html>
<html lang="en">
<head>
<meta
<meta
<meta
<meta
<meta
charset="utf-8">
http-equiv="X-UA-Compatible" content="IE=edge">
name="viewport" content="width=device-width, initial-scale=1">
name="description" content="">
name="author" content="">
<title>НИР</title>
<!-- Bootstrap Core CSS -->
<link rel="stylesheet" href="{{ asset('assets/css/bootstrap.min.css') }}">
<!-- Custom Fonts -->
<link rel="stylesheet" href="{{ asset('assets/css/font-awesome.min.css')
}}">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700"
rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Kaushan+Script'
rel='stylesheet' type='text/css'>
<link
href='https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700i
talic' rel='stylesheet' type='text/css'>
<link
href='https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700'
rel='stylesheet' type='text/css'>
<!-- Theme CSS -->
<link href="{{ asset('index/css/agency.min.css') }}" rel="stylesheet">
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media
queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body id="page-top" class="index">
<!-- Navigation -->
<nav id="mainNav" class="navbar navbar-default navbar-custom navbar-fixed-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span> Меню <i class="fa
fa-bars"></i>
73
</button>
<a class="navbar-brand page-scroll" href="#page-top">НИР</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="hidden">
<a href="#page-top"></a>
</li>
<li>
<a class="page-scroll" href="#portfolio">Новости</a>
</li>
<li>
<a class="page-scroll" href="#a3">Студенты</a>
</li>
<li>
<a class="page-scroll" href="#a2">Преподаватели</a>
</li>
@if(Auth::check())
<li>
<a class="page-scroll" href="{{ url('in') }}">Личный
кабинет</a>
</li>
@else
<li>
<a class="page-scroll" href="{{ url('register')
}}">Регистрация</a>
</li>
<li>
<a class="page-scroll" href="{{ url('login')
}}">Вход</a>
</li>
@endif
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<!-- Header -->
<header>
<div class="container">
<div class="intro-text">
<div class="intro-heading" style="font-size: 50px;">Информационная
система<br> «НИР»</div>
</div>
</div>
</header>
<!-- Services Section -->
<section id="services" style="padding: 30px 0;">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h3 class="section-heading">Описание системы</h3><br>
</div>
</div>
<div class="row text-center">
<div class="col-md-8 col-md-offset-2">
<p class="text-muted" style="text-align: justify;">
Проектирование и разработка информационного сопровождения
научно-исследовательских работ студентов и аспирантов.
74
<br><br>
Сайт «Информационного сопровождения научно-исследовательских
работ студентов и аспирантов» разработан в результате технического задания на
выпускную квалификационную работу.
Предназначен для получения интересующей информации о
научно-исследовательскоц деятельности кафедры прикладной
информатики в режиме онлайн. Постоянно обновляемая новая информация о научных
работах и достижениях студентов и преподавателях.
Информация о научных мероприятих.
Формирования отчетных форм.
</p>
</div>
</div>
</div>
</section>
<!-- Portfolio Grid Section -->
<section id="portfolio" class="bg-light-gray" style="padding: 30px 0;">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h3 class="section-heading">Новости</h3><br>
</div>
</div>
<div class="row">
@foreach($news as $u)
<div class="col-md-4 col-sm-6 portfolio-item">
<div class="portfolio-caption">
<h4><a href="{{ route('new',[$u->id]) }}">{{$u>title}}</a></h4>
<p><i>{{ $u->type->name }}</i></p>
<p class="text-muted">{{ $u->user->full_name_io ?? '' }}
{{ $u->created_at->format('d.m.Y') }}</p>
</div>
</div>
@endforeach
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 text-center">
<p class="large text-muted"><a href="{{ route('news') }}"
style="color: gray;">Все новости</a></p>
</div>
</div>
</div>
</section>
<section id="a3" class="bg-light-gray" style="padding: 30px 0;">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h3 class="section-heading">{{ config('app.user_types')[3][1]
}}</h3>
<br><br>
</div>
</div>
<div class="row">
@foreach($students as $u)
<div class="col-sm-4">
<div class="team-member">
<a href="{{ route('user.student', [$u->id]) }}">
<img src="{{ asset('assets/img/users/'.$u->photo)
}}" style="height: 200px; width: 200px;" class="img-responsive img-circle"
alt="">
</a>
75
<h4><a href="{{ route('user.student', [$u->id]) }}"
style="color: gray;">{{ $u->full_name_io }}</a></h4>
<p class="text-muted">{{ $u->course->name ?? ''}} {{ $u>group->name ?? ''}}</p>
</div>
</div>
@endforeach
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 text-center">
<p class="large text-muted"><a href="{{ route('user.students')
}}" style="color: gray;">Все студенты</a></p>
</div>
</div>
</div>
</section>
<!-- About Section -->
<section id="about" style="padding: 30px 0;">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h3 class="section-heading">Алгоритм работы для
студента</h3><br>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<ul class="timeline">
<li>
<div class="timeline-image">
<div style="font-size: 38px; padding-top:
46px;">1</div>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>Шаг 1</h4>
<h4 class="subheading"><a href="{{
url('register') }}">Зарегистрируйтесь</a> в системе</h4>
</div>
<div class="timeline-body">
<p class="text-muted">Выберите тип пользователя
«студент» и укажите email и пароль. После входа в личный кабинет заполните
анкету</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-image">
<div style="font-size: 38px; padding-top:
46px;">2</div>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>Шаг 2</h4>
<h4 class="subheading">Выберите
преподавателя</h4>
</div>
<div class="timeline-body">
<p class="text-muted">Просмотрите каталог,
изучите анкеты преподавателей и отправьте запрос для руководства. Далее ожидайте
подтверждение от преподавателя.</p>
</div>
76
</div>
</li>
<li>
<div class="timeline-image">
<div style="font-size: 38px; padding-top:
46px;">3</div>
</div>
<div class="timeline-panel">
<div class="timeline-heading">
<h4>Шаг 3</h4>
<h4 class="subheading">Создание статьи</h4>
</div>
<div class="timeline-body">
<p class="text-muted">Создайте статью, разрешите
редактировать статью вашему преподавателю и обсуждайте изменения в
комментариях.</p>
</div>
</div>
</li>
<li class="timeline-inverted">
<div class="timeline-image">
<h4 style="margin-top: 50px;">Все <br>просто!</h4>
</div>
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- Team Section -->
<section id="a2" class="bg-light-gray" style="padding: 30px 0;">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h3 class="section-heading">{{ config('app.user_types')[2][1]
}}</h3>
<br><br>
</div>
</div>
<div class="row">
@foreach($teachers as $u)
<div class="col-sm-4">
<div class="team-member">
<a href="{{ route('user.teacher', [$u->id]) }}">
<img src="{{ asset('assets/img/users/'.$u->photo)
}}" style="height: 200px; width: 200px;" class="img-responsive img-circle"
alt="">
</a>
<h4><a href="{{ route('user.teacher', [$u->id]) }}"
style="color: gray;">{{ $u->full_name_io }}</a></h4>
<p class="text-muted">{{ $u->position }}</p>
</div>
</div>
@endforeach
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 text-center">
<p class="large text-muted"><a href="{{ route('user.teachers')
}}" style="color: gray;">Все преподаватели</a></p>
</div>
</div>
</div>
</section>
77
<footer>
<div class="container">
<div class="row">
<div class="col-md-4">
<span class="copyright">© 2018</span>
</div>
</div>
</div>
</footer>
<!-- jQuery -->
<script src="{{ asset('assets/libs/plugins/jQuery/jQuery-2.2.0.min.js')
}}"></script>
<!-- Bootstrap Core JavaScript -->
<script src="{{ asset('assets/js/bootstrap.min.js') }}"></script>
<!-- Plugin JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryeasing/1.3/jquery.easing.min.js"></script>
<!-- Theme JavaScript -->
<script src="{{ asset('index/js/agency.min.js') }}"></script>
</body>
</html>
Листинг ленты новостей
<!DOCTYPE html>
<html lang="en">
<head>
<meta
<meta
<meta
<meta
<meta
charset="utf-8">
http-equiv="X-UA-Compatible" content="IE=edge">
name="viewport" content="width=device-width, initial-scale=1">
name="description" content="">
name="author" content="">
<title>Новости</title>
<!-- Bootstrap Core CSS -->
<link rel="stylesheet" href="{{ asset('assets/css/bootstrap.min.css') }}">
<!-- Theme CSS -->
<link href="{{ asset('news/css/clean-blog.min.css') }}" rel="stylesheet">
<!-- Custom Fonts -->
<link rel="stylesheet" href="{{ asset('assets/css/font-awesome.min.css')
}}">
<link
href='https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic'
rel='stylesheet' type='text/css'>
<link
href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600i
talic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media
queries -->
78
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script
src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script
src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-default navbar-custom navbar-fixed-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header page-scroll">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
Меню <i class="fa fa-bars"></i>
</button>
<a class="navbar-brand" href="{{ url('/') }}">НИР</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
@if(Auth::check())
<li>
<a href="{{ url('in') }}">Личный кабинет</a>
</li>
@else
<li>
<a href="{{ url('register') }}">Регистрация</a>
</li>
<li>
<a href="{{ url('login') }}">Вход</a>
</li>
@endif
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container -->
</nav>
<!-- Page Header -->
<!-- Set your background image for this header on the line below. -->
<header class="intro-header" style="background-image: url('{{
asset('news/img/home-bg.jpg') }}');">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="site-heading">
<h1>Новости</h1>
<hr class="small">
<span class="subheading">Информация о научных
публикациях</span>
</div>
</div>
</div>
</div>
</header>
79
<!-- Main Content -->
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
@foreach($news as $u)
<div class="post-preview">
<a href="{{ route('new', [$u->id]) }}">
<h2 class="post-title">
{{$u->title}}
</h2>
<i>{{ $u->type->name }}</i>
<h3 class="post-subtitle">
{!! str_limit(strip_tags($u->description), 100) !!}
</h3>
</a>
<p class="post-meta">{{ $u->user->full_name_io ?? ''}}, {{
$u->created_at->format('d.m.Y') }}</p>
</div>
<hr>
@endforeach
<!-- Pager -->
<p class="text-center">
{{ $news->links() }}
</p>
</div>
</div>
</div>
<hr>
<!-- Footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<p class="copyright text-muted">© 2018</p>
</div>
</div>
</div>
</footer>
</body>
</html>
Листинг раздела студенты
@extends('student._template')
@section('title',config('app.user_types')[3][1])
@section('content_header')
<section class="content-header">
<h1>{{ config('app.user_types')[3][1] }}</h1><br>
@php
$abc_str = 'Все А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э
Ю Я';
$abc = explode(' ', $abc_str);
@endphp
@foreach($abc as $index => $a)
<a href="{{ route('user.teachers', [$index]) }}" @if($index ==
$letter) style="color: darkblue; font-weight: 800; font-size: 20px;" @else
style="font-size: 20px;" @endif>
80
{{ $a }}
</a>
@endforeach
</section>
@endsection
@section('content_body')
<section class="content">
<div class="row">
<div class="col-xs-12">
<div class="box_">
<div class="box-body" style="overflow-x: auto;">
{{ csrf_field() }}
@if(count($users)>0)
<table id="userstudents1" class="table table-bordered
table-striped">
<thead>
<tr>
<th>№</th>
<th>Фото</th>
<th>ФИО</th>
<th>Курс</th>
<th>Группа</th>
<th>Email</th>
</tr>
</thead>
<tbody>
@foreach($users as $u)
<tr>
<td>{{ $u->id }}</td>
<td><img src="{{
asset('assets/img/users/'.$u->photo) }}" width="50" height="50" alt="User
Image">
</td>
<td><a href="{{ route('student.student',
[$u->id]) }}">{{ $u->full_name }}</a></td>
<td>{{ $u->course->name}}</td>
<td>{{ $u->group->name }}</td>
<td>{{ $u->email }}</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<th>№</th>
<th>Фото</th>
<th>ФИО</th>
<th>Курс</th>
<th>Группа</th>
<th>Email</th>
</tr>
</tfoot>
</table>
@else
<p>Студенты не найдены</p>
@endif
</div>
</div>
</div>
</div>
</section>
@endsection
@section('js')
81
<script src="{{ asset('assets/libs/plugins/moment.min.js') }}"></script>
<script src="{{ asset('assets/libs/plugins/datetime-moment.js')
}}"></script>
<script>
$(function () {
$.fn.dataTable.moment('DD.MM.YYYY');
$("#userstudents1").DataTable({
"columns": [
null,
{"orderable": false },
null, null,
null, null
],
stateSave: true
});
});
</script>
@endsection
Листинг профиля студента
<div class="box-header with-border">
<img style="width: 40%;" class="profile-user-img img-responsive img-circle"
src="{{ asset('assets/img/users/'.$u->photo) }}" alt="Фото пользователя">
</div>
@if (count($errors)>0)
<div id="error_profile" class="alert alert-danger alert-dismissible"
style="border-radius: 0;">
{{ $errors->first() }}
</div>
@endif
{{ csrf_field() }}
<div id="error_js_profile" class="alert alert-danger alert-dismissible"
style="display: none; border-radius: 0;">
</div>
<div class="box-body">
<div class="form-group">
<label>Статус</label>
<p>{{ $u->rus_type }}</p>
</div>
<div class="form-group">
<label>Имя</label>
<p>{{ $u->name }}</p>
</div>
<div class="form-group">
<label>Отчество</label>
<p>{{ $u->last_name }}</p>
</div>
<div class="form-group">
<label>Фамилия</label>
<p>{{ $u->surname }}</p>
</div>
<div class="form-group">
<label>Дата рождения</label>
<p>@if($u->date_birth){{ $u->date_birth->format('d.m.Y') ??
''}}@endif</p>
</div>
<div class="form-group">
<label>Email</label>
<p><a href="mailto:{{ $u->email }}">{{ $u->email }}</a></p>
</div>
<div class="form-group">
<label>Дата регистрации</label>
82
<p>{{ $u->created_at->format('d.m.Y') }}</p>
</div>
<div class="form-group">
<label>Курс</label>
<p>{{ $u->course->name ?? '' }}</p>
</div>
<div class="form-group">
<label>Группа</label>
<p>{{ $u->group->name ?? ''}}</p>
</div>
<div class="form-group">
<label>Контакты</label>
<p>{{ $u->contacts }}</p>
</div>
<div class="form-group">
<label>Доп. информация</label>
<p>{!! $u->information !!}</p>
</div>
<strong>Достижения</strong><br>
@forelse($u->achievements as $a)
<div class="form-group">
{{$loop->index+1}}. {{ $a->type->name ?? ''}} @if($a->link) <a
target="_blank" href="{{ $a->link }}">{{ $a->name }}</a> @else{{ $a->name
}}@endif <br>
<p>{!! $a->description !!}</p>
{{ $a->date->format('d.m.Y') }}
</div>
@empty
Нет
@endforelse
</div>
83
Отзывы:
Авторизуйтесь, чтобы оставить отзыв