Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование

Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 76

PDF-файл Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 76 Объектно-ориентированный анализ и проектирование (53090): Книга - 7 семестрДж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование: Объектно-ориентированный ан2019-09-18СтудИзба

Описание файла

PDF-файл из архива "Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 76 страницы из PDF

Например, на рис. 18.20 класс Borrower играет роль borrowers в своей ассоциации с LibraryManager. А на рис. 18.21эта роль была уточнена и превратилась в более конкретные роли под41318.13. Что мы узналиклассов Borrower, student и staff. Как правило, некоторые роли ассоциаций проецируются в роли частей, а некоторые – нет.Аналогично соединители могут проецироваться в ассоциации междуклассами или только во временные отношения, созданные в контекстеструктурированного класса. В этом простом примере каждый соединитель может быть отображен в ассоциацию.Внутреннюю структуру структурированных классификаторов можнопредставить как на диаграмме классов, так и на специальной диаграмме, которую называют диаграммой составных структур (compositestructure diagram). Имя диаграммы соответствует имени структурированного классификатора, а содержимое диаграммы – это содержимоеструктурированного классификатора.

На рис. 18.22 изображена диаграмма составных структур класса LibraryManager.диаграмма составных структурLibraryManagerstudent:StudentBorrower[0..*]studentLoan:Loan[0..4]staff:StaffBorrower[0..*]0..*1:Book[0..*]10..*staffLoan:Loan[0..8]:Librarian[1..*]loggedOnLibrarian:Librarian[0..1]Рис. 18.22. Диаграмма составных структур класса LibraryManager18.13. Что мы узналиВ этой главе было показано, как выявленные при анализе отношенияпреобразуются в отношения уровня проектирования, которые ужеможно реализовывать.

Мы узнали следующее.•Уточнение аналитических отношений до отношений уровня проектирования включает:•уточнение ассоциаций до агрегации или композитной агрегациив соответствующих случаях;414Глава 18. Уточнение отношений, выявленных при анализе•••••••реализацию классовассоциаций;реализацию ассоциаций одинкомногим;реализацию ассоциаций многиекодному;реализацию ассоциаций многиекомногим;реализацию двунаправленных ассоциаций;введение возможности навигации;••введение кратности на обоих концах ассоциации;введение имени роли на обоих концах ассоциации или, по крайней мере, на целевом конце;• использование структурированных классификаторов.Агрегация и композиция.• Это отношения типа целоечасть, где объекты одного класса играют роль целого, или агрегата, а объекты другого класса играют роль частей:•••••целое использует сервисы частей; части обслуживают запросы целого;• целое является доминирующей, контролирующей сторонойотношения; часть обычно играет более пассивную роль.Эти отношения транзитивны – если C является частью B и B является частью A, тогда C является частью A.Эти отношения асимметричны:• целое никогда – ни прямо, ни косвенно – не может быть частью самого себя;• циклы в схеме агрегации недопустимы.Существует два типа отношения агрегации:• агрегация;• композитная агрегация – обычно ее называют просто композицией.Агрегация.• Семантика агрегации:• агрегат может зависеть от частей, а иногда может существовать независимо от них;• части могут существовать независимо от агрегата;• агрегат является несколько неполным в случае отсутствия некоторых частей;• несколько агрегатов могут владеть частями совместно;• возможны иерархии и сети агрегации;• целое всегда знает о существовании частей, но если отношениеоднонаправленное, от целого к части, части не знают о целом.18.13.

Что мы узнали••Примером агрегации может быть компьютер и его периферийное оборудование:•компьютер слабо связан со своим периферийным оборудованием;•периферийное оборудование может появляться и исчезать;•периферийное оборудование может использоваться совместнонесколькими компьютерами;•периферийное оборудование не «принадлежит» ни одномуконкретному компьютеру.Композиция.••••415Это строгая форма агрегации:•части одновременно принадлежат только одному композиту;•композит обладает исключительной ответственностью за управление всеми своими частями – ответственностью за их создание и уничтожение;•композит также может высвобождать части, если ответственность за них берет на себя другой объект;•если композит уничтожается, он должен уничтожить все своичасти или передать ответственность за них какомуто другомуобъекту;•каждая часть принадлежит только одному композиту, поэтому возможны только иерархии композиции – сетей композиции не существует.Примером композиции может быть дерево и его листья:•листья принадлежат только одному дереву;•листья не могут принадлежать нескольким деревьям;•когда умирает дерево, умирают и его листья.Часть в композите эквивалентна атрибуту:•явная композиция применяется, когда части важны и представляют интерес;•атрибуты используется, когда части не важны и не представляют интереса.Уточнение аналитических ассоциаций.•Аналитические ассоциации должны быть уточнены в одно из отношений агрегации везде, где это возможно.

Если при этом в схеме агрегации образуется цикл, должна использоваться ассоциация или зависимость.•Процедура уточнения ассоциаций до отношений агрегации:•вводятся кратности и имена ролей;416Глава 18. Уточнение отношений, выявленных при анализе•принимается решение о том, какая сторона отношения является целым, а какая – частью:•рассматривается кратность со стороны целого:•••если она равна 1, вероятно, можно использовать композицию – если ассоциация имеет семантику композиции,должна применяться композиция;•если она не равна 1, должна использоваться агрегация;вводится возможность навигации от целого к части.Типы ассоциаций.•Ассоциация одинкодному – почти всегда становится композицией.

Однако она может быть заменена на атрибут или два класса, которые она связывает, могут быть объединены в один.•Ассоциация многиекодному:••••используется агрегация; композиция не может использоваться, поскольку кратность целого – «многие»;• проводится проверка на наличие циклов в схеме агрегации.Ассоциация одинкомногим:• здесь на стороне части находится коллекция объектов;•используется встроенный массив (большинство ОО языковпрограммирования поддерживают массивы напрямую); обычно они обладают плохой гибкостью, но довольно быстрые;•используется классколлекция; они характеризуются большей гибкостью, чем встроенные массивы, и поиск по коллекции осуществляется быстрее (в других случаях они медленнее массивов).Коллекции.• Это специализированные классы, экземпляры которых могутуправлять коллекциями других объектов.• Все классыколлекции имеют операции для:• добавления объектов в коллекцию;••удаления объектов из коллекции;получения ссылки на объект коллекции;•обхода коллекции – прохода по коллекции от первого объекта до последнего.Моделирование с использованием коллекций – существует четыре варианта:• классколлекция моделируется явно;• путем введения свойства в отношение, например {Vector}, инструменту моделирования сообщается, какую коллекцию использовать;18.13.

Что мы узнали•••417путем введения свойства в отношение программисту сообщается требуемая семантика коллекции:• {ordered} – элементы коллекции располагаются в строгомпорядке;• {unordered} – элементы коллекции располагаются не в строгом порядке;• {unique} – все элементы коллекции уникальны;• {nonunique} – в коллекции допускается дублирование элементов.• задача по уточнению отношений одинкомногим в классыколлекции передается программистам;• нельзя «переусердствовать» в моделировании – выбор конкретного классаколлекции часто является тактическим решением, которое может быть принято программистами вовремя реализации.Типы коллекций:• Коллекции OCL:• Bag – {unordered, nonunique};• Set – {unordered, unique};• OrderedSet – {ordered, unique};• Sequence – {ordered, nonunique}.• Карта:• еще называют словарем;• очень быстрый поиск соответствующего значения по заданному ключу;• ведет себя как база данных с таблицей, состоящей из двухстолбцов – ключа и значения;• ключи должны быть уникальными.Конкретизированные отношения.• Некоторые отношения являются исключительно артефактами анализа и должны быть подготовлены к реализации посредством процесса конкретизации.• Ассоциации многиекомногим:• это отношение конкретизируется в класс;• принимается решение, какая часть является целым, и используется агрегация, композиция или ассоциация.• Двунаправленные ассоциации:• заменяются однонаправленной агрегацией или композицией от целого к части и однонаправленной ассоциациейили зависимостью от части к целому.418Глава 18.

Уточнение отношений, выявленных при анализе••Классыассоциации:• принимается решение, какая сторона является целым, а какая – частью;• заменяется классом (обычно его имя аналогично имениклассаассоциации);• добавляется примечание с ограничением, указывающимна то, что объекты на каждом конце конкретизированногоотношения должны образовывать уникальную пару.Изучение композиции с использованием структурированных классов.• Структурированный классификатор – классификатор (например, класс), имеющий внутреннюю структуру.• моделируется как части, объединенные с помощью соединителей:••••часть – роль, которую могут исполнять один или более экземпляров классификатора в контексте структурированного классификатора;•имя – имя части;•тип – тип объектов, которые могут играть роль;•кратность – число объектов, которые одновременно могут играть ту или иную роль;соединитель – отношение между частями в контекстеструктурированного классификатора.Внутренняя структура может быть отображена на диаграммах классов или на диаграмме составных структур.Структурированный класс:•класс, имеющий внутреннюю структуру;•имеет дополнительное ограничение относительно того, чтоему принадлежат (он имеет неявное отношение включения)все его части, соединители и порты.19Интерфейсы и компоненты19.1.

План главыДанная глава посвящена двум основным понятиям – интерфейсами компонентам. Эти темы обсуждаются вместе, потому что, как выувидите, они тесно взаимосвязаны. Кроме того, в разделе 19.10 будетпоказано, как использование интерфейсов в сочетании со специальным типом компонентов, которые называют подсистемами, обеспечивает возможность создания гибких архитектур систем.19.2. Деятельность UP: ПроектированиеподсистемыЭта глава в основном посвящена деятельности UP Проектирование подсистемы (Design a subsystem). Подсистема – это всего лишь особый типкомпонентов, поэтому здесь мы обсуждаем компоненты и компонентноориентированную разработку вместе с подсистемами.

Как будет показано позже, рассматриваемые вопросы оказывают влияние на другие проектные деятельности UP.Деятельность UP Проектирование подсистемы представлена на рис. 19.2.Оригинальный рисунок изменен в соответствии с UML 2, в которомподсистемы являются типами компонентов, а не помеченными стереотипами пакетами. Измененные артефакты на рисунке затушеваны.Деятельность Проектирование подсистемы заключается в разделении системы на максимально независимые друг от друга части.

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