Разделы презентаций


Унифицированный язык моделирования UML

Содержание

Цели изучения UMLОсвоение языка и средств объектно-ориентированного анализа и проектирования сложных системЗнание основных изобразительных средств языка UML в версиях 1.х … 2.0Приобретение практических навыков моделирования в UMLЗнакомство с инструментами поддерживающими UML

Слайды и текст этой презентации

Слайд 1Унифицированный язык моделирования UML
Бессарабов Н.В.
bes@fpm.kubsu.ru
2008 г.

Унифицированный язык моделирования  UMLБессарабов Н.В.bes@fpm.kubsu.ru2008 г.

Слайд 2Цели изучения UML
Освоение языка и средств объектно-ориентированного анализа и проектирования

сложных систем
Знание основных изобразительных средств языка UML в версиях 1.х

… 2.0
Приобретение практических навыков моделирования в UML
Знакомство с инструментами поддерживающими UML (по выбору Rational Rose, PowerDesigner, Poseidon, ArgoUML, …)
Знание особенностей моделирования баз данных в UML
Получение представления о возможных направлениях развития UML

 Бессарабов Н.В.2008

Цели изучения UMLОсвоение языка и средств объектно-ориентированного анализа и проектирования сложных системЗнание основных изобразительных средств языка UML

Слайд 3Что такое UML?
Это язык уровня промежуточного между формальными и неформальными

языками.
Это расширяемый язык.
Это язык моделирования (но не имитации процессов).

Три автора

и три источника UML:
Грэди Буч (Grady Booch), метод Booch’91
Джеймс Рамбо (James Rumbaugh), метод OMT (Object Modelling Technique)
Айвар Якобсон (Ivar Jacobson), метод OOSE (Object Oriented Software Engineering)

Замечание: Термин “унифицированный” не означает
претензий на универсальность. Просто UML был создан
путем объединения как минимум трех перечисленных
выше языков.

 Бессарабов Н.В.2008

Что такое UML?Это язык уровня промежуточного между формальными и неформальными языками.Это расширяемый язык.Это язык моделирования (но не

Слайд 4Можно ли обойтись без картинок?
UML сильно напоминает комиксы (картинки с

текстом)
В принципе для любой задачи можно создавать полную формальную спецификацию,

но это дорого, повышает требования к квалификации разработчика и обычно не понятно заказчику
Автоматический синтез программ алгоритмически неразрешим, хотя известны разрешимые подклассы
Частичная генерация кода осуществима
Визуализация позволяет подключить образное (правополушарное для правшей) мышление человека и потому облегчает создание целостного образа задачи
По визуальному представлению генерируется код
В инструментах обязательно использование механизма reverse engineering для создания визуальной модели по коду

 Бессарабов Н.В.2008

Можно ли обойтись без картинок?UML сильно напоминает комиксы (картинки с текстом)В принципе для любой задачи можно создавать

Слайд 5Документирование
Программисты не любят писать документацию
Никто не любит поддерживать документацию в

актуальном состоянии
Все элементы моделей UML позволяют вводить текстовые описания
Как

правило, инструменты, поддерживающие UML, позволяют собирать документы из этих описаний (сравните с документирующими комментариями в Java)

 Бессарабов Н.В.2008

ДокументированиеПрограммисты не любят писать документациюНикто не любит поддерживать документацию в актуальном состоянии Все элементы моделей UML позволяют

Слайд 6Краткая историческая справка
1995 г. Начало. Появление Unified Method 0.8
1997 г.

UML 1.0
1999 г. UML 1.3
2001 г. UML 1.4
2003 г. UML

1.5
2005 г. UML 2.0


 Бессарабов Н.В.2008

Краткая историческая справка1995 г. Начало. Появление Unified Method 0.81997 г. UML 1.01999 г. UML 1.32001 г. UML

Слайд 7Пример диаграммы в ArgoUML
 Бессарабов Н.В.2008
Рисунок, полученный в ArgoUML
(на экране

смотрится лучше)

Пример диаграммы в ArgoUML Бессарабов Н.В.2008Рисунок, полученный в ArgoUML(на экране смотрится лучше)

Слайд 8Пример диаграммы в PowerDesigner
 Бессарабов Н.В.2008

Пример диаграммы в PowerDesigner Бессарабов Н.В.2008

Слайд 9Поддерживаются все этапы создания программы
1. Анализ
2. Проектирование
3. Разработка
4. Сопровождение

Этап анализа:

Документооборот
Бизнес – процессы
Потоки данных
Данные
 Бессарабов Н.В.2008

Поддерживаются все этапы создания программы				1. Анализ				2. Проектирование				3. Разработка				4. СопровождениеЭтап анализа: Документооборот Бизнес – процессы Потоки данных Данные

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


проектирование и документирование любых компонентов
программного обеспечения (ПО), преимущественно для


реализации на объектно-ориентированных языках.

UML должен допускать расширения, но не
переопределения (предполагается, что первичные понятия
языка могут расширяться, но не переопределяться).

Не следует считать, что для описания любой системы
необходимы все виды диаграмм UML (20% языка
достаточно в 80% случаев).

Компромисс между понятностью и точностью.

 Бессарабов Н.В.2008

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

Слайд 11Основные используемые принципы:
Абстрагирование (в модель включаются наиболее
существенные объекты проектируемой

системы,
имеющие непосредственное отношение к решаемой
задаче).
2. Многомодельность (можно понимать

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

 Бессарабов Н.В.2008

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

Слайд 12Замечания о терминологии
Любое употребляемое понятие имеет описание,
экстенсионал и интенсионал.

Например, описание класса
без методов имеет вид:
имя_класса(А1, А2,

… ),
где Аi – атрибуты.
Тогда множество {А1, А2, … } определяет экстенсионал,
а набор всех потомков класса есть интенсионал.
Термины синтаксис, семантика и прагматика.
Синтаксис – формальная структура
Семантика – смысл и содержание понятий, моделируемых объектов
Прагматика это по сути дела ответ на вопрос “Зачем это нужно?”

 Бессарабов Н.В.2008

Замечания о терминологии	Любое употребляемое понятие имеет описание, экстенсионал и интенсионал. Например, описание класса без методов имеет вид:

Слайд 13Понятие об общей структуре UML
Различают следующие уровни:
Мета-метамодель
Это язык спецификации

метамодели (понятия метакласс, метаатрибут, метаоперации). КС грамматика. Может специфицировать несколько

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

 Бессарабов Н.В.2008

Понятие об общей структуре UML 	Различают следующие уровни:Мета-метамодель	Это язык спецификации метамодели (понятия метакласс, метаатрибут, метаоперации). КС грамматика.

Слайд 14О пакетах в UML
Пакет группирует элементы модели, определяя тем
самым

некоторое пространство имен. Каждый элемент
может принадлежать одному пакету. Пакет

может
вкладываться в другой пакет, образуя отношение “быть
подмножеством”. Все виды элементов модели UML
могут быть сгруппированы в пакеты.
Изображение пакета:

 Бессарабов Н.В.2008

О пакетах в UML	Пакет группирует элементы модели, определяя тем самым некоторое пространство имен. Каждый элемент может принадлежать

Слайд 15Основные аспекты:

сущности (абстрактные классы, классы и экземпляры);
характеристики внешней среды;
структурные аспекты,

включая агрегацию композицию и наследование;
описания структур классов, основанные на отношениях

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

 Бессарабов Н.В.2008

Основные аспекты:сущности (абстрактные классы, классы и экземпляры);характеристики внешней среды;структурные аспекты, включая агрегацию композицию и наследование;описания структур классов,

Слайд 16Чем UML не является
Дадим апофатическое определение.
UML это:
Не язык программирования,

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

модель имеется (The Unified Software Development Process)
Не спецификация CASE-средства, но инструменты подразумеваются, имеются и многочисленны (Rose, Sun Java Studio Enterprise, Together, Sybase PowerBuilder, Enterprise Architect, Visio, ArgoUML, и т.д.)


 Бессарабов Н.В.2008

Чем UML не является Дадим апофатическое определение.UML это:Не язык программирования, но имеющийся инструментарий поддерживает генерацию кодаНе модель

Слайд 17OMG UML Specification 1.4
Основные документы:
UML Summary
UML Semantics
UML Notation Guide
UML Extention
UML

CORBA
UML XMI DTD
OCL
Всего в спецификации более 1000 страниц.
Число диаграмм –

8.

 Бессарабов Н.В.2008

OMG UML Specification 1.4Основные документы:UML SummaryUML SemanticsUML Notation GuideUML ExtentionUML CORBAUML XMI DTDOCLВсего в спецификации более 1000

Слайд 18OMG UML Specification 2.0
Основные документы:
UML 2.0 Superstructure
UML 2.0 Infrastructure
UML 2.0

Diagram Interchange
UML Extensions
UML MOF Metamodel
UML CORBA
UML XMI DTD
OCL
Объем документации резко

возрос.
Число диаграмм увеличилось до 13.

 Бессарабов Н.В.2008

OMG UML Specification 2.0Основные документы:UML 2.0 SuperstructureUML 2.0 InfrastructureUML 2.0 Diagram InterchangeUML ExtensionsUML MOF MetamodelUML CORBAUML XMI

Слайд 19Диаграммы UML-2 (1/2)
В UML-2 определено 13 видов диаграмм:
Диаграмма классов. Первая

структурная диаграмма. Определяет набор классов, интерфейсов, коопераций и связей между

ними
Диаграмма объектов. Вторая структурная диаграмма. Определяет множество объектов и связей между ними.
Диаграмма компонентов. Третья структурная диаграмма. Показывает внешние интерфейсы, включая порты, и внутреннее устройство компонента.
Диаграмма составной структуры. Четвертая структурная диаграмма. Представляет внешние интерфейсы и внутреннюю композицию структурированных классов.
Диаграмма вариантов использования. Первая поведенческая диаграмма. Показывает набор вариантов использования, действующих субъектов (акторов) и их связи.
Диаграмма последовательности. Вторая поведенческая диаграмма. Показывает взаимодействия классов и передачу сообщений с указанием временных характеристик.
Диаграмма коммуникации. Третья поведенческая диаграмма. Описывает сообщения посылаемые и принимаемые структурированными объектами
Диаграммы UML-2 (1/2)	В UML-2 определено 13 видов диаграмм:Диаграмма классов. Первая структурная диаграмма. Определяет набор классов, интерфейсов, коопераций

Слайд 20Диаграммы UML-2 (1/2)
Диаграмма состояний. Четвертая поведенческая диаграмма. Изображает графически машину

состояний (автомат).
Диаграмма деятельности. Пятая поведенческая диаграмма. Показывает ход вычислительного процесса,

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

Диаграмм объектов, составной структуры,
временной и обзора взаимодействий в UML-1 нет.

Диаграммы UML-2 (1/2)Диаграмма состояний. Четвертая поведенческая диаграмма. Изображает графически машину состояний (автомат).Диаграмма деятельности. Пятая поведенческая диаграмма. Показывает

Слайд 21Диаграммы вариантов использования (use-case diagram)
 Бессарабов Н.В.2008

Диаграммы вариантов использования  (use-case diagram) Бессарабов Н.В.2008

Слайд 22Элементы диаграмм вариантов использования
1. Сущности
Действующие субъекты (акторы)
Варианты использования
Примечания (в виде

произвольных текстов)
Пакеты (рассматриваются в другом разделе)
2. Отношения
Ассоциации между акторами и

вариантами
Обобщения на акторах
Обобщения и зависимости между вариантами

 Бессарабов Н.В.2008

Элементы диаграмм вариантов использования1. Сущности		Действующие субъекты (акторы)		Варианты использования		Примечания (в виде произвольных текстов)		Пакеты (рассматриваются в другом разделе)2. Отношения		Ассоциации

Слайд 23Варианты использования и акторы
Вариант использования – это очевидное для
постановщика

задачи взаимодействие пользователя и
информационной системы (ИС), или двух ИС,

или ИС и
устройства. Он определяет некоторый набор сценариев,
приводящих к значимому с точки зрения актора результату.
Для достижения ясности можно пробовать переписывать
варианты использования в схеме
“субъект – предикат – объект”.
Акторы – действующие субъекты.
Примеры: Менеджер по продажам, Принтер,
Бухгалтерская система
Акторы находятся вне проектируемой системы.
Актор это множество взаимосвязанных ролей.
Актор это стереотипный класс.
Важная особенность: При создании модели необходимо
выписать все существенные варианты использования.

 Бессарабов Н.В.2008

Варианты использования и акторыВариант использования – это очевидное для постановщика задачи взаимодействие пользователя и информационной системы (ИС),

Слайд 24Простейший пример
Отношение «использует»
 Бессарабов Н.В.2008

Простейший примерОтношение «использует» Бессарабов Н.В.2008

Слайд 25Некоторые связи (Poseidon)
 Бессарабов Н.В.2008

Некоторые связи (Poseidon) Бессарабов Н.В.2008

Слайд 26Use case “Покупка товара”
 Бессарабов Н.В.2008

Use case “Покупка товара” Бессарабов Н.В.2008

Слайд 27Банковская система
Банковская система
Клиент банка

Принтер

 Бессарабов Н.В.2008

Банковская системаБанковская системаКлиент банка

Слайд 28Уточнение варианта использования «Снять деньги со счета»
 Бессарабов Н.В.2008

Уточнение варианта использования «Снять деньги со счета» Бессарабов Н.В.2008

Слайд 29Обобщение действующего субъекта (актора) и варианта использования
 Бессарабов Н.В.2008

Обобщение действующего субъекта (актора) и варианта использования Бессарабов Н.В.2008

Слайд 30Реализация вариантов использования
Производится при переходе от стадии анализа к
проектированию.
Реализация

в рамках UML:
С помощью диаграмм деятельности
С помощью диаграмм взаимодействия (последовательности

и коммуникации)
Вне UML можно использовать:
Текстовые описания
Программы на псевдокоде

 Бессарабов Н.В.2008

Реализация вариантов использованияПроизводится при переходе от стадии анализа к проектированию.Реализация в рамках UML:С помощью диаграмм деятельностиС помощью

Слайд 31Прагматика вариантов использования
Простые и всеми понимаемые диаграммы
Не зависит от других

диаграмм
Не менялись от версии UML 1.0 до версии 2.0
Могут применяться

самостоятельно
Позволяют построить предварительную модель интерфейсов пользователя и решать задачи качества (usability)
Позволяют выделить основные компоненты системы
Позволяют разработать план тестирования, может быть предварительный

 Бессарабов Н.В.2008

Прагматика вариантов использованияПростые и всеми понимаемые диаграммыНе зависит от других диаграммНе менялись от версии UML 1.0 до

Слайд 32Выводы по диаграммам вариантов использования
Составление диаграмм Use case должно быть

первым
шагом моделирования системы
Диаграммы вариантов использования дают декларативное, но не

императивное описание
Основное их назначение – показать связи с внешним миром
Диаграммы Use case не обязательно соответствуют диаграммам классов, модулей и компонентов, но позволяют определить:
1. Основные интерфейсы, в том числе пользовательские
и межпрограммные
2. Предварительные оценки производительности
каналов связи
3. Некоторые возможности повторного использования
модулей

 Бессарабов Н.В.2008

Выводы по диаграммам вариантов использованияСоставление диаграмм Use case должно быть первым 	шагом моделирования системыДиаграммы вариантов использования дают

Слайд 33Диаграммы классов
 Бессарабов Н.В.2008

Диаграммы классов Бессарабов Н.В.2008

Слайд 34Семантика
Семантика объектов это:
Диаграммы классов
+ Ограничения (описаны в OCL)
+ Тексты

(в естественном языке)

OCL – объектно ориентированный язык предикатов
первого порядка

с равенством и ограниченными
кванторами.

 Бессарабов Н.В.2008

СемантикаСемантика объектов это:Диаграммы классов + Ограничения (описаны в OCL)+ Тексты (в естественном языке)OCL – объектно ориентированный язык

Слайд 35Диаграммы классов
Класс в UML обозначает набор объектов, имеющих сходную

архитектуру, поведение и отношения с другими объектами.
 Бессарабов Н.В.2008

Диаграммы классов Класс в UML обозначает набор объектов, имеющих сходную архитектуру, поведение и отношения с другими объектами.

Слайд 36Запись атрибутов в UML
Принято использовать следующий синтаксис:
[кратность_атрибута]:
=

{строка_свойство}.
Обозначения областей видимости атрибутов знаками:
+ общедоступный (public)
#

защищенный (protected)
- закрытый (private)
Кратность атрибута характеризует наличие ни одного(0)
или нескольких атрибутов данного типа,
[0..1] - иногда есть, иногда нет
[0..1,5,7..11] - любое из перечисленных чисел
* - любая кратность
Примеры:
+ПолучитьАдрес : Address
#Цена : {$200}

 Бессарабов Н.В.2008

Запись атрибутов в UMLПринято использовать следующий синтаксис: [кратность_атрибута]: = {строка_свойство}.Обозначения областей видимости атрибутов знаками: +  общедоступный

Слайд 37Операции классов
Формат записи аналогичен формату для
атрибутов:
(): {строка_свойство}

Не все операции должны выполняться
последовательно и не все

могут выполняться
параллельно.
Квантор видимости принимает
значения + , - , #
Список параметров:
<вид_параметра><имя_параметра><тип_параметра> =<значение_по_умолчанию>
Вид_параметра: {in, out, inout}.
Операции классовФормат записи аналогичен формату для атрибутов:(): {строка_свойство}    Не все операции должны выполняться последовательно

Слайд 38Параллельность
Производительность системы в некоторых случаях
можно повысить, определив некоторые

операции
исполняемыми параллельно. Для указания на степень
параллельности используется строка-свойство

вида:
{concurrency = тип_параллельности}.
Типы параллельности:
Sequential -- последовательная;
Concurrent -- параллельная;
Guarded -- защищенная.
Обращения к защищенной операции должны быть
регламентированы по времени, только в этом случае
можно гарантировать правильную обработку
исключительных ситуаций.
Параллельность Производительность системы в некоторых случаях можно повысить, определив некоторые операции исполняемыми параллельно. Для указания на степень

Слайд 39Отношения между классами
В UML различают:
Отношения зависимости (dependency relationship).
Отношения ассоциации

(association relationship).
Отношения обобщения (generation relationship), это взгляд на наследование снизу

вверх.
Отношения реализации (realization relationship).
Отношения агрегации (aggregation relationship).
Отношения композиции (composition relationship).
Отношения между классами В UML различают:Отношения зависимости (dependency relationship).Отношения ассоциации (association relationship).Отношения обобщения (generation relationship), это взгляд

Слайд 40Отношения зависимости
Используются, когда изменение одного компонента модели вызывает изменения

других компонентов.
Обозначается:


класс клиент класс источник









независимый класс
Отношения зависимости Используются, когда изменение одного компонента модели вызывает изменения других компонентов.Обозначается:

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

зависимостей.
Применяют следующие стереотипы:
“access” - означает, что открытые атрибуты и операции

класса-источника доступны классу-клиенту.
“bind” - класс-клиент может использовать класс-источник как шаблон для своей параметризации.
“derive” - атрибуты клиента вычисляются по атрибутам источника.
“import”-открытые атрибуты и операции источника становятся частью клиента, как будто они в нем были объявлены.
“refine” - клиент уточняет источник (может быть отражая временную зависимость свойств). В UML считается, что это наиболее общий вид зависимости.
Отношения зависимости Стрелки зависимостей могут помечаться предопределенными словами, определяющими особенности зависимостей.Применяют следующие стереотипы:“access” - означает, что открытые

Слайд 42Отношения ассоциации
Отношение ассоциации означает наличие связи между классами.

Принято n-мерную ассоциацию

обозначать ромбом, а класс, присоединенный к ассоциации обозначать пунктирной линией.

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

Слайд 43Отношения агрегации
Отношение агрегации употребляется, когда в состав
сущности, описываемой

одним классом, входят сущности
описываемые другими классами. При этом все

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

Слайд 44Отношения композиции
Это особенный, частный случай агрегации. Отличие в
том,

что части не могут в каком-то смысле существовать
независимо от

целого.




Сравните с отношением обобщения
Отношения композиции Это особенный, частный случай агрегации. Отличие в том, что части не могут в каком-то смысле

Слайд 45Связи-обобщения

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

и более специализированной разновидностью этой сущности, называемой подклассом, или потомком.

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

Слайд 46Отношение обобщения. Одиночное наследование

Отношение обобщения. Одиночное наследование

Слайд 47Отношение обобщения. Пример множественного наследования
 Бессарабов Н.В.2008

Отношение обобщения. Пример множественного наследования Бессарабов Н.В.2008

Слайд 48Замечания к диаграмме
Среди объектов класса Студент могут быть преподаватели, а

некоторые преподаватели могут быть студентами. Класс СтудентПреподаватель определен путем множественного

наследования от суперклассов Студент и Преподаватель
Проблема: предположим, что в обоих подклассах Студент и Преподаватель был создан атрибут с именем "номерКомнаты”, но с разной семантикой. Очень вероятно, что для объектов класса Студент значениями этого атрибута будут номера комнат в студенческом общежитии, а для объектов класса Преподаватель - номера служебных кабинетов. Как определить этот атрибут в классе СтудентПреподаватель?
Замечания к диаграммеСреди объектов класса Студент могут быть преподаватели, а некоторые преподаватели могут быть студентами. Класс СтудентПреподаватель

Слайд 49Применяется одно из следующих неудовлетворительных решений:
запретить образование подкласса СтудентПреподаватель, пока

в одном из суперклассов не будет произведено переименование атрибута "номерКомнаты";


наследовать это свойство только от одного из суперклассов, так что, например, значением атрибута "номерКомнаты" у объектов класса СтудентПреподаватель всегда будут номера служебных кабинетов;
унаследовать в подклассе оба свойства, но автоматически переименовать оба атрибута, чтобы прояснить их смысл; назвать их, например, "номерКомнатыСтудента" и "номерКомнатыПреподавателя".

Вывод: При использовании UML для проектирования
реляционных БД нужно очень осторожно использовать
наследование классов и стараться вообще избегать
множественного наследования.

Применяется одно из следующих неудовлетворительных решений:запретить образование подкласса СтудентПреподаватель, пока в одном из суперклассов не будет произведено

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика