|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Диаграммы классов языка UML. Категории связей и их отображение на диаграмме. ПримерыСвязью-обобщением называется связь между общей сущностью (суперкласс/родителем) и более специализированным типом этой сущности (подкласс/потомок). Полиморфизмом по включению – объекты потомка могут использоваться везде, где могут использоваться объекты предка. Потомок наследует все атрибуты и операции предка. У класса есть скрытое свойство isAbstract – может ли класс иметь объекты. Множественное наследование – подкласс определяется на основе нескольких суперклассов.
Ассоциацией называется структурная связь между объектами одного класса и объектами другого или того же самого класса (изображается линией). В ассоциации могут связываться два класса, и тогда она называется бинарной. Допускается создание ассоциаций, связывающих n классов – n-арные ассоциации.
С ассоциацией связаны 5 важных понятий: имя, роль, кратность, агрегация и навигация. У связи может быть имя, треугольник указывает направление чтения имени связи; у каждого класса может быть роль в ассоциации; кратность (задается числом, интервалом, списком значений и интервалов, * - бесконечность) показывает, сколько объектов класса может/должно участвовать в экземпляре ассоциации. Агрегация в UML используется для отображения связи «часть-целое» (класс-целое имеет более высокий концептуальный уровень). Иногда связь «части» и «целого» настолько сильна, что «часть» может быть частью только 1 «целого», и уничтожение «целого» приводит к уничтожению всех его «частей». Такие агрегации– композитные. Навигация может осуществляться в обоих направлениях. Для некоторых ассоциаций желательно ограничить навигацию (стрелка). С точки зрения библиотеки разумно произвести навигацию от объекта-библиотеки к связанным с ним объектам-книгам. Однако вряд ли потребуется по данному экземпляру книги узнать, в какой библиотеке она находится
40. Язык OCL. Инварианты OCL. Основные типы данных и выражения. В UML 2 способа определения ограничений: на естественном языке и на языке OCL. Более точный и лаконичный способ формулировки ограничений обеспечивает язык OCL (Object Constraints Language). Из языка UML в OCL заимствованы, в первую очередь, следующие концепции:
В OCL предопределены структурные типы, которые являются разновидностями типов коллекций (collection):
OCL может применяться для определения ограничений, описывающих пред- и постусловия операций классов, и ограничений, представляющих собой инварианты классов. Инвариант класса – это логическое выражение, вычисление которого должно давать true при создании любого объекта данного класса и сохранять истинное значение в течение всего времени существования этого объекта. Синтаксис определения инварианта: context <class_name> inv: <OCL-выражение> Пример (существует человек, обладающий контрольным пакетом акций) Context Компания inv: Self.акционер =>Exists (a:человек|a.количествоакций >= self.количествоакций div 2 +1) Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |