Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Диаграммы классов языка UML. Категории связей и их отображение на диаграмме. Примеры.





Связью-обобщением называется связь между общей сущностью (суперкласс/родителем) и более специализированным типом этой сущности (подкласс/потомок).

Полиморфизмом по включению – объекты потомка могут использоваться везде, где могут использоваться объекты предка. Потомок наследует все атрибуты и операции предка.

У класса есть скрытое свойство isAbstract – может ли класс иметь объекты.

Множественное наследование – подкласс определяется на основе нескольких суперклассов.

 

Ассоциацией называется структурная связь между объектами одного класса и объектами другого или того же самого класса (изображается линией).

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

 

С ассоциацией связаны 5 важных понятий: имя, роль, кратность, агрегация и навигация.

У связи может быть имя, треугольник указывает направление чтения имени связи; у каждого класса может быть роль в ассоциации;

кратность (задается числом, интервалом, списком значений и интервалов, * - бесконечность) показывает, сколько объектов класса может/должно участвовать в экземпляре ассоциации.

Агрегация в UML используется для отображения связи «часть-целое» (класс-целое имеет более высокий концептуальный уровень).

Иногда связь «части» и «целого» настолько сильна, что «часть» может быть частью только 1 «целого», и уничтожение «целого» приводит к уничтожению всех его «частей». Такие агрегации– композитные.

Навигация может осуществляться в обоих направлениях. Для некоторых ассоциаций желательно ограничить навигацию (стрелка).

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

 


 

Язык OCL. Инварианты OCL. Основные типы данных и выражения.

В UML 2 способа определения ограничений: на естественном языке и на языке OCL. Более точный и лаконичный способ формулировки ограничений обеспечивает язык OCL (Object Constraints Language).

Из языка UML в OCL заимствованы, в первую очередь, следующие концепции:

  • класс, атрибут, операция;
  • объект (экземпляр класса);
  • ассоциация;
  • тип данных (включая набор типов Boolean, Integer, Real и String);
  • значение (экземпляр типа данных).

В OCL предопределены структурные типы, которые являются разновидностями типов коллекций (collection):

  • математическое множество (set), неупорядоченная коллекция, нет одинаковых элементов;
  • мультимножество (bag), неупорядоченная коллекция, которая может содержать элементы-дубликаты;
  • последовательность (sequence), упорядоченная коллекция, которая может содержать элементы-дубликаты.
  • упорядоченное множнество (ordered set), упорядоченная коллекция, нет одинаковых элементов;

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

Инвариант класса – это логическое выражение, вычисление которого должно давать true при создании любого объекта данного класса и сохранять истинное значение в течение всего времени существования этого объекта.

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

context <class_name> inv:

<OCL-выражение>

Пример (существует человек, обладающий контрольным пакетом акций)

Context Компания inv:

Self.акционер =>Exists

(a:человек|a.количествоакций >= self.количествоакций div 2 +1)







Дата добавления: 2015-09-15; просмотров: 548. Нарушение авторских прав; Мы поможем в написании вашей работы!




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия