40595

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

Лекция

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

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

Русский

2013-10-17

37.79 KB

12 чел.

Занятие 34

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

61621. А.С. Пушкин «Сказка о рыбаке и рыбке» 13.15 KB
  Цель: чтение и анализ произведения Задачи: 1 развивать навык правильного сознательного чтения 2 мотивировать на понимание текста а не на механическое чтение 3 учить выделять тему и идею произведения сравнивать образы героев находить символические явления и предметы...
61622. Н. Рыленков «К родине» 20.92 KB
  Цель: формировать навыки словесного рисования; развивать внимание к образным средствам языка; учить умению выражать свои чувства по отношению к прочитанному.
61623. РАБОТА С «КАРТИННОЙ ГАЛЕРИЕЙ». АНДРЕЙ РУБЛЕВ «ТРОИЦА» 18.89 KB
  Цель: развивать умение работать в картиной; обогащать словарный запас детей; воспитывать любовь к литературе и искусству, чувство патриотизма. Оборудование: слайд картины, А. Рублева «Троица», диапроектор
61626. ВЫЧИТАНИЕ С ЗАНИМАНИЕМ ЕДИНИЦЫ ЧЕРЕЗ НЕСКОЛЬКО РАЗРЯДОВ ВИДА 30007-648 42.65 KB
  Складываем сотни 8 пишем под сотнями складываем единицы тысяч 2 пишем под единицами тысяч Что общего заметили у остальных выражений в уменьшаемом отсутствуют единицы некоторых разрядов.
61627. Уравнения. Учимся решать уравнения 25.62 KB
  Этапы урока Деятельность учителя Деятельность учащихся Теоретическое обоснование Молодцы А теперь посмотрим на эту таблицу: d 5 4 3 2 1 D5 11D Ребята объясните как изменятся сумма при изменении одного из слагаемых.
61628. Рисуем и измеряем. Продолжаем знакомство 31 KB
  Найдите там задание обозначенное галочкой. Физминутка А теперь берём наши книжки и открываем страницу 46 смотрим на первое задание. На доске буду вывешены фигуры которые нарисованы в книжке эти же фигурки будут у каждого ребёнка на парте...