Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782), страница 6
Текст из файла (страница 6)
2.Глава 24: Развертываниеизучаем OCLГлава 25: Введение в OCLрассматриваемпример моделиПриложение 1: Примермодели прецедентовизучаем применениеXML в прецедентахПриложение 2: XMLи прецедентыIВведение в UML и UP1Что такое UML?1.1. План главыВ этой главе представлен краткий обзор истории развития UML и егоструктуры. Здесь перечислены темы, подробно рассматриваемые в последующих главах.Те, кто не знаком с UML, должны начать с изучения его истории и основных принципов. Если вы уже имеете опыт работы с UML или убеждены, что достаточно знаете его историю, можете переходить прямок разделу 1.7 и обсуждению структуры UML. Это обсуждение состоитиз трех основных частей, которые можно читать в любом порядке.К ним относятся: строительные блоки UML (1.8), общие механизмыUML (1.9) и архитектура UML (1.10).1.2. Что такое UML?Унифицированный язык моделирования (Unified Modeling Language,UML) – это универсальный язык визуального моделирования систем.Хотя чаще всего UML ассоциируется с моделированием ОО программных систем, он имеет намного более широкое применение благодарясвойственной ему расширяемости.UML объединил лучшие современные технические приемы моделирования и разработки программного обеспечения.
По сути, язык UMLбыл задуман так, чтобы его можно было реализовать посредством егоже инструментальных средств. Фактически это признание того, чтобольшие современные программные системы, как правило, нуждаются в инструментальной поддержке. UMLдиаграммы легко воспринимаются и при этом без труда генерируются компьютерами.Важно понимать, что UML не предлагает нам какойлибо методологиимоделирования. Конечно, некоторые методические аспекты подразумеваются элементами, составляющими модель UML, но сам UML преРис. 1.1.
План главы1.8.2. Отношения1.8.3. Диаграммы1.9.4.4. Профили UML1.9.4.3. Помеченные значения1.9.4.2. Стереотипы1.9.3.2. Интерфейс и реализация1.9.4. Механизмы расширения1.9.4.1. Ограничения1.9.3. Принятые деления1.10. Архитектураознакомьтесь с архитектурой UML1.9.3.1. Классификатор и экземпляр1.9.2. Дополнения1.11. Что мы узнали1.9.1. Спецификации1.9. Общие механизмы UML1.8.1. Сущностиознакомьтесь с общими механизмами UML1.8. Строительные блоки UML1.6. Объекты и UML1.5. Почему «унифицированный»?1.4. MDA – будущее UML1.3. Рождение UMLознакомьтесь со строительными блоками UML1.7.
Структура UMLизучите основы UMLизучите историю UML1.2. Что такое UML?24Глава 1. Что такое UML?1.3. Рождение UML25доставляет собой лишь визуальный синтаксис, который можно использовать для создания моделей.UML это не методология, это унифицированный язык визуального моделирования. UP – это методология.Унифицированный процесс (Unified Process, UP) – это методология.Она указывает на исполнителей, действия и артефакты, которые необходимо использовать, осуществить или создать для моделированияпрограммной системы.UML не привязан к какойлибо конкретной методологии или жизненному циклу. На самом деле он может использоваться со всеми существующими методологиями. UP использует UML в качестве базового синтаксиса визуального моделирования.
Следовательно, UP можно рассматривать как предпочтительный метод для UML, поскольку он лучше всего адаптирован к нему. Однако сам UML способен предоставить(и предоставляет) поддержку визуального моделирования другим методам. Конкретным примером сложившегося метода, использующегоUML в качестве визуального синтаксиса, является метод OPEN (Objectoriented Process, Environment, and Notation – объектноориентированный процесс, среда и нотация) (www.open.org.au).Неизменная цель UML и UP – способствовать объединению всего лучшего в опыте разработки программного обеспечения последнего десятилетия. Для этого UML и UP унифицируют опыт предшествующихязыков визуального моделирования и процессов разработки программного обеспечения наиболее оптимальным образом.1.3.
Рождение UMLДо 1994 года в мире ОО методов царил хаос. Существовало несколькоконкурирующих языков и методологий визуального моделирования,каждая с собственными преимуществами и недостатками, сторонниками и противниками. Среди языков визуального моделирования(рис. 1.2) очевидными лидерами были метод Буча (Booch Method), разработанный Гради Бучем (Grady Booch), и техника объектного моделирования (Object Modeling Technique, OMT) Джеймса Рамбо (JamesRumbaugh), которые занимали более половины рынка. Что касаетсяметодологий, самую строгую систему создал Айвар Джекобсон (IvarJacobson).
Несмотря на то, что многие авторы заявляли о создании«метода», фактически это были синтаксисы визуального моделирования и наборы более или менее полезных афоризмов и рекомендаций.UML – открытый, принятый в качестве промышленного стандарта языквизуального моделирования, одобренный OMG.26Глава 1.
Что такое UML?ПредысторияШлаер/МеллорFusion1!я попыткаунификацииOMT, Буч, CRCНачинаетсяработанад UMLRFP Группыуправленияобъектами(OMG)ПредложениеUMLодобреноOMG1994199519961997Буч и Рамбо(OMT) объединя!ются в компанииRationalДжекобсон(Objectory)присоединяетсяк RationalUML 1.xUML 2.0БучРамбо(OMT)20032004Джекобсон(Objectory)Коуд/ЙордонUML становитсяпромышленнымстандартомПродолжениеразработки UMLРис. 1.2. История UMLПервую попытку унификации сделал в 1994 году Колеман (Coleman)в своем методе с использованием языка Fusion. Однако несмотря на всеее плюсы, к этой работе не были привлечены авторысоздатели составляющих методов (Буч, Джекобсон и Рамбо). К тому же книга с описанием этого подхода появилась на рынке слишком поздно. События развивались не в пользу метода с применением языка Fusion.
В 1994 годуБуч и Рамбо объединились в компании Rational Corporation для работы над UML. В то время это обеспокоило многих из нас, посколькуобеспечивало Rational более половины рынка по разработке подобногорода методов. Однако эти страхи оказались совершенно безосновательными, и UML стал открытым промышленным стандартом.В 1996 г. Группа управления объектами (OMG, Object ManagementGroup) выпускает запрос на предложение (requestforproposal, RFP)для ОО языка визуального моделирования и предлагает UML. В 1997 г.OMG принимает UML и рождается первый открытый, удовлетворяющий промышленным стандартам ОО язык визуального моделирования.С этого момента исчезли все конкурирующие методы, и UML, бесспорно, стал стандартным ОО языком моделирования.В 2000 году появилась версия UML 1.4 как существенное расширениеUML, достигнутое добавлением семантики действий.
Она описываетповедение набора элементарных действий, которые могут быть реализованы конкретными языками действий. Семантика действий плюсязык действий позволяют детально специфицировать поведенческиеэлементы модели UML (такие как операции классов) непосредственнов модели UML. Это было серьезным достижением, поскольку сделалоспецификацию UML полной в вычислительном отношении, что обеспечило возможность делать UMLмодели исполняемыми. Примеромреализации UML, имеющей язык действий, совместимый с семантикой действий, является xUML, произведенный компанией KennedyCarter (www.kc.com).1.4.
MDA – будущее UML27В 2005 году, когда еще шла работа над вторым изданием этой книги,была завершена спецификация UML 2.0. Теперь UML – вполне сформировавшийся язык моделирования. Прошло почти семь лет с момента выхода его первой версии, и он доказал свою ценность в сотнях проектах по разработке программного обеспечения по всему миру.В UML 2 появилось много новых визуальных синтаксических структур. Некоторые из них замещают (и уточняют) существующий синтаксис версии 1.x, другие – абсолютно новые и представляют вновь введенную в язык семантику. UML как всегда предлагает множество вариантов представления конкретного элемента модели, но не все они будут поддерживаться каждым из инструментов моделирования. В этойкниге мы пытаемся использовать лишь наиболее распространенныесинтаксические варианты и обращаем внимание на те, которые полезны в обычных ситуациях моделирования.
Некоторые синтаксическиеварианты слишком специализированны, поэтому они не обсуждаютсяили только упоминаются.Хотя в UML 2 по сравнению с версией UML 1.x внесено множество синтаксических изменений, основополагающие принципы остались болееили менее неизменными. Разработчики моделей, привыкшие к предыдущим версиям UML, легко перейдут на UML 2.