40595

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

Лекция

Информатика, кибернетика и программирование

Диаграмма классов определяет типы объектов системы и различного рода статические связи которые существуют между ними.1 Диаграмма классов На диаграммах классов изображаются также атрибуты классов операции классов и ограничения которые накладываются на связи между объектами.1 изображена типичная диаграмма классов.

Русский

2013-10-17

37.79 KB

12 чел.

Занятие 34

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

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

• ассоциации (например, клиент может сделать заказ);

• подтипы (частный клиент является разновидностью клиента).

Рис.1 Диаграмма классов

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

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

Построение диаграмм классов можно рассматривать в различных аспектах:

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

аспект спецификации - модель спускается на уровень ПО, но рассматриваются только интерфейсы, а не программная реализация классов (под интерфейсом здесь понимается набор операций класса, видимых извне);

аспект реализации - модель действительно определяет реализацию классов ПО. Этот аспект наиболее важен для программистов.

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

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

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

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

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

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

Каждая ассоциация обладает двумя ролями; каждая роль представляет собой направление ассоциации. Таким образом, ассоциация между Клиентом и Заказом содержит две роли: одна от Клиента к Заказу, другая - от Заказа к Клиенту.

Роль может быть явно поименованная с помощью метки. Например, роль ассоциации в направлении от Заказа к Строкам заказа называется "позиция заказа". Если такая метка отсутствует, роли присваивается имя класс - цели - таким образом, роль ассоциации от Заказа к Клиенту может быть названа Клиент (термины "начало" (source) и "цель" (target) употребляются для обозначения классов, являющихся соответственно начальным и конечным для ассоциации).


 

А также другие работы, которые могут Вас заинтересовать

31941. Семантика и функции кавычек в современном русском языке (на материале печатных СМИ) 189 KB
  Объектом диссертационного исследования являются кавычки распространение которых в языке СМИ подтверждает тенденцию к экспрессивизации газетнопублицистического текста. Научная новизна диссертационного исследования заключается в следующем: выявлены основные тенденции употребления факультативных кавычек в современном русском языке; переносная метаязыковая и модальная функции кавычек впервые раскрыты на обширном языковом материале отражающем реалии начала XXI века; установлены семантические процессы влияющие на выделение слова кавычками...
31942. Банковская система РФ 26.5 KB
  Основной целью банковской системы является обслуживание оборота капитала в процессе производства и обращения товаров. Банковская система является главным звеном финансовокредитной системы государства так как на нее падает нагрузка по кредитнофинансовому обслуживанию хозяйственного оборота страны. Основные задачи банковской системы любой страны: обеспечение эффективного и бесперебойного функционирования системы расчетов в народном хозяйстве; аккумуляция временно свободных ресурсов в стране; кредитование производства обращения...
31943. Р. БАРТ СЕМАНТИКА ВЕЩИ 54 KB
  Прежде всего как же нам определить вещь до того как выяснять каким образом вещи могут чтото значить В словарях даются расплывчатые дефиниции: вещь объект [object] это то что доступно зрению это то что мыслится по отношению к мыслящему субъекту; короче как говорится в большинстве словарей это некоторая вещь дефиниция которая ничего нам не даёт если только не попытаться выяснить какие коннотации имеет данное слово. Вещь очень быстро у нас на глазах начинает казаться или даже существовать как чтото нечеловеческое...
31944. Понятия текст/реальность, письмо/жизнь 38.5 KB
  Главная проблема письма и реальности состоит в постановке вопроса как соотносится письмо и реальность: проясняет ли письмо реальность вытесняет ли реальность каковы границы между письмом и реальностью или же письмо – это онтологическое понятие Вторая проблема – это рассмотрение письма как акта коммуникации и третья – письмо как знаковая система противопоставленная реальности письмо является моделирующей новую реальность системой вследствие чего возникает вопрос: письмо – вторичная или первичная реальность И являясь материально...