Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Тестирование / речь

.docx
Скачиваний:
2
Добавлен:
18.08.2022
Размер:
17.87 Кб
Скачать

1 слайд

Ежегодно сотрудниками РДК проводится около 200 мероприятий. Концерты распределяются между работниками на планерках, а отчеты для отправки в область формируются лишь к концу декабря. В большинстве случаев описание всех мероприятий методистами РДК происходит после отправления перечней концертов начальниками отдела всех СДК, которые свою очередь требуют такой же отчетности от всех штатников. Перед январскими праздниками сотрудники должны начать готовить свои концерты, но приходится постоянно созваниваться и восстанавливать список прошедших мероприятий. Это отнимает много времени у всего персонала и сказывается на качестве постановок.

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

2 слайд:

  1. ервая таблица отвечает за накопление всех существующих в годовом плане мероприятий. Пусть ее имя будет event.

  2. Следующая таблица содержит в себе информацию о всех сотрудниках системы. Необходимо хранить данные об их именах, должности, СДК, стаже.

  3. Необходимо обезопасить систему, для этого следует создать аккаунты для управляющих. Здесь хранятся логины, пароли, ФИО.

  4. Список текущих мероприятий будем хранить в таблице issueEvent, а список выполненных в returnEvent.

Таким образом, в нашем распоряжении находится 5 таблиц, убедиться в этом можно с помощью запроса

3 слайд:

Создается Java-класс Login\_user с компоненты=ами JPanel, JTextField, JPasswordField, JButton\cit

Понадобится как минимум 2 надписи: <<Логин>> и <<Пароль>>, поместим их по вертикали. Рядом с каждой из них с правой стороны помещается два текстовых поля: для логина обычное textField, для пароля passwordField, позволяющее скрывать набранные символы.

Первым делом определим реакцию на нажатие кнопки <<Войти>>. Метод getSource() возвращает ссылку на объект, от которого пришло событие, значит если он вернул ссылку на кнопку b1, устанавливается соединение с СУБД и начинается формирование SQL запроса. PreparedStatement кроме собственно выполнения запроса позволяет подготовить его, отформатировать должным образом. Введенные логин и пароль передадим в запрос \mintinline {MySql}|select * from account

where username=? and password=?| на места ?.

Ответ от БД приходит в виде ResultSet. Если комбинация логин\&пароль нашлась, то перейдем на страницу основного меню.

4 слайд:

если была нажата кнопка <<Зарегистрироваться>>, должна быть открыта другая панель с формой регистрации нового пользователя. Для нее создается новый класс Signup аналогично предыдущему

Описывается actionPerformed (ActionEvent ae), в котором устанавливается соединение с базой dk\_manager с помощью класса conn, определенного выше. После нажатия кнопки <<Создать>> формируется sql-запрос, вставляющий введенные данные в таблицу account. Если операция прошла успешно, следует вывести соответствующее сообщение. После создания аккаунта поля ввода очищаются.

5 слайд:

При нажатии кнопки <<Забыл пароль>> отображается новая панель с формой восстановления пароля. Создается java-класс Forgot.

Интерес представляет реакция слушателя на нажатие кнопок <<Найти>> и <<Извлечь>>. Описывается она в методе actionPerformed (ActionEvent ae), осуществляющий предварительное соединение с базой данных.

После клика по кнопке b1(это имя кнопки <<Найти>>), осуществляется запрос, извлекающий все данные о пользователе с username соответствующим введенному в текстовое поле. Если такой пользователь существует, необходимо в текстовые поля с подписью <<ФИО>> и <<Контрольный вопрос>> вывести имеющую информацию.

После клика по кнопке b2(это имя кнопки <<Извлечь>>) формируется запрос, извлекающий все данные о человеке, чей ответ на контрольный вопрос совпадает с введенным. Если такой пользователь существует, верный пароль должен быть выведен в поле <<Пароль>>.

6 слайд:

Для добавления мероприятия в план нужно создать класс AddEvent, в котором будет создана нужная панель.

Мероприятие по типу может быть: развлекательное, патриотическое, траурное, детское; по уровню: сельское, районное, областное, всероссийское. Для выбора уровня и типа используются JComboBox. Столбец scenery(предполагаемый сценарий) предполагает хранение гиперссылок в виде строк.

Реакция на клик по кнопке <<Добавить>>. – вставка значений в таблицу event

Для AddEmployment – аналогично

7 слайд:

После нажатия на кнопку <<Назначить мероприятие>> в главном меню становится видимым класс IssueEvent. В нем описаны две панели. Первая отвечает за выбор конкретного мероприятия из всех существующих, а вторая "--- за выбор сотрудника, ответственного за проведение концерта. Все поля панелей соответствуют полям, существующим на панелях классов AddEvent и AddEmployee. Из них все, кроме полей идентификаторов недоступны для ввода.

Реакцией на клик по кнопке <<Поиск>> рядом с полем, подписанным как Event\_id является создание запроса, выдающего все сведения о мероприятии с введенным id. Если такое мероприятие существует, то во все пустые поля выводятся полученные значения\cite{bk2}.

Реакцией на клик по кнопке <<Поиск>> рядом с полем, подписанным как Employee\_id, является создание запроса, выдающего все сведения о сотруднике с введенным id. Если такой сотрудник работает в РДК, то все пустые поля заполняются соответствующими значениями.

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

8 слайд:

При нажатии на кнопку <<Отчитаться о мероприятии>> становится видимым класс ReturnEvent, содержащий в себе панель с неполным списком полей для сотрудника и мероприятия. Здесь существуют поля идентификаторов, поле с названием мероприятия, а также должность и место работы сотрудника.

Клик по кнопке <<Поиск>> создает запрос к БД, ищущий пару введенных id в таблице IssueEvent. Если такая пара существует, то заполняются пустые поля, указанные выше\cite{bk3}.

Далее необходимо выбрать дату отчета и нажать кнопку <<Отчитаться>>. После этого произойдет вставка значений всех полей в таблицу returnEvent и удаление из таблицы IssueEvent

9 слайд:

В окне статистики выводятся JTable table и table1 для всех назначенных мероприятий и всех уже проведенных мероприятий. Значения для ячеек берутся из таблиц базы данных dk\_manager, преобразовываются средствами подключенного jar-файла rs2xml и вставляются в таблицы

10 слайд: заключение

11 слайд: спасибо за внимание