Во-вторых, текстовое описание
Этот раздел включает в себя: последовательную диаграмму диаграммы, объекты в диаграмме последовательности и описания экземпляров участника, приемование объекта, отправки сообщений и другие описания, связанные с диаграммой последовательности.
Обзор карты последовательности
Эта диаграмма последовательности в основном описывает различные функциональные диаграммы последовательности выполнения системы системы интернет-магазинов. Он в основном реализует функциональные возможности для регистрации, войти в систему, изменять личную информацию, обычные пользователи поиск товаров, покупки товаров, поддержание корзин, Оценка, управление Управление товарами, управление ордерам, заказы на управление обслуживанием клиентов, ответ на проконсультирование и т. Д.
2. Описание объекта в диаграмме последовательности
Блок-схема | Диаграмма последовательности регистрации посетителей |
Название объекта | Youke, регистрируйте kz, регистрация JM, GRXX |
Активный объект | youke |
Блок-схема | Диаграмма последовательности входа пользователя |
Название объекта | Пользователь, войти в KZ, войти в JM, проверить, GRXX |
Активный объект | Пользователь |
Блок-схема | Пользователь Изменить диаграмму последовательности личной информации |
Название объекта | Пользователь, ZXGW, изменить KZ, изменить JM, GRXX |
Активный объект | Пользователь |
Блок-схема | Поиск клиента Диаграмма последовательности продукта |
Название объекта | Клиент, ZXGW, поиск KZ, поиск JM, SPXX |
Активный объект | customer |
Блок-схема | Схема последовательности заказа клиентов |
Название объекта | Клиент, ZXGW, Query KZ, Query JM, DDXX |
Активный объект | customer |
Блок-схема | Техническое обслуживание клиентов Диаграмма последовательности |
Название объекта | Клиент, ZXGW, обслуживание KZ, обслуживание JM, GWC |
Активный объект | customer |
Блок-схема | Схема последовательности продукта покупки клиента |
Название объекта | Клиент, ZXGW, Купить KZ, Купить JM, DDXX |
Активный объект | customer |
Блок-схема | Диаграмма последовательности продукта клиента |
Название объекта | Клиент, ZXGW, оценка KZ, оценка JM, PJXX |
Активный объект | customer |
Блок-схема | Диаграмма последовательности управления администратором |
Название объекта | Менеджер, ZXGW, товар KZ, продукт JM, SPXX |
Активный объект | manager |
Блок-схема | Сервис обслуживания клиентов Диаграмма последовательности консультации |
Название объекта | KF, ZXGW, Consult KZ, проконсультируйтесь с JM, PJXX |
Активный объект | kf |
Блок-схема | Управлять порядком последовательности диаграммы |
Название объекта | Менеджер, ZXGW, Заказать KZ, Заказать JM, DDXX |
Активный объект | manager |
Блок-схема | Диаграмма последовательности оценки управления |
Название объекта | KF, ZXGW, оценка управления KZ, оценка управления JM, PJXX |
Активный объект | kf |
3. Описание приема объекта / отправки сообщений
(1) Диаграмма последовательности регистрации посетителей
Название сообщения | Регистрация |
Формат сообщения | Регистрация доступа () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | youke |
Название объекта полученного сообщения | Регистрировать kz. |
Название сообщения | зарегистрировано |
Формат сообщения | зарегистрирован () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Регистрировать kz. |
Название объекта полученного сообщения | Регистрировать JM. |
Название сообщения | Отправить оформление |
Формат сообщения | Отправить регистрацию (класс личной информации) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Регистрировать JM. |
Название объекта полученного сообщения | Регистрировать JM. |
Название сообщения | Сохранить личную информацию |
Формат сообщения | Сохранить личную информацию () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Регистрировать JM. |
Название объекта полученного сообщения | grxx |
Название сообщения | Успешно добавлен |
Формат сообщения | Успешно добавлен |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | grxx |
Название объекта полученного сообщения | Регистрировать JM. |
Название сообщения | Вернуть интерфейс входа |
Формат сообщения | Вернуть интерфейс входа |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | Регистрировать JM. |
Название объекта полученного сообщения | youke |
(2) Диаграмма последовательности входа пользователя
Название сообщения | подтвердите пароль |
Формат сообщения | Проверьте пароль (String Account) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | проверка |
Название объекта полученного сообщения | grxx |
Название сообщения | Успех, вернуться к главному интерфейсу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | grxx |
Название объекта полученного сообщения | Пользователь |
(3) Пользователи изменили диаграммы последовательности информации о личных данных
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Пользователь |
Название объекта полученного сообщения | zxgw |
Название сообщения | Редактировать личную информацию |
Формат сообщения | Редактировать личную информацию () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Модифицировать kz. |
Название сообщения | модифицировать |
Формат сообщения | модифицировать () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Модифицировать kz. |
Название объекта полученного сообщения | Модифицировать JM. |
Название сообщения | Измени пароль |
Формат сообщения | Изменить пароль (строковый пароль) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Модифицировать JM. |
Название объекта полученного сообщения | Модифицировать JM. |
Название сообщения | Изменить почтовый ящик |
Формат сообщения | Изменить почтовый ящик (строковый почтовый ящик) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Модифицировать JM. |
Название объекта полученного сообщения | Модифицировать JM. |
Название сообщения | Сменить адрес |
Формат сообщения | Изменить адрес (строковый адрес) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Модифицировать JM. |
Название объекта полученного сообщения | Модифицировать JM. |
Название сообщения | Сохранить личную информацию |
Формат сообщения | Сохранить личную информацию () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Модифицировать JM. |
Название объекта полученного сообщения | grxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | grxx |
Название объекта полученного сообщения | zxgw |
(4) Поиск клиента Диаграмма последовательности продукта
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | customer |
Название объекта полученного сообщения | zxgw |
Название сообщения | Поиск товаров |
Формат сообщения | Поиск товаров () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Поиск kz. |
Название сообщения | Поиск товаров |
Формат сообщения | Поиск товаров (ключевое слово char) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Поиск kz. |
Название объекта полученного сообщения | Поиск JM. |
Название сообщения | Просматривать товары |
Формат сообщения | Просматривать товары () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Поиск JM. |
Название объекта полученного сообщения | Поиск JM. |
Название сообщения | Показать информацию о продукте |
Формат сообщения | Показать информацию о продукте () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Поиск JM. |
Название объекта полученного сообщения | spxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | spxx |
Название объекта полученного сообщения | zxgw |
(5) Диаграмма последовательности заказа клиентов
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | customer |
Название объекта полученного сообщения | zxgw |
Название сообщения | проверка заказа |
Формат сообщения | Проверка заказа () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Query KZ. |
Название сообщения | Проверьте заказ |
Формат сообщения | Проверьте заказ () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Query KZ. |
Название объекта полученного сообщения | Запрос JM. |
Название сообщения | Проверьте заказ |
Формат сообщения | Просмотр заказа (строковый номер заказа) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Запрос JM. |
Название объекта полученного сообщения | Запрос JM. |
Название сообщения | Проверьте заказ |
Формат сообщения | Просмотр заказа (String Account, String Password) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Запрос JM. |
Название объекта полученного сообщения | Запрос JM. |
Название сообщения | Показать информацию о заказе |
Формат сообщения | Показать информацию о заказе () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Запрос JM. |
Название объекта полученного сообщения | ddxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | ddxx |
Название объекта полученного сообщения | zxgw |
(6) Техническое обслуживание клиентов Диаграмма последовательности
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | customer |
Название объекта полученного сообщения | zxgw |
Название сообщения | Поддерживать корзину |
Формат сообщения | Поддерживать корзину () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Поддерживать kz. |
Название сообщения | Поддерживать корзину |
Формат сообщения | Поддерживать корзину () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Поддерживать kz. |
Название объекта полученного сообщения | Техническое обслуживание JM. |
Название сообщения | Изменить количество предметов |
Формат сообщения | Изменить количество элемента (строковый продукт штрих-код, INT Количество) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Техническое обслуживание JM. |
Название объекта полученного сообщения | Техническое обслуживание JM. |
Название сообщения | Проверьте корзину |
Формат сообщения | Проверьте корзину () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Техническое обслуживание JM. |
Название объекта полученного сообщения | Техническое обслуживание JM. |
Название сообщения | Удалить товары |
Формат сообщения | Удалить товары (строковый продукт штрих-код) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Техническое обслуживание JM. |
Название объекта полученного сообщения | Техническое обслуживание JM. |
Название сообщения | Сохранить информацию о корзине покупок |
Формат сообщения | Сохранить информацию о корзине () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Техническое обслуживание JM. |
Название объекта полученного сообщения | gwc |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | gwc |
Название объекта полученного сообщения | zxgw |
(7) Диаграмма последовательности продукта покупки клиента
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | customer |
Название объекта полученного сообщения | zxgw |
Название сообщения | Покупка товаров |
Формат сообщения | Купить товары () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Купить kz. |
Название сообщения | Покупка товаров |
Формат сообщения | Купить товары () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Купить kz. |
Название объекта полученного сообщения | Купить JM. |
Название сообщения | Покупка товаров |
Формат сообщения | Купить товары () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Купить JM. |
Название объекта полученного сообщения | Купить JM. |
Название сообщения | Сохранить информацию о заказе |
Формат сообщения | Сохранить информацию о заказе () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Купить JM. |
Название объекта полученного сообщения | ddxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | ddxx |
Название объекта полученного сообщения | zxgw |
(8) Оценка клиентов Диаграмма последовательности продукта
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | customer |
Название объекта полученного сообщения | zxgw |
Название сообщения | Оценить товары |
Формат сообщения | Оценка () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка кз |
Название объекта полученного сообщения | Оценка JM. |
Название сообщения | Оценить товары |
Формат сообщения | Предмет оценки (строковый продукт штрих-код) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка кз |
Название объекта полученного сообщения | Оценка JM. |
Название сообщения | Оценка |
Формат сообщения | Струнная оценка) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка JM. |
Название объекта полученного сообщения | Оценка JM. |
Название сообщения | Сохранить информацию об оценке |
Формат сообщения | Сохранить информацию об оценке () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка JM. |
Название объекта полученного сообщения | pjxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | pjxx |
Название объекта полученного сообщения | zxgw |
(9) Диаграмма последовательности продукта управления администратором
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | manager |
Название объекта полученного сообщения | zxgw |
Название сообщения | Управление товарами |
Формат сообщения | Управление товарами () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Товар kz. |
Название сообщения | Управление товарами |
Формат сообщения | Управление товарами |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Товар kz. |
Название объекта полученного сообщения | Продукт JM. |
Название сообщения | Добавить товар |
Формат сообщения | Добавить товары (Информация о классе продукта) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Продукт JM. |
Название объекта полученного сообщения | Продукт JM. |
Название сообщения | Удалить товары |
Формат сообщения | Удалить товары (строковый продукт штрих-код) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Продукт JM. |
Название объекта полученного сообщения | Продукт JM. |
Название сообщения | Посмотреть товары |
Формат сообщения | Посмотреть товары (строковый продукт штрих-код) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Продукт JM. |
Название объекта полученного сообщения | Продукт JM. |
Название сообщения | Модифицировать товары |
Формат сообщения | Изменить элемент (строковый продукт штрих-код) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Продукт JM. |
Название объекта полученного сообщения | Продукт JM. |
Название сообщения | Сохранить информацию о продукте |
Формат сообщения | Сохранить информацию о продукте () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Продукт JM. |
Название объекта полученного сообщения | spxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | spxx |
Название объекта полученного сообщения | zxgw |
(10) Диаграмма последовательности консультации на обслуживание клиентов
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | kf |
Название объекта полученного сообщения | zxgw |
Название сообщения | Консультация по управлению |
Формат сообщения | Консультация по управлению () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Проконсультируйтесь с КЗ |
Название сообщения | Консультация по управлению |
Формат сообщения | Консультация по управлению () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Проконсультируйтесь с КЗ |
Название объекта полученного сообщения | Проконсультироваться |
Название сообщения | Ответить на проконсультирование |
Формат сообщения | Ответить на проконсультироваться (String Reply) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Проконсультироваться |
Название объекта полученного сообщения | Проконсультироваться |
Название сообщения | Просмотр консультаций |
Формат сообщения | Просмотр консультаций () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Проконсультироваться |
Название объекта полученного сообщения | Проконсультироваться |
Название сообщения | Сохранить информацию о ответе |
Формат сообщения | Сохранить информацию о ответе () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Проконсультироваться |
Название объекта полученного сообщения | pjxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | pjxx |
Название объекта полученного сообщения | zxgw |
(11) Управлять диаграммой последовательности порядка
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | manager |
Название объекта полученного сообщения | zxgw |
Название сообщения | Управленческий заказ |
Формат сообщения | Управленческий заказ |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Заказать КЗ |
Название сообщения | Управленческий заказ |
Формат сообщения | Управленческий заказ |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Заказать КЗ |
Название объекта полученного сообщения | Заказать JM. |
Название сообщения | Проверьте заказ |
Формат сообщения | Просмотр заказа (строковый номер заказа) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Заказать JM. |
Название объекта полученного сообщения | Заказать JM. |
Название сообщения | Изменить заказ |
Формат сообщения | Изменить заказ (номер строки заказа, новая информация о классе) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Заказать JM. |
Название объекта полученного сообщения | Заказать JM. |
Название сообщения | Удалить заказы |
Формат сообщения | Удалить заказ (строковый номер заказа) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Заказать JM. |
Название объекта полученного сообщения | Заказать JM. |
Название сообщения | Сохранить информацию о заказе |
Формат сообщения | Сохранить информацию о заказе () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Заказать JM. |
Название объекта полученного сообщения | ddxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | ddxx |
Название объекта полученного сообщения | zxgw |
(12) Диаграмма последовательности оценки управления
Название сообщения | Войти в систему |
Формат сообщения | Войти в систему () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | kf |
Название объекта полученного сообщения | zxgw |
Название сообщения | Оценка управления |
Формат сообщения | Оценка управления () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | zxgw |
Название объекта полученного сообщения | Оценка управления JZ. |
Название сообщения | Оценка управления |
Формат сообщения | Оценка управления |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка управления KZ. |
Название объекта полученного сообщения | Оценка управления JM. |
Название сообщения | Просмотр обзора |
Формат сообщения | Просмотр оценки () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка управления JM. |
Название объекта полученного сообщения | Оценка управления JM. |
Название сообщения | Оценка ответа |
Формат сообщения | Оценка ответа (строковый штрих-код продукта, учетная запись пользователя строки, оценка строки) |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка управления JM. |
Название объекта полученного сообщения | Оценка управления JM. |
Название сообщения | Сохранить информацию об оценке |
Формат сообщения | Сохранить информацию об оценке () |
Тип сообщения | Синхронное сообщение |
Отправить имя сообщения | Оценка управления JM. |
Название объекта полученного сообщения | pjxx |
Название сообщения | Вернуться на главную страницу |
Формат сообщения | Вернуться на главную страницу |
Тип сообщения | Ответить сообщение |
Отправить имя сообщения | pjxx |
Название объекта полученного сообщения | zxgw |
4. Другие описания, связанные с диаграммой последовательности
На диаграмме последовательности в системе порядок выполнения функций каждой подфункции указан на диаграмме последовательности, а класс управления системы и границ выражены. Поскольку каждая из функций интернет-магазинов должна дождаться системного ответа, диаграмма последовательности синхронизируется.
Моделирование взаимодействий
Взаимодействие между объектами в системе представляются диаграммами взаимодействия (interaction diagrams).
Как правило, диаграмма взаимодействия используется для описания поведения в рамках одного варианта использования. На такой диаграмме изображается ряд объектов и те сообщения, которыми они обмениваются в рамках этого варианта использования.
Диаграммы взаимодействия подразделяются на два основных типа диаграмм: диаграммы последовательности (sequence diagrams) и кооперативные диаграммы (collaboration diagrams). Эти диаграммы позволяют с разных точек зрения рассмотреть взаимодействие объектов в создаваемой системе.
Диаграммы последовательности и кооперативные диаграммы несут в себе одну информацию, но выраженную разными способами. Диаграммы последовательности показывают взаимодействие объектов во времени и отражают последовательность происходящих событий. На диаграмме не отражаются связи между объектами.
Основными элементами диаграммы последовательности являются обозначения объектов (прямоугольники), вертикальные линии, отображающие течение времени при деятельности объекта, и стрелки, показывающие выполнение действий объектами.
Кооперативные диаграммы позволяют пространственно располагать объекты, для того чтобы лучше представить взаимодействие между объектами. Временная последовательность передаваемых сообщений отражается при помощи нумерации сообщений.
Рассмотрим модели взаимодействий для каждого варианта использования проектируемой системы.
Авторизация
Рисунок 14. Диаграмма последовательности для основного потока прецедента «Авторизация»
Рисунок 15. Диаграмма кооперации для основного потока прецедента «Авторизация»
В процессе моделирования взаимодействий возникла необходимость в создании нескольких объектов классов, которые представлены на диаграмме. Это такие пограничные классы, как Форма авторизации и главная форма, с которыми непосредственно работают субъекты, а так же управляющий класс Управление авторизацией.
Пользователь запускает систему и отображается форма авторизации, в которой предлагается ввести логин и пароль. После того как все поля этого окна заполнены, активируется кнопка Вход и запускается авторизация. В результате этого управление передается классу Управление авторизацией, который проверяет корректность заполнения полей (например, раскладку клавиатуры) и отправляет классу Пользователь запрос. Тот класс в свою очередь проверяет соответствие логина и пароля и, если они верны, определяет тип субъекта и отправляет сообщение классу Управление авторизации, который передает управление Главной форме системы.
Если же пароль и логин не соответствуют, то отображается сообщение об ошибке на форме авторизации, что показано на Рис. 16 и 17.
Рисунок 16. Диаграмма последовательности для альтернативного потока прецедента «Авторизация»
Рисунок 17. Диаграмма кооперации для альтернативного потока прецедента «Авторизация»
Восстановление пароля
Рисунок 18. Диаграмма последовательности для основного потока прецедента «Восстановление пароля»
Рисунок 19. Диаграмма кооперации для основного потока прецедента «Восстановление пароля»
Для этого прецедента тоже были добавлены 2 класса. Управляющий класс Восстановление и пограничный класс Форма восстановления.
Пользователь инициирует восстановление пароля на форме авторизации, и отображается форма восстановления пароля, в которую вводятся логин и новый пароль(2 раза). Когда все поля заполнены, активизируется кнопка восстановления пароля. Пользователь запускает восстановление, и управление переходит к классу Восстановление. После того, как этот класс получит введенные логин и пароль, он проверяет корректность их ввода (раскладку клавиатуры, идентичность пароля при первичном и вторичном вводе).
Далее, если все данные введены правильно, класс Восстановление отправляет классу Пользователь сообщение, чтобы он проверил наличие введенного логина. В противном случае, отображается сообщение об ошибке, как показано на Рис. 20 Класс Пользователь проверяет наличие принятого логина в базе и, если он найден, отправляет классу Восстановление номер телефона, к которому он привязан. Если же нет, то отображается сообщение об ошибке (см. Рис. 22 и 23).
Рисунок 20. Диаграмма последовательности для первого альтернативного потока прецедента «Восстановление пароля»
Рисунок 21. Диаграмма кооперации для первого альтернативного потока прецедента «Восстановление пароля»
После получения номера телефона, класс Восстановление генерирует и отправляет на принятый номер код восстановления, после чего на форме восстановления отображается поле для ввода кода. Пользователь вводит полученный код и инициирует сохранение нового пароля. Управление снова переходит к классу Восстановление, который проверяет количество ошибочных вводов и если оно меньше 3, сравнивает сгенерированный код с полученным с формы кодом. Если они совпадают, то он отправляет сообщение классу Пользователь о сохранении нового пароля. После чего отображается форма Авторизации. Иначе отображается сообщение о неверности кода. Если число неверных вводов превышает 3, то повторный ввод кода восстановления запрещается и отображается соответствующее сообщение.
Рисунок 22. Диаграмма последовательности для второго альтернативного потока прецедента «Восстановление пароля»
Рисунок 23. Диаграмма кооперации для второго альтернативного потока прецедента «Восстановление пароля»
Рисунок 24. Диаграмма последовательности для третьего альтернативного потока прецедента «Восстановление пароля»
Рисунок 25. Диаграмма кооперации для третьего альтернативного потока прецедента «Восстановление пароля»
Рисунок 26. Диаграмма последовательности для четвертого альтернативного потока прецедента «Восстановление пароля»
Рисунок 27. Диаграмма кооперации для четвертого альтернативного потока прецедента «Восстановление пароля»
Так же пользователь может на любом из шагов отменить восстановление пароля (см. Рис. 28-31).
Рисунок 28. Диаграмма последовательности для прецедента «Восстановление пароля» при отмене на этапе ввода логина и пароля
Рисунок 29. Диаграмма кооперации для прецедента «Восстановление пароля» при отмене на этапе ввода логина и пароля
Рисунок 30. Диаграмма последовательности для прецедента «Восстановление пароля» при отмене на этапе ввода кода восстановления
Рисунок 31. Диаграмма последовательности для прецедента «Восстановление пароля» при отмене на этапе ввода кода восстановления
Поиск ресурсов
Для данного прецедента так же были добавлены один пограничный и один управляющий класс, Форма поиска и Поиск соответственно. Пользователь инициирует поиск, открывая соответствующее окно. Туда он вводит запрос на поиск и запускает его. Управление переходит к классу Поиск, который получает критерий для поиска. Затем класс Поиск отправляет классу Ресурс сообщение с критерием поиска. Ресурс выполняет поиск и передает его результаты обратно классу Поиск, который в свою очередь строит список результатов в Форме поиска.
Возможно так же, что будет введен критерий, которому нет соответствий в базе. Тогда на Форме поиска будет отображено сообщение о том, что поиск не дал результатов (см. Рис 34 и 35).
Рисунок 32. Диаграмма последовательности для основного потока прецедента «Поиск ресурсов»
Рисунок 33. Диаграмма кооперации для основного потока прецедента «Поиск ресурсов»
Рисунок 34. Диаграмма последовательности для альтернативного потока прецедента «Поиск ресурсов»
Рисунок 35. Диаграмма последовательности для альтернативного потока прецедента «Поиск ресурсов»
Так же у пользователя есть возможность проведения уточнения поиска, если результаты неудовлетворительны. Тогда после вышеуказанных действий, пользователь инициирует уточнение поиска. Вводит дополнительный критерий в поле на Окне поиска. Окно поиска передает критерий вместе с управлением классу Поиск, который производит дополнительный поиск в результатах, полученных ранее от класса Ресурс, а потом формирует список результатов на Форме поиска.
Рисунок 36. Диаграмма последовательности для прецедента «Поиск ресурсов» при условии уточнения запроса
Рисунок 37. Диаграмма кооперации для прецедента «Поиск ресурсов» при условии уточнения запроса
Помимо уточнения, пользователь может так же отсортировать результаты поиска по релевантности и по дате обновления. Это так же делается с помощью класса Поиск после построения списка результатов поиска.
Для каждого из видов сортировки есть отдельная кнопка на Форме поиска. Поэтому необходимости создания формы, с помощью которой будет производиться выбор признака сортировки, нет.
Пользователь инициирует сортировку по релевантности (дате обновления). Форма поиска отправляет признак сортировки классу Поиск и передает ему управление. После принятия признака сортировки класс Поиск упорядочивает результаты согласно принятому критерию и строит отсортированный список на форме поиска.
Диаграммы взаимодействий для сортировки по релевантности и по дате обновления представлены на Рис. 38-39 и 40-41 соответственно.
Рисунок 38. Диаграмма последовательности для прецедента «Поиск ресурсов» при условии сортировки по релевантности
Рисунок 39 . Диаграмма кооперации для прецедента «Поиск ресурсов» при условии сортировки по релевантности
Рисунок 40. Диаграмма последовательности для прецедента «Поиск ресурсов» при условии сортировки по дате обновления
Рисунок 41. Диаграмма кооперации для прецедента «Поиск ресурсов» при условии сортировки по дате обновления
Просмотр информации о пользователях
Так как в проектируемой системе два типа пользователя с различными правами (пользователь может просматривать и редактировать только свою личную информацию, а администратор может просматривать учетные записи всех пользователей без возможности редактирования, но может их блокировать), то для каждого из них была создана отдельная форма просмотра, пользовательская и администраторская. Для пользователя имеет место добавить форму редактирования личных данных, а так же управляющие классы Редактирование личных данных и Управление просмотром. А для администратора создается Управляющий класс Блокировка. Так же целесообразно ввести форму выбора действия для исключения возможных «случайных» блокировок пользователей.
Рисунок 42. Диаграмма последовательности для основного потока прецедента «Просмотр информации о пользователях» для обычного пользователя
Рисунок 43. Диаграмма кооперации для основного потока прецедента «Просмотр информации о пользователях» для обычного пользователя
Функция просмотра личных данных инициируется пользователем с главной формы. Управляющий класс Управление просмотром получает информацию об инициирующем пользователе. С помощью класса Пользователь проверяется тип пользователя. Если это обычный пользователь, то открывается форма просмотра личной информации. С этой формы пользователь инициирует редактирование личной информации, после чего открывается соответствующая форма. В нее пользователь вносит желаемые изменения и инициирует сохранение. После этого действия управление переходит к классу Редактирование личных данных. Он проверяет корректность введенной информации (нет ли незаполненных полей), после чего, если нет ошибок в воде, отправляет сообщение классу Пользователь о сохранении изменений. Получив отчет о сохранении, он выводит на форму просмотра личных данных сообщение об успешном выполнении операции.
Если при вводе изменений, какие-то поля остались незаполненными, система класс Редактирование личных данных отображает сообщение об ошибке на форму редактирования личных данных (см. Рис. 44-45).
Рисунок 44. Диаграмма последовательности для альтернативного потока прецедента «Просмотр информации о пользователях» для обычного пользователя
Рисунок 45. Диаграмма кооперации для альтернативного потока прецедента «Просмотр информации о пользователях» для обычного пользователя
Если же при проверке типа пользователя было выявлено, что просмотреть информацию о пользователях желает администратор, то отображается администраторская форма просмотра. На ней построен список всех пользователей, отсортированный по дате обновления и по факту просмотра. Администратор выбирает пользователя, информацию о котором нужно просмотреть и вызывает функцию просмотра. Класс управление просмотром принимает код выбранного пользователя и запрашивает его данные у класса Пользователь. После того как получена информация о выбранном пользователе, отображается форма просмотра данных пользователя. Атрибуту Просмотр класса пользователь присваивается значение 1(«просмотрен»). После просмотра администратор инициирует возврат к предыдущей форме, после чего отображается администраторская форма просмотра.
Если при просмотре пользовательских данных были выявлены нарушения, то администратор может инициировать блокировку, с помощью специальной кнопки на форме просмотра данных пользователя. За этим действием следует отображение формы выбора действия, с помощью которой администратор может продолжить блокировку или же отменить ее, если он по каким-либо причинам передумал.
Если все-таки блокировка подтверждена, то с формы просмотра данных пользователя к классу Блокировка передается логин блокируемого и его e-mail. Пользователю с этим логином блокируется доступ к просмотру ресурсов с присвоением атрибуту Блокировка класса Пользователь значения 1(«заблокирован»), а на e-mail отправляется информация о том, что его владелец заблокирован. После выполнения указанных действий отображается Администраторская форма просмотра.
Как было сказано ранее, администратор может так же отменить блокировку. Если это произошло, то без внесения каких-либо изменений отображается форма просмотра данных пользователя.
На следующих рисунках представлены диаграммы последовательности и кооперации для просмотра данных пользователя без блокировки, с блокировкой и с отменой блокировки соответственно.
Рисунок 46. Диаграмма последовательности для основного потока прецедента «Просмотр информации о пользователях» для администратора
Рисунок 47. Диаграмма кооперации для основного потока прецедента «Просмотр информации о пользователях» для администратора
Рисунок 48. Диаграмма последовательности для основного потока прецедента «Просмотр информации о пользователях» для администратора с блокировкой
Рисунок 49. Диаграмма кооперации для основного потока прецедента «Просмотр информации о пользователях» для администратора с блокировкой
Рисунок 50. Диаграмма последовательности для основного потока прецедента «Просмотр информации о пользователях» для администратора с отменой блокировки
Рисунок 51. Диаграмма кооперации для основного потока прецедента «Просмотр информации о пользователях» для администратора с отменой блокировки
Просмотр ресурсов
Как и в прецеденте «Просмотр информации о пользователях» в этом прецеденте предусмотрены различные права для обычного пользователя и для администратора. Но необходимости в создании двух различных форм нет, так как разница заключается лишь в том, что администратор может удалять нежелательные ресурсы. Поэтому эту проблему можно решить с помощью кнопки «Удалить», которая доступна администратору в отличии от рядового пользователя. Поэтому для данного прецедента создается только одна форма просмотра ресурса и управляющий класс Просмотр.
Пользователь инициирует просмотр выбранного ресурса. После этого управление переходит к классу Просмотр. Он принимает информацию о выбранном ресурсе, а так же проверяет тип пользователя желающего просмотреть ресурс с участием класса Пользователь. В зависимости от этого на открывающейся форме просмотра ресурсов отображается или не отображается кнопка «Удалить».
Форма просмотра отображает выбранный ресурс с помощью принятой от класса Просмотр информации о нем. При этом автоматически увеличивается значение атрибута «Рейтинг» в классе Ресурс. Если просматривает администратор, то изменяется значение атрибута «Просмотр» на 1. Далее субъект инициирует возврат на предыдущую форму и отображается форма поиска или главная форма, в зависимости от того с какой из них был запущен просмотр.
Администратор может так же на стадии просмотра ресурса инициировать удаление. Тогда отображается форма выбора, с помощью которой удаление может быть продолжено или отменено.
При выборе продолжения, вызывается функция CRUD ресурсов (о ней будет рассказано позже), которая принимает информацию, необходимую для удаления ресурса (Код ресурса), и отправляет ее классу Ресурс для выполнения операции.
После того как ресурс удален, управляющему классу CRUD ресурсов будет направлено сообщение с отчетом о выполнении удаления, а он в свою очередь отображает соответствующую информацию на форме с которой был запущен просмотр.
Если же выбрана отмена операции, то отображается форма просмотра ресурса, с которой уже может быть инициирован возврат к предыдущей форме.
Далее на рисунках представлены диаграммы взаимодействий для пользовательского просмотра, администраторского просмотра, просмотра с удалением и просмотра с отменой удаления соответственно.
Рисунок 52 . Диаграмма последовательности для основного потока прецедента «Просмотр ресурсов» для обычного пользователя
Рисунок 53. Диаграмма кооперации для основного потока прецедента «Просмотр ресурсов» для обычного пользователя
Рисунок 54 . Диаграмма последовательности для основного потока прецедента «Просмотр ресурсов» для администратора
Рисунок 55. Диаграмма кооперации для основного потока прецедента «Просмотр ресурсов» для администратора
Рисунок 56. Диаграмма последовательности для основного потока прецедента «Просмотр ресурсов» для администратора с удалением
Рисунок 57. Диаграмма кооперации для основного потока прецедента «Просмотр ресурсов» для администратора с удалением
Рисунок 58. Диаграмма последовательности для основного потока прецедента «Просмотр ресурсов» для администратора с отменой удаления
Рисунок 59. Диаграмма кооперации для основного потока прецедента «Просмотр ресурсов» для администратора с отменой удаления
Регистрация
Регистрация инициируется пользователем с формы авторизации. Отображается форма регистрации, в которую пользователь должен ввести свои данные. После того как все поля заполнены, активируется кнопка регистрация. Пользователь запускает регистрацию. Управление переходит к управляющему классу Регистрация, созданному специально для данного прецедента. Этот класс проверяет корректность ввода данных и, если все нормально, проверяет номер телефона, введенный пользователем на повторение с помощью класса Пользователь. Если номер не повторяется, то класс Пользователь разрешает регистрацию новой учетной записи классу Регистрация. Тот в свою очередь генерирует и отправляет на указанный телефон код активации и отображает форму активации. В нее вводится код активации. После заполнения поля, на форме активируется кнопка «Активировать». Пользователь активирует учетную запись. С формы активации к классу Регистрация передается введенный код активации и ,если он совпадает с сгенерированным, отправляет введенные пользователем данные при регистрации классу Пользователь, для создания нового объекта класса. После того, как новая запись сохранена, отображается форма авторизации. На каждом из этих этапов (создание и активация учетной записи) регистрация может быть отменена. В любом случае после отмены отображается форма авторизации.
Так же возможны 4 альтернативных потока. Первый – при вводе некорректных данных (класс регистрация отображает сообщение об ошибке на форму регистрации), второй – при попытке регистрации по уже зарегистрированному номеру телефона (класс Пользователь не разрешает регистрацию, и класс Регистрация отображает сообщение об ошибке на форму регистрации), третий – при введении неверного кода активации (класс регистрация отображает сообщение об ошибке на форму активации) и четвертый – при превышении максимального числа ошибок ввода кода активации (класс Регистрация блокирует активацию учетной записи и предлагает попробовать позже).
Рисунок 60. Диаграмма последовательности для основного потока прецедента «Регистрация»
Рисунок 61. Диаграмма кооперации для основного потока прецедента «Регистрация»
Рисунок 62. Диаграмма последовательности для первого альтернативного потока прецедента «Регистрация»
Рисунок 63. Диаграмма кооперации для первого альтернативного потока прецедента «Регистрация»
Рисунок 64. Диаграмма последовательности для второго альтернативного потока прецедента «Регистрация»
Рисунок 65. Диаграмма кооперации для второго альтернативного потока прецедента «Регистрация»
Рисунок 66. Диаграмма последовательности для третьего альтернативного потока прецедента «Регистрация»
Рисунок 67. Диаграмма кооперации для третьего альтернативного потока прецедента «Регистрация»
Рисунок 68. Диаграмма последовательности для четвертого альтернативного потока прецедента «Регистрация»
Рисунок 69. Диаграмма кооперации для четвертого альтернативного потока прецедента «Регистрация»
Рисунок 70. Диаграмма последовательности для основного потока прецедента «Регистрация» с отменой на стадии создания учетной записи
Рисунок 71. Диаграмма кооперации для основного потока прецедента «Регистрация» с отменой на стадии создания учетной записи
Рисунок 72. Диаграмма последовательности для основного потока прецедента «Регистрация» с отменой на стадии активации
Рисунок 73. Диаграмма кооперации для основного потока прецедента «Регистрация» с отменой на стадии активации
CRUD ресурсов
В целях упрощения восприятия и уменьшения громоздкости диаграмм построим для каждого типа действия отдельную модель взаимодействия.
Добавление ресурса.
Для выполнения этого вида действия возникла необходимость в создании формы просмотра ресурсов добавленных пользователем, формы добавления ресурса и управляющего класса CRUD ресурсов.
Пользователь отображает форму просмотра собственных ресурсов и выбирает добавление нового ресурса. После этого отображается форма добавления ресурса. Пользователь вводит необходимую информацию о ресурсе и выбирает раздел из списка, построенного с помощью класса Раздел. Если нужный раздел отсутствует, то пользователь может добавить новый раздел.
Когда все поля заполнены, активируется кнопка сохранения. Пользователь инициирует сохранение и отображается форма выбора действия, с помощью которой пользователь может сохранить ресурс либо отменить сохранение. Если пользователь подтверждает сохранение, то с формы добавления ресурсов к управляющему классу CRUD ресурсов отправляются все данные введенные пользователем для сохранения. Этот класс генерирует код ресурса и отправляет информацию пользователя (уже с кодом) классу Ресурс, который сохраняет информацию о новом ресурсе.
Далее класс Ресурс отправляет управляющему классу CRUD ресурсов отчет о выполнении операции, а он в свою очередь отображает форму просмотра ресурсов добавленных пользователем с сообщением об успешном выполнении операции.
Если же пользователь выбрал отмену сохранения ресурса, то после формы выбора действия отображается форма просмотра ресурсов добавленных пользователем.
Рисунок 74. Диаграмма последовательности для основного потока прецедента «CRUD ресурсов» при добавлении нового ресурса
Рисунок 75. Диаграмма кооперации для основного потока прецедента «CRUD ресурсов» при добавлении нового ресурса
Рисунок 76. Диаграмма последовательности для основного потока прецедента «CRUD ресурсов» при отмене сохранения нового ресурса
Рисунок 77. Диаграмма кооперации для основного потока прецедента «CRUD ресурсов» при отмене сохранения нового ресурса
Рисунок 78. Диаграмма последовательности для основного потока прецедента «CRUD ресурсов» при добавлении нового раздела
Рисунок 79. Диаграмма кооперации для основного потока прецедента «CRUD ресурсов» при добавлении нового раздела
Изменение информации о ресурсе
Для выполнения этого вида действия возникла необходимость в создании формы изменения ресурса.
Пользователь выбирает из списка ресурс, который желает изменить и инициирует изменение. Открывается форма изменения ресурса, пользователь редактирует все необходимые поля, после чего активируется кнопка сохранить изменения. Пользователь инициирует сохранение ресурса. Далее все действия аналогичны действиям при сохранении нового ресурса, кроме того, что в классе Ресурс не добавляется новый ресурс, а изменяется уже существующий. Поэтому нет необходимости их подробно рассматривать. Диаграммы последовательности и кооперации приведены на представленных ниже рисунках. Добавление раздела представлено на Рис. 78-79.
Рисунок 80. Диаграмма последовательности для основного потока прецедента «CRUD ресурсов» при изменении ресурса
Рисунок 81. Диаграмма кооперации для основного потока прецедента «CRUD ресурсов» при изменении ресурса
Рисунок 82. Диаграмма последовательности для основного потока прецедента «CRUD ресурсов» при отмене изменения ресурса
Рисунок 83. Диаграмма кооперации для основного потока прецедента «CRUD ресурсов» при отмене изменения ресурса
Удаление ресурса
Удаление ресурса так же инициируется пользователем с формы просмотра его собственных ресурсов. После этого отображается форма выбора действия. Если пользователь подтвердил удаление, то с формы просмотра добавленных ресурсов управляющему классу CRUD ресурсов отправляется код выбранного ресурса, который тот направляет классу Ресурс, который удаляет ресурс, с принятым кодом, и отправляет управляющему классу отчет о выполнении операции. Он в свою очередь отображает форму просмотра ресурсов, добавленных пользователем, на которой отображается сообщение об успешном удалении ресурса.
Если же пользователь выбрал отмену удаления, то система отображает обратно форму просмотра ресурсов добавленных пользователем.
Рисунок 84. Диаграмма последовательности для основного потока прецедента «CRUD ресурсов» при удалении ресурса
Рисунок 85. Диаграмма кооперации для основного потока прецедента «CRUD ресурсов» при удалении ресурса
Рисунок 86. Диаграмма последовательности для основного потока прецедента «CRUD ресурсов» при отмене удаления ресурса
Рисунок 87. Диаграмма кооперации для основного потока прецедента «CRUD ресурсов» при отмене удаления ресурса
Выход из системы
Выход из системы инициируется пользователем с главной формы. После этого отображается форма выбора действия в которой предлагается либо подтвердить выход, либо отменить его.
Если пользователь выбрал продолжить выход, то управляющий класс Управление авторизацией запрещает доступ к системе и отображает форму авторизации.
Если же была выбрана отмена, то система возвращается на главную форму.
Диаграммы последовательности и кооперации для данного прецедента представлены на рисунках 88-91.
Рисунок 88. Диаграмма последовательности для основного потока прецедента «Выход из системы»
Рисунок 89. Диаграмма кооперации для основного потока прецедента «Выход из системы»
Рисунок 90. Диаграмма последовательности для основного потока прецедента «Выход из системы» при отмене выхода
Рисунок 91. Диаграмма кооперации для основного потока прецедента «Выход из системы» при отмене выхода