Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Диаграммы параллельных состояний 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ 17 ] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

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

Диаграмма классов по праву занимает центральное место в объектно-ориентированном подходе. Фактически любая методология включает в себя некоторую разновидность диаграмм классов.

Помимо своего широкого применения диаграммы классов концентрируют в себе большой диапазон понятий моделирования. Хотя их основные элементы используются практически всеми, более сложные понятия применяются не так часто. Именно поэтому я разделил рассмотрение диаграмм классов на две части: основы (данная глава) и дополнительные понятия (см. главу 6).

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

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

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

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

На рис 4.1 изображена типичная диаграмма классов.



Заказ

датаПолучения оплачен номер: Строка цена: Деньги

отправитьО закрытьО

Имя роли

Позщии заказа

Кратность: обязательная

Ассоциация

Клиент

имя адрес

рейтингКредита{):Строка

Обобщение

{если Заказ.клиент.рейтингКредита == низкий , то значение Заказ.оплачен должно быть истинным} J

Ограничение

Атрибуты

Операции

Кратность: многозначная

Класс

Корпоративный клиент

контаюноеИмя

рейтингКредита

лимитКредита

напомнитьО счетЗаМесяц{Целое)

отчет о продажах

Строка заказа

количество: Целое цена: Деньги удовлетворен: Булев

Индивидуальный клиент

номерКредитнойКарточки

{рейтингКредитаО == низкий }

0..1

Сотрудник

Кратность: необязательная

Товар

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

Особенности представления

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



Следуя сказанному Стивом Куком (Steve Cook) и Джоном Дэниелсом (John Daniels), 1994 [13], я утверждаю, что существуют три различные точки зрения на построение диаграмм классов или любой другой модели, однако эти различия в наибольшей степени касаются диаграмм классов:

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

Точка зрения спецификации. В этом случае мы переходим к рассмотрению программной системы, при этом рассматриваем только ее интерфейсы, но не реализацию. Объектно-ориентированная разработка подчеркивает существенное различие между интерфейсом и реализацией, но на практике оно часто игнорируется, поскольку нотация класса в объектно-ориентированных языках программирования объединяет в себе как интерфейс, так и реализацию. Это весьма досадно, поскольку ключевым фактором эффективного объектно-ориентированного программирования является программирование именно интерфейса класса, а не его реализации. Это хорошо описано в первой главе книги Гаммы и др., 1995 [20]. Вы часто слышите слово тип , когда речь идет об интерфейсе класса; тип может иметь несколько классов, которые его реализуют, а класс может реализовывать несколько типов.

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

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

В дальнейшем при рассмотрении диаграмм классов я постараюсь подчеркнуть, насколько сильно каждый элемент диаграммы зависит от точки зрения.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ 17 ] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.