Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс (заочка) / Курсовой проект / Курсовой проект (Вариант 23 - Сетевое хранилище файлов).docx
Скачиваний:
61
Добавлен:
08.01.2022
Размер:
419.8 Кб
Скачать

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 - Диаграмма Загрузки файла в сетевое хранилище