40595

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

Лекция

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

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

Русский

2013-10-17

37.79 KB

12 чел.

Занятие 34

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

82461. Механизм рынка несовершенной конкуренции. Рыночные структуры несовершенной конкуренции 39.09 KB
  Рыночные структуры несовершенной конкуренции. В отличие от модели рынка совершенной конкуренции которая является абстракцией и практически не существует в реальной жизни а только в теории рынок несовершенной конкуренции встречается практически повсеместно. Большинство реальных рынков в современной экономике это рынки несовершенной конкуренции.
82462. Монополия: понятие, виды, поведение на рынках. Ценовая Дискриминация 35.45 KB
  Ценовая Дискриминация Монополия – наличие единственного продавца положение в хозяйственном процессе при котором отсутствует состязательность в конкуренции. Виды монополии: Закрытая монополия административная защита: ограниченный доступ к ресурсам и информации; юридическая защита: лицензии технологии технологии организации и т. Любая закрытая монополия когданибудь открывается. Естественная монополия – ограничивается состязательностью и конкуренцией рыночная структура в которой средние издержки достигают минимума тогда когда одна фирма...
82463. Теория производства и предельной производительности факторов(изокванта, изокоста и их свойства). Закон убывающей производительности 35.56 KB
  Используя эти положения Кларк попытался точно определить доли которые могут быть приписаны специфической производительности труда и капитала. Производительность труда последнего работниканазывается предельной производительностью труда. По мнению Кларка только тот продукт который создается предельным рабочим можно вменить труду и считать продуктом труда остальная же часть продукции т. разница между продуктами промышленности и продуктами труда представляет собой продукт капитала.
82465. Рынок капитала и процент. Спрос и предложение заемных средств. Принцип дисконтирования 37.3 KB
  Дисконтирование это приведение всех денежных потоков в будущем потоков платежей к единому моменту времени в настоящем с учетом изменения стоимости денег с течением времени. Наращение к определенному моменту в будущем выполняется путем умножения прошлых денежных потоков потоков платежей на коэффициент наращения Ка: Дисконтирование выполняется путем умножения будущих денежных потоков потоков платежей на коэффициент дисконтирования Ко: где процентная ставка;п количество периодов. Таким образом дисконтирование это приведение...
82466. Рынок земельных ресурсов и земельная рента. Рынок природных ресурсов 35.15 KB
  Рынок природных ресурсов. Рынок природных ресурсов. В рыночной экономике каждый из экономических ресурсов представляет собой большой ресурсный рынок рынок труда рынок капитала и т.
82467. Технологическая и экономическая эффективность производства, отдача от масштаба производства. Оптимальная комбинация производства, предельные нормы технологического замещения 38.12 KB
  Оптимальная комбинация производства предельные нормы технологического замещения. для производства других продуктов и услуг т. виды экономического производства: легальное производство; незаконное производство; скрытое производство и подпольная экономика; любые поставки товаров и услуг между заведениями принадлежащими одному и тому же предприятию так как они считаются частью продукции предприятия как единого целого; незавершенное производство; производство товаров и услуг домашними хозяйствами а также услуг оказываемых наемной...