UML – это язык графического представления, в т.ч. определения, проектирования, визуализации и документирования, для моделирования бизнес-процессов организации. Язык представляет собой набор соглашений, необходимых для упрощения создания абстрактных моделей программных систем и отображения организационных структур. Иными словами, UML – это унифицированный стандарт, использование которого позволит сэкономить время на исследование и усвоение информации, облегчает общение и предназначен в большей степени для программных систем. При этом язык не относится к инструментам программирования, хотя на его основе можно генерировать код.
История UML
Эксперты считают, что UML был создан вследствие активного развития объектно-ориентированных языков программирования во второй половине прошлого века, например C++ и Objective C. Новые инструменты были сложны, их количество росло с каждым годом, возникла острая нехватка учета новейших возможностей средств разработки. Моделирование давалось непросто, подобрать язык, который бы отвечал всем потребностям экспертов, было сложно.
В 1994 году американцы Буч и Рамбо, сотрудники Rational Software, объединились для разработки собственного языка объектно-ориентированного моделирования. Первая версия вышла уже в следующем году. Позже к команде присоединился Ивар Якобсон, благодаря которому в рамках созданного консорциума OMG были созданы и выпущены спецификации версий UML.
Интерес к новому языку моделирования был высоким, к разработке новых версий присоединились и другие компании, среди которых были гиганты Hewlett-Packard, IBM, Microsoft и Oracle. Одна из последних версий – 2.5 – была опубликована в 2015 году.
Цели и особенности языка моделирования
В расшифровке аббревиатуры UML – Unified Modeling Language – ключевым словом является Unified, чтобы схемы были одинаково понятны всем специалистам.
При создании UML преследовались следующие цели:
- обеспечить независимость от конкретных языков разработки;
- обобщить и конвертировать лучший практический опыт;
- дать базу для понимания и возможности использовать язык моделирования (обеспечить точность, доступность и отсутствие формализма);
- предугадать перспективы для масштабирования и специализации для развития основных концепций;
- стимулировать рост рынка объектно-ориентированных инструментов;
- дать готовый выразительный язык моделирования, который позволил бы разрабатывать модели и разбирать их
Структура языка
Любой язык разработки – смесь глоссария и правил комбинирования слов. Главная особенность структуры UML в его семантике: весь словарь состоит из графических элементов. Каждому символу присвоена отдельная визуальная единица, поэтому модель одинаково читается и понимается любым разработчиком и программным средством, которое “воспринимает” UML. И если модель программного средства правильно интерпретирована, то будет автоматически переведена на объектно-ориентированный язык программирования (например, Java или C++). Суть в том, что имея правильную визуальную основу, мы получаем и “скелет” программного кода.
База UML – в диаграммах. Есть три основных вида:
- Структурные
- Классов;
- Объектов;
- Компонентов;
- Развёртывания.
- Поведения
- Прецедентов;
- Состояний;
- Активности.
- Взаимодействия
- Кооперации/коллаборации;
- Составной структуры;
- Последовательности.
Внутри этих категорий классификаций больше, но эти три – важнейшие. Заказчики, проектные менеджеры, технические писатели, бизнес-аналитики, разработчики и тестировщики – каждый будет использовать те диаграммы, которые соответствуют их потребностям.