• Главная
  • Блог
  • Пользователи
  • Форум
  • Литературное творчество
  • Музыкальное творчество
  • Научно-техническое творчество
  • Художественно-прикладное творчество

Готовимся к сдаче ГИА

Опубликовано Котельников Олег вкл 25.04.2024 - 19:44

Школьный проект

Скачать:

ВложениеРазмер
Файл itogovyy_proekt_kotelnikova_olega.docx113.51 КБ

Предварительный просмотр:

ИНДИВИДУАЛЬНЫЙ ПРОЕКТ

«Готовимся к сдаче ГИА!»

Подготовил:

Котельников Олег, учащийся 10А класса,

Куратор проекта:

Мохов Дмитрий Васильевич, учитель информатики лицея №150

г. Санкт-Петербург

2023–2024 уч.г.

Содержание

1. Паспорт проекта 3

2. Введение 5

3. Теоретическая часть 5

Техническое задание 5

Сервер 5

Фреймворк 5

Библиотека 6

Техническое задание 6

Платформа 6

Архитектура 8

Безопасность 10

4. Практическая часть 12

Результаты работы 12

Описание продукта 12

5. Выводы 14

6. Приложение. 15

7. Используемая литература 16


1. Паспорт проекта

  1. Тема: «Готовимся к сдаче ГИА».
  2. Тип проекта: инженерно-конструкторский.
  3. Куратор проекта: Мохов Дмитрий Васильевич, учитель информатики СПб ГБОУ лицея №150.
  4. Противоречие: возникает между необходимостью в качественной платформе по подготовке к экзаменам и отсутствием таких платформ.
  5. Проблема: как удовлетворить потребность подготовки к экзаменам с помощью веб-платформ.
  6. Цель: сформулировать недостатки платформ по подготовке к ГИА и предложить решение в формате веб-приложения.
  7. Задачи:
  1. Проанализировать желаемые требования учителей и учащихся к платформе
  2. Определится с используемыми технологиями
  3. Составить ТЗ, которое будет учитывать необходимые требования
  4. Разработать архитектуру ПО
  5. Разработать ПО
  6. Протестировать и развернуть на сервере ПО
  1. Этапы работы над проектом

Этап работы

Продолжительность

Содержание

Подготовительный

июль-август 2023 г.

Обдумывание идеи, разработка плана создания проекта.

Теоретический

сентябрь-ноябрь 2023 г.

Поиск информации в интернете, изучения языков программирования. Подбор фреймворков и библиотек, изучение их синтаксиса и работоспособности. Изучение технологии Git.

Практический

декабрь 2023 г. – апрель 2024 г.

Написание приложения на выбранных языках.

Презентационный

7 мая 2024 г.

Защита проекта.

  1. SWOT-анализ проекта

Достоинства

Недостатки

Актуальность.

Новизна, современность.

Сформулированные недостатки, а в следствие и их решения, могут оказаться субъективными.

Список возможностей

Список угроз

Расширение функционала продукта до полноценного сервиса по подготовке к ГИА.

Для реализации проекта требуются финансовые вложения.

Наличие конкурентов.

  1. Аналоговый анализ

Критерий

Сдам ГИА

Предполагаемый продукт

Автоматическая проверка заданий 2-й части

Нет

Да

Инфографика, статистика

Нет

Да

Количество уникальных заданий конкретного типа

3 - 200

<10 000 000


2. Введение

Подготовка учеников к сдаче экзаменов всегда была актуальной проблемой. Ежегодно около 1,6 миллионов человек сдают государственные экзамены по всей стране. При этом, к сожалению, школьной подготовки многим оказывается недостаточно, поэтому около 75% прибегают к самостоятельной, внеурочной подготовке.

Это доказывает актуальность и необходимость, в частности, в платформах для дополнительной подготовки. Наиболее удобным и популярным ресурсом является “Сдам ГИА” ( ). Однако у этого приложения существует ряд существенных недостатков. Вывив и решив ряд проблем, подготовка учащихся станет проще и эффективнее.

3. Теоретическая часть

Архитектура программного обеспечения — это совокупность важнейших решений об организации программной системы, которая включает в себя

выбор структурных элементов и их интерфейсов, с помощью которых составлена система, а также их поведения в рамках сотрудничества структурных элементов; соединение выбранных элементов структуры и поведения во всё более крупные системы; архитектурный стиль, который направляет всю организацию — все элементы, их интерфейсы, их сотрудничество и их соединение.

Техническое задание (далее - ТЗ) — это документ или несколько документов, определяющих цель, структуру, свойства и методы какого-либо проекта.

Клиент — та программа, с которой работает пользователь, и взаимодействует с сервером.

