Основные объекты языка UML

Автор работы: Пользователь скрыл имя, 21 Мая 2013 в 20:05, реферат

Описание работы

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

Файлы: 1 файл

Основные объекты языка UML.docx

— 110.59 Кб (Скачать файл)

Министерство  образования Российской федерации.

Московский Государственный  Горный  Университет

 

 

 

 

 

 

 

 

Реферат по дисциплине:

«Технология разработки программного обеспечения»

На тему:

«Основные объекты  языка UML»

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнила:

ст. гр. АСП-М-1-12

Диева А.В.

Проверил:

Доц. Смагина И.А.

 

 

 

 

 

 

Москва 2013г.

Основные элементы языка UML

1. Общие сведения

В течение 1994-96 годов создатели  трех наиболее распространенных методологий - Г. Буч (BOOCH), Дж. Рамбо (OMT) и А. Якобсон (OOSE) объединили свои усилия под эгидой Rational Software Corporation на создание единого языка моделирования, который объединил бы все существенные и успешные разработки в данной области и стал бы стандартом языка объектного моделирования. Эта работа, в которой наряду с Rational участвовали представители множества компаний, таких, как Microsoft, IBM, Hewlett-Packard, Oracle, DEC, Unisys, IntelliCorp, Platinum Technology и нескольких сотен других завершилась созданием в январе 1997 года версии 1.0 Унифицированного Языка Моделирования - Unified Modeling Language (UML), которая после бурного обсуждения в течение 1997 года превратилась в сентябре в версию 1.1 и была передана в OMG для принятия UML в качестве отраслевого стандарта расширяемого языка объектного моделирования. OMG - некоммерческая международная организация, в которую входят более 600 ведущих мировых компаний и отвечающая за принятие стандартов в области информационных технологий.

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

Практически все мировые  производители CASE-средств используют поддержку UML в своих продуктах. Сегодня существуют множество CASE-средств, автоматизирующих процесс анализа и проектирования в UML (Rational Rose, Paradigm Plus, Select Enterprise, Microsoft Visual Modeler for Visual Basic и др.), поддерживающих множество языков программирования, таких, как C++, Java, Delphi, Power Builder, Visual Basic, Centura, Forte, Ada, Smalltalk, а также позволяющих осуществлять генерацию базы данных для большинства из существующих SQL-серверов. Модели, разработанные в UML, позволяют значительно упростить процесс кодирования и направить усилия программистов непосредственно на реализацию системы.

2. Представления UML

В языке UML нет четких границ между различными концепциями и  конструкциями, но для удобства выделяют несколько представлений. Представление модели -- это просто подмножество конструкций, которое представляет один из аспектов моделируемой системы. На самых высоких уровнях абстракции различают три основных представления: 1) структурная классификация; 2) динамическое поведение и 3) управление моделью.

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

 

Таблица 1.

Представления модели и диаграммы  в языке UML


 

Основная область

Представления

Диаграммы

Основные концепции

 

Структурная

Статическое представление

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

Класс, ассоциация, обобщение, зависимость, реализация, интерфейс

 

Представление использования

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

Вариант использования, актант, ассоциация, расширение, включение  и обобщение вариантов использования

 

Представление программной  реализации

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

Компонент, интерфейс, зависимость, реализация

 

Представление развертывания

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

Узел, компонент, зависимость, расположение

 

Динамическ

ая

Представление в виде конечного  автомата

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

Состояние, событие, переход, действие

 

Представление деятельности

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

Состояние, деятельность, завершение перехода, развилка, слияние

 

Представление взаимодействия

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

Взаимодействие, объект, сообщение, активизация

 

 

Диаграмма кооперации

Кооперация, взаимодействие, роль в кооперации, сообщение

 

Управление моделью

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

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

Пакет, подсистема, модель

 

Расширения языка

Все

Все

Ограничение, стереотип, именованные  значения

 
         

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

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

Представление управления моделью - это описание разбиения модели на иерархические блоки. Групповой организационный блок называется пакетом. Отдельные пакеты включают модели и подсистемы. Представление управления моделью организует все остальные представления моделей и позволяет осуществлять процесс разработки и управления конфигурацией.

Кроме того, есть несколько  конструкций, которые обеспечивают пусть ограниченную, но полезную функцию расширения возможностей языка UML. Эти конструкции можно применять к элементам любых представлений модели. В число таких конструкций входят ограничения (constraints), стереотипы (stereotypes) и именованные значения (tagged values).

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

3. Связи и отношения в языке UML

Кроме внутреннего устройства или структуры классов на соответствующей  диаграмме языка UML указываются различные отношения (relationship) между классами. При этом совокупность типов таких отношений фиксирована в языке UML и предопределена семантикой этих типов отношений. Эта совокупность объединяется под общим названием зависимость.

Базовыми отношениями (нотациями) или связями в языке UML являются:

Отношение ассоциации (association relationship);

Отношение обобщения (generalization relationship);

Отношение реализации (realization relationship);

Отношение зависимости (dependency relationship).

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

3.1 Отношение ассоциации

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

Ассоциация (association) - это описание набора однородных связей между объектами двух типов. Она обозначает семантическое соединение классов. основная задача ассоциации состоит в обеспечении взаимодействия объектов, принадлежащих разным классам.

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

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

Рис 1. Основные компоненты языка UML

Таблица 2


 

Базовое отношение (нотация)

Вид

Разновидность

Ключевое слово или  символ

 

Ассоциация

(association)

Ассоциация

     

Обобщение

(generalization)

Обобщение

     

Реализация

(realization)

Абстракция

Реализация

 

Зависимость

(Dependency)

Общее обозначение

     
 

Абстракция

Выводить

«derive»

 
   

Уточнять

«refine»

 
   

Трассировать

«trace»

 

Связывание

 

«bind» (параметрсписок)

 

Расширение

 

«extend» (точка расширениясписок)

 

Поток

Превращаться

Порядковый номер: «become»

 

 

Копировать

Порядковый номер: «copy»

 
 

Включение

 

«include»

 
 

Метаотношение

Являться экземпляром

«instanceOf»

 

 

Множество всех типов

«powertype»

 
 

Разрешение

Быть доступным

«access»

 
   

Быть дружественным

«friend»

 

 

Импортировать

«import»

 
 

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

Вызывать

«call»

 
   

Создать экземпляр

«instantiate»

 
   

Параметр

«parameter»

 
   

Отправить

«send»

 
         

У краев прямоугольника, обозначающего  класс, находится полюс ассоциации (association end), представляющий собой структурную часть ассоциации, которая определяет, какой объект в ней участвует. Полюса ассоциации имеют четкое местоположение и в принципе не взаимозаменяемы. Полюс содержит описание того, каким образом класс принимает участие в ассоциации. Для этого, между концом маршрута (линией) и классом размещается один или несколько указателей. В случае если указателей несколько, то они располагаются поочередно, как показано на рис. 2. - стрелка навигации, ромб агрегации или композиции, квалификатор и т. п. Дополнительно, над/под полюсом ассоциации может размещаться дополнительная информация - имя роли, кратность (множественность, мощность) и т. д.


Например, рассмотрим отношение ассоциации между игроком и спортивным клубом, показанное на рис 3.

Этот пример иллюстрирует наиболее простой случай отношения  ассоциации - бинарную ассоциацию. Она связывает в точности два класса и, как исключение, может связывать класс с самим собой. Для бинарной ассоциации на диаграмме может быть указан порядок следования классов с использованием треугольника в форме стрелки рядом с именем данной ассоциации. Направление этой стрелки указывает на порядок классов, один из которых является первым (со стороны треугольника), а другой -- вторым (со стороны вершины треугольника). В данном случае это обозначает ассоциацию "Игрок Играет в Клубе". Сочетание "Играет в" является именем ассоциации, а направление ассоциации указывает, что первым классом является класс "Игрок". Отсутствие стрелки направления ассоциации рядом с именем ассоциации означает, что порядок следования классов в рассматриваемом отношении не определен. класс "Клуб" дополнительно снабжен комментарием (или аннотационной сущностью), свидетельствующим, что это - футбольный (спортивный) клуб, а не клуб "по интересам". Комментарий соединяется штриховой линией с элементом диаграммы, к которому он относится (в данном случае - к классу).

Роль ассоциации. Каждая ассоциация, как и любая связь, обладает направлением или в терминах UML - ролью (association role). Ролей может быть две, чтобы иметь возможность подчеркнуть возможные различия во "взаимоотношениях" между классами, например у "Начальника" могут быть сосредоточены все права, а у "Подчиненного" - только обязанности. В приведенном выше примере, у класса "Игрок" будет роль "Наемный работник", а у класса "Клуб" - "Наниматель", так как клуб нанимает игрока. кстати, этот факт, можно отобразить в виде второй ассоциации, имеющей обратное направление по отношению к первой, как показано на рис. 4

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

Информация о работе Основные объекты языка UML