Файл: Практическая работа 02 по о. 12 программирование критических сервисов Студент гр. Ист114 С. Г. Медведева.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.01.2024

Просмотров: 49

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

Кафедра информационных управляющих систем


Практическая работа № 02


по Б1.О.12 «ПРОГРАММИРОВАНИЕ КРИТИЧЕСКИХ СЕРВИСОВ»

Студент гр. ИСТ-114_____________________________ С.Г. Медведева

(подпись)

Проверил ___________________________ А. В. Параничев

(оценка и подпись)

Санкт-Петербург

2023 год

Построение UML-диаграммы прецедентов создания сервиса

Составление диаграммы вариантов использования для задачи "Разработка веб-приложения авторизации по логин-паролю с подсказкой в сервисе подбора домашних растений " приведено в следующей последовательности:

1) выполняют текстовое описание задачи в виде сценария, выделяя типовые действия для основных ролей;

2) упорядочивают сценарий, группируя роли и определяя принадлежность типовых действий к категории <>, <> или <>;

3) выполняют графическое описание задачи, определяя рамки проектируемой системы.

Создание сценария, в соответствии с этапом 1:

Пользователь желает воспользоваться сервисом, для этого ему нужно в него войти.

Пользователь осуществляет неудачную попытку входа и пользуется функций подсказки пароля.

JS разработчик создает страницу(процесс) авторизации.

JS разработчик создает окно с подсказкой для пароля.

JS разработчик также может выполнять действия, определенные для Пользователя

С# разработчик изучает документацию архитектуры back-end части сайта.

C# разработчик реализует возможность сравнивать введенные данные Пользователем для авторизации.

С# разработчик реализует возможность вытаскивать из БД подсказку для пароля.

Проектировщик БД разрабатывает структуру БД для хранения данных о пользователях и растениях.

Проектировщик БД создает БД.

Администратор БД заполняет БД.

Упорядочение созданного сценария, в соответствии с этапом 2:

Пользователь пытается войти в систему (<>), при неудачной попытке ему высвечивается окно с подсказкой для пароля.

JS разработчик создает страницу(процесс) авторизации (<>), а так же окно с подсказкой для пароля, которая позволяют (<>) Пользователю увидеть подсказку. JS разработчик также может выполнять действия, определенные для Пользователя(<>).

С# разработчик изучает документацию архитектуры back-end части сайт (<>), после чего реализует возможность сравнивать введенные данные Пользователем для авторизации (<>), а так же реализует возможность вытаскивать из БД подсказку для пароля, которые позволяют JS разработчику жить жизнь(<>)

Администратор заполняет БД, который позволяет С# разработчику создать скрипт (<>).

Проектировщик БД разрабатывает структуру БД для хранения данных о пользователях и растениях (<>), после чего создает саму БД, позволяю Администратору БД заполнить БД.

Построение UML-диаграммы прецедентов, в соответствии с этапом 3, представлено на рис. 1.



Рис. 1. UML-диаграмма прецедентов для задачи Разработка веб-приложения авторизации по логин-паролю с подсказкой в сервисе подбора домашних растений "

Исходный код PlantUML-диаграммы:

@startuml

'left to right direction

actor aUser as " Пользователь\n cервиса\nUser"

actor aJSDev as " JS разработчик \nJS Developer"

actor aCDev as " С# разработчик\nC# Developer"

actor aAdBD as " Администратор БД \n Administrator BD"

actor aPrBD as " Проектировщик БД \n Designer BD"

rectangle "Программная система разработки приложений и сервисов"{

usecase uUserReg as "Совершает неудачную попытку\n входа в систему\n--\n<>"

usecase uUserHintPass as "Пользуется окном с\n подсказкой пароля\n--\n<>"

usecase uJSCrP as "Создает страницу (процесс) авторизации\n--\n<>"

usecase uJSCrWinHintPass as "Создает окно с подсказкой пароля\n--\n<>"

usecase uCDoc as "Изучает документацию архитектуры\n back-end части сайта\n--\n<>"

usecase uCCompare as "Реализует возможность сравнивать\n введенные данные для авторизации\n--\n<>"

usecase uCHintPass as "Реализует возможность вытаскивать\n из БД подсказку для пароля\n--\n<>"

usecase uBDCr as "Создает БД\n--\n<>"

usecase uBDStrucr as "БД разрабатывает структуру БД для\n хранения данных о пользователях и растениях\n--\n<>"

usecase uAdFill as "Заполняет БД\n--\n<>"

}
aPrBD -down-|>aAdBD

aAdBD -down-|>aCDev

aCDev -down-|>aJSDev

aJSDev -down-|>aUser
aPrBD -right-> uBDStrucr

uBDStrucr .right..> uBDCr : include

aAdBD -right-> uAdFill

aCDev -right-> uCDoc

uCDoc .right..> uCCompare : include

uCCompare .right..> uCHintPass : include

aJSDev -right-> uJSCrP

uJSCrP .right..> uJSCrWinHintPass : include

aUser -right-> uUserReg

uUserReg .right..> uUserHintPass : include

uBDCr ..> uAdFill : extend

uAdFill ..> uCCompare : extend

uCCompare ..> uJSCrP : extend

uJSCrP ..> uUserReg : extend

@enduml