Similar presentations:
Презентация Артём Киселёв-ПО 331
1.
Учётпоступающих
абитуриентов
Студент: Артём Киселёв
Группа: ПО-331
Преподователь: Мадияр Берстем
2.
Цель и задачиЦель проекта:
Разработка консольной системы учёта абитуриентов, которая
позволяет подавать и обрабатывать заявки на поступление.
Задачи:
• Реализовать регистрацию пользователей.
• Создать механизм подачи заявок.
• Разработать функционал администратора.
• Построить модель данных с применением ООП.
• Обеспечить простое и понятное взаимодействие через
консоль.
3.
Тема и описаниепроекта
Тема: Учёт поступающих абитуриентов
Описание: Приложение разработано для
автоматизации процесса подачи и обработки заявок
абитуриентов.
Пользователь формирует заявку на специальность, а
администратор выполняет её проверку и принимает
дальнейшее решение по статусу заявки.
Система предоставляет два режима:
• User — регистрация, подача заявок, просмотр
своих заявок.
• Admin — просмотр всех пользователей, управление
специальностями, изменение статусов заявок.
Проект полностью реализован на Java с
использованием коллекций и ООП.
4.
Диаграммаклассов
Основные классы:
• User — представляет абитуриента. Хранит его имя, логин и пароль.
Используется для регистрации и входа в систему.
• Admin — класс администратора. Имеет логин, пароль и доступ к
функциям управления пользователями и заявками.
• Product — описывает специальность (название и количество
бюджетных мест). Используется при выборе направления обучения.
• Order — хранит информацию о поданных заявках: кто подал и на
какую специальность, а также текущий статус.
• Database — главный управляющий класс. Обрабатывает регистрацию,
авторизацию, хранит списки пользователей, администраторов,
специальностей и заявок. Содержит логику всех меню.
• Main — точка входа в программу, запускает основное меню и передаёт
управление классу Database.
5.
Возможности User(абитуриента)
Абитуриент взаимодействует с системой через простое консольное меню. Основной функционал
пользователя включает:
• Регистрация нового аккаунта.
• Пользователь вводит имя, логин и пароль. После регистрации данные сохраняются в системе.
• Авторизация по логину и паролю.
• После входа система определяет пользователя и открывает доступ к его функциям.
• Подача заявки на специальность.
• Пользователь выбирает одну из доступных специальностей, после чего система добавляет
заявку в общий список.
• Просмотр своих заявок.
• Абитуриент может увидеть статус всех поданных заявок (например: “Принято”, “Отклонено”, “На
рассмотрении”).
6.
Возможности AdminАдминистратор — это сотрудник
приёмной комиссии. Он имеет
расширенные права для
управления системой:
Просмотр списка всех
пользователей.
Администратор видит, кто зарегистрировался
в системе. Так же вход выполняется только
после ввода правильного пароля, после чего
предоставляется административное меню.
Просмотр всех заявок.
Полный список заявок абитуриентов с
указанием специальности и статуса.
Изменение статуса заявки.
Администратор может отметить заявку как
“Принята”, “Отклонена” или установить
другой статус.
Добавление новых
специальностей.
Администратор может расширить список
специальностей, указав название и
количество бюджетных мест.
7.
Пример интерфейса (консоли)Регистрация пользователя
Регистрация заявки
Меню администратора с
рассмотрением заявок
8.
Пример кода спояснением
Этот метод отвечает за создание новой заявки
пользователем. После вызова система сначала
выводит на экран полный список всех доступных
специальностей, чтобы абитуриент мог ознакомиться
с предложениями. Затем пользователю предлагается
ввести название специальности, на которую он хочет
подать заявку. После ввода данных программа
создаёт новый объект заявки, в котором
сохраняются логин пользователя и выбранная
специальность. Такая заявка автоматически
добавляется в общий список всех заявок в системе.
9.
Использованные технологииВ проекте были применены следующие технологии и инструменты разработки:
• Java SE (Standard Edition) — основной язык программирования для реализации логики
приложения.
• ООП (Объектно-ориентированное программирование) Применены принципы инкапсуляции,
композиции и разделения ответственности между классами.
• Коллекции Java (ArrayList)
Используются для хранения пользователей, администраторов, специальностей и заявок.
• Класс Scanner
Обеспечивает обработку пользовательского ввода в консольном интерфейсе.
• Консольное меню
Реализовано с использованием операторов switch и циклов для построения навигации.
• Override методов (toString) Используется для удобного отображения объектов (например,
специальностей и заявок).
• Исключения и базовая проверка данных
Обеспечивает корректность ввода пользователя.
• IntelliJ IDEA
Использовалась как среда разработки для написания и отладки кода.
10.
Тестированиепрограммы
Для проверки корректности работы системы было выполнено:
• Тестирование регистрации и авторизации.
Проверка, что система корректно добавляет и опознаёт
пользователя.
• Проверка меню пользователя.
Создание тестовой заявки, просмотр заявок, обработка ошибок.
• Тестирование функций администратора.
Просмотр всех заявок, изменение статуса, добавление
специальности.
• Проверка на некорректный ввод.
Например, неправильный выбор пункта меню или ввод
несуществующей специальности.
11.
Результат проектаВ результате разработки удалось создать простую,
но функциональную систему учёта абитуриентов:
• Реализованы роли User и Admin.
• Пользователь может зарегистрироваться,
подать заявку и просматривать её.
• Администратор управляет пользователями и
заявками.
• Программа полностью работает через консоль.
• Использованы базовые механизмы Java и
принципы объектно-ориентированного
программирования.
Система демонстрирует полную цепочку
взаимодействия от подачи заявки до её
рассмотрения.
12.
ЗаключениеВ ходе выполнения этой работы была разработана консольная
система учёта абитуриентов. Несмотря на то что проект не имеет
графического интерфейса, он показывает основные принципы
разработки программного обеспечения и принципов ООП: работу с
объектами, списками, ролями пользователей и обработкой данных.
В приложении реализованы две роли — пользователь и
администратор. Абитуриент может зарегистрироваться, выбрать
специальность и подать заявку, а администратор — просматривать
и управлять всеми заявками. Выполненная система выполняет все
основные задачи, поставленные в начале работы, и может быть
расширена в будущем — например, можно добавить сохранение
данных в файл, сортировку заявок или графический интерфейс.