Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 11

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 11 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 112019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 11)

Если операция реализована несколькими методами в разных классах, очень важно, чтобы у всех методов была одна и та же сигнатура (з)йпагиге) — количество и типы аргументов, а также тип возвращаемого значения. Например, у операции рг1пг не может быть аргумента /)!еА!ате (имяФайла) в одном методе и Я!еРо(лгег (указательФайла) в другом методе.

Поведение всех методов операции должно быть согласованно. Лучше всего избегать использования одинаковых названий для операций, отличающихся друг от друга с семантической точки зрения, даже если они применяются к разным множествам классов. Например, неправильно было бы использовать название «инверсия» для операций инвертирования матрицы и переворота геометрической фигуры. В большом проекте может потребоваться использование пространств имен для предотвращения конфликтов, но лучше всего заранее принимать меры для предотвращения возможных проблем. На рис. 3.4 изображен класс Регзоп (Человек) с атрибутами пате (имя) и Ь!ггИ- г(аге (датарождения) и операциями сйапйе~оЬ (сменитьработу) и сЬапяеАгЫгезз (сменитьАдрес).

Атрибуты и операции называются составляющими класса. У класса Р(!е (Файл) есть операция рпп! (печать). У класса Сеотегг(сОЬ(есг (ГеометрическийОбъект) есть операции топе (перемещение), хе!ест (выделение) и гогаге (поворот). Операция топе имеет один аргумент г)е!га (смешение) типа Ъесгог (Вектор), операция зе!ест имеет аргумент р типа Рот! (Точка) и возвращает значение типа Воо!еап (логическое значение). Операция гогаге имеет аргумент аль!е (угол), который относится к типу чисел с плавающей точкой и имеет значение по умолчанию 0.0.

Рис. 3.4. Операции 48 Глава 3 ° Моделирование классов Система обозначений ()МЕ предписывает перечислять операции в третьем отделе прямоугольника класса. Название операции мы указываем обычным шрифтом и выравниваем по левому краю. Первую букву названия мы не делаем заглавной. После названия операции могут быть указаны необязательные дополнительные сведения, такие как список аргументов и тип возвращаемого результата. Список аргументов указывается в круглых скобках. Аргументы отделяются друг от друга запятыми. Перед типом возвращаемого результата ставится двоеточие. Пустой список аргументов в круглых скобках явно показывает, что данная функция не принимает никаких аргументов. Если же списка просто нет, никаких выводов делать нельзя.

Мы не указываем операции для отдельных объектов, поскольку у всех объектов одного класса операции одинаковые. 3.1.6. Резюме системы обозначений классов Полная система обозначений классов показана на рис. 3.5. Класс обозначается прямоугольником, который может иметь до трех отделов. Отделы нумеруются сверху вниз.

В первом отделе указывается имя класса, во втором — список атрибутов, в третьем — список операций. После названия атрибута может быть указан его тип и значение по умолчанию. После названия операции может быть указан список аргументов и тип возвращаемого значения. Рис. З.Б. Система обозначений для класса Каждый аргумент может быть охарактеризован направлением, названием, типом и значением по умолчанию (рис. З.Б). По направлению аргумент может быть входным ()и), выходным (оцс) или изменяемым (1поцг). Перед типом аргумента ставится двоеточие. Перед значением по умолчаншо ставится знак равенства.

Это значение используется в том случае, если при вызове операции значение аргумента не было указано явно. акесаон агуипеммапзе: 1уре аыаыюиие Рис. 3.6. Система обозначений ар~умента операции Отделы со списком атрибутов и операций являются необязательными элементами системы обозначений. Отсутствие отдела атрибутов говорит о том, что в данном представлении атрибуты не указаны.

Отсутствие отдела операций также говорит о том, что в данном представлении не указаны операции. Напротив, наличие пустого отдела говорит о том, что атрибуты или операции отсутствуют. 3.2. Концепции связи и ассоциации 49 32. Концепции связи и ассоциации Связи и ассоциации позволяют устанавливать отношения между объектами и классами. 3.2.1.

Связи и ассоциации Связь (!1пй) — это физическое или концептуальное соединение между объектами. Например, Джо Смит работает на компанию Симплекс. В большинстве случаев связь соединяет ровно два объекта, но бывают связи, соединяющие большее количество объектов. В этой главе мы будем рассказывать только о бинарных ассоциациях, а в главе 4 займемся и-арными. С математической точки зрения связь является кортежем (спр!е), то есть списком объектов. Связь — это экземпляр ассоциации. Ассоциация (аззос1авоп) — это описание группы связей, обладающих общей структурой и общей семантикой. Например, человек может работать на какую- либо компинию.

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

3.7 приведен пример модели финансового приложения. Брокерские конторы должны иметь возможность выполнять следующие действия: записывать принадлежность различных акций, отслеживать дивиденды, предупреждать клиентов об изменениях на рынке и вычислять предписываемую маржу. В верхней части рисунка показана диаграмма классов, а в нижней части — диаграмма объектов. Диварамма кпассое Диварамма объектов патемвев" Рис. 3.7.

Ассоциация и связи 50 Глава 3 ° Моделирование классов Диаграмма классов показывает, что человек может быть владельцем акций неопределенного количества компаний (от нуля и более). С другой стороны, владельцами акций одной компании могут быть несколько человек. На диаграмме объектов показаны примеры.

Джон, Мэри и Сью являются владельцами акций Сепега! Е!есгПс, Сью и Элис являются владельцами акций компании гВМ. Джефф не купил никаких акций, а потому и связи для него нет. Звездочка на нашем рисунке — это символ кратности. Кратность (пш16р1кйу) определяет количество экземпляров одного класса, которые могут быть связаны с одним экземпляром другого класса. Эта концепция обсуждается в следующем разделе. Система обозначений 0МЕ предписывает изображать связь как линию между двумя объектами. Линия может состоять из нескольких прямолинейных сегментов. Если у связи есть имя, оно подчеркивается.

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

Удобно по возможности расставлять классы так, чтобы ассоциация читалась слева направо. Название ассоциации указывать не обязательно, если в модели не возникает двусмысленности. Неоднозначность появляется в тех случаях, когда между одними и теми же классами суцгествует несколько ассоциаций. (Пример: человек работает на компанию и человек является владельцем акций компании). В этом случае необходимо использовать имена ассоциаций или имена полюсов ассоциаций (см. раздел 3.2.3). Ассоциации по сути своей являются лвусторонними. Название бинарной ассоциации обычно читается в конкретном направлении, но сама ассоциация может быть прослежена в любом направлении.

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

Разработчики часто реализуют ассоциации в виде ссылок из одного объекта на другой. Ссылка (ге(егепсе) — это атрибут объекта, ссылающийся на другой объект. Например, структура данных класса Регвоп (Человек) может содержать атрибут етр!оуег(работодатель), ссылающийся на объект класса Сатрапу (Компания), а объект класса Сатрапу может содержать атрибут етр!оуеев (сотрудники), ссылающийся на множество объектов класса Регзоп. Реализация ассоциаций в виде ссылок вполне приемлема, но моделировать ассоциации таким образом не следует.

Связь — это отношение между объектами. Моделирование связи в виде ссылки скрывает тот факт, что связь не является частью одного из объектов, а зависит от них обоих. Компания не является частью человека, а человек — частью компании. Более того, использование пары ссылок (например, ссылку из Регвоп на Сотпрапу и из Сатрапу на Регзоп) скрывает тот факт, что прямая и обратная ссылки зависят друг от друга. Поэтому все соединения между классами следует моделировать как ассоциации, даже при разработке проектов программ. 3.2. Концепции связи и ассоциации 51 В объектно-ориентированной литературе подчеркивается важность инкапсуляции, которая состоит в скрытии деталей реализации внутри класса.

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

В главе 17 рассматриваются некоторые вопросы, связанные с реализацией ассоциаций. 3.2.2. Кратность Кратность (пш!г!р!!с!Гу) — это количество экземпляров одного класса, которые могут быть связаны с одним экземпляром другого класса через одну ассоциацию. Кратность ограничивает количество связанных между собой объектов. В литературе чаше всего рассматриваются два значения кратности: 1 и «много», но в общем случае кратность может быть потенциально бесконечным подмножеством неотрицательных целых чисел. На диаграммах ()МЕ кратность указывается явно около конца линии, которой обозначается ассоциация. Значение кратности указывается в виде диапазона, например «1» (ровно один), «1.."» (один и более) или «3..5» (от трех до пяти включительно). Специальный символ « "» обозначает слово «много» (шапу) — нуль и более.

Рисунок 3.7 демонстрирует ассоциацию многие-к-многим (краююсть «много» на обоих концах). Человек может владеть акциями произвольного количества компаний. Владельцами акций конкретной компании может быть произвольное число людей. В нашем конкретном случае Джон и Мэри владеют акциями СЕ, Элис владеет акциями 1ВМ, Сью является держателем акций обеих компаний, а Джефф вообще никаких акций не покупал. Акции СЕ принадлежат троим, а 1ВМ вЂ” двоим держателям. На рис. ЗВ показана ассоциация один-к-одному и соответствующие ей связи. В каждой стране есть ровно одна столица. Столица относится только к одному государству.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6439
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее