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

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

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

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

3.27). Учреждение может открыть множество счетов для кредитных карт, каждый из которых будет идентифицироваться номером счета. Каждый счет характеризуется максимальным кредитом, текущим балансом и почтовым адресом. Счет может принадлежать одному или нескольким клиентам, проживающим по данному адресу. Учреждение периодически рассылает отчеты по счетам. В отчете указывается дата платежа, стоимость всех элементов кредита и минимальный платеж. Кроме того, перечисляются транзакции, которые были осуществлены за отчетный период: получение наличных, процентные платежи, покупки, штрафы и корректировки. Для каждой покупки указывается название магазина. Ма!!!пВАббгеаа ! !пащобоп СгебИСап1Ассосп1 ассоопгмотЬе паве аббгеаа рлопеыитьег аббгеаа рьопеысвЬег тах!татСгебд сспепгва!апсе О..! а1а!етеп10а!е ! О..! ассосп!Но!бег Тгапеаспоп 81агепгеп1 Соа!отег 1 О..! ггапаасбопмсгпЬег !гапаасбопОаге ехр!апа1яв атосп1 раутеп!ОсеОа!е ПпапсеСПагце в!п!тотРаутеп! пассе Аб!се!тел! Ригспаае !п1егеа1 СааЬАбуапсе геатуре Мегспапг пате Рис.

3.27. Модель классов для управления счетами кредитных карт оконной системы. Между окнами должны быть ассоциации, например, они могут перекрывать одно другое. Тем не менее эта простая модель даст вам некоторое ощущение того, что должна представлять собой модель классов. Мы можем критиковать ее, потому что она содержит в себе некоторьге четкие утверждения.

Такая модель могла бы послужить основой для создания более полной модели. 3.5. Навигация моделей классов 67 Описанную модель можно протестировать, задавая различные вопросы. ° Какие транзакции были проведены по данному счету за определенный промежуток времени? ° Какой объем транзакций был обработан учреждением за последний год? ° Какие клиенты пользовались кредитными картами для оплаты покупок в конкретном магазине? ° Сколько счетов для кредитных карт имеет конкретный клиент в данный момент? ° Каков максимальный кредит для данного клиента по всем его счетам? В состав ()МЕ входит специальный язык для выражения вопросов такого рода. Этот язык называется объектным языком ограничений (ОЪ|есг Сопзгга1пг Еапйцайе — ОСВ) [ЪЪ'агшег-99!.

Мы опишем его в следуюших двух разделах, а в разделе 3.5.3 переформулируем приведенные выше вопросы на ОСЕ. Разумеется, мы не пытаемся дать полное описание этого языка, мы расскажем только о том, что нужно для прослеживания моделей. 3.5.1. ПРОСлЕживаниЕ мОДЕлЕй с помощью конструкций ОС~ Язык ОСЕ позволяет прослеживать конструкции в моделях классов. ° Атрибуты. ОСЕ позволяет переходить от объекта к значениям его атрибутов.

Используется следующий синтаксис сначала указывается имя объекта, после которого ставится точка, а затем имя атрибута. Например, выражение аСтедЫСатИАссоипг.таитит Стейт означает значение атрибута талтитСгеейг объекта класса СгейгСапИссоилг. Мы ставим перед именем класса артикль а, если хотим обозначить произвольный объект ланного класса. Тем же способом можно обратиться к атрибуту каждого объекта в совокупности, получив совокупность значений атрибутов. Можно получить значение атрибута для связи или совокупность значений атрибутов для совокупности связей. ° Операции. Можно вызвать операцию для некоторого объекта или совокупности объектов. Используется следуюший синтаксис: сначала указывается имя объекта или совокупности объектов, после которого ставится точка, а затем имя операции.

За именем операции должны следовать круглые скобки, даже если у данной операции нет никаких аргументов. Это необходимо для того, чтобы иметь возможность отличать операции от атрибутов. Вы можете вызывать не только операции, определенные в вашей модели классов, но и предопределенные операции языка ОСЪ.

В ОС) имеются специальные операции, которые применяются к совокупности в целом (а не к отдельным объектам этой совокупности). Например, вы можете посчитать количество объектов совокупности илн просуммировать совокупность численных значений. Для таких операций используется следуюший синтаксис: сначала указывается имя совокупности объектов, затем ставится знак «-», после которого указывается имя операции. 68 Глава 3 ° Моделирование классов ° Простые ассоциации.

Точка используется также для прослеживания ассоциации и перехода к целевому полюсу. Целевой полюс может быть задан его именем или именем класса, если это не создает неоднозначности. В нашем примере выражение аСияотетМа!!(пйАЙ(тезз возврашает множество адресов клиента (целевой полюс обладает кратностью «много»). С другой стороны, выражение аСтег(!1Сатс(АссоипбМа!!!пдА0т(тезз возвратит один адрес (целевой полюс обладает кратностью «один»).

° Квалифицированные ассоциации. Квалификатор делает прослеживание ассоциаций более точным. Выражение аСтейсСатг(Ассоипд5гагетепг(30 №иетбет 19991 возвращает отчет по счету для кредитной карты, датированный 30 ноября 1999 года. Значение квалификатора указывается в квадратных скобках. Квалификатор можно игнорировать. При этом квалифицированная ассоциация будет прослеживаться так же, как и обычная.

Таким образом, выражение аСтейгСатИАссоипд3гагетепг возвратит все отчеты для данного счета. (Когда квалификатор не используется, кратность принимает значение «много».) ° Классы ассоциаций. По связи, представляющей собой экземпляр класса ассоциации, можно найти участвующие в этой связи объекты. И наоборот: по участвуюшему в связи объекту можно найти связи, являющиеся экземплярами класса ассоциации. ° Обобщения.

Прослеживание иерархии обобшений встроено в систему обозначений ОС(. неявным образом. ° Фильтры. Часто возникает необходимость отфильтровать объекты из некоторого множества. В ОС1. имеются фильтры нескольких типов. Наиболее широко используется операция зе!есп Эта операция применяет некоторый предикат к каждому элементу совокупности и возвращает все элементы, удовлетворяющие данному предикату. Например, выражение а5татетеппттапзаст!оп-)зе!ест(Атоипт>5100) возвращает все транзакции одного отчета, величина которых превышает 100 долларов. 3.5.2.

Построение выражений ОС~ Эффективность ОС(. обусловлена возможностью построения сложных выражений из простых конструкций. Например, выражение ОС(. может последовательно прослеживать несколько ассоциаций. В нем может быть несколько квалификаторов, фильтров, операторов и т. д. Прослеживание одной ассоциации от объекта возвращает одно- или многоэлементное множество (или мультимножество, если ассоциация является мульти- множеством или последовательностью).

В обшем случае прослеживание нескольких ассоциаций может дать в результате мультимножество (в зависимости от кратности этих ассоциаций), поэтому с выражениями ОС1. следует обрашаться аккуратно. Множество — это совокупность уникальных элементов, а мультпмножество допускает наличие дубликатов. Пример на рис. 3.28 иллюстрирует тот факт, что выражение ОС(. может возвратить мультимножество. Предположим, что компания хочет отправить по 3.5. Навигация моделей классов 69 одному письму на каждый адрес, принадлежащий какому-либо держателю акций.

Мы начинаем прослеживать ассоциации с компании ОЕ. Прослеживание ассоциации Онп)з5гос» дает нам множество из трех человек. Прослеживая ассоциацию от этих троих к их адресам, мы получаем мультимножество, в котором адрес 456 5га~е встречается дважды. диаарамма ) Ма)1)подов)евв «ласса ~ авагевв Рвгвоп Омпая)оса Согпрапу пап)е пагпе Доаараммв ооь ванов рис. 3.28. Прослеживание нескольких ассоциаций может возвратить мультимножество 3.5.3. Примеры выражений ОС~ Воспользуемся языком ОС)., чтобы ответить на поставленные выше вопросы для модели, описывающей счета для кредитных карт. ° Какие транзакции были проведены по данному счету за определенный промежуток времени? асгепггсагсО~ссоопг.ягагепепг.тгапаасггоп->аетесг(азгаггоаге <- ггапаасгзопраге апо ггапаасггопоаге <= апкпоэаге) В книге ГгЪ'аг)пег-99) ничего не говорится о пустых значениях, поскольку там обсуждаются только вопросы, связанные со спецификацией ограничений на корректно реализованную систему.

(№И — это особое значение, указывающее на то, что значение атрибута неизвестно или неприменимо.) В этой книге ничего не говорится об обработке исключений и ошибок времени выполнения. В этой главе мы хотим обсудить навигацию по классам, а не спецификацию ограничений. Пустые значения не появляются в правильных ограничениях, но при навигации по моделям они встречаются достаточно часто. Например, у человека может не быть почтового адреса. Мы расширяем определение выражений ОС)., допуская существование пустых значений. Прослеживание может возвратить пустое значение, и выражение ОСЕ возвратит вам то же значение, если объект окажется пустым. УО Глава 3 ° Моделирование классов В данном выражении осуществляется переход от объекта класса СгейгСаг(1Ассоипг к объекту 5гагетепд а затем к Тгапзасиоп, в результате чего возвращается множество транзакций.

Мы получаем именно множество, а не мультимножество, потому что обе ассоциации принадлежат к типу один-ко-многим. Затем при помощи оператора ОС). 5е1есг, применяемого к множеству в целом, мы находим транзакции, осуществлявшиеся на заданном интервале, ограниченном датами а5гаггОасе и апЕп(Маге. ° Какой объем транзакций был обработан учреждением за последний год? апгпвгггпг1оп.Сгеб1сСагбассоппг.5Сагеаепг.тгапвасггоп->зе1есс(а5СагСОаге <= сгапвассгопоасе апб сгапвасс1опоасе <= апепбоасе).ааоппс->все() В выражении осуществляется переход от объекта 1пзт(Гиг(оп к СгейгСатй Ассоипй затем к 5татетепй а затем к Тгапзас6оп.

В результате получается множество, а не мультимножество, потому что все ассоциации имеют тип один-ко-многим. Оператор зе1есг выбирает транзакции, попадающие во временной интервал между а5тагГОате и апЕпЮате. 1Мы решили сделать запрос более общим, нежели просто «за последний года.) Затем мы определяем сумму каасаой из транзакций и суммируем все полученные величины при помощи оператора ОС) зит, действующего на множество в целом. ° Какие клиенты пользовались кредитными картами для оплаты покупок в конкретном магазине? аиегсъапггсгсьаве->ве1есг(азгаггоаге <= Сгапвасггопоаге апб сгапвассгопоасе < апепбоасе).5сасееепс.сгебгссагбассоппс.

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

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

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