Антон Хританков - Проектирование на UML. Сборник задач

Тут можно читать онлайн Антон Хританков - Проектирование на UML. Сборник задач - бесплатно ознакомительный отрывок. Жанр: Прочая научная литература, издательство Литагент Ридеро. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Антон Хританков - Проектирование на UML. Сборник задач краткое содержание

Проектирование на UML. Сборник задач - описание и краткое содержание, автор Антон Хританков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
В данном сборнике представлены задачи по проектированию ПО с использованием унифицированного языка моделирования UML 2, принципов и паттернов проектирования. Сборник содержит более 120 задач с несколькими заданиями в каждой по разным разделам UML и проектирования ПО. Для каждого раздела приводятся основные понятия, для задач даны ответы и пояснения по решению. http://www.objectoriented.ru

Проектирование на UML. Сборник задач - читать онлайн бесплатно ознакомительный отрывок

Проектирование на UML. Сборник задач - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Антон Хританков
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

1.3.В пространстве имен Time расположены перечисления Month , DayOfWeek , а также классы Date и Period . При решении задачи используйте диаграммы классов.

а. Укажите, что перечисление Month может принимать значения: Jan , Feb , Mar , Apr , May , Jun , Jul , Aug , Sep , Oct , Nov , Dec .

б. Укажите, что перечисление DayOfWeek может принимать значения: Mon , Tue , Wed , Thu , Fri , Sat , Sun .

в. Добавьте классу Date частные атрибуты year , month , dayOfMonth типа Integer , а также общедоступные операции:

– получения года getYear типа Integer ; – получения месяца getMonth типа Month ; – получения дня getDayOfMonth типа Integer ; – получения дня недели getDayOfWeek типа DayOfWeek .

г. Добавьте классу Date общедоступную статическую операцию now () типа Date .

д. Добавьте классу Period общедоступную статическую операцию between . У операции два аргумента: from и to . Оба аргумента имеют тип Date . Операция возвращает значение типа Period

е. Добавьте классу Date операцию plus c аргументом delta типа Period . Результат операции – значение типа Date .

1.4.Класс MyWindow уточняет абстрактный базовый класс Window . MyWindow состоит (композиция) из кнопки класса Button и надписи класса Label . Отобразите на диаграмме классов.

а. Класс Label имеет частный атрибут text типа String и общедоступную операцию setText c параметром text типа String .

б. Композиция между MyWindow и Button называется HoldsButton . Полюс со стороны кнопки имеет имя okButton , защищенную видимость, кратность 1 . Композиция между MyWindow и Label называется HoldsLabel . Украшения полюса со стороны Label : название textLabel , частная видимость, кратность 1 .

в. Для реакции на события кнопки реализован паттерн Слушатель (Listener) следующим образом. Класс Button предоставляет операцию setClickListener с единственным параметром l типа IClickListener . Интерфейс IClickListener содержит единственную операцию onClick без параметров.

г. Класс MyWindow реализует интерфейс IClickListener для реакции на нажатие кнопки. Отобразите на диаграмме, что между классом Button и MyWindow есть ассоциация с именем NotifyListener с направлением от кнопки к окну. Укажите, что полюс со стороны окна называется listener , имеет тип IClickListener , множественную кратность и частную видимость.

д. И Label и Button имеют строковый атрибут text , который можно менять с помощью метода setText . Вынесите общий атрибут и метод в абстрактный базовый класс TextWidget .

е. Отобразите на диаграмме объектов, как в процессе выполнения объекты связаны между собой: объект window класса MyWindow связан с кнопкой button класса Button и с надписью label класса Label .

1.5.(см. решение в §11) Интерфейс доступа к коллекции элементов Collection обобщает интерфейс работы со списками List . Абстрактный класс BaseCollection реализует интерфейс Collection , абстрактный класс BaseList является потомком BaseCollection и реализует интерфейс List , оставляя операции по хранению данных дочерним классам.

а. Используя наследование, добавьте в модель класс ArrayList , реализующий операции со списками с помощью массива.

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

в. Пусть интерфейс Collection содержит операцию add добавления элемента obj . Укажите, в пространстве имен каких классов может присутствовать поведение, реализующее операцию add . Ответ поясните.

1.6.Класс Collections содержит общедоступную статическую операцию addAll с возвращаемым значением типа boolean . Первый параметр операции называется coll и имеет тип Collection , второй параметр называется elements и имеет тип Object и кратность больше нуля.

а. Добавьте в класс Collections статический атрибут empty типа Collection, предназначенный только для чтения.

б. Реализуйте в классе Collections операцию addAll с помощью нечеткого поведения (метода), используя операцию добавления элемента insert (e: Object) класса Collection . Указание . Алгоритм реализации можно показать как псевдокод в комментарии в формате {method = {} } .

1.7.Узел дерева Node может иметь несколько дочерних child узлов того же класса Node .

а. Приведите пример бинарного дерева, состоящего из семи узлов Node .

б. Постройте модель дерева, в котором каждый узел имеет от двух до четырех дочерних узлов.

в. Разработайте модель дерева, узлы которого могут быть двух видов: узел Red и узел Black . Указание. Вид узла может изменяться, при этом следует считать, что поведение узла не изменяется при смене типа.

1.8.У абстрактного класса заказа Reservation имеется два потомка: одиночный Single и подписка Subscription . Single связан с одним билетом Ticket ассоциацией бронирован reserved , Ticket может быть связан той же ассоциацией не более чем с одним Single .

а. Свяжите подписку с билетами в количестве от трех до шести включительно. Билет не обязательно связан с подпиской.

б. Как с помощью ограничений указать, что билет не может быть одновременно связан и с подпиской, и с одиночным заказом?

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

1.9.Умный дачный домик SmartHouse состоит из четырех стен Wall и крыши Roof . Домик реагирует на штормовые предупреждения stormWarning и укрепляет крышу harden , закрывает окна closeWindows в стенах. Используемые стройматериалы Material характеризуются ценой price и удельным весом unitWeight .

а. Добавьте стройматериалы для постройки домика: красный и белый кирпич Brick , доски Plank из сосны и дуба.

б. Укажите, что кирпич является материалом material стен. Используя ассоциации, покажите, что каркас крыши Frame сделан из не более чем сорока досок и может быть одного из видов FrameKind : мансарда, плоский или треугольный.

в. Каркас можно покрыть стройматериалом черепица Tiling , отразите это в модели.

г. Допустим, изобретен универсальный стройматериал, заменяющий доски, кирпичи и черепицу. Постройте из него дачный домик. Сколько экземпляров материала понадобится? Ответ поясните.

§2. СЦЕНАРИИ И ВАРИАНТЫ ИСПОЛЬЗОВАНИЯ

ОСНОВНЫЕ ПОНЯТИЯ

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Антон Хританков читать все книги автора по порядку

Антон Хританков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Проектирование на UML. Сборник задач отзывы


Отзывы читателей о книге Проектирование на UML. Сборник задач, автор: Антон Хританков. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x