2. UML – унифицированный язык моделирования систем
2.1. Назначение UML UML (Unified Modeling Language) – это унифицированный язык для графического моделирования программных систем. Язык UML стандартизирован и фактически является стандартом для документирования программных систем. Используя язык UML, программная система моделируется как набор объектов, которые взаимодействуют между собой. При этом модель программной системы описывает статическую структуру этой системы и её динамическое поведение.
2.2. Виды модели Рассматриваемая с определенной точки зрения модель называется видом или представлением (view).
Business process view – предназначен для моделирования структуры организации и бизнес процессов, требующих автоматизации; Use case view (представление вариантов использования или прецедентов) – предназначен для моделирования функциональных требований к системе; Logical view (логические представление) – предназначен для моделирования логической структуры и поведения системы; Component view (представление компонент) – предназначен для моделирования архитектуры системы; Deployment view (представление размещения или развертывания) – предназначен для моделирования развертывания системы на аппаратуре. Представления в UML
2.3. Диаграммы в UML Графическое представление вида называется диаграммой. Диаграмма представляет собой граф, содержащий вершины, соединенные ребрами. Ребра обозначают различные семантические (смысловые) отношения между вершинами. Смысл диаграммы заключается в топологии графа. Вершины и отношения между ними имеют различные предопределенные типы. Каждому этому типу соответствует определенное графическое обозначение.
2.4. Отношения между вершинами диаграмм Типы отношений между вершинами диаграммы довольно устойчивы, но их смысл зависит от типа вершин, которые они связывают.
Отношение ассоциации Самым общим отношением между вершинами диаграммы является отношение ассоциации (association), которое показывает наличие некоторой семантической (смысловой) связи между элементами модели.
Графическое обозначение отношения ассоциации Графически ассоциация изображается сплошной линией. В этом случае считается, что направление ассоциации не определено или другими словами, что отношение ассоциации не упорядочено.
Симметричная ассоциация Если элементы модели связаны друг с другом, то ассоциация называется симметричной или двунаправленной (bidirectional). Графическое обозначение симметричной ассоциации:
Ассиметричная ассоциация Если только один элемент модели связан с другим элементом модели, который в свою очередь ничего не знает о первом элементе, то ассоциация называется ассиметричной или направленной (directional). Графическое обозначение ассиметричной ассоциации:
Отношение зависимости Следующим общим отношением между элементами диаграммы является отношение зависимости (dependency), которое показывает, что между элементами модели, которые оно связывает, существует некоторая зависимость. Т.е. изменение одного элемента модели воздействует (вызывает изменение) на связанный с ним элемент модели.
Графическое обозначение отношения зависимости Графически отношение зависимости обозначается пунктирной линией. В этом случае считается, что направление зависимости не определено или другими словами, что отношение зависимости не упорядочено.
Симметричная зависимость Если элементы модели зависят друг от друга, то зависимость называется симметричной или двунаправленной (bidirectional). Графическое обозначение симметричной зависимости:
Асимметричная зависимость Если только элемент модели зависит от другого элемента модели, который в свою очередь ничего не знает об этой зависимости, то зависимость называется ассиметричной или направленной (directional).
Графическое обозначение асимметричной зависимости Графическое обозначение ассиметричной зависимости. В этом случае элемент B называется клиентом (client), а элемент A называется поставщиком (supplier).
2.5. Стереотипы Для расширения типизации элементов диаграммы используются стереотипы. Стереотип (stereotype) поясняет или уточняет назначение графического элемента UML. Обозначается стереотип как текст, заключенный в … или «…». Стереотипы предназначены для определения специфических терминов, используемых в прикладной области. Поэтому стереотипы служат для расширения понятий, используемых в UML. Некоторые стереотипы предопределены в UML.
Пример стереотипа отношения зависимости Для примера приведем обозначение стереотипа отношения зависимости между объектами. Этот стереотип показывает, что объект A «использует» объект B.
2.6. Пакеты Пакет (package) это механизм для группировки элементов модели в группы. Пакеты могут быть вложены друг в друга. Между пакетами можно устанавливать такие же отношения, как и между элементами модели. Пакет вводит пространство имен для принадлежащих ему элементов.
Графическое обозначение пакета
2.7. Виды диаграмм Все диаграммы, используемые в UML, могут быть разбиты на две группы: –диаграммы для моделирования структуры программной системы; –диаграммы для моделирования поведения программной системы.
Диаграммы для моделирования структуры Cass diagrams - диаграммы классов. Component diagrams - диаграммы компонентов. Deployment diagrams - диаграммы размещения.
Диаграммы для моделирования поведения Use case diagrams - диаграммы вариантов использования. Activity diagrams – диаграммы активности, диаграммы последовательности потока работ или действий. Statechart diagrams - диаграмма состояний; Interaction diagrams - диаграммы взаимодействия: –sequence diagrams - диаграммы последовательности действий объектов; –collaboration diagrams - диаграммы взаимодействия объектов системы.
2.8. Структура модели Business process model: –analysis diagrams; System model: – Use case view: use case diagrams; –Logical view: class diagrams; –Component view: components diagrams. –Deployment view: deployment diagrams.
Моделирование поведения, вариантов использования и актеров В «Use case view» для описания поведения вариантов использования и актеров используются следующие диаграммы: – activity diagrams; – sequence diagrams; – statechart diagrams.
Моделирование поведения объектов В «Logical view» для описания поведения объектов могут использоваться диаграммы: – sequence diagrams; – collaboration diagrams; – statechart diagrams; Для описания поведения методов могут использоваться диаграммы активности (activity diagrams).