UML— язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью.
Системой называют набор, подсистем, организованных для достижения определенной цели и описываемых с помощью совокупности моделей, возможно с различных точек зрения. Подсистема - это совокупность элементов, часть из которых задает спецификацию поведения других элементов. Моделью называется семантически замкнутая абстракция системы. Другими словами, модель является полным и внутренне непротиворечивым упрощением реальности, которое создается для более глубокого понимания системы.
В UML существует четыре структурных диаграммы для визуализации, специфицирования, конструирования и документирования статических аспектов системы, составляющих ее относительно прочный «костяк».
Названия структурных диаграмм UML соответствуют названиям основных групп сущностей, используемых при моделировании системы:
- диаграммы классов - классам, интерфейсам и кооперациям;
- диаграммы объектов - объектам;
- диаграммы компонентов - компонентам;
- диаграммы развертывания - узлам.
На диаграмме классов изображают множество классов, интерфейсов, коопераций и их отношений. Это самый распространенный тип диаграмм, применяемый при моделировании объектно-ориентированных систем; он используется для иллюстрации статического вида системы с точки зрения проектирования.
На диаграмме объектов показывают множество объектов и отношения между ними. Такие изображения используются для иллюстрации структуры данных, то есть статических "мгновенных снимков" экземпляров тех сущностей, которые представлены на диаграмме классов.
На диаграммах компонентов показаны множества компонентов и отношения между. С их помощью иллюстрируют статический вид системы с точки зрения реализации.
На диаграммах развертывания представлены узлы и отношения между ними. С помощью таких изображений иллюстрируют статический вид системы с точки зрения развертывания.
Пять основных диаграмм поведения в UML используются для визуализации, специфицирования, конструирования и документирования динамических аспектов системы. Можно считать, что динамические аспекты системы представляют собой ее изменяющиеся части. Динамические аспекты программной системы охватывают такие ее элементы, как поток сообщений во времени и физическое перемещение компонентов по сети.
Диаграммы поведения в UML условно разделяются на пять типов в соответствии с основными способами моделирования динамики системы:
- диаграммы прецедентов описывают организацию поведения системы;
- диаграммы последовательностей акцентируют внимание на временной упорядоченности сообщений;
- диаграммы кооперации сфокусированы на структурной организации объектов, посылающих и получающих сообщения;
- диаграммы состояний описывают изменение состояния системы в ответ на события;
- диаграммы деятельности демонстрируют передачу управления от одной деятельности к другой.