ЛР / МиСПИСиС_ЛР№3_Хакова_ЮМ_ИСТ-223
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Лабораторная работа №3
«Методология объектно-ориентированного моделирования
(диаграммы последовательности и кооперации)»
Выполнил: ст. гр. ИСТ-223 Хакова Ю. М.
Проверил: ст. пр. Косов П. В.
Цель работы: ознакомление с основными элементами определения, представления, проектирования и моделирования программных систем с помощью языка UML. Знакомство с диаграммами последовательности и кооперации.
Постановка задачи: описать исследуемую предметную область с представлением диаграмм прецендентов, последовательности, кооперации, сделать вывод о достоинствах и недостатках каждого вида диаграмм.
Описание предметной области: информационная система, предназначенная для онлайн-обучения межславянскому языку.
Задача 1: описать выбранную исследуемую область, с представлением диаграммы прецедентов (указание минимум 3-х ключевых прецедентов, для которых будут выделены технические процессы и рассмотрено построение диаграмм последовательности).
Для того чтобы начать проходить обучение пользователь должен зарегистрироваться в информационной системе платформы, затем пользователь должен пройти авторизацию в системе, чтобы получить доступ к учебным материалам, после выполнения предыдущих шагов пользователь может начать обучение. Результат построения диаграммы прецедентов показан на рисунке 1.
Рисунок 1 – диаграмма прецедентов
Задача 2: построить 3 диаграммы последовательности, для выбранных прецедентов (каждая диаграмма должна: отражать все возможные варианты решения выбранной задачи, что достигается использованием фреймов, отражать не гуманитарный, а технический аспект).
Диаграмма регистрации пользователя показана на рисунке 2:
Рисунок 2 – регистрация пользователя в ИС платформы
Диаграмма авторизации пользователя показана на рисунке 3:
Рисунок 3 – авторизация пользователя в ИС платформы
Диаграмма взаимодействия пользователя с модулем обучения показана на рисунке 4:
Рисунок 4 – взаимодействие пользователя с модулем обучения
Задача 3: для одной из диаграмм последовательности привести фрагмент кода (на любом языке программирования). Представленный код должен полностью реализовывать задачи, решаемые на диаграмме последовательности;
Для выполнения этого задания была выбрана диаграмма последовательности – авторизация пользователя в ИС платформы. Для написания кода был использован язык Python. Результат проверки показан на рисунке 5.
Листинг:
user_db = {"user1": "123",
"user2": "456",
"user3": "789"}
def interface():
print("Система изучения межславянского языка")
login = input("Введите логин: ")
password = input("Введите пароль: ")
status = authorization(login, password)
if status:
print("Доступ разрешен. Авторизация успешна.")
else:
print("Доступ запрещен. Неверный логин или пароль.")
def authorization(login, password):
return db_check(login, password)
def db_check(login, password):
return user_db.get(login) == password
interface()
Рисунок 5 – результат проверки авторизации пользователя
Задача 4: построить диаграмму кооперации для одной из диаграмм последовательности.
Для выполнения задачи так же была выбрана диаграмма последовательности, связанная с авторизацией пользователя в ИС платформы. Результат построения диаграммы кооперации показан на рисунке 6:
Рисунок 6 – диаграмма кооперации
Вывод:
В ходе выполнения лабораторной работы №3 я познакомилась с методологией объектно-ориентированного моделирования, а также научилась строить диаграммы последовательности и диаграммы кооперации, отражающие взаимодействие объектов в рамках проектируемой информационной системы для изучения языка.
Были разработаны диаграммы, моделирующие ключевые процессы: регистрацию, авторизацию пользователя и доступ к учебным материалам. Также я освоила синтаксис описания таких диаграмм на языке PlantUML.
Диаграмма последовательности отражает поток событий, происходящих в рамках варианта использования, то есть отображает порядок взаимодействий между объектами во времени. Она помогает понять, какие объекты участвуют в процессе и как сообщения между ними передаются последовательно.
Диаграмма кооперации (диаграмма коммуникации) – передает ту же информацию, что и диаграмма последовательности, она фокусируется на структурных связях между объектами и показывает, как они сотрудничают для выполнения определённой задачи.
Достоинства и недостатки диаграммы последовательности:
Достоинства:
Отражает временную последовательность действий
Позволяет визуализировать обмен сообщениями между объектами.
Полезна для выявления проблем в порядке вызовов функций и методов.
Хорошо подходит для проектирования сценариев взаимодействия, особенно тех, где важна очередность.
Недостатки:
Может быть сложной для чтения, если много участников и сообщений.
Не показывает структурные связи между объектами.
Требует точного описания времени выполнения — сложна в поддержке при изменении логики.
Достоинства и недостатки диаграммы кооперации
Достоинства:
Показывает структуру взаимодействия между объектами, подчеркивая связи.
Более компактна и наглядна, чем диаграмма последовательности.
Подходит для анализа распределения обязанностей между объектами.
Удобна для определения взаимосвязей между компонентами системы.
Недостатки:
Труднее отследить последовательность действий по сравнению с диаграммой последовательности.
При большом числе взаимодействий может быть перегружена связями.
Санкт-Петербург
2025
