Цель работы --- разработка Web-приложения для организации выставок животных различных видов.
В 21 веке наблюдается рост числа домашних животных, а также клубов --- объединений людей, которые занимаются разведением питомцев; то есть увеличивается количество заводчиков, нуждающихся в организации выставок.
Данное приложение предоставляет возможность проведения онлайн--выставок различных видов животных с автоматизацией процесса организации мероприятий (запись, сбор оценок, вычисление результатов).
К разрабатываемой системе выдвигаются перечисленные далее функциональные требования.
Проведение выставки включает в себя следующие необходимые действия пользователей:
- авторизация;
- создание выставки (организатором);
- запуск, завершение выставки (организатором);
- добавление судьи на выставку (организатором);
- добавление животного (заводчиком);
- запись животного на выставку (заводчиком);
- оценка участников выставки (судьей);
- просмотр результатов завершенной выставки.
Возможными действиями заводчика являются следующие:
- удаление животного;
- отписка животного от выставки;
- просмотр дипломов животного.
Возможным действием организатора является удаление судьи с выставки. Возможным действием гостя и всех остальных пользователей является просмотр списка выставок.
При разработке системы необходимо учитывать следующие правила организации выставок животных:
- результаты выставки доступны для просмотра пользователям только после ее завершения;
- удалить животное нельзя, если оно является участником хотя бы одной запущенной выставки;
- записать животное на неоткрытую выставку нельзя;
- записать животное можно на выставку только его вида (породы);
- записать животное на выставку можно только в случае допустимых отклонений от стандарта;
- отписать животное от выставки можно только если оно на нее записано и при условии, что она открыта;
- запустить выставку можно, если есть хотя бы один приглашенный судья и не менее одного участников;
- выставка завершается только при условии, что каждый судья поставил оценку каждому участнику выставки;
- удалить судью с выставки можно только в том случае, если выставка открыта;
- добавить судью на выставку можно, если выставка открыта и он не был добавлен ранее.
На рисунке ниже представлена Use-Case диаграмма.
На рисунке ниже представлена диаграмма процесса входа в систему и выполнения начальных действий.
- ПРОСМОТР ВЫСТАВОК
- Пользователь входит как Гость/Заводчик/Судья/Организатор
- Гость/Заводчик/Судья/Организатор смотрит список выставок
- ДОБАВЛЕНИЕ ЖИВОТНОГО
- Пользователь входит как Заводчик
- Заводчик добавляет животное
- СОЗДАНИЕ ВЫСТАВКИ
- Пользователь входит как Организатор
- Организатор создает выставку
- УДАЛЕНИЕ СУДЬИ
- Пользователь входит как Организатор
- Организатор выбирает выставку
- Организатор хочет удалить судья
- Прервать действие, если выставка в состоянии "Запущена" или "Завершена"
- Прервать действие, если на выставке нет приглашенных судьей
- Организатор выбрал судью
- Удалить судью с выставки
- ПРИГЛАШЕНИЕ СУДЬИ
- Пользователь входит как Организатор
- Организатор выбирает выставку
- Организатор хочет добавить судью на выставку
- Прервать действие, если выставка в состоянии "Запущена" или "Завершена"
- Прервать действие, если судья приглашен на выбранную выставку
- Добавить судью на выставку (пометить его как приглашенного)
- РЕДАКТИРОВАНИЕ ВЫСТАВКИ
- Пользователь входит в систему как Организатор
- Организатор выбирает выставку
- Организатор хочет редактировать информацию о выставке
- Прервать действие, если выставка в состоянии "Запущена" или "Завершена"
- Редактировать информацию о выставке
- ЗАПУСК ВЫСТАВКИ
- Пользователь входит в систему как Организатор
- Пользователь выбирает выставку
- Организатор хочет запустить выставку
- Прервать действие, если выставка в состоянии "Завершена"
- Прервать действие, если на выставку записано менее 3 участников
- Прервать действие, если нет приглашенных судей
- Отметить выставку запущенной
- ЗАВЕРШЕНИЕ ВЫСТАВКИ
- Пользователь входит в систему как Организатор
- Организатор выбирает выставку
- Организатор хочет завершить выставку
- Прервать действие, если выставка не в состоянии "Запущена"
- Прервать действие, если есть хотя бы один судья, не оценивший всех участников
- Перевести выставку в состояние "Завершена"
- Вычислить результаты выставки
- УДАЛЕНИЕ ЖИВОТНОГО
- Пользователь входит в систему как Заводчик
- Заводчик хочет удалить животное
- Прервать действие, если заводчик не имеет животных
- Заводчик выбирает животное
- Прервать действие, если животное является участником хотя бы одной выставки в состоянии "Запущена"
- Отметить данные о результатах выставок в состоянии "Завершена", в которых участвовало животное, как архивные
- Удалить животное из системы
- ЗАПИСЬ ЖИВОТНОГО НА ВЫСТАВКУ
- Пользователь входит в в систему как Заводчик
- Заводчик хочет записать животных на выставку
- Прервать действие, если заводчик не имеет животных
- Прервать действие, если заводчик не имеет животных, подходящих по виду и/или породе
- Заводчик выбирает животное
- Прервать действие, если выбранное животное уже записано на выставку
- Прервать действие, если выбранное животное не соответствует стандарту выставки
- Записать животное на выставку
- ПРОСМОТР РЕЗУЛЬТАТОВ ВЫСТАВКИ
- Пользователь входит как Гость/Заводчик/Судья/Организатор
- Пользователь выбирает выставку
- Пользователь хочет посмотреть результаты выставки
- Прервать действие, если выставка не в состоянии "Завершена"
- Сформировать отчет о результатах выставки
- Предоставить отчет пользователю
На рисунке ниже представлена ER-диаграмма сущностей.
Черновые наброски экранов