Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПКС / ПКС. Материалы лекций

.pdf
Скачиваний:
7
Добавлен:
19.09.2023
Размер:
3.23 Mб
Скачать

UML-диаграмма профилей (Profile): пример (начало)

61

profile

например,

профили

ролевых

объектов

(пользователь и админ) при работе бота в мессенджере.

-параметры: скрытые и видимые; stereotype

-ограничения: компоненты и константы.

-Стереотип может быть также задан в виде спрайта.например, стереотипами могут быть:

metaclass

например, метакласс

определяет операции CRUD:

создание, чтение, обновление и удаление

данных.

UML-диаграмма профилей (Profile): пример (продолжение)

62

@startuml

left to right direction

title Диаграмма профилей Full-stack приложения

folder pAdmin as "<U+003C><U+003C>profile<U+003E><U+003E>\n Администратор"{ rectangle AdminOper as "<U+003C><U+003C>metaclass<U+003E><U+003E>\n **CRUD**"{

}

rectangle AdminParams as "<U+003C><U+003C>stereotype<U+003E><U+003E>\n Parameters"{

}

rectangle AdminConstrs as "<U+003C><U+003C>stereotype<U+003E><U+003E>\n Constraints"{

}

note right of AdminOper **Create:** {Cписок заказов}; **Read:** {Cписок номеров

телефона / имен};

**Update:** {Cписок заказов;

Время ожидания действий пользователя};

**Delete:** {Cписок заказов}; __GoF Patterns__: {Singleton;

Flyweight;

Iterator} end note

note left of AdminParams __Hidden__: {Опции драйвера

Selenium для Chrome}; __Visible__: {Список заказов;

Список номеров телефона / имен;

Время ожидания действий пользователя} end note

UML-диаграмма профилей (Profile): пример (окончание)

63

note left of AdminConstrs

__Components__**:** {WhatsApp; Chrome; PyCharm; Selenium}

__Constants__**:** {Время отправки запроса;

Число вопросов пользователю;

note right of UserOper

**Create:** {Ответное сообщение

Сообщения в логе}

при разрешении рассылки};

end note

**Read:** {Cообщение бота};

}

**Update:** <не поддерживается>;

AdminParams -[bold]->> AdminOper : {required}

**Delete:** {Ответное сообщение

AdminConstrs -[bold]->> AdminOper :

с запретом рассылки};

{required,\nstrict}

__GoF Patterns__: <не реализуются>

folder pUser as

end note

"<U+003C><U+003C>profile<U+003E><U+003E>\n

note left of UserParams

Пользователь"{

__Hidden__: {Номер телефона / имя};

rectangle UserOper as

__Visible__: {Варианты ответа}

"<U+003C><U+003C>metaclass<U+003E><U+003E>\

end note

n **CRUD**"{

note left of UserConstrs

}

__Components__**:** {WhatsApp};

rectangle UserParams as

__Constants__**:** {Опция согласия

"<U+003C><U+003C>stereotype<U+003E><U+003E>

с рассылкой}

\n Parameters"{

end note

}

}

rectangle UserConstrs as

UserParams -[bold]->> UserOper

"<U+003C><U+003C>stereotype<U+003E><U+003E>

UserConstrs -[bold]->> UserOper : {strict}

\n Constraints"{

@enduml

}

 

UML-диаграмма профилей (Profile):

64

представление стереотипа в PlantUML

 

для определения и дальнейшего

вывода на экран спрайта

2, 4, 8 или 16

 

 

 

число пикселей по ширине х число пикселей по высоте / глубина цвета

 

 

 

 

UML-диаграмма пакетов данных (Package)

 

65

Диаграмма пакетов данных (Package) определяет «шаблон объекта и рамки для других шаблонов».

Основные элементы:

package (пакет данных) – представляет собой обособленное пространство имен (namespace), включающее «собственные» (импортированные) и «расширенные» (объединяемые из других пакетов данных) элементы;

element (элемент) – составная часть пакета данных;

<<merge>> (объединение) – расширение состава элементов, включаемых в пакет данных:

в виде косвенного доступа к этим данным;

<<import>> (импортирование) – подключение других пакетов данных: в виде включения соответствующих программных модулей в состав данного проекта;

<<apply>> (применение) – использование профиля данных для пакета данных.

UML-диаграмма пакетов данных (Package)

 

66

UML-диаграмма пакетов данных (Package): пример (начало)

67

element

<<merge>> для косвенного доступа

к другим объектам; пример в C#: using System.IO;

profile

<<apply>> для использования в

конкретных настройках (в профиле)

<<import>> для прямого доступа к объектам путем подстановки объявлений; пример в C++: include <iostream.h>;

UML-диаграмма пакетов данных (Package): пример (окончание)

 

 

68

 

@startuml

 

 

 

 

 

'left to right direction

 

 

 

title Диаграмма пакетов данных критического сервиса

 

 

 

folder fService as "Критический сервис"{

 

 

 

}

 

 

 

folder fPatterns as "Шаблоны

 

 

 

проектирования\nкритического сервиса"{

 

 

 

}

fService ..> fPatterns :

 

 

folder fSingleton as "Singleton

<U+003C><U+003C>import>>

 

 

(<U+00AB>Одиночка<U+00BB>)"{

fService ..> fOperations :

 

 

}

<U+003C><U+003C>import>>

 

 

folder fFlyweight as "Flyweight

fPatterns ..> fSingleton :

 

 

(<U+00AB>Легковес<U+00BB>)"{

<U+003C><U+003C>merge>>

 

 

}

fPatterns ..> fFlyweight :

 

 

folder fIterator as "Iterator (Перечислитель)"{

<U+003C><U+003C>merge>>

 

 

}

fPatterns ..> fIterator :

 

 

folder fOperations as "Типовые операции CRUD"{

<U+003C><U+003C>merge>>

 

 

}

fService ..> pAdmin :

 

 

folder pAdmin as

<U+003C><U+003C>apply<U+003E><U+003E>

"<U+003C><U+003C>profile<U+003E><U+003E>\n

fService ..> pUser :

 

 

Администратор"{

<U+003C><U+003C>apply<U+003E><U+003E>

}

@enduml

 

 

folder pUser as

 

 

 

"<U+003C><U+003C>profile<U+003E><U+003E>\n

 

 

 

Пользователь"{

 

 

 

}

 

 

 

Список литературы

69

1. About the Unified Modeling Language Specification Version 2.5.1 [Electronic Resource]. – 2017. – 754 p. – URL: https://www.omg.org/spec/UML/2.5.1

2. Drawing UML with PlantUML. Language Reference Guide [Electronic Resource]. – 2021. 416 p.

– URL: http://plantuml.com/guide

3. Онлайн-редактор диаграмм PlantText [Электронный ресурс]. – URL: https://www.plantuml.com/plantuml

4. Diagram.Net (draw.io) [Электронный ресурс]. – URL: https://app.diagrams.net/

5. Free Online Diagram Editor [Электронный ресурс]. – URL: https://www.diagrameditor.com/ 6. Fowler, M. UML Distilled: A Brief Guide to the Standard Object Modeling Language [Text] / M. Fowler. – 3rd Ed. Boston: Addison-Wesley, 2003. – 178 p.

7.UML Use Case Diagram Overview of Graphical Notation [Electronic Resource]. – URL: https://www.uml-diagrams.org/use-case-diagrams.html

8.UML Use Case Diagram Examples [Electronic Resource]. – URL: https://www.uml- diagrams.org/use-case-diagrams-examples.html

9.Use Case Diagrams Template [Electronic Resource]. – URL: https://creately.com/diagram- community/examples/t/use-case

10.UML Sequence Diagram Overview of Graphical Notation [Electronic Resource]. – URL: https://www.uml-diagrams.org/sequence-diagrams.html

11.UML Sequence Diagram Examples [Electronic Resource]. – URL: https://www.uml- diagrams.org/sequence-diagrams-examples.html

12.Sequence Diagrams Template [Electronic Resource]. – URL: https://creately.com/diagram- community/popular/t/sequence-diagram

Список литературы

70

13. UML Activity Diagrams [Electronic Resource]. – URL: https://www.uml-diagrams.org/activity- diagrams.html

14. UML Activity Diagram Examples [Electronic Resource]. – URL: https://www.uml- diagrams.org/activity-diagrams-examples.html

15. Activity Diagrams Template [Electronic Resource]. – URL: https://creately.com/diagram- community/popular/t/activity-diagram

16. Котлова, М. В. Методы и средства проектирования информационных систем и технологий : [Текст] : учебное пособие / М. В. Котлова, Е. В. Давыдова ; рец.: М. П. Белов, Т. В. Матюхина. – СПб. : СПбГУТ, 2015. – 62 с.