UML » История » Версия 1
Александр Александров, 22.04.2019 00:34
1 | 1 | Александр Александров | h1. UML |
---|---|---|---|
2 | |||
3 | h2. Вопросы |
||
4 | |||
5 | # Что такое UML? |
||
6 | # Что такое Нотации и метамодель в UML? |
||
7 | # Какие есть типы диаграмм? |
||
8 | # Какие отношение обобщения реализуется при наследовании классов. |
||
9 | |||
10 | h2. Ответы |
||
11 | |||
12 | h3. Что такое UML? |
||
13 | |||
14 | Унифицированный язык моделирования (Unified Modeling Language) - графический язык визуализации, специфицирования, конструирования и документирования программного обеспечения. |
||
15 | |||
16 | h3. Что такое Нотации и метамодель в UML? |
||
17 | |||
18 | Нотация - совокупность графических объектов, которые используются в моделях. В качестве примера на диаграмме показано, как в нотации диаграммы класса определяют понятия и предметы типа «класс», «ассоциацция»,«множественность» и т. д. Метамодель - диаграмма, определяющая нотацию. Метамодель помогает понять, что такое хорошо организованная, т. е. синтаксически правильная модель. |
||
19 | |||
20 | h3. Какие есть типы диаграмм? |
||
21 | |||
22 | Структурные диаграммы: |
||
23 | |||
24 | * диаграммы классов (class diagrams) предназначены для моделирования структуры объектно-ориентированных приложений - классов, их атрибутов и заголовков методов, наследования, а также связей классов друг с другом; |
||
25 | * диаграммы компонент (component diagrams) используются при моделировании компонентной структуры распределенных приложений; внутри каждая компонента может быть реализована с помощью множества классов; |
||
26 | * диаграммы объектов (object diagrams) применяются для моделирования фрагментов работающей системы, отображая реально существующие в runtime экземпляры классов и значения их атрибутов; |
||
27 | * диаграммы композитных структур (composite structure diagrams) используются для моделирования составных структурных элементов моделей - коопераций, композитных компонент и т.д.; |
||
28 | * диаграммы развертывания (deployment diagrams) предназначены для моделирования аппаратной части системы, с которой ПО непосредственно связано (размещено или взаимодействует); |
||
29 | * диаграммы пакетов (package diagrams) служат для разбиения объемных моделей на составные части, а также (традиционно) для группировки классов моделируемого ПО, когда их слишком много. |
||
30 | |||
31 | Поведенческие диаграммы: |
||
32 | |||
33 | * диаграммы активностей (activity diagrams) используются для спецификации бизнес-процессов, которые должно автоматизировать разрабатываемое ПО, а также для задания сложных алгоритмов; |
||
34 | * диаграммы случаев использования(use case diagrams) предназначены для "вытягивания" требований из пользователей, заказчика и экспертов предметной области; |
||
35 | * диаграммы конечных автоматов (state machine diagrams) применяются для задания поведения реактивных систем; |
||
36 | * диаграммы взаимодействий (interaction diagrams); |
||
37 | * диаграммы последовательностей (sequence diagrams) используются для моделирования временных аспектов внутренних и внешних протоколов ПО; |
||
38 | * диаграммы схем взаимодействия (interaction overview diagrams) служат для организации иерархии диаграмм последовательностей; |
||
39 | * диаграммы коммуникаций (communication diagrams) являются аналогом диаграмм последовательностей, но по-другому изображаются (в привычной, графовой, манере); |
||
40 | * временные диаграммы (timing diagrams) являются разновидностью диаграмм последовательностей и позволяют в наглядной форме показывать внутреннюю динамику взаимодействия некоторого набора компонент системы. |
||
41 | |||
42 | Основные понятия. |
||
43 | |||
44 | К основным понятиям UML относятся: |
||
45 | |||
46 | * сущности - абстракции, являющиеся основными элементами модели; |
||
47 | * отношения - связывают различные сущности; |
||
48 | * диаграммы - группируют представляющие интерес совокупности сущностей. |
||
49 | |||
50 | h3. Какие отношение обобщения реализуется при наследовании классов. |
||
51 | |||
52 | Реализацией (Realization) называется отношение между классификаторами (классами, интерфейсами), при котором один описывает контракт (интерфейс сущности), а другой гарантирует его выполнение. |
||
53 | |||
54 | {{dmsf_image(260)}} |
||
55 | |||
56 | Ассоциация (Association) показывает, что объект одного класса связан с объектом другого класса и отражает некоторое отношение между ними. |
||
57 | |||
58 | {{dmsf_image(261)}} |
||
59 | |||
60 | Агрегация - ассоциация, моделирующая взаимосвязь «часть/целое» между классами, которые в то же время могут быть равноправными. Оба класса при этом находятся на одном концептуальном уровне, и ни один не является более важным, чем другой. |
||
61 | |||
62 | {{dmsf_image(262)}} |