Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782), страница 10
Текст из файла (страница 10)
Большинство элементов имеют большое число предопределенных свойств. Некоторые из них могут отображаться на диаграммах,другие являются частью семантического заднего плана модели.С помощью помеченных значений UML позволяет добавлять в элементы модели собственные свойства. Идея помеченных значений предельно проста: помеченное значение – это ключевое слово, к которому может быть прикреплено значение. Помеченные значения имеют следующий синтаксис: {метка1 = значение1, метка2 = значение2, …, меткаN =значениеN}. Разделенный запятыми список пар метка–значение, написанных через знак равенства, называется списком меток. Его заключают в фигурные скобки.431.9. Общие механизмы UMLНекоторые метки являются просто дополнительной информацией обэлементе модели, например {author = Jim Arlow} ({автор = Джим Арлоу}).Однако некоторые метки представляют свойства новых элементов модели, определенных стереотипом.
Не следует применять такие меткинепосредственно к элементам модели; лучше ассоциировать их со стереотипом. Тогда при применении стереотипа к элементу модели, элемент также получает метки, ассоциированные с этим стереотипом.1.9.4.4. Профили UMLПрофиль UML определяет набор стереотипов, меток и ограничений, которые настраивают UML в соответствии с определенной целью.Профиль UML – это набор стереотипов, помеченных значений и ограничений. Профиль UML используется, чтобы настроить UML для определенной цели.Профили UML позволяют настраивать UML так, чтобы его можно было эффективно использовать в различных областях. Профили обеспечивают возможность согласованно и правильно применять стереотипы, метки и ограничения. Например, если UML используется для моделирования .NETприложения, можно воспользоваться профилемUML для .NET, который приведен в табл.
1.4.Таблица 1.4СтереотипМетки Ограничения Расширяет Семантика«NETComponent»НетНетКомпонент Представляет компонентв .NET Framework.«NETProperty»НетНетСвойствоПредставляет свойствокомпонента.«NETAssemb Нетly»НетПакетУпаковка компонентов времени выполнения .NET.«MSI»НетНетАртефактФайл автоматической установки компонента.«DLL»НетНетАртефактПереносимый исполняемый файл типа DLL.«EXE»НетНетАртефактПереносимый исполняемый файл типа EXE.Этот профиль – один из примеров UMLпрофилей спецификацииUML 2.0 [UML2S]. Он определяет новые элементы модели UML, адаптированные для моделирования .NETприложений.Каждый стереотип профиля расширяет один из элементов метамоделиUML (например, Класс или Ассоциацию) для создания нового специального элемента.
Стереотип может определять новые метки и ограничения, которые не являлись частью исходного элемента.44Глава 1. Что такое UML?1.10. АрхитектураКнига «UML Reference Manual» [Rumbaugh 1] определяет архитектурусистемы как «Организационную структуру системы, включая ее разбиение на части, их связность, взаимодействия, механизмы и направляющие принципы, передающие конструкцию системы». IEEE определяет архитектуру системы как «высокоуровневое представлениесистемы в ее окружении».Стратегические аспекты системы можно описать «4+1 представлениями» архитектуры: логическое представление, представление процессов,представление реализации, представление развертывания и представление прецедентов.Архитектура описывает фундаментальные аспекты высокоуровневойструктуры системы.
Существует множество способов описания архитектуры, но самым распространенным является «4+1 представление»,данное Филиппом Крухтеном (Philippe Kruchten) [Kruchten 2]. Важнейшие аспекты архитектуры системы описываются четырьмя разными представлениями системы: логическим представлением, представлением процесса, представлением реализации и представлением развертывания. Все они интегрируются в пятое представление – представление прецедентов. Каждое из этих представлений раскрываетразные аспекты архитектуры программного обеспечения, как показано на рис. 1.13.Давайте рассмотрим каждое из представлений по очереди.•Логическое представление описывает словарь предметной областикак набор классов и объектов.
Основное внимание уделяется отображению того, как объекты и классы, образующие систему, реализуют требуемое поведение системы.•Представление процессов моделирует исполняемые потоки и процессы системы как активные классы (классы, имеющие собственныйпоток управления). В действительности это процессориентированнаяверсия логического представления, все их артефакты аналогичны.•Представление реализации моделирует файлы и компоненты, образующие физическую базу из кода для системы.
Это представлениетакже иллюстрирует зависимости между компонентами и управляет конфигурированием наборов компонентов для определения версии системы.•Представление развертывания моделирует физическое развертывание артефактов на физические вычислительные узлы, такие каккомпьютеры и периферийное оборудование. Оно обеспечивает возможность моделирования распределения артефактов между узламираспределенной системы.451.10. Архитектураописывает:словарьфункциональностьКонечный пользовательПрограммистлогическоепредставлениеТестердиаграммы:классовсоставных структуробъектовпакетовсостоянийповедениепредставлениепроцессовАналитикпредставлениереализациидиаграммы:классовсоставных структуробъектовописывает:производительностьмасштабируемостьпропускную способностьСистемотехникописывает:сборка системыуправлениеконфигурациейдиаграммы:компонентовпредставлениепрецедентовдиаграммы:прецедентоввзаимодействийпредставлениеразвертываниядиаграммы:развертыванияПроектировщиксистемыописывает:топология системыраспространениепоставкаустановкаРис.
1.13. Архитектура системы. Адаптировано с рис. 5.1 [Kruchten 1]с разрешения издательства Addison+Wesley•Представление прецедентов описывает основные требования, предъявляемые к системе, как набор прецедентов (глава 4). Эти прецеденты обеспечивают базу для создания остальных представлений.Как будет видно из дальнейшего изложения, UML предоставляет отличную поддержку каждого из 4+1 представлений, а UP являетсяуправляемым требованиями подходом, для которого замечательноподходит модель 4+1.После создания 4+1 представлений необходимо с помощью UMLмоделей проанализировать все ключевые аспекты архитектуры системы.Если используется итеративный жизненный цикл UP, архитектура4+1 создается не за один проход, а развивается с течением времени.Процесс UMLмоделирования с использованием UP – это процесс постепенного уточнения, приводящий к архитектуре 4+1, которая фиксирует как раз такой объем информации о системе, который обеспечивает возможность ее построения.46Глава 1.
Что такое UML?1.11. Что мы узналиЭта глава содержит введение в историю, структуру, концепции и основные характеристики UML. Вы узнали следующее.• Унифицированный язык моделирования (UML) – это открытый,расширяемый, принятый в качестве стандарта язык визуальногомоделирования, утвержденный консорциумом OMG.• UML не методология.• Унифицированный процесс (UP) или его разновидность – это типметодологии, наилучшим образом дополняющий UML.• Объектное моделирование рассматривает мир как систему взаимодействующих объектов. Объекты содержат информацию и могутвыполнять функции.
UMLмодели имеют:• статическую структуру – какие типы и объекты важны и какони взаимосвязаны;• динамическое поведение – как объекты взаимодействуют дляосуществления функций системы.• UML образован тремя строительными блоками:• сущности:• структурные сущности – существительные UMLмодели;• поведенческие сущности – глаголы UMLмодели;• существует только одна группирующая сущность – пакет, который используется для группировки семантически взаимосвязанных сущностей;• существует только одна аннотирующая сущность – примечание (аналог – стикер);• отношения объединяют сущности;• диаграммы показывают интересные представления модели.• UML имеет четыре общих механизма:• спецификации – текстовые описания возможностей и семантики элементов модели, суть модели;• дополнения – элементы информации, обозначенные на элементемодели на диаграмме для пояснения какойлибо особенности;• принятые деления:• классификатор и экземпляр:• классификатор – абстрактное понятие типа сущности, например банковский счет;• экземпляр – конкретный экземпляр типа сущности, например мой банковский счет;• интерфейс и реализация:• интерфейс – контракт, определяющий поведение сущности;1.11.