Аннотация
ВВЕДЕНИЕ 4
1 ПОСТАНОВКА ЗАДАЧИ 6
1.1 Описание проекта и требования к функционалу 6
1.3 Выбор инструментария для разработки проекта 12
1.4 Моделирование процесса, построение DFD диаграммы 17
2 РЕШЕНИЕ ПОСТАВЛЕННОЙ ЗАДАЧИ 26
2.1 Структура и описание модели базы данных 26
2.2 Верстка html страниц (frontend часть) 41
2.3 Реализация проекта на Laravel (backend часть) 56
3 РАСЧЕТ ЭКОНОМИКИ ПРОДУКТА 65
3.1 Подготовка к расчетам и определение основных этапов 65
3.2 Расчет производственного и финансового плана 68
3.3 Анализ рисков проекта с помощью анализа чувствительности 71
ЗАКЛЮЧЕНИЕ 75
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 77
Информационные системы играют все более важную роль в различных сферах нашей жизни, и организация мероприятий и конкурсов не является исключением. Развитие информационных систем позволяет существенно упростить и улучшить процесс планирования, координации и проведения таких мероприятий.
Во время прохождения производственной практики меня определили в один из отделов МАУДО “ДПШ” – Научное общество учащихся. Отдел занимается организацией и проведением ряда мероприятий для школьников города. Часть мероприятий охватывает большое количество участников и подразумевает сбор и обработку большого массива данных. В ходе прохождения практики было принято решение о создании сайта, для повышения качества работы отдела.
Отдел научного общества учащихся ежегодно проводит два конкурса научных работ: конкурс 1–8 классов, 9–11 классов. На конкурс подают заявки ученики города Челябинска. Работы проходят несколько этапов проверки: техническая, антиплагиат, оценка экспертов.
Техническая проверка подразумевает, что работы, которые прошли антиплагиат, необходимо проверить сразу по нескольким параметрам: оформление, соответствие заявленной теме, объем содержание и т.д.
Для проверки антиплагиата Каждая работа должна пройти проверку в отдельной программе, после чего у работы есть свой отчет и итоговый результат заимствований в тексте.
После начинается следующий этап – экспертная проверка. Работы, которые прошли техническую проверку должны быть рассмотрены минимум 3мя экспертами. Каждый эксперт знакомится с работой и выставляет ей оценки.
Все работы, которые прошли три этапа проверки участвуют в очном конкурсе, где каждый ученик представляет свою работу экспертной комиссии. На основе оценок экспертной комиссии определяются дипломанты первой, второй и третей степени.
С 2012 года все заявки на конкурс принимались в электронном виде через сайт Научного общества учащихся. Сайт создавался как временная мера, и был организован на базе системы управления сайтом (CMS) – DataLife Engine. За 10 лет функционирования система, как и сам сайт не обновлялись. Сам сайт не выполнял необходимых функция для сопровождения конкурса. Было принято решение о создании новой платформы, для организации конкурса научных работ.
Цель работы: создать сайта для организации и проведения конкурса научных работ.
Задачи работы:
• выполнить анализ предметной области;
• произвести анализ существующих систем;
• разработать дизайн сайта;
• разработать frontend-часть;
• разработать backend-часть;
• оценить экономический потенциал проекта.
В процессе выполнения выпускной квалификационной работы была изучена прикладная область поставленной задачи, определен основной функционал и требования необходимые для работы продукта.
Также были выявлены различные типы конкурентов. Были просмотрены и выявлены слабые и сильные стороны сторонних решений. Также был проведен сравнительный анализ данных конкурентов. В результате этого анализа был сделан вывод о том, что ни одна из существующих альтернатив не может в полной мере покрыть потребности в проведении конкурса научных работ.
Во время работы над проектом была спроектирована и разработана информационная система, позволяющая создавать и проводить конкурсы научных работ. Для разработки сайта использовался язык разметки HTML и язык каскадных таблиц стилей CSS. Также была создана реляционная база данных на основе СУБД «Postgresql». Данная база данных необходима проекту для хранения и использования информации о пользователях, конкурсах, заявок, новостей. Для управления созданной базы данных применялся декларированный язык программирования SQL. Также для разработки серверной части работы было принято решение использовать фреймворк «Laravel» на базе языка PHP, позволяющий описывать классы, функции и обработчики различных команд и структур, а также работать с базой данных. Использование данного фреймворка помогло и в настройке безопасности благодаря шифрованию паролей и личной информации, а также использованию CSRF-токенов при отправке формы. Помимо «Laravel» в проекте также использовался встроенный шаблонизатор «Blade». В последствии данный проект был подготовлен к размещению на сервер путем использования специального программного обеспечения «Docker» для развертывания. В процессе разработки код проекта сохранялся на крупнейшем веб– сервисе для хостинга IT–проектов – «GitHub».
Разработанная информационная система предоставляет следующие возможности.
• Регистрация личного кабинета для школ, членов экспертной комиссии, модераторов;
• Публикация и модерация новостей;
• Деление новостей по категориям;
• Публикация новых конкурсов научных работ;
• Подача заявок на конкурс научных работ;
• Возможность просмотра работ для отдельных видов пользователей
• Оценка работы по техническим критериям;
• Оценка работ членами экспертной комиссии;
• Выгрузка базы работ;
• Формирование дипломов об участии в формате pdf;
• Просмотр результатов отбора в личном кабинете школы.
Все поставленные задачи выполнены. Цель выпускной квалификационной работы достигнута.
В процессе выполнения данной работы были получены практические и теоретические навыки, которые в дальнейшем могут быть использованы для создания аналогичных информационных систем, использующих технологии веб программирования.