Сервер — мощный компьютер, на котором хранится само приложение.

Пользователь взаимодействует с ним через клиентское приложение.

Фреймворк — это готовая основа, которая упрощает создание приложений.

Библиотека — это организованный сборник предварительно написанного кода, который разработчики могут использовать для добавления функций и возможностей в свои программы без необходимости писать этот код с нуля.

Техническое задание

В основе любого успешного проекта лежит грамотное техническое задание. Оно должно охватывать функциональные (описывают, что система должна делать, например, какие функции и задачи она должна выполнять) и нефункциональные требования (определяют, как система должна работать, например, ее производительность, надежность и удобство использования).

Основываясь на социальном опросе учеников и учителей из школы №514, было составлено следующее техническое задание.

Функциональные требования

Нефункциональные требования

Наличие большого количества

уникальных заданий

Автоматическая проверка заданий

Удобное ведение статистики

Наличие теории или алгоритма решения

Защищенность данных

Надежность системы

Платформа

Выбор правильной платформы для приложения имеет решающее значение для его успеха. Платформа определяет набор доступных функций, возможности масштабирования, совместимость с устройствами и общую стоимость разработки и обслуживания. Тщательный выбор платформы гарантирует, что приложение будет соответствовать техническим требованиям, целевой аудитории и бизнес-целям, обеспечивая оптимальную производительность и пользовательский опыт. Для создания продукта проекта была выбрана web-платформа. Это позволило получить ряд преимуществ.

  • Кроссплатформенность: взаимодействовать с приложением могут пользователи и мобильных устройств, и персональных компьютеров
  • Доступность: для работы с приложением пользователям не придется ничего устанавливать

Однако у веб-приложений есть большой минус – это автономность: приложение недоступно без доступа к интернету.


Архитектура

Архитектура приложения является основой его структуры и дизайна. Хорошо продуманная архитектура обеспечивает модульность, масштабируемость, надежность и удобство обслуживания приложения. Она определяет, как различные компоненты приложения взаимодействуют друг с другом, и служит планом для разработки и внедрения приложения. Четко определенная архитектура позволяет разработчикам легко понимать, модифицировать и расширять приложение, обеспечивая его долгосрочную жизнеспособность и соответствие меняющимся требованиям. Почти всем web-приложениям характерен клиент-сервисный стиль архитектуры, этот продукт не стал исключением.

Изображение выглядит как диаграмма, круг, спиральная пружина, пружина Автоматически созданное описание

К его преимуществам можно отнести:

  • Дешевизну: один мощный сервер дешевле 100+ мощных клиентских машин.
  • Разделение обязанностей: Клиентская часть отвечает за представление и взаимодействие с пользователем, в то время как серверная часть управляет бизнес-логикой и доступом к данным. Это позволяет лучше организовать код и разделить задачи между разработчиками.
  • Скорость: Передача логики на клиентскую сторону может уменьшить нагрузку на сервер и улучшить скорость отклика для пользователей, так как многие операции могут выполняться на стороне клиента без необходимости отправлять запросы на сервер.
  • Безопасность: данные хранятся на сервере, что делает невозможным физический доступ у ним.

Недостатки:

  • Неустойчивость: в случае неисправности сервера, доступ к приложению потеряют сразу все пользователи. Однако, эта проблема решается созданием реплик, – копий приложений.

Безопасность

Безопасность веб-приложений имеет решающее значение для защиты конфиденциальных данных пользователей, предотвращения несанкционированного доступа и поддержания целостности приложения. Сильные меры безопасности обеспечивают доверие пользователей и защищают репутацию организации, предотвращая нарушения безопасности и утечки данных. Продукт проекта, реализованный с использованием концепций и технологий, таких как OAuth2, JWT и Spring Security Framework, обеспечивает сильный уровень безопасности для веб-приложения.

Рассмотрим подробнее, как каждая из этих концепций и технологий способствует защите нашего веб-приложения:

  • OAuth2: Этот протокол предоставляет стандартную аутентификацию и авторизацию для веб-приложений. Он позволяет пользователям предоставлять доступ к своим данным на сторонних ресурсах без необходимости передавать свои учетные данные. Путем делегирования авторизации OAuth2 обеспечивает безопасность, минимизируя риск утечки учетных данных.
  • JWT (JSON Web Token): JWT — это компактный и самостоятельный способ представления информации об аутентификации и авторизации между двумя сторонами. Он содержит все необходимые данные о пользователе и его правах, закодированные в токен. JWT обеспечивает безопасность за счет возможности проверки подлинности токена и защиты от подделки.
  • Spring Security Framework: Spring Security — это мощный и гибкий инструмент для обеспечения аутентификации и авторизации в приложениях на основе Spring. Он предоставляет различные механизмы аутентификации, включая поддержку различных типов аутентификации, таких как базовая аутентификация, OAuth, JWT и другие. Spring Security также обеспечивает защиту от различных видов атак, таких как CSRF (межсайтовая подделка запроса) и XSS (межсайтовый скриптинг).

Комбинация этих концепций и технологий обеспечивает надежный уровень безопасности для веб-приложения. Уровень защиты, реализованный мной - был сочтен адекватным для его целей и требований безопасности.

Инструменты

Разработка велась на протяжении года, и использовались следующее программное обеспечение и технологии:

  • IntelliJ IDEA – среда разработки, созданная компанией JetBrains.
  • Java – язык программирования, принадлежащий компании Oracle.
  • Spring framework v6 – открытый набор библиотек для разработки серверных web-приложений.
  • HTML 5 – инструмент для создания гипертекстовой разметки страниц в браузере.
  • CSS 3 – каскадные таблицы стилей. Используются для стилизации страниц в браузере.
  • JavaScript – язык программирования, исполняемый в браузере.
  • Git & GitHub – система контроля версий, предназначенная для облегчения разработки, повышения ее надежности.
  • Docker – инструмент, предназначенный для упрощения процедуры развертывания приложения на сервере.
  • PostgreSQL - база данных, которую отличают ее скорость и надежность.

4. Практическая часть

Работа над проектом заняла значительное количество времени, охватывая длительный период создания, дизайна, разработки и тестирования. В течение этого времени я направил усилия созданию стабильного, безопасного и функционального веб-приложения, соответствующего высоким стандартам качества.

Продолжительный процесс разработки позволил мне уделить должное внимание каждому аспекту проекта, начиная с архитектуры и дизайна, и заканчивая тщательным тестированием и оптимизацией. В течение этого времени были реализованы и интегрированы различные концепции и технологии.

Важно отметить, что продолжительный процесс разработки также позволил мне адаптироваться к изменяющимся требованиям и вызовам, которые могли возникнуть в ходе работы над проектом. Это позволило создать веб-приложение, которое не только соответствует исходным требованиям и ожиданиям, но и готово к дальнейшему развитию.

Результаты работы

Исходный код моего проекта находится на серверах GitHub, по адресу .

Готовое web-приложение можно найти по адресу .

Описание продукта

Интерфейс

Платформа предоставляет интуитивно понятную структуру приложения, что позволяет пользователям быстрее разобраться в приложении. Это, в свою очередь, ускоряет и облегчает процесс обучения.

Статистика

Продукт предоставляет полную статистику о выполнении заданий, позволяя пользователям следить за своим прогрессом. Это помогает выявить слабые места и проблемные темы, что позволяет адаптировать программу обучения и уделить больше внимания наиболее важным аспектам подготовки к ГИА. Кроме того, красочные диаграммы привносят в процесс обучения элементы игры, что помогает сильнее вовлечься в процесс обучения.

Генератор заданий.

Проект создает задания с помощью специального алгоритма. Его особенность заключается в том, что приложение не использует определенную базу заданий, а создает новое и уникальное при каждом запросе. Это позволяет ученикам получить обширный практический опыт и уверенность перед экзаменом, а также разнообразить учебный процесс.

Удобство архитектуры.

Приложение обеспечивает легкость добавления новых типов заданий, что особенно важно в контексте изменяющихся требований и форматов экзамена. Это позволяет быстро адаптировать платформу под последние обновления и требования ГИА, обеспечивая актуальность и эффективность подготовки учеников.


5. Выводы

Разработанный мной проект платформы представляет собой инновационную платформу, разработанную с целью обеспечить учащимся максимально эффективную подготовку к ГИА, соответствуя самым современным стандартам обучения. Используя передовые технологии и современные библиотеки, приложение обеспечивает пользователям доступ к разнообразным учебным материалам, интерактивным заданиям и персонализированным рекомендациям для оптимального обучения.

В целом, продукт является не просто образовательной платформой, а инновационным инструментом для достижения успеха в процессе подготовки к ГИА. Благодаря современным технологиям, высокому уровню защиты и персонализированному подходу, он обеспечивает учащимся эффективное и комфортное обучение, помогая им достичь высоких результатов.

Поставленные цели проекта достигнуты, платформа создана и запущена.


6. Приложение.


7. Используемая литература

  • https://
  • https://
  • https://
  • https://
  • https://
  • https://
  • https://
  • https://
  • https://


  • Мне нравится 
Поделиться:

За чашкой чая

На льдине

Три орешка для Золушки

Почему люди кричат, когда ссорятся?

Сказка "Дятел, заяц и медведь"