Отчёт (1158758), страница 2
Текст из файла (страница 2)
Вариант использования Редактировать сообщение:
Краткое описание
Данный вариант использования позволяет пользователю изменить своё сообщение в форуме.
Основной поток событий
Данный вариант использования начинает выполняться, когда пользователь хочет изменить сообщение.
1. Пользователь находит в форуме сообщение, которое хочет отредактировать.
2. Пользователь редактирует сообщение и подтверждает изменения.
3. Система вносит соответствующие изменения в базу форума.
Альтернативные потоки
Сообщение недоступно для редактирования
Если система обнаружит, что с момента создания сообщения прошло больше двух недель, то пользователю будет выдано сообщение о невозможности редактирования данного сообщения.
Предусловия
Перед началом выполнения данного варианта использования пользователь должен войти в форум и обладать правом на редактирование сообщений.
Постусловия
Если вариант использования завершится успешно, сообщение будет отредактировано. В противном случае база форума не изменится.
Вариант использования Начать тему:
Краткое описание
Данный вариант использования позволяет пользователю добавить свою тему в форум.
Основной поток событий
Данный вариант использования начинает выполняться, когда пользователь хочет добавить тему.
1. Пользователь заполняет форму на странице раздела и создаёт новую тему.
2. Система добавляет тему в базу форума.
Предусловия
Перед началом выполнения данного варианта использования пользователь должен войти в форум и обладать правом на создание тем.
Постусловия
Если вариант использования завершится успешно, будет добавлена тема. В противном случае база форума не изменится.
Вариант использования Наказать пользователя:
Краткое описание
Данный вариант использования позволяет модератору лишить выбранного пользователя возможности добавлять или редактировать сообщения.
Основной поток событий
Данный вариант использования начинает выполняться, когда модератор хочет лишить выбранного пользователя возможности добавлять или редактировать сообщения.
1. Модератор ищет нужного пользователя.
2. Модератор устанавливает соответствующие запреты.
3. Система соответственно изменяет базу пользователей.
Предусловия
Перед началом выполнения данного варианта использования пользователь должен войти в форум и иметь права модератора.
Постусловия
Если вариант использования завершится успешно, права пользователя будут изменены в базе. В противном случае база пользователей не изменится.
Вариант использования Модерировать форум:
Краткое описание
Данный вариант использования позволяет модератору редактировать и удалять сообщения, переносить темы в другой раздел.
Основной поток событий
Данный вариант использования начинает выполняться, когда модератор в процессе просмотра форума хочет отредактировать или удалить сообщение, перенести тему.
1. Модератор находит интересующее его сообщение и выбирает действие (редактировать или удалить).
2. Система переходит на соответствующую страницу.
3. Выполняется один из подчинённых потоков (редактировать или удалить сообщение)
Редактировать сообщение
1. Модератор редактирует сообщение и подтверждает изменения.
2. Система соответственно изменяет базу форума.
Удалить сообщение
1. Модератор подтверждает удаление.
2. Система удаляет сообщение из базы форума.
Альтернативные потоки
Перенести тему
1. Модератор находит тему и выбирает действие ‘перенести в другой раздел’.
2. Система переходит на страницу со списком разделов.
3. Модератор выбирает раздел, в который хочет перенести тему.
4. Система соответственно изменяет базу форума.
Предусловия
Перед началом выполнения данного варианта использования пользователь должен войти в форум и иметь права модератора.
Постусловия
Если вариант использования завершится успешно, будут внесены соответствующие изменения в базу форума. В противном случае база не изменится.
Вариант использования Управление правами пользователей:
Краткое описание
Данный вариант использования позволяет администратору менять список доступных возможностей для выбранного пользователя.
Основной поток событий
Данный вариант использования начинает выполняться, когда администратор хочет изменить права пользователя.
1. Администратор ищет нужного пользователя.
2. Администратор устанавливает права для выбранного пользователя.
3. Система соответственно изменяет базу пользователей.
Предусловия
Перед началом выполнения данного варианта использования пользователь должен войти в форум и иметь права администратора.
Постусловия
Если вариант использования завершится успешно, права пользователя будут занесены в базу. В противном случае база пользователей не изменится.
Вариант использования Работа с разделами:
Краткое описание
Данный вариант использования позволяет администратору создавать, редактировать и удалять разделы.
Основной поток событий
Данный вариант использования начинает выполняться, когда администратор хочет создать, редактировать или удалить раздел.
1. Администратор выбирает интересующий его раздел и действие (редактировать или удалить).
2. Система переходит на соответствующую страницу.
3. Выполняется один из подчинённых потоков (редактировать или удалить раздел)
Редактировать раздел
1. Администратор редактирует раздел и подтверждает изменения.
2. Система соответственно изменяет базу форума.
Удалить раздел
1. Администратор подтверждает удаление.
2. Система удаляет раздел и его содержимое из базы форума.
Альтернативные потоки
Создать раздел
1. Администратор заполняет форму.
2. Система добавляет новый раздел в базу форума.
Предусловия
Перед началом выполнения данного варианта использования пользователь должен войти в форум и иметь права администратора.
Постусловия
Если вариант использования завершится успешно, будут внесены соответствующие изменения в базу форума. В противном случае база не изменится.
Глава 3. Анализ системы
Диаграмма ключевых абстракций
Диаграммы последовательности для вариантов использования
Вариант использования Войти в форум:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Зарегистрироваться:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Просмотр форума:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Добавить сообщение:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Редактировать сообщение:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Начать тему:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Наказать пользователя:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Модерировать форум:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Управление правами пользователей:
Диаграмма последовательности
Диаграмма взаимодействующих классов
Вариант использования Работа с разделами:
Диаграмма последовательности
Глава 4. Проектирование
Иерархия проектных классов системы
Пакет Middleware содержит элементы, обеспечивающие сервисы, независящие от платформы.
Пакет Application содержит классы – элементы пользовательского интерфейса и контроллеры:
Пакет BusinessServises содержит классы – элементы, относящиеся к предметной области, подсистему и интерфейс к ней. Подсистема DBControl отвечает за работу с данными в БД: отображает объекты системы на таблицы БД, сохраняет и загружает объекты.
Описание классов
Класс MainPage
| Имя фукнции | Возвращаемый тип | Описание |
| сlickLogin () | void | Обработчик нажатия кнопки “Войти в форум” |
| displayPage () | void | Отображает главную страницу форума |
| displayWarning () | void | Отображает предупреждение |
| сlickRegister () | void | Обработчик нажатия кнопки “Зарегистрироваться” |
| selectSection () | void | Обработчик выбора секции |
| displayTopics () | void | Отображает список тем |
| selectPage () | void | Служит для выбора страницы тем |
| selectTopic () | void | Служит для выбора темы |
| displayMessages () | void | Отображает сообщения |
| selectAction () | void | Служит для выбора действия |
| displayConfirmation () | void | Отображает подтверждение |
| confirmDeletion () | void | Служит для подтверждения удаления |
Класс RegistrationForm
| Имя фукнции | Возвращаемый тип | Описание |
| register () | void | Инициация процесса регистрации |
| displayPage () | void | Отображает страницу регистрации |
| displayWarning () | void | Отображает предупреждение |
Класс MessageForm
| Имя фукнции | Возвращаемый тип | Описание |
| addMessageClick () | void | Обработчик нажатия кнопки “Добавить сообщение” |
| displayWarning () | void | Отображает предупреждение |
| editMessageClick () | void | Обработчик нажатия кнопки “Редактировать сообщение” |
| displayPage () | void | Отображает страницу |
Класс TopiсForm
| Имя фукнции | Возвращаемый тип | Описание |
| startTopic () | void | Инициация процесса создания темы |
Класс UserProfileForm
| Имя фукнции | Возвращаемый тип | Описание |
| modifyRights () | void | Изменение прав пользователя |
Класс SectionForm
| Имя фукнции | Возвращаемый тип | Описание |
| selectAction () | void | Служит для выбора действия |
| displayPage () | void | Отображает страницу |
| editSectionClick () | void | Обработчик нажатия кнопки “Редактировать секцию” |
| createSectionClick () | void | Обработчик нажатия кнопки “Создать секцию” |
| deleteSectionClick () | void | Обработчик нажатия кнопки “Удалить секцию” |
Класс LoginController
| Имя фукнции | Возвращаемый тип | Описание |
| checkLogin (login:String, password:String) | void | Проверка логина и пароля |
Класс RegistrationController
| Имя фукнции | Возвращаемый тип | Описание |
| register () | void | Инициация процесса регистрации |
| checkUserInfo () | void | Проверка информации пользователя |
Класс ViewController
| Имя фукнции | Возвращаемый тип | Описание |
| selectSection (id:Int) | void | Служит для выбора секции |
| selectPage (num:Int) | void | Служит для выбора страницы тем |
| selectTopic (id:Int) | void | Служит для выбора темы |
Класс MessageController
| Имя фукнции | Возвращаемый тип | Описание |
| addMessage () | void | Добавление сообщения |
| checkPermissions () | void | Проверка возможности изменять сообщения |
| editMessage (id:Int) | void | Редактирование сообщения |
Класс TopicController
| Имя фукнции | Возвращаемый тип | Описание |
| startTopic () | void | Создание темы |
Класс UserProfileControl
| Имя фукнции | Возвращаемый тип | Описание |
| modifyRights () | void | Изменение прав пользователя |
Класс ModerateController
| Имя фукнции | Возвращаемый тип | Описание |
| confirmDeletion () | void | Подтверждение удаления |
| selectSection (id:Int) | void | Выбор секции |
Класс SectionController
| Имя фукнции | Возвращаемый тип | Описание |
| selectAction () | void | Выбор действия |
| editSection (id:Int) | void | Изменение секции |
| createSection () | void | Создание секции |
| deleteSection (id:Int) | void | Удаление секции |
Класс User
| Имя Атрибута | Тип | Описание |
| id | Int | Идентификатор |
| login | String | Логин |
| passwordHash | String | Хеш пароля |
| isAdmin | Boolean | Является ли админом |
| isModer | Boolean | Является ли модератором |
| addMessageFlag | Boolean | Может ли добавлять сообщения |
| EditMessageFlag | Boolean | Может ли редактировать сообщения |















