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


Авторские права

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

Здесь можно купить и скачать "Антон Хританков - Проектирование на UML. Сборник задач" в формате fb2, epub, txt, doc, pdf. Жанр: Прочая околокомпьтерная литература, издательство ЛитагентРидеро78ecf724-fc53-11e3-871d-0025905a0812. Так же Вы можете читать ознакомительный отрывок из книги на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Проектирование на UML. Сборник задач
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Вы автор?
Книга распространяется на условиях партнёрской программы.
Все авторские права соблюдены. Напишите нам, если Вы не согласны.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Проектирование на UML. Сборник задач"

Описание и краткое содержание "Проектирование на UML. Сборник задач" читать бесплатно онлайн.



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






Ограничением (constraint) называется логическое выражение об ограничиваемых элементах модели, вычисляемое в контексте какого-либо элемента. Если выражение ложно, то модель считается противоречивой (ill-formed).

Примеры нотации указанных выше элементов модели приведены на рис. 1 и рис. 2.

ЗАДАЧИ

1.1. Абстрактный класс Account имеет два дочерних класса: счет физического лица PersonalAccount и юридического CompanyAccount. При решении задачи используйте диаграммы классов.

а. Добавьте класс Person с общедоступным атрибутом FullName строкового типа и свяжите его с классом PersonalAccount ассоциацией Owns с полюсом owner у Person и навигируемым полюсом account у PersonalAccount.

б. Аналогично для счета юридического лица добавьте владельца Company, свяжите анонимной ассоциацией с CompanyAccount и укажите подходящие названия полюсов.

в. Добавьте класс адреса Address с атрибутами строкового типа street, city и целочисленным положительным building. Укажите с помощью новых анонимных ассоциаций, что Person может иметь адрес регистрации registeredAt, фактический адрес actual, в то время как компания связана с одним юридическим адресом legalAddress и может иметь почтовый адрес postAddress.

1.2. Интерфейс Stack определяет операции помещения в стек push с параметром obj типа Element, операцию получения элемента из стека pop с возвращаемым значением типа Element. При решении задачи используйте диаграммы классов.

а. Добавьте в интерфейс Stack операции очистки стека reset, которая не имеет параметров, статическую операцию создания нового стека createNew с возвращаемым значением типа Stack.

б. Покажите, что интерфейс Stack зависит от типа данных Element.

в. Добавьте класс ListStack, который реализует интерфейс Stack. Покажите реализуемые классом операции интерфейса.

г. Добавьте в класс ListStack частное структурное свойство arr типа Element с кратностью больше нуля, значения которого упорядочены и могут повторяться.

д. Добавьте частный целочисленный атрибут increment только для чтения и защищенную операцию изменения размера resize с целочисленным параметром newSize.

е. Покажите на диаграмме экземпляров экземпляр stack класса ListStack, свойство arr которого содержит элемент first типа Element первым и second того же типа вторым. Укажите, что атрибут increment экземпляра stack равен 10.

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

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

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

в. Добавьте классу 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 = {<language>} <method body>}.

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

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

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

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

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


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Проектирование на UML. Сборник задач"

Книги похожие на "Проектирование на UML. Сборник задач" читать онлайн или скачать бесплатно полные версии.


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

Все книги автора Антон Хританков

Антон Хританков - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

А что Вы думаете о книге? Оставьте Ваш отзыв.