ПКС / ПКС. Материалы лекций
.pdfUML-диаграмма профилей (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 с.