Краткая история развития и стандартизации языка 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).