
- •Аннотация
- •Содержание
- •Введение
- •Анализ предметной области и постановка задачи
- •Цель и направленность разрабатываемого веб-ресурса
- •Обзор аналогичных веб-ресурсов
- •Основные задачи разрабатываемого ресурса
- •Диаграмма прецедентов
- •Техническое задание на разработку веб-ресурса
- •Общие сведения
- •Назначение и цели создания веб-ресурса
- •Требования к веб-ресурсу
- •Источники разработки
- •Обоснование выбора технологий разработки
- •Описание средств для разработки клиентской части
- •Выбор языка программирования для разработки серверной части
- •Скорость разработки
- •Производительность
- •Безопасность
- •Масштабируемость
- •Популярность
- •Сравнительный анализ систем управления базами данных
- •Разработка веб-ресурса
- •Проектирование и разработка бд
- •Информационное и даталогическое проектирование
- •Физическое проектирование
- •Разработка базы данных
- •Разработка дизайна сайта
- •Разработка клиентской и серверной части веб-приложения
- •Архитектура веб-приложения
- •Логическая структура проекта
- •Особенности верстки проекта
- •Тестирование веб-ресурса
- •Заключение
- •Список использованных источников
- •Приложение а
Основные задачи разрабатываемого ресурса
Основными направлениями функциональности сайта будут:
1. Создание и публикация тестов: Веб-ресурс предоставит пользователям инструменты для создания собственных тестов. Это позволит привлечь творческих и креативных пользователей, которые хотят делиться своим контентом с другими, и сделает платформу более разнообразной и интересной.
2. Прохождение тестов: Пользователи смогут выбирать тесты из различных категорий, таких как кино и сериалы, мультфильмы, игры, спорт, психология, хобби, и т.д.
3. Оценивание тестов: Важной частью интерактивного опыта будет возможность выражения своего мнения по поводу тестов с помощью выставления оценок.
Диаграмма прецедентов
Одним из начальных этапов разработки является этап моделирования, необходимый для визуализации различных процессов, которые будут происходить во время работы сайта. Это реализуется посредством построения разнообразных диаграмм. Одной из наиболее востребованных диаграмм является диаграмма прецедентов, также известная как диаграмма использования. Диаграмма прецедентов (англ. use case diagram) — диаграмма, отражающая связи между исполнителями и прецедентами и позволяющая описать систему на концептуальном уровне. Построение диаграммы использования происходит на языке UML (англ. Unified Modeling Language — унифицированный язык моделирования).
Исполнители - это сущности, взаимодействующие с системой во время ее эксплуатации. Они обладают поведением, соответствующим их логическим ролям. Исполнителем может быть как человек, так и другая система. В нашем случае исполнителями будут являться Гость (неавторизованный пользователь), Авторизованный пользователь и Модератор сайта, а системой - сам веб-ресурс.
Прецедент - это сценарий возможного использования системы; совокупность взаимосвязанных вариантов, приводящих к успеху или неудаче, описывающих эксплуатацию системы с целью решения конкретной задачи. Список всех прецедентов, относящихся к разрабатываемому веб-ресурсу “ТестРум”:
Регистрация;
Авторизация;
Восстановление пароля;
Прохождение теста;
Поиск теста по названию;
Фильтрация тестов по категориям;
Поиск случайного теста;
Просмотр тестов;
Создание теста;
Выставление оценки тесту;
Редактирование профиля;
Удаление теста;
Удаление профиля.
Связь - тип отношений, по которому взаимодействуют исполнители и прецеденты. Далее будут использованы связи следующих типов:
Ассоциация - связь исполнителя и прецедента, указывающая на возможность использования исполнителем прецедента;
Обобщение - обозначает иерархическое отношение между элементами диаграммы (специальный элемент наследует свойства обобщенного);
Включение (Extended) - связь, указывающая на возможность включения одного прецедента в выполнение другого.
На рисунке 1.8 представлена диаграмма прецедентов для разрабатываемого веб-ресурса.
Рисунок 1.8 — Диаграмма прецедентов
Итак, из диаграммы видно, что Авторизованному пользователю доступны все прецеденты Гостя, исключая авторизацию и регистрацию, а Модератор и Авторизованный пользователь связаны через обобщение, следовательно исполнитель Модератор наследует поведение Авторизованного пользователя, а также имеет дополнительные прецеденты. Рамками для всех прецедентов является сам веб-ресурс «ТестРум». Ниже опишем подробнее каждый прецедент.
Прецедент П1. Регистрация.
Основной исполнитель: Гость.
Предусловия: Гость перешел на страницу «Регистрация», Гость не имеет ранее зарегистрированного на сайте профиля.
Постусловие: Гость зарегистрировал профиль и изменил свой статус на Авторизованного пользователя.
Основной успешный сценарий:
Гость заполнил все поля формы регистрации и нажал кнопку «Зарегистрироваться».
Введенные Гостем данные отправлены на сервер, проверено отсутствие в базе данных электронной почты Гостя.
Данные Гостя записаны в базе данных.
Гость изменил свой статус на Авторизованного пользователя.
Альтернативные потоки:
1а. Гость не заполнил одно или несколько обязательных полей в форме регистрации и нажал кнопку «Зарегистрироваться» .
Выводится сообщение «Невозможно создать личный кабинет без заполнения обязательных полей».
2а. Введенная Гостем электронная почта уже записана в базе данных.
Выводится сообщение «Данная электронная почта уже используется. Войти?» со ссылкой на страницу с формой авторизации.
Частота использования: Иногда.
Прецедент П2. Авторизация.
Основной исполнитель: Гость.
Предусловия: Гость перешел на страницу «Войти», Гость имеет ранее зарегистрированный на сайте профиль.
Постусловие: Гость вошел в свой профиль и изменил свой статус на Авторизованного пользователя.
Основной успешный сценарий:
Гость заполнил поля формы авторизации и нажал кнопку «Войти в личный кабинет».
Данные из заполненной формы отправлены на сервер, логин найден в базе данных, валидность пароля подтверждена.
Гость вошел в личный кабинет и изменил свой статус на Авторизированного пользователя.
Альтернативные потоки:
1а. Гость не заполнил одно или несколько полей в форме авторизации и нажал кнопку «Войти в личный кабинет».
Выводится сообщение «Укажите логин/пароль».
2а. Указанная электронная почта не найден.
Выводится сообщение «Пользователь не найден. Зарегистрироваться?» со ссылкой на страницу с формой регистрации.
2б. Валидность пароля не подтверждена.
Выводится сообщение «Неверный пароль. Восстановить пароль?» со ссылкой на страницу с формой восстановления пароля.
Если пользователь переходит по ссылке, выполняется П3.
2в. Указанный пользователь имеет статус «Заблокирован».
Выводится сообщение «Вы в черном списке».
Частота использования: Иногда.
Прецедент П3. Восстановление пароля.
Основной исполнитель: Гость.
Предусловия: Гость перешел на страницу «Восстановление пароля», Гость имеет ранее зарегистрированный на сайте профиль.
Постусловие: Гость вошел в свой профиль и изменил свой статус на Авторизованного пользователя.
Основной успешный сценарий:
Гость ввел электронную почту и нажал кнопку «Отправить письмо».
Сервер проверил наличие введенной почты в базе данных.
Сервер отправил на электронную почту письмо со ссылкой на страницу смены пароля.
Гость перешел по ссылке из письма, заполнил форму смены пароля и нажал кнопку «Сохранить пароль».
Сервер изменил пароль в базе данных.
Гость вошел в личный кабинет и изменил свой статус на Авторизованного пользователя.
Альтернативные потоки:
2а. Указанная почта отсутствует в базе данных.
Выводится сообщение «Указанная почта не зарегистрирована».
Частота использования: Редко.
Прецедент П4. Прохождение теста.
Основной исполнитель: Гость или Авторизованный пользователь.
Предусловия: Гость или Авторизованный пользователь перешел на страницу теста.
Постусловие: Гость или Авторизованный пользователь прошли тест и перешли на страницу с результатом.
Основной успешный сценарий:
Гость или Авторизованный пользователь выбрал тест и перешел на его страницу.
Гость или Авторизованный пользователь проходит тест посредством выбора вариантов ответа.
Гость или Авторизованный пользователь нажимает на кнопку «Получить результат», данные отправляются на сервер.
Сервер подбирает подходящий результат в соответствии с полученными данными.
Гость или Авторизованный пользователь перенаправляется на страницу с результатом.
Альтернативные потоки:
3а. Гость или Авторизованный пользователь не выбрал ответ для одного или нескольких вопросов.
Выводится сообщение «Необходимо выбрать ответ на все вопросы».
Частота использования: Часто.
Прецедент П5. Поиск теста по названию.
Основной исполнитель: Гость или Авторизованный пользователь.
Предусловия: Гость или Авторизованный пользователь находится на главной странице, либо на любой другой странице сайта.
Постусловие: Гость или Авторизованный пользователь получают ответ на свой запрос.
Основной успешный сценарий:
Гость или Авторизованный пользователь вводит в поисковой строке интересующий их запрос.
Сервер принимает запрос и подбирает тесты, в названии которых есть полученный текст.
Гость или Авторизованный пользователь видит список удовлетворяющих запросу тестов.
Альтернативные потоки:
2а. Сервер не находит тестов, удовлетворяющих запросу.
Выводится сообщение «Не удалось найти подходящие тесты».
Частота использования: Иногда.
Прецедент П6. Фильтрация теста по категориям.
Основной исполнитель: Гость или Авторизованный пользователь.
Предусловия: Гость или Авторизованный пользователь находится на любой странице сайта.
Постусловие: Гость или Авторизованный пользователь получает ответ на свой запрос.
Основной успешный сценарий:
Гость или Авторизованный пользователь переходит в раздел «Категории»
Гость или Авторизованный пользователь выбирает интересующую его категорию из списка.
Сервер принимает запрос и подбирает тесты с подходящей категорией.
Гость или Авторизованный пользователь видят список удовлетворяющих запросу тестов.
Частота использования: Иногда.
Прецедент П7. Поиск случайного теста.
Основной исполнитель: Гость или Авторизованный пользователь.
Предусловия: Гость или Авторизованный пользователь находится на главной странице сайта.
Постусловие: Гость или Авторизованный пользователь получает ответ на свой запрос.
Основной успешный сценарий:
Гость или Авторизованный пользователь нажимает на кнопку «Случайный тест»
Сервер принимает запрос и возвращает один из случайных тестов, представленных на сайте.
Гость или Авторизованный пользователь видят подобранный тест.
Частота использования: Иногда.
Прецедент П8. Просмотр тестов.
Основной исполнитель: Гость или Авторизованный пользователь.
Предусловия: Гость или Авторизованный пользователь перешел на главную страницу сайта.
Постусловие: Гость или Авторизованный пользователь просматривает список тестов.
Основной успешный сценарий:
Гость или Авторизованный пользователь просматривает тесты, отображаемые на главной странице в порядке новизны.
Альтернативные потоки:
1а. Гость или Авторизованный пользователь хочет найти тесты конкретные тесты.
Выполняется прецедент П5, либо П6.
Частота использования: Часто.
Прецедент П9. Создание теста.
Основной исполнитель: Авторизованный пользователь.
Предусловия: Авторизованный пользователь перешел в раздел «Создать свой тест».
Постусловие: Тест доступен на сайте.
Основной успешный сценарий:
Авторизованный пользователь заполняет форму создания теста и нажимает на кнопку «Создать».
Сервер записывает данные из формы создания теста в базу данных.
Выводится сообщение об успешном создании теста.
Альтернативные потоки:
1а. Авторизованный пользователь не заполнил обязательные поля.
Выводится сообщение «Необходимо заполнить все обязательные поля».
Частота использования: Иногда.
Прецедент П10. Выставление оценки тесту.
Основной исполнитель: Авторизованный пользователь.
Предусловия: Авторизованный пользователь находится на главной странице.
Постусловие: Оценка учтена при формировании рейтинга теста.
Основной успешный сценарий:
Авторизованный пользователь выставляет оценку посредством нажатия кнопки “лайк” или “дизлайк”.
Сервер проверяет, не была ли выставлена оценка Авторизованным пользователем ранее.
Сервер записывает оценку в базу данных.
Рейтинг теста отображается с учетом выставленной оценки.
Альтернативные потоки:
2а. Оценка была выставлена ранее.
Оценка не записывается в БД.
Частота использования: Иногда.
Прецедент П11. Редактирование профиля.
Основной исполнитель: Авторизованный пользователь.
Предусловия: Авторизованный пользователь перешел в личный кабинет.
Постусловие: Новая информация профиля сохранена.
Основной успешный сценарий:
Авторизованный пользователь нажимает на кнопку «Редактировать профиль».
Авторизованный пользователь перенаправляется на страницу редактирования профиля и изменяет какую-либо информацию.
Авторизованный пользователь нажимает на кнопку «Сохранить изменения».
Сервер переписывает в БД измененные данные.
Авторизованный пользователь перенаправляется в личный кабинет.
Частота использования: Редко.
Прецедент П12. Удаление теста.
Основной исполнитель: Модератор.
Предусловия: Модератор находится на странице теста.
Постусловие: Тест не отображается на сайте.
Основной успешный сценарий:
Модератор нажимает на кнопку «Удалить».
Сервер очищает все данные о тесте в базе данных.
Частота использования: Редко.
Прецедент П13. Удаление профиля.
Основной исполнитель: Модератор.
Предусловия: Модератор находится на странице пользователя.
Постусловие: Пользователь не может использовать сайт.
Основной успешный сценарий:
Модератор нажимает на кнопку «Заблокировать».
Статус пользователя меняется на «Заблокирован»
Сервер удаляет все данные пользователя, кроме электронной почты и пароля.
Частота использования: Редко.