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

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

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

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

На111пЧАббгевв.ссвгоеег->аз5ег() В этом выражении мы переходим от объекта Мег(йапг к Рагс)(азе. Оператор зе1ест выбирает транзакции в рамках временного интервала, ограниченного а5гагШаге и апЕп(10аге. Возможность перехода по обобщению от Рите))азе к Ттапзасг)оп неявно поддерживается ОС). Для каждой из этих транзакций мы переходим к объекту 5гагетепг, затем к СгеЫСаг(1Ассоипд затем к Ма(1- )пйАй?те55 и, наконец, к Сизготел Ассоциация, связывающая Ма(1(пяАй?ге55 с Сизтотег, имеет тип многие-ко-многнм, поэтому в результате перехода получается мультимножество. Оператор а55ег преобразует мультимножество клиентов к обычному множеству (удаляет повторяющиеся элементы), что и дает нужный нам ответ.

° Сколько счетов для кредитных карт имеет конкретный клиент в данный момент? асс всоеег . Ма111пЧАббгевв. Сгеб1ССагбассоппс->з1ге () Для объекта класса Сииотег мы находим множество объектов Ма(1(пдАй6езт. Затем по множеству адресов мы находим множество объектов СгейгСагй Ассоипг. В результате этого перехода получается множество, а не мультимножество, потому что каждому счету соответствует ровно один адрес.

К множеству объектов Сге<ЫСап1Ассоипг мы применяем оператор ОС1. 5(ге, возвращающий число элементов множества. 3.6. Практические советы 71 ° Каков максимальный кредит для данного клиента по всем его счетам? аСпаеоаег.на111пдхббгеаа,СгебьГСагбхоооопе.еахгеиаСгебгг->поем Это выражение осуществляет переход от объекта Сизтотет к объекту Ма11- гпдАгЫгезз, затем к Сгег(1ГСагг1Ассоипт, в результате чего получается множество объектов СтеМСатйАссоипг. Для каждого из этих объектов определяется значение максимального кредита таптитСгейг, после чего полученные значения суммируются при помощи оператора ОС1. хит. Обратите внимание, что наши вопросы проверяют модель и позволяют обнаружить скрытые недостатки, которые затем можно будет устранить.

Например, запрос количества счетов для кредитных карт подразумевает, что нам может понадобиться каким-то образом отличать действующие счета от недействующих. Не забывайте о том, что ОС1. изначально разрабатывался как язык ограничений (см. главу 4). Однако, как вы уже видели, этот язык удобен и для прослеживания моделей. 3.6. Практические советы В этом разделе мы даем вам несколько советов, касающихся построения моделей классов. Эти советы мы вывели из собственного опыта по разработке приложений. Многие идеи уже упоминались в этой главе. ° Область задачи.

Не следует начинать моделирование классов с выписывания на листе списка классов и ассоциаций и построения иерархии наследования. Сначала необходимо понять задачу, требующую решения. Содержимое модели определяется решением задачи. Вам придется решать, какие объекты следует отразить в модели, а какие — нет. В модели отражаются только те аспекты, которые имеют непосредственное отношение к решению задачи (раздел 3.1.1). ° Простота.

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

С подозрением относитесь к классам, которые сложно определить. Возможно, их лучше пересмотреть, а модель — реструктурировать. ° Компоновка диаграммы. Диаграмма должна быть построена таким образом, чтобы отражать симметрию решения. Чаще всего задача обладает сверхструктурой, которая не отражается самой системой обозначений. Постарайтесь располагать важные классы так, чтобы они выделялись на диаграмме. Старайтесь не допускать пересечения линий. ° Имена. Внимательно относитесь к выбору имен: они очень важны и несут в себе значительный скрытый смысл. Имена должны быть описательными, четкими и однозначными.

В именах не должен преобладать какой-либо аспект объекта. Выбор правильных имен — одна из наиболее сложных задач, 72 Глава 3 ° Моделирование классов стоящих перед разработчиком модели. В качестве имен классов следует ис- пользовать существительные в единственном числе. Ссылки. Не скрывайте ссылки на объекты в качестве атрибутов других объектов. Такие ссылки следует представлять ассоциациями. В этом слу- чае вы будете отражать истинную суть задачи, а не подход, который будет применен при реализации модели (раздел 3.2.1).

Кратность. Проверяйте полюса ассоциаций с кратностью «одним Часто наличие объекта на одном из полюсов оказывается необязательным и луч- ше будет указать кратность 0..1. В других случаях правильным оказывается значение «много» (раздел 3.2.2). Имена полюсов ассоциаций.

Аккуратно относитесь к неоднократному ис- пользованию одного и того же класса. Имена полюсов ассоциаций позво- ляют сделать ссылки на один класс единообразными (раздел 3.2.3). Мультимножества и последовательности. Обычная бинарная ассоциация позволяет создать не более одной связи между парой объектов. Однако вы можете разрешить установку нескольких связей между двумя объектами, обозначив полюс ассоциации словом (Ьаф или (зедиепсе) (раздел 3.2.5).

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

Проверяйте полюса ассоциаций с крат- ностью «много». Квалификатор часто может повысить точность ассоциа- ции и подчеркнуть важные направления навигации (раздел 3.2.7). Уровни обобщения. Избегайте глубокой вложенности иерархии обобще- ний (раздел 3.3.1). Подмена составляющих. Вы можете подменять методы и значения по умолчанию для атрибутов.

Однако не допускайте нарушения сигнатуры или семантики исходной унаследованной составляюгцей при ее подмене (раздел 3.3.3). Рецензии. Попросите кого-нибудь дать рецензию на вашу модель. Будьте готовы к тому, что она потребует пересмотра. При работе с моделями клас- сов часто приходится подбирать более четкие имена, улучшать абстракции, исправлять ошибки, добавлять сведения и добиваться более точной пере- дачи ограничений. Почти все наши модели прошли несколько редакций. Документация.

Всегда документируйте свои модели. На диаграмме отра- жается структура модели, но не могут быть отражены основания для ее по- строения. Объяснение, изложенное в письменном виде, направит читателя в нужную сторону и разъяснит ему тонкие моменты, определившие выбор конкретных конструкций. 3.7. Резюме по моделям классов 73 3.7. Резюме по моделям классов Модели классов описывают статические структуры данных, представленные объектами, и отношения между этими объектами. Содержимое модели определяется волей проектировщика и потребностями конкретного приложения. Объект — это концепция, абстракция или нечто, обладающее индивидуальностью, имеющее при этом смысл в рамках приложения.

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

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

Класс ассоциации — это ассоциация, которая одновременно является классом. Класс ассоциации может иметь атрибуты и операции и может участвовать в других ассоциациях. Квалифицированная ассоциация характеризуется тем, что объекты, находящиеся у полюса с кратностью «много», частично или полностью отделяются друг от друга при помощи атрибута, называемого квалификатором. Квалификатор позволяет выбрать один из целевых объектов, в результате чего эффективная кратность ассоциации снижается (чаще всего со значения «много» до значения «один»).

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

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

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

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

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