В 1994 году Гради Буч и Джеймс Рамбо ( компания Rational Software) объединили свои усилия для создания нового языка объектноориентированного моделирования.
За основу языка ими были взяты методы моделирования Object-Modeling Technique (OMT)и Booch. OMT был ориентирован на анализ, Booch — на проектирование программных систем.
Осенью 1995 года к компании Rational присоединил Ивар Якобсон, автор метода Object-Oriented Software Engineering — OOSE обеспечивал превосходные возможности для спецификации бизнес-процессов и анализа требований при помощи cценариев использования. OOSE был также интегрирован в унифицированный метод.
На этом этапе основная роль в организации процесса разработки UML перешла к консорциуму OMG (Object Management Group). Группа разработчиков в OMG, в которую также входили Буч, Рамбо и Якобсон, выпустила спецификации UML версий 0. 9 и 0. 91 в июне и октябре 1996 года.
Язык UML, пришедший на смену многочисленным системам нотации и методикам проектирования, предложил нотацию для описания объектноориентированных моделей, которая стала промышленным стандартом.
Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для спецификации, визуализации, проектирования и документирования систем. В рамках UML-модели все представления о системе фиксируются в виде специальных графических конструкций, получивших название диаграмм. Диаграмма - это графическое представление множества элементов. Обычно изображается в виде графа с вершинами (сущностями) и ребрами (отношениями).
Метод и нотация НОТАЦИЯ Нотация проектирования ПО предназначена для описания самого проекта. Хотя она и предполагает наличие определенного подхода к проектированию, сам подход остается за ее рамками. Нотация проектирования ПО описывает проект программы в графическом или текстовом виде. В частности, диаграммы классов –это графическая нотация, а псевдокод – текстовая.
МЕТОД Метод проектирования ПО представляет собой систематическое описание этапов создания проекта. Метод проектирования ПО описывает последовательность шагов, выполняемых при работе над проектом при условии, что требования к системе уже сформулированы.
Диаграммы UML В нотации UML поддерживаются следующие виды диаграмм: • диаграммы прецедентов (Прецедент (use-case) - описание отдельного аспекта поведения системы с точки зрения пользователя (Буч)); • диаграммы классов; • диаграммы объектов, являющиеся вариантом диаграмм классов в применении к экземплярам; • диаграммы кооперации; • диаграммы последовательности; • диаграммы состояний; • диаграммы деятельности; • диаграммы компонентов; • диаграммы развертывания.
Диаграмма классов (Class diagram) — статическая структурная диаграмма, описывающая структуру системы, демонстрирующая классы системы, их атрибуты, методы и зависимости между классами. Существуют разные точки зрения на построение диаграмм классов в зависимости от целей их применения: • концептуальная точка зрения — диаграмма классов описывает модель предметной области, в ней присутствуют только классы прикладных объектов; • точка зрения спецификации — диаграмма классов применяется при проектировании информационных систем; • точка зрения реализации — диаграмма классов содержит классы, используемые непосредственно в программном коде (при использовании объектно-ориентированных языков программирования).
Актер (actor) инициирует прецедент. Прецедент (use case) описывает последовательность взаимодействий между актером и системой. Актер изображается на диаграмме прецедентов в виде фигуры человечка, система – в виде прямоугольника, прецедент – в виде эллипса внутри этого прямоугольника. Коммуникационные ассоциации связывают актеров с теми прецедентами, в которых они участвуют. Между прецедентами могут быть отношения include (включает) и extend (расширяет).