- •1. Предварительное описание
- •2. Выделение прецедентов
- •2.1 Определение рамок системы
- •2.2 Определение основных исполнителей и задач
- •2.3 Описание прецедентов
- •2.4 Построение диаграммы прецедентов
- •3. Описание нефункциональных требований
- •4. Моделирование предметной области
- •5. Составление системных диаграмм последовательностей
- •6. Составление описаний операций
- •7.4 Построение диаграммы классов проектирования
- •Список литературы
4. Моделирование предметной области
Рисунок 2 - модель предметной области
5. Составление системных диаграмм последовательностей
Системная диаграмма последовательностей (СДП) — это схема, которая для определенного сценария прецедента показывает генерируемые внешними исполнителями события, их порядок, а также события, генерируемые внутри самой системы. Назначением данной диаграммы является отображение событий, передаваемых исполнителями системе через её границы. На рисунках 3-5 изображены СДП для прецедентов данного проекта.
Рисунок 3 - Авторизация
Рисунок 5 – Регистрация пользователя
Рисунок 5 – Загрузка файла в сетевое хранилище
6. Составление описаний операций
Описание операции ОП1: AddUser
Операция: AddUser(login: string, password: string, surName: string, name: string, middleName: string);
Ссылки: Прецеденты: Регистрация
Предусловия: Пользователь открыл web-страницу регистрации.
Постусловия:
● В базу данных внесена информация о новом пользователем.
Описание операции ОП2: AuthUser
Операция: AuthUser(login: string; password: string);
Ссылки: Прецеденты: Авторизация
Предусловия: Пользователь уже зарегистрирован в системе и открыл web-страницу авторизации в системе.
Постусловия:
● Пользователь попадает на персональную страницу в системе.
Описание операции ОП3: CheckLogin
Операция: CheckLogin(login: string)
Ссылки: Прецеденты: Регистрация, Авторизация
Предусловия: Пользователь при регистрации\авторизации вводит логин.
Постусловия:
● В случае регистрации происходит проверка логина на уникальность.
● В случае авторизации происходит проверка логина на соответствие с БД.
Описание операции ОП4: UploadFile
Операция: UploadFile(fileName: string, fileSize: integer)
Ссылки: Прецеденты: Загрузка файла в сетевое хранилище
Предусловия: Пользователь зарегистрирован и вошел под учетной записью и выбирает функцию загрузки файла в web-интерфейсе системы.
Постусловия:
● Происходит проверка размера файла.
● Происходит проверка свободного места данного пользователя в сетевом хранилище.
Файл загружен.
Описание операции ОП5: CheckAvalableSpace
Операция: СheckAvalableSpace(login: string);
Ссылки: Прецеденты: Загрузка файла в сетевое хранилище
Предусловия: Пользователь выбрал файл для загрузки.
Постусловия:
Система оценивает свободное пространство в сетевом хранилище данного пользователя и сравнивает его с размером загружаемого файла.
Если дискового пространства сетевого хранилища достаточно, файл успешно загружается в хранилище.
Описание операции ОП6: SetFileId
Операция: SetFileId(fileName: string);
Ссылки: Прецеденты: Загрузка файла в сетевое хранилище
Предусловия: После оценки свободного пространства в сетевом хранилище загружается файл.
Постусловия:
Загруженному файлу присваивается уникальный идентификатор и сохраняется в БД в запись пользователя.
7. Реализация прецедентов
7.1 Реализация прецедента Авторизация
Проектное решение: AuthUser
Для реализации данного проектного решения был выбран шаблон Controller GRASP. Он отвечает за обработку системных событий и определяет методы для выполнения системных операций, позволяет отделить логику от представления, тем самым повышая возможность повторного использования кода.
Диаграмма взаимодействия
Рисунок 6 - Диаграмма вход в систему
7.2 Реализация прецедента Регистрация
Проектное решение: AddUser
Для реализации данного проектного решения был выбран шаблон Controller GRASP. Он отвечает за обработку системных событий и определяет методы для
выполнения системных операций, позволяет отделить логику от представления, тем самым повышая возможность повторного использования кода.
Рисунок 7 - Диаграмма Регистрации
7.3 Реализация прецедента Загрузка файла в сетевое хранилище
Проектное решение: UploadFile
Для реализации данного проектного решения был выбран шаблон Controller GRASP. Он отвечает за обработку системных событий и определяет методы для
выполнения системных операций, позволяет отделить логику от представления, тем самым повышая возможность повторного использования кода.
Рисунок 8 - Диаграмма Загрузки файла в сетевое хранилище