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

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

Диаграммы классов языка 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 оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

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

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

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

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