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

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

Файл №1037782 Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование) 76 страницаДжим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782) страница 762017-12-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Что мы узнали••Примером агрегации может быть компьютер и его периферийное оборудование:•компьютер слабо связан со своим периферийным оборудованием;•периферийное оборудование может появляться и исчезать;•периферийное оборудование может использоваться совместнонесколькими компьютерами;•периферийное оборудование не «принадлежит» ни одномуконкретному компьютеру.Композиция.••••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, в которомподсистемы являются типами компонентов, а не помеченными стереотипами пакетами. Измененные артефакты на рисунке затушеваны.Деятельность Проектирование подсистемы заключается в разделении системы на максимально независимые друг от друга части.

Эти части и называют подсистемами. Посредниками во взаимодействии подсистемвыступают интерфейсы. Цель проектирования подсистем – минимизировать связанность в системе, разработав соответствующие интерфейсы, и гарантировать во всех подсистемах правильную реализациюповедения, определенного интерфейсами.420Глава 19. Интерфейсы и компоненты19.2.

Деятельность UP: Проектирование подсистемы19.3. Что такое интерфейс?19.4. Предоставляемые и требуемые интерфейсыразбираемся, в чем разница междуреализацией интерфейса и наследованием19.5. Сравнение реализацииинтерфейса и наследования19.6. Порты19.7. Интерфейсы и компонентноQориентированная разработка19.8. Что такое компонент?19.9. Стереотипы компонентов19.10. Подсистемыизучаем, как выявляются интерфейсыизучаем моделирование с использованием интерфейсов19.11. Выявление интерфейсов19.12.

Проектирование с использованием интерфейсов19.12.1. Шаблон Фасад19.12.2. Архитектура и шаблон Разбиение на уровни19.13. Преимущества и недостатки интерфейсов19.14. Что мы узналиРис. 19.1. План главы42119.3. Что такое интерфейс?ОписаниеархитектурыРазработчиккомпонентов«subsystem»Подсистема[полная]«subsystem»Подсистема[в общих чертах]ПроектированиеподсистемыИнтерфейс[в общих чертах]Интерфейс[полный]Рис. 19.2. Деятельность UP Проектирование подсистемы. Адаптированос рис.

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

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

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