Краткая история развития и стандартизации языка UML

Как известно, методы визуального моделирования и графические нотации моделей структурного анализа в целом оказались несостоятельными при переходе к объектно-ориентированным технологиям разработки ПО. Однако, при разработке UML были использованы многие идеи структурного анализа систем и техники визуального моделирования, успешно зарекомендовавшие себя на практике.

Первые языки объектно-ориентированного моделирования стали появляться в конце 1970-х, к 1994 году их число возросло до 50 и создалась ситуация непримиримой конкуренции между ними, которая даже получила название "войны методов". В этих условиях разработчики ПО испытывали серьезные затруднения при выборе языка ООАП, поскольку ни один из языков не удовлетворял всем требованиям, предъявляемым к построению моделей сложных систем.

К середине 1990-х некоторые из методов были существенно улучшены и приобрели самостоятельное значение при решении различных (частных) задач ООАП:

· Метод Гради Буча, получивший название Booch'93 - нашел наибольшее применение на этапах проектирования и разработки различных программных систем.

· Метод Джеймса Румбаха, получивший название Object Modeling Technique – ОМТ-2 - наиболее подходил для анализа процессов обработки данных в информационных системах.

· Метод Айвара Джекобсона, получивший название Object-Oriented Software Engineering – OOSE - содержал средства представления вариантов использования, которые имеют существенное значение на этапе анализа требований в процессе проектирования бизнес-приложений.

Исторические "вехи" развития языка UML:

1994 - 1995 Начало работы по унификации объектно-ориентированных методов Booch, ОМТ и OOSE. Компании Rational Software Corporation (США) и Objectory AB (Швеция), начиная работу по унификации методов с целью объединения их достоинств, сформулировали следующие требования к языку моделирования:

· язык должен быть универсальным, то есть позволять моделировать не только программные системы, но и более широкие классы систем и бизнес-приложений, с использованием объектно-ориентированных понятий;

· язык должен явным образом обеспечивать взаимосвязь между базовыми понятиями моделей концептуального и физического уровней;

· язык должен обеспечивать масштабируемость моделей, что является важной особенностью сложных многоцелевых систем;

· язык должен быть понятен аналитикам и программистам, а также должен поддерживаться специальными инструментальными средствами, реализованными на различных компьютерных платформах.

При создании системы обозначений и графической нотации для ООАП разработчикам пришлось решить ряд серьезных проблем:

Во-первых, необходимо было ответить на два важных вопроса:

· Должна ли данная нотация включать в себя спецификацию требований?

· Следует ли расширять данную нотацию до уровня языка визуального программирования?

Во-вторых, было необходимо найти баланс между выразительностью и простотой языка. С одной стороны, слишком простая нотация ограничивает круг потенциальных проблем, которые могут быть решены с помощью соответствующей системы обозначений. С другой стороны, слишком сложная нотация создает дополнительные трудности для ее изучения и применения аналитиками и программистами.

В-третьих, чтобы исключить неявное сопротивление со стороны отдельных специалистов, уже имеющих опыт работы с прежними методами, необходимо учитывать интересы широкого круга пользователей.

1995К разработке UML подключается консорциум OMG (Object Management Group – сегодня в состав OMG входят более 800 компаний и организаций). В 1995 году OMG организовала совещание специалистов по методологиям ООАП, на котором впервые в международном масштабе была признана целесообразность разработки промышленных стандартов в области языков моделирования систем.

1996Вышло первое описание языка UML версии 0.9, имевшее статус запроса предложений (RTP - Request For Proposals), и с этого момента началось широкое обсуждение языка UML различными категориями специалистов.

1996Компания Rational Software учредила консорциум партнеров UML, в который вошли такие компании, как DEC, HP, i-Logix, Intellicorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle, Rational Software, TI, Unisys. Эти компании обеспечили поддержку последующей работы по более точному и строгому определению нотации языка UML.

1997Опубликован документ с описанием языка UML 1.0. Эта версия языка была достаточно хорошо определена, обеспечивала требуемую выразительность и мощность и предполагала решение широкого класса задач.

1997Принята в качестве стандарта OMG новая версия языка - UML 1.1. Основное внимание при разработке этой версии было уделено достижению большей ясности семантики языка по сравнению с UML 1.0, а также учету предложений новых партнеров.

1998Компания Rational Software Corporation разработала и выпустила в продажу одно из первых CASE-средств Rational Rose 98, в котором был реализован язык UML.

1999Консорциум OMG опубликовал описание языка UML 1.3

2001Выпуск версии UML 1.4.

2003 Выпуск версии UML 1.5.

2004 Выпуск версии UML 2.0.

2005 Выпуск стандарта ISO/IEC 19501:2005 Information technology - Open Distributed Processing - Unified Modeling Language (UML).