Разработка приложения управления событиями IT-клуба
Повышение эффективности планирования, управления и контроля событиями студенческого IT-клуба. Особенности подсистемы универсального пользовательского интерфейса. Реализация и тестирование автоматических оповещений. Реализация разграничения доступа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3. void sendNotification(Collection<Participant> recipients, String text, String subject) - данный метод выполняет отправку произвольного сообщения всем участникам мероприятия. В качестве параметров передается список участников мероприятия, текст сообщения и тема сообщения. В цикле проходится по списку и отправляет сообщения всем тем, у кого указан адрес электронной почты;
4. void sendTasks(List<Task> tasks) - данный метод выполняет отправку письма участникам мероприятия. В качестве параметра передается список задач, этот список группируется по исполнителям и отправляется тем, у кого указан адрес электронной почты;
5. void sendEmail(Map<String, Object> params, String scriptLocation, String email) - метод, который занимается непосредственно созданием и отправкой сообщения. В качестве параметров передается объект типа Map, который хранит данные в формате ключ-значение, в нем хранятся параметры, название скрипта Groovy, в котором будет сформировано сообщение, адрес электронной почты. Для отправки e-mail используется бин платформы EmailerAPI.
Для каждого типа сообщения были созданы скрипты Groovy. В них на основе передаваемых параметров происходит формирование письма в виде HTML.
BeforeEventNotificationSchedulerServiceBean - бин, предназначенный для оповещений о предстоящих мероприятиях. Так как необходимо вызывать выполнение метода отправки напоминания ежедневно, был использован стандартный механизм TaskScheduler фреймворка Spring.
Для этого в spring.xml были добавлены элементы:
<task:scheduled-tasks scheduler="scheduler">
<task:scheduled
ref="events_BeforeEventNotificationSchedulerService"
method="beforeEventNotification"
cron="0 0 9 * * *"/>
</task:scheduled-tasks>
Здесь атрибут ref - интерфейс бина, который будет вызываться, method - вызывамеый метод бина, cron - периодичность выполнения задачи.
Запись «0 0 9 * * *» означает, что данная задача будет выполняться ежедневно в 9 часов утра.
Для данного уведомления также был написан groovy-скрипт.
3.4 Реализация разграничения доступа
Для того, чтобы ограничить доступ к экранам приложения и действиям с сущностями, в системе было создано несколько ролей:
Пользователь (SimpleUser) - запрещено изменение, удаление всех сущностей. Разрешен просмотр сущности Мероприятие, для остальных сущностей просмотр запрещен. Доступны пункты меню «Календарь», «Текущие мероприятия», «Настройки», «Помощь».
Член клуба (ItClubMember) - разрешено просматривать все сущности. Есть возможность изменять сущность Мероприятие, Задача, Участник, Ресурс, Вложение, Место проведения. Видит только пункты меню Поиск.
Редактор (Editor) - разрешено изменять и удалять все сущности приложения. Имеет доступ к пункту меню Архив мероприятий.
Роли были созданы с помощью sql-скриптов, которые расположены в файле 30.create-db.sql.
Вначале была создана сама роль:
INSERT INTO SEC_ROLE (id, create_ts, created_by, version, name,
loc_name, role_type, is_default_role)
VALUES ('768cce50-2f61-11e7-86bd-00ffb0754cd3',
CURRENT_TIMESTAMP, 'system', 0, 'SimpleUser', 'Пользователь', 30,
true);
Затем были добавлены разрешения:
INSERT INTO sec_permission (id, create_ts, created_by, version,
permission_type, target, value, role_id)
VALUES (newid(),now(),'admin',1,10,'events$Event.browse',
1,'768cce50-2f61-11e7-86bd-00ffb0754cd3')
Здесь permission_type - тип разрешения - имеет одно из значений: 10 - экран, 20 - операция с сущностью, 30 - атрибут сущности, 40 - специфическое, 50 - интрефейс.
Target - цель, содержит в себе название пункта меню/название экрана/сущности, к которым дается разрешение. Value - Значение 1 - true, 0 - false. Role_id - Id роли, к которой относится разрешение.
Для ограничения отображения отдельных компонентов интерфейса была добавлена дополнительная логика в экраны редактирования.
Для экрана редактирования задачи: если пользователь имеет роль Редактора или Администратора, либо является создателем задачи или исполнителем - он имеет возможность редактировать атрибуты задачи. Иначе - только просматривать. Добавление комментариев доступно всем пользователям.
Для экрана редактирования мероприятия: если студент является куратором мероприятия либо имеет роль Редактора или Администратора - ему доступны для редактирования все вкладки и находящиеся в них таблицы. Также ему доступны кнопки «Отправить сообщение», «Отправить задачи», «Закрыть мероприятие». Если пользователь является только участником, он может изменять задачи по мероприятию, которые создал сам или является исполнителем, изменять назначенные на себя ресурсы, а также добавлять новые файлы. Ему доступна кнопка «Отказать от участия». Для остальных пользователей, не являющихся участниками, доступна для просмотра только вкладка Детали и кнопка «Стать участником».
4. Тестирование
Тестирование - это процесс анализа или эксплуатации программного обеспечения с целью выявления дефектов. Слово процесс используется для того, чтобы подчеркнуть, что тестирование - это плановая, упорядоченная деятельность. Тестирование программных систем состоит из динамической верификации поведения программ на конечном (ограниченном) наборе тестов, выбранных соответствующим образом из обычно выполняемых действий прикладной области и обеспечивающих проверку соответствия ожидаемому поведению системы. [10]
Мною было проведено функциональное тестирование, то есть проверка реализуемости функциональных требований приложения, способность приложения в заданных критериях решать возложенные на него задачи. Для этого было написано несколько тест-кейсов, проворящих основные функции приложения. Тест кейс - это набор четких шагов по достижению ожидаемого результата. Тест-кейс содержит в себе последовательность действий, которая необходима для проверки, ожидаемый результат и фактический результат, были использованы как позитивные тест-кейсы, использующие только корректные данные и проверяющие, что приложение правильно выполнило вызываемую функцию, так и негативные тест-кейсы, оперирующие как корректными, так и некорректными данными и ставящие целью проверку некоторых исключительных ситуаций (срабатывание валидаторов).
4.1 Тестирование работы с мероприятиями
Первая тестируемая функция - работа с мероприятиями. Для того, чтобы создать мероприятие, необходимо открыть пункт «Мероприятия» главного меню, выбрать подпункт «Текущие мероприятия». В открывшемся окне нажать на кнопку «Создать». В новом окне нажать на кнопку «Сохранить».
Ожидаемый результат: должно появиться всплывающее окно о необходимости заполнить обязательное поле «Название». Фактический результат: совпадает с ожидаемым, представлен на рисунке 4.1.
Рис.4.1 - Вывод сообщения о необходимости заполнить обязательное поле
Далее, не закрывая экран, ввести данные в обязательное поле «Название», нажать на кнопку «Сохранить». Ожидаемый результат: мероприятие сохраняется в базе данных и появляется всплывающее окно об успешном сохранении. Фактический результат: совпадает с ожидаемым.
Не закрывая экран, ввести дату начала мероприятия. Затем ввести дату конца, меньшую чем дата начала. Нажать на кнопку «Сохранить».
Ожидаемый результат: должно появиться всплывающее окно об ошибке. Фактический результат: совпадает с ожидаемым, представлен на рисунке 4.2
Затем проверено сохранение значений во всех полях. Для этого необходимо поочерёдно вводить значения в поля, нажимать на кнопку «Сохранить и закрыть» и заново открывать окно мероприятия.
Ожидаемый результат: Поля заполнены новыми значениями. Фактический результат: совпадает с ожидаемым.
Рис.4.2 - Вывод сообщения о неверно введенных датах начала и конца мероприятия
Следующий шаг - проверка работы с задачами мероприятия.
Открыть ранее созданное мероприятие, перейти во вкладку «Задачи», нажать кнопку «Создать». В открывшемся окне нажать кнопку «Ок». Ожидаемый результат: должно появиться всплывающее окно о необходимости заполнить обязательное поле «Название». Фактический результат: совпадает с ожидаемым.
Ввести данные во все поля задачи, нажать «Ок». Ожидаемый результат: окно редактирования задачи закрылось, в таблице задач появилась новая строка. Появилось всплывающее окно об успешном отправлении оповещения. Фактический результат: совпадает с ожидаемым.
Одной из особенностей используемых таблиц является возможность группировки по столбцам. Для этого необходимо в заголовке таблицы перетащить столбец в левый угол таблицы. Ожидаемый результат: строки таблицы сгруппированы по столбцу «Состояние». Фактический результат: совпадает с ожидаемым, представлен на рисунке 4.3.
Рис.4.3 - Группировка таблицы по полю «Состояние»
Далее - проверка работы с участниками мероприятия. Для этого необходимо зайти в систему пользователем, имеющим роль ITClubMember. Открыть созданное ранее мероприятие. Нажать на кнопку «Стать участником». Заполнить поля. Нажать «Ок». Ожидаемый результат: должна быть создана сущность «Участник» и появиться сообщение об отправке заявки. Фактический результат: совпадает с ожидаемым.
Затем зайти в систему пользователем, который является куратором мероприятия. Открыть карточку мероприятия. Ожидаемый результат: название вкладки «Участники» должно измениться на «Участники (+1)». Фактический результат: совпадает с ожидаемым, представлен на рисунке 4.4.
Рис.4.4 - Изменение заголовка вкладки «Участники»
Далее перейти во вкладку с участниками. Отметить чек-бокс в строке с новым участником. Сохранить мероприятие. Зайти в систему пользователем участника. Открыть мероприятие. Ожидаемый результат: Должна появиться кнопка «Отказаться от участия» и возможность редактировать вкладки мероприятия. Фактический результат: совпадает с ожидаемым.
В открытом окне мероприятия нажать на кнопку «Отказаться от участия». Подтвердить действие. Ожидаемый результат: Должна появиться кнопка «Стать участником» и пропасть возможность редактировать вкладки мероприятия. Фактический результат: совпадает с ожидаемым.
Зайти в систему пользователем, не связанным с сущностью студента. Открыть мероприятие. Ожидаемый результат: кнопки «Стать участником» и «Отказаться от участия» не должны отображаться. Редактирование мероприятия невозможно. Фактический результат: совпадает с ожидаемым.
Зайти в систему пользователем, который является куратором мероприятия. Открыть карточку мероприятия. Перейти во вкладку «Участники». Добавить участника с указанной электронной почтой.
Нажать на кнопку «Отправить сообщение». Ввести тему и текст письма. Нажать на кнопку «Отправить». Ожидаемый результат: должно появиться сообщение об успешной отправке. На указанную электронную почту должно прийти сообщение. Фактический результат: совпадает с ожидаемым.
Следующий этап - проверка работы с ресурсами мероприятия. Открыть мероприятие, перейти во вкладку “Ресурсы”. Нажать на кнопку создать. ввести данные, нажать кнопку “Ок”. Ожидаемый результат: в таблице с ресурсами должна появиться новая запись. Фактический результат: совпадает с ожидаемым.
Попробовать изменить значение чек-бокса столбца “Наличие” в какой-либо строке. Нажать на кнопку “Сохранить и закрыть”. Открыть заново карточку мероприятия. Ожидаемый результат: изменение столбца было применено. Фактический результат: совпадает с ожидаемым.
Проверим работу с файлами. Зайти в систему пользователем, являющимся участником мероприятия. Открыть мероприятие, перейти во вкладку «Файлы». Нажать на кнопку «Загрузить», выбрать файл с компьютера. Ожидаемый результат: в таблице появилась строка с названием файла, автором и размером файла. Фактический результат: совпадает с ожидаемым.
Попробуем просмотреть файл. Нажать на название-ссылку файла. Ожидаемый результат: файл формата .jpg, .png, .gif должен открыться во всплывающем окне. Файлы формата .pdf должен открыться в отдельной вкладке. Остальные форматы должны автоматически скачиваться. Фактический результат: совпадает с ожидаемым, представлен на рисунке 4.5.
Рис.4.5 - Просмотр файла изображения во вкладке «Файлы».
Далее - тестирование работы с комментариями к мероприятию.
Для создания комментария необходимо перейти во вкладку "Комментарии", в текстовое поле ввести данные, нажать кнопку "Добавить комментарий". Ожидаемый результат: в таблице с комментариями должна появиться строка с автором комментария, временем и текстом. Фактический результат: совпадает с ожидаемым.
Выбрать в таблице любой комментарий. Нажать на кнопку "Удалить". Ожидаемый результат: строка с комментарием удалена из таблицы. Фактический результат: совпадает с ожидаемым, представлен на рисунке 4.6.
Рис.4.6 - Пример добавления комментариев к мероприятию
По завершению события куратору необходимо отправить мероприятие в архив. Для этого необходимо зайти в систему под пользователем, который является куратором мероприятия. Открыть карточку мероприятия. Нажать на кнопку «Закрыть мероприятие». В окне подтверждения нажать на «Ок». Ожидаемый результат: Мероприятие должно пропасть из списка «Текущие мероприятия» и появиться в списке «Архив». Фактический результат: совпадает с ожидаемым.
Мероприятия, хранящиеся в архиве, не должны редактироваться. Открыть список «Архив», открыть карточку мероприятия. Ожидаемый результат: редактирование полей мероприятия недоступно. Кнопки с действиями недоступны. Фактический результат: совпадает с ожидаемым.
4.2 Тестирование работы с задачами
Следующий этап тестирования - проверка работы с задачами. Проверим создание задачи вне мероприятия. Необходимо открыть пункт «Задачи» главного меню, выбрать подпункт «Все задачи». В открывшемся окне нажать на кнопку «Создать». В новом окне нажать на кнопку «Сохранить». Ожидаемый результат: должно появиться всплывающее окно о необходимости заполнить обязательное поле «Название». Фактический результат: совпадает с ожидаемым.
Затем было проверено сохранение значений во всех полях. Для этого поочерёдно вводились значения в поля и нажималась кнопка «Сохранить и закрыть». Затем окно задачи перекрывалось. Ожидаемый результат: Поля заполнены новыми значениями. Фактический результат: совпадает с ожидаемым.
Далее - проверка вкладки комментариев. Для создания комментария необходимо открыть задачу, перейти во вкладку "Комментарии", в текстовое поле ввести данные, нажать кнопку "Добавить комментарий". Ожидаемый результат: в таблице с комментариями должна появиться строка с автором комментария, временем и текстом. Фактический результат: совпадает с ожидаемым, представлен на рисунке 4.7.
Рис.4.7 - Пример добавления комментариев к задаче
Выбрать в таблице любой комментарий. Нажать на кнопку "Удалить". Ожидаемый результат: строка с комментарием удалена из таблицы. Фактический результат: совпадает с ожидаемым.
Последним был проверен пункт меню «Мои задачи». Создать задачу и назначить исполнителя. Зайти в систему пользователем, который является исполнителем. Выбрать пункт меню «Задачи», далее «Мои задачи» Ожидаемый результат: Открылась таблица со списком только тех задач, в которых пользователь назначен исполнителем. Фактический результат: совпадает с ожидаемым.
4.3 Тестирование работы с пунктами меню «ИТ-клуб»
Следующий этап тестирования - проверка экранов просмотра и редактирования «Студенты», «Группы», «Места», «Пользователи» - проводился путем выполнения четырех базовых функций: создания, чтения, изменения и удаления сущностей. В результате были выявлены мелкие ошибки со связями в сущностях, которые были в дальнейшем исправлены.
4.4 Тестирование работы автоматических оповещений
Следующим шагом стало тестирование оповещений по почте.
Всего в системе есть четыре типа оповещений. Первое - оповещение исполнителей о назначении задачи. Для этого необходимо либо в карточке мероприятия, либо через пункт меню задачи создать задачу, заполнить необходимые поля и указать исполнителей с em ail. После нажатии на кнопку «Ок» система отправит сообщение и появится уведомлении об успешной отправке. Вид письма представлен на рисунке 4.7.
Рис.4.7 - Вид письма исполнителю о назначении задачи
Оповещение об изменении состояния задачи. Для инициализации данного оповещение необходимо открыть задачу с указанным исполнителем, у которого есть email, поменять значение поля «Состояние», нажать «Ок». Система отправляет сообщение, и появляется уведомление об успешной отправке. Вид письма представлен на рисунке 4.8.
Рис.4.8 - Вид письма об изменении состояния задачи
Оповещение о группе задач по определенному мероприятию. Для отправки оповещения зайдем в систему под пользователем, который является куратором мероприятия. Нажмем кнопку «Отправить задачи». Система группирует и отправляет задачи исполнителям. Вид письма представлен на рисунке 4.9.
Рис.4.9 - Вид письма о списке назначенных задач по мероприятию
Оповещение о предстоящем мероприятии. Данное оповещение запускается автоматически системой ежедневно в 9 часов утра. Вид письма представлен на рисунке 4.10.
Рис.4.10 - Вид письма о предстоящем мероприятии
Таким образом, было проведено тестирование основных функций приложения. В результате были выявлены некоторые ошибки, которые впоследствии были исправлены. В целом разработанное приложение правильно отреагировало на все действия, предпринятые пользователем.
Заключение
В результате выполнения бакалаврской работы было разработано клиент-серверное приложение на языке Java, позволяющее автоматизировать этапы процесса подготовки к мероприятиям, а также обрабатывать и отображать в пригодном виде их результаты.
Для достижения цели работы был выполнен ряд задач:
· в ходе исследования предметной области были выявлены актуальные проблемы в подготовке мероприятий IT-клуба, определены способы их решения, составлены требования к будущему приложению;
· на этапе поиска средств разработки я ознакомилась с новыми технологиями и выбрала среди них наиболее подходящие для своего приложения;
· во время разработки получен опыт работы с платформой CUBA и новыми фреймворками языка Java;
· в процессе тестирования было проверено качество приложения, выявлены и исправлены небольшие ошибки.
Поставленные задачи решены в полном объеме, цель бакалаврской работы достигнута. Разработанное программное обеспечение отвечает всем предъявленным требованиям и является полезным инструментом для подготовки к мероприятиям.
Результаты работы могут использоваться, а также в дальнейшем развиваться членами студенческого IT-клуба ПГУТИ.
Размещено на Allbest.ru
...Подобные документы
Функциональные возможности библиотеки OpenGL. Разработка процедуры визуализации трехмерной сцены, интерфейса пользователя и подсистемы управления событиями с целью создания приложения для построения динамического изображения 3D-модели объекта "Самолет".
курсовая работа [1,7 M], добавлен 28.06.2011Особенности автоматизации работы фитнес-клуба. Инфологическое и логическое проектирование. Обеспечение получения информации администратором фитнес-клуба. Выбор средств создания интерфейса, программирование работы приложения в среде Borland Delphi 7.
дипломная работа [2,4 M], добавлен 04.07.2013Использование библиотеки ОpеnGL с целью разработки программ для ОС семейства Windоws с применением технологий трехмерной графики. Прорисовка функциональных частей модели парусника, проектирование интерфейса пользователя и подсистемы управления событиями.
курсовая работа [747,0 K], добавлен 26.06.2011Требования к подсистеме создания Scorm-пакетов. Построение диаграммы потоков данных. Проектирование программного средства. Выбор средств реализации подсистемы. Организация взаимодействия приложения с базой данных. Реализация пользовательского интерфейса.
курсовая работа [634,2 K], добавлен 16.08.2012Характеристика информационных систем учета медицинских услуг, представленных на современном рынке. Разработка приложения "Учет услуг в спортивном клубе "Т-Фитнес": средства управления графического интерфейса пользователя, создание меню и основные формы.
дипломная работа [1,8 M], добавлен 14.10.2010Основы программирования с использованием библиотеки OpenGL. Приложение для построения динамического изображения модели объекта "Батискаф": разработка процедуры визуализации трехмерной схемы, интерфейса пользователя и подсистемы управления событиями.
курсовая работа [1,4 M], добавлен 26.06.2011Разработка и реализация демонстрационного многопоточного приложения. Выбор основных средств реализации. Описание логики работы приложения и разработка программного обеспечения. Описание пользовательского интерфейса. Реализация потоков в Delphi.
курсовая работа [462,5 K], добавлен 10.08.2014Описание системы управления реляционными базами данных MySQL. Изучение факторов влияющих на пропускную способность в беспроводных сетях. Особенности применения языка Java Script. Методы тестирования web-приложений. Разработка пользовательского интерфейса.
дипломная работа [2,1 M], добавлен 24.06.2015Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.
курсовая работа [867,9 K], добавлен 16.07.2013Возможности библиотеки OpenGL, создание матрицы и эффекта тумана. Разработка процедуры визуализации трехмерной модели "Корабль", интерфейса пользователя и подсистемы управления событиями. Логическая структура и функциональная декомпозиция проекта.
курсовая работа [507,2 K], добавлен 02.07.2011Реализация подсистемы управления файлами, использующей в качестве способа физической организации файла связанный список блоков. Разработка общей структуры модуля. Описание реализуемых в программе алгоритмов. Ввод в действие программного комплекса.
курсовая работа [666,0 K], добавлен 10.07.2015Обзор подходов к разработке музейных приложений с элементами дополненной реальности, формирование требований к ним. Выбор методов разработки приложения, разработка пользовательского интерфейса. Принципы тестирования. Реализация раздела "Распознавание".
дипломная работа [2,8 M], добавлен 03.07.2017Выявление требований к информационной системе. Диаграмма вариантов использования. Проектирование информационного обеспечения с использованием семантических моделей. Проектирование пользовательского интерфейса. Реализация программы на Visual Studio.
дипломная работа [590,2 K], добавлен 28.08.2012Состав и содержание работ по подготовке объекта автоматизации к вводу подсистемы в действие. Реализация пользовательского интерфейса "Менеджер". Создание проекта в программе "1С: Предприятие". Экономическая эффективность внедрения программного продукта.
дипломная работа [7,2 M], добавлен 01.07.2011Разработка игрового проекта на игровом движке Unity 3D в среде программирования MS Visual Studio 2017. Блок-схема алгоритма работы приема сообщений с сервера на клиенте с упрощенным описанием выполняемых команд. Реализация пользовательского интерфейса.
курсовая работа [1,5 M], добавлен 10.07.2017Понятие и виды пользовательского интерфейса, его совершенствование с помощью новых технологий. Характеристика приборной панели управления современного автомобиля и пультов дистанционного управления. Использование клавиатуры, особенности интерфейса WIMP.
курсовая работа [1,4 M], добавлен 15.12.2011Объекты и методы проведения предпроектного обследования предприятия, анализ результатов . Схема организационной структуры управления и документооборота. Назначение информационной подсистемы. Реализация подсистемы "Helpdesk" на основе "1С: Предприятие".
дипломная работа [6,9 M], добавлен 24.06.2011Разработка автоматизированной информационной подсистемы учета свидетельств обязательного пенсионного страхования для Управления Пенсионного фонда России. Атрибуты сущностей базы данных, создание интерфейса формы и описание логической структуры программы.
дипломная работа [7,5 M], добавлен 24.06.2011Технология разработки пользовательского интерфейса в среде Delphi. Создание таблицы, меню, форм для ввода и редактирования данных. Принципы организации меню как элемента интерфейса пользователя. Реализация сортировки, фильтрации, вычислений в таблице.
курсовая работа [1,6 M], добавлен 13.11.2012Принципы программирования и приоритеты использования библиотеки OреnG1, ее архитектура, описание математического аппарата и проекции. Разработка процедуры визуализации трехмерной сцены, подсистемы управлениями событиями и руководства пользователя.
курсовая работа [1,0 M], добавлен 26.06.2011