Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнение1. Общая характеристика языка UML.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
126.8 Кб
Скачать

Представление управления моделью. Пакеты.

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

Что обеспечивает uml.

  • иерархическое описание сложной системы путем выделения пакетов;

  • формализацию функциональных требований к системе с помощью аппарата вариантов использования;

  • детализацию требований к системе путем построения диаграмм деятельностей и сценариев;

  • выделение классов данных и построение концептуальной модели данных в виде диаграмм классов;

  • выделение классов, описывающих пользовательский интерфейс, и создание схемы навигации экранов;

  • описание процессов взаимодействия объектов при выполнении системных функций;

  • описание поведения объектов в виде диаграмм деятельностей и состояний;

  • описание программных компонент и их взаимодействия через интерфейсы;

  • описание физической архитектуры системы.

Несмотря на всю привлекательность UML, его было бы затруднительно использовать при реальном моделировании ПС без инструментальных средств визуального моделирования. Такие средства позволяют оперативно представлять диаграммы на экране дисплея, документировать их, генерировать заготовки программных кодов на различных ОО языках программирования, создавать схемы баз данных. Большинство из них включают возможности реинжиниринга программных кодов – восстановления определенных

UML построен на идее диаграмм, причем разных типов. Структуру диаграмм UML можно представить на диаграмме классов UML:

Перечислим основные виды диаграмм UML:

  1. Диаграмма классов - призвана демонстрировать структуру программы, путем отображения классовой декомпозиции

  2. Диаграмма компонентов - демонстрирует структуру программы, разбивая её на более крупные структурные блоки (чем классы) - компоненты

  3. Диаграмма композитной - составной структуры - диаграмма, которая отображает внутреннюю структуру классов. Подвидом подобных диаграмм являются диаграммы кооперации

  4. Диаграмма развертывания - служит для моделирования работающих аппаратных средств (узлов)

  5. Диаграмма объектов - демонстрация полного или частичного среза состояния системы в задаваемый момент времени

  6. Диаграмма пакетов - прежде всего нужны для объединения элементов в группы по избираемому критерию

  7. Диаграмма деятельности - диаграмма, на которой показано разбиение какой-либо деятельности на её составные части. Деятельность тут - это спецификация поведения, задаваемого действиями. Является одним из наиболее используемых типов диаграмм, после диаграмм классов. Однако для моделирования активности есть и другая нотация - BPMN

  8. Диаграмма автомата - диаграмма, на которой изображен конечный автомат, с переходами, состояними и так далее. Служит для представления работы системы в виде конечного автомата

  9. Диаграмма вариантов использования - диаграмма, на которой изображены отношения между пользователем и вариантом использования системы

Есть еще и другие виды диаграмм. Перечислим некоторые преимущества UML:

  1. UML объектно-ориентирован, и способ описания программ схож с декомпозицией в ОО языках

  2. Ввиду разнообразия диаграмм, UML можно использовать для описания практически всех компонентов архитектуру разрабатываемого программного обеспечения

  3. UML простой, с базовым функционалом легко разобраться

  4. UML расширяем (с помощью стереотипов) На данный момент существует множество средств, позволяющих работать с UML. Одним из наиболее мощных (по предлагаемым возможностям) является Eclipse Modelling Tools. Формат, который используется для сохранения UML диаграмм называется XMI. Следует отметить, что UML поддерживает расширение. Механизмы расширения UML позволяют расширять его возможности контролируемым образом. Это такие механизмы, как стереотипы, помеченные значения и ограничения.

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

  2. Помеченные значения расширяют свойства строительных блоков UML, разрешая вносить новую информацию в спецификацию элемента (путем добавления атрибутов).

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

  1. Определение и история создания языка UML. Состав диаграмм UML

Унифицированный язык моделирования UML (Unified Modeling Language) – это язык для определения, представления, проектирования и документирования программных систем, организационно-экономических систем, технических систем и других систем различной природы. UML содержит стандартный набор диаграмм и нотаций самых разнообразных видов. UML является наследником методов объектно-ориентированного анализа и проектирования, появившихся в конце 1980-х и начале 1990-х годов. Создание UML началось в конце 1994 г., с объединения методов Booch и OMT (Object Modeling Technique) под эгидой компании Rational Software. К концу 1995 г. Гради Буч и Джеймс Рамбо создали первую спецификацию Unified Method, версия 0.8. Тогда же в 1995 г. к ним присоединился создатель метода OOSE (Object-Oriented Software Engineering) Ивар Якобсон. UML является унификацией методов Буча, Рамбо и Якобсона. Разработка UML преследовала следующие цели:

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

  • предусмотреть механизмы расширения и специализации языка;

  • обеспечить независимость языка от языков программирования и процессов разработки;

  • интегрировать накопленный практический опыт.

UML широко используется в индустрии ПО. Практически все мировые производители CASE-средств поддерживают UML в своих продуктах. В 2004 году Object Management Group приняла UML версии 2.0. Ранее в 1997 году OMG приняла стандарт UML 1.1. Состав диаграмм UML:

  1. структурные:

    1. диаграммы классов, моделирующие статическую структуру классов системы и связи между классами;

    2. диаграммы компонентов, моделирующие иерархии компонентов ПО;

    3. диаграммы размещения, моделирующие физическую архитектуру системы;

  2. поведенческие:

    1. диаграммы вариантов использования, моделирующие бизнес-процессы и требования к ПО;

    2. диаграммы взаимодействия (диаграммы последовательности и коммуникационные диаграммы), моделирующие обмен сообщениями между объектами;

    3. диаграммы состояний, моделирующие поведение объектов;

    4. диаграммы деятельности, моделирующие поведение системы в целом и потоки управления.

В UML 2.0 введены новые типы диаграмм, которых ранее не было: диаграммы обзора взаимодействия, временные диаграммы и диаграммы составных структур. ^

Литература

  1. Боггс У., Боггс М. UML и Rational Rose 2002: Пер. с англ. – М.: ЛОРИ, 2004.

  2. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя.: Пер. с англ. – М.: ДМК, 2000. – Глава 2.

  3. Вендров А. М., Малышко В. В. Объектно-ориентированный анализ и проектирование с использованием языка UML.: Методическое пособие – М.: Издательский отдел факультета ВМиК МГУ, 2002.

  4. Фаулер М. UML. Основы. 3-е издание. Краткое руководство по стандартному языку объектного моделирования.: Пер. с англ. – СПб: Символ-Плюс, 2005

UML

UML (англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это — открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования, в основном, программных систем. UML не является языком программирования, но на основании UML-моделей возможна генерация кода.

Использование

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

UML позволяет также разработчикам программного обеспечения достигнуть соглашения в графических обозначениях для представления общих понятий (таких как класс, компонент, обобщение (англ. generalization), агрегация (англ. aggregation) и поведение) и больше сконцентрироваться на проектировании и архитектуре.

История

История объектно-ориентированных методов и нотации.

До UML 1.x

В 1994 году Гради Буч и Джеймс Рамбо, работавшие в компании Rational Software, объединили свои усилия для создания нового языка объектно-ориентированного моделирования. За основу языка ими были взяты методы моделирования, разработанные Бучем и Рамбо (Object-Modeling Technique, OMT). OMT был ориентирован на анализ, а Booch — на проектирование программных систем. В октябре 1995 года была выпущена предварительная версия 0.8 унифицированного метода (англ. Unified Method). Осенью 1995 года к компании Rational присоединился Ивар Якобсон, автор метода Object-Oriented Software Engineering — OOSE. OOSE обеспечивал превосходные возможности для спецификации бизнес-процессов и анализа требований при помощи сценариев использования. OOSE был также интегрирован в унифицированный метод.

На этом этапе основная роль в организации процесса разработки UML перешла к консорциуму OMG (Object Management Group). Группа разработчиков в OMG, в которую также входили Буч, Рамбо и Якобсон, выпустила спецификации UML версий 0.9 и 0.91 в июне и октябре 1996 года.

UML 1.x

Версия

Дата принятия

1.1

ноябрь 1997[1]

1.3

март 2000[2]

1.4

сентябрь 2001[3]

1.4.2.

июль 2004[2]

1.5

март 2003[4]

2.0

июль 2005[5]

2.1

формально не была принята[2]

2.1.1

август 2007[6]

2.1.2

ноябрь 2007[7]

2.2

февраль 2009[8]

2.3

май 2010[9]

2.4 beta 2

март 2011[10]

На волне растущего интереса к UML к разработке новых версий языка в рамках консорциума UML Partners присоединились такие компании, как Digital Equipment Corporation, Hewlett-Packard, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse, Microsoft, Oracle Corporation, Rational Software, Texas Instruments и Unisys. Результатом совместной работы стала спецификация UML 1.0, вышедшая в январе 1997 года. В ноябре того же года за ней последовала версия 1.1, содержавшая улучшения нотации, а также некоторые расширения семантики.

Последующие релизы UML включали версии 1.3, 1.4 и 1.5, опубликованные, соответственно, в июне 1999, сентябре 2001 и марте 2003 года.

UML 1.4.2 принят в качестве международного стандарта ISO/IEC 19501:2005[11].

UML 2.x

Формальная спецификация последней версии UML 2.0 опубликована в августе 2005 года. Семантика языка была значительно уточнена и расширена для поддержки методологии Model Driven Development — MDD (англ.). Последняя версия UML 2.4.1 опубликована в августе 2011 года.

UML 2.4.1 принят в качестве международного стандарта ISO/IEC 19505-1, 19505-2[11].

Диаграммы

В UML используются следующие виды диаграмм (для исключения неоднозначности приведены также обозначения на английском языке):

Structure Diagrams:

  • Class diagram

  • Component diagram

  • Composite structure diagram

    • Collaboration (UML2.0)

  • Deployment diagram

  • Object diagram

  • Package diagram

  • Profile diagram (UML2.2)

Behavior Diagrams:

  • Activity diagram

  • State Machine diagram

  • Use case diagram

  • Interaction Diagrams:

    • Communication diagram (UML2.0) / Collaboration (UML1.x)

    • Interaction overview diagram (UML2.0)

    • Sequence diagram

    • Timing diagram (UML2.0)

Структурные диаграммы:

  • Диаграмма классов

  • Диаграмма компонентов

  • Диаграмма композитной/составной структуры

    • Диаграмма кооперации (UML2.0)

  • Диаграмма развёртывания

  • Диаграмма объектов

  • Диаграмма пакетов

  • Диаграмма профилей (UML2.2)

Диаграммы поведения:

  • Диаграмма деятельности

  • Диаграмма состояний

  • Диаграмма вариантов использования

  • Диаграммы взаимодействия:

    • Диаграмма коммуникации (UML2.0) / Диаграмма кооперации (UML1.x)

    • Диаграмма обзора взаимодействия (UML2.0)

    • Диаграмма последовательности

    • Диаграмма синхронизации (UML2.0)

Структуру диаграмм UML 2.3 можно представить на диаграмме классов UML: