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

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

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

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

Операция г(е!еге применима только к верхней карте стопки (Руе). Операция гюгг (сортировка) осуществляет сортировку карт на руках (Напг!) по масти (зшг) и по старшинству (гапй). Класс Р!!е является абстрактным. Операции гоРО/Р!!е и Ьоггот07Р!!е — это запросы. Вгаге (взять) снимает верхнюю карту со стопки н помещает ее в руку (Нано'), которая передается в качестве аргумента.

Операция зйиО)е (перемешивание) перемешивает колоду. Прн раздаче (с1еа1) карты по одной берутся из колоды н разлаются игрокам на руки (объекты класса Напк! при этом создаются и возвращаются в виде массива). Операция г7!зр!ау отображает карту. Сотрвге сравнивает карты и определяет, какая из них старше. РЬсагг! удаляет карту из совокупности и помещает ее в стопку, переданную в качестве аргумента.

Упражнения 353 Рис. У15.3. Часть диаграммы классов для программы, играющей в карты 15.11. (5) Напишите псевдокод для вычисления суммы очков, набранных за попытку (рис, У12.4). Каждая попытка участника (Тпа!) оценивается несколькими судьями. Каждый из них поднимает карточку с числом очков. Специально назначенный человек зачитывает очки секретарям. Трое секретарей записывают очки, выбрасывают одно минимальное н одно максимальное значения, после чего суммируют оставшиеся очки. Они сравнивают результаты между собой, чтобы исключить арифметические н иные ошибки.

В некоторых случаях они могут попросить зачитать очки повторно. Полученные результаты передаются трем другим секретарям, которые умножают результат на коэффициент сложности и вычисляют среднее значение. Полученные значения сравниваются для исключения арифметических и других ошибок. 15.12. Напишите псевдокод для перечисленных ниже операций классов (рнс. У12А). Вам придется добавить на диаграмму ассоциацию Рея(згегвс(Рог (Зарегистрирован) типа многне-ко-многим между множеством выступлений Епелгз и упорядоченным списком участников Соглреп)огз, чтобы отслеживать тех участников, которые зарегистрированы на какое-либо выступление.

Планирование попыток осуществляйте с учетом порядка регистрации участников. 1) (3) Поиск выступления (Епепг) по упражнению (Ггяиге) и соревнова- нию (Меег). 2) (3) Регистрация участника (Сотрегйог) на выступление (Евепг). 12 Зм 699 Глава 15 ° Проектирование классов 3) (3) Регистрация участника (Сотрейгог) на все выступления (Еиепг) со- ревнования (Меег). 4) (5) Выбор и планирование выступлений (Епепгз) соревнования (Меег). 5) (3) Планирование соревнований (Меег) сезона (5еавоп).

б) (4) Распределение судей (упггйе) и секретарей (5согеггеерег) по станци- ям (5гаггоп). 15.13. (8) На рис. У15.4 приведена часть диаграммы классов метамодели, которая может использоваться в компиляторе объектно-ориентированного языка. Напишите псевдокод для метода ггасе7п)гегггапсераг)г, который будет прослеживать иерархию наследования так, как это описано ниже. Метод возвращает упорядоченный список классов от более общего класса к более конкретному. Прослеживание осушествляется только по цепочке обобшений; агрегации и ассоциации не учитываются. Если прослеживание не дает результатов, возврашается пустой список.

Вы можете исходить из предположения, что множественное наследование не поддерживается. Епд С!авв 1 * 1 не!вцопвтир гегваопв~ирйвпге с!аввйагпе соппесеоп епойагпе ~1' г ту Рис. у15.4. Часп диаграммы классов метамодели 15.14. (8) Усовершенствуйте рис. У15.4, удалив ассоциации классов Епгг' и Яе)аггел зпгр, заменив их ассоциациями с подклассами Ела и Ее!аггопзгггр. Это пример преобразования диаграммы классов.

Напишите псевдокод операции Ггасе1пггептапсеРаггг для новой диаграммы классов. 15.15. (7) В соответствии с рис. У15А напишите алгоритм операции, которая будет генерировать имя для безымянной ассоциации. На вход операции поступает экземпляр ассоциации (Аягосгаггоп). Операция должна возвратить глобально уникальное имя ге!аггопзгггрМате. Если у ассоциации уже есть имя, операция должна возвратить именно его. В противном случае имя генерируется в соответствии со стратегией, которую вы должны придумать самостоятельно. Какую именно стратегию вы выберете, не так уж важно, но имена обязательно должны быть уникальными, причем по имени вы должны иметь возможность определить, к какой ассоциации оно относится.

Вы можете предположить, что все ассоциации являются бинарными. Можете предположить также, что аналогичная операция для класса Ела уже есть: она возврашает имя полюса епгавате, уникальное в контексте данного отношения. Если имя, которое вы формируете, конфликтует с уже имеющимися, измените его таким образом, чтобы оно стало уникальным.

Если вы хотите Упражнения 355 изменить диаграмму или использовать дополнительные структуры данных, можете это сделать, но не забудьте описать все добавленные элементы. (7) Усовершенствуйте диаграмму классов (рис. У15.5), трансформировав ее путем добавления класса Ро)к(са)Ратту (ПолитическаяПартия). Свяжите классы )гогег (Избиратель) и Ройг(са!Ратту (ПолитическаяПартия) ассоциацией. Обьясните, почему это преобразование улучшает модель.

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

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

Операции агЫ и к(е!еге принимают в качестве аргументов точку и совокупность точек (при этом точка добавляется в совокупность или удаляется из нее). 15.16. 15.17. 15.18. %:Я (Примечание: имеется в виду конкретный избиратель) з ирвтель (Перечислены только некоторые политические партии) 15.19. 15.20. (8) Определите, по какому закону время поиска в предыдущем упражне- нии зависит от количества точек в совокупности. Перечислите все сделан- ные предположения.

(3) При выборе алгоритма важно оценить его требования к ресурсам. Каким образом время выполнения перечисленных ниже алгоритмов зависит от указанных параметров? 1) Алгоритм из упражнения 15.13, глубина иерархии наследования. 2) Алгоритм из упражнения 15.17, количество пассажиров. Рис. У1$.5. Диаграмма классов, описывающая членство избирателей в политических партиях Резюме процесса разработки Процесс разработки лежит в основе организованного производства программно- го обеспечения (рис.

16.1). Мы считаем, что этот процесс должен задействовать объектно-ориентированные концепции и систему обозначений УМ1.. Пользователи Разработчики Менеджеры Бизнес-эксперт Концептуализация системы Интервью с пользователя Опыт Родственные системы Анализ: Анализ предметной области Анализ приложения Архитектура Варианты пользования Алтритмы Оптимизация Рис. 16.1.

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

На каждом уровне вам придется добавлять новые операции, атрибуты и классы. Возможно, вам 16.2. Анализ 357 даже придется пересмотреть отношения между объектами (и даже внести изменения в иерархию наследования). Подробнее об итерационной разработке рассказывается в главе 2В 16.1. Концептуализация системы Концептуализация системы — это рождение приложения. Человеку, который разбирается и в технологии, и в потребностях бизнеса, приходит в голову идея приложения. Цель этапа концептуализации — охватить всю картину целиком: зачем нужна система, можно ли ее разработать за разумную цену, покроет ли спрос на систему затратгя на ее создание. До этапа концептуализации у вас есть идея нового приложения. После него — постановка задачи, которая является отправной точкой для анализа.

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

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

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

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

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

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