Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 122
Текст из файла (страница 122)
В большинстве задач правильный ответ может быть не единственным, поэтому руководствуйтесь нашими ответами только как примерами. 1.5. 2) В уголовных расследованиях могут использоваться комбинации фотографий, отпечатков пальцев, исследования на группу крови, анализы ДНК и зубные карты. Все это позволяет идентифицировать живых или мертвых людей, принимающих участие или являющихся предметом расследования. 4) Телефонные номера позволяют идентифицировать практически любой телефон мира. Телефонный номер состоит из кода страны, кода области или города и местного номера. Он также может включать необязательный добавочный номер. На предприятиях могут быть собственные телефонные сети с иными соглашениями.
В зависимости от расположения вашего собственного телефона некоторые части номера можно опускать. С другой стороны, для вызова номера из другой области может потребоваться набор префикса выхода на междугородную линию. В США большинство местных номеров состоят из 7 цифр. Для междугородных звонков приходится набирать префикс О или 1, код города (3 цифры) и местный номер (7 цифр).
Чтобы позвонить в Париж, нужно Ответы к избранным упражнениям 509 набрать код доступа к международной линии (011), код страны (ЗЗ), код города (1) и местный номер (8 цифр). Код доступа к линии не входит в состав идентификатора телефона. 7) Один из способов предоставить сотрудникам ограниченный доступ состоит в использовании специальной электронной карты.
Конечно, если сотрудник потеряет такую карту и не сообщит об этом, ей может воспользоваться кто-то другой. В качестве альтернативных способов можно указать проверку по фотографии, проверку отпечатков пальцев и распознавание голоса. 1.8. 1) Электронные микроскопы, очки, телескопы, прицелы бомбометания и бинокли улучшают зрение. Все они, за исключением сканирующего электронного микроскопа, работают с отраженным или преломленным светом. Очки и бинокли рассчитаны на работу с двумя глазами, остальные устройства предназначены для одного глаза. Телескопы, прицелы и бинокли служат для увеличения удаленных предметов.
Микроскоп увеличивает очень маленькие объекты. Очки могут как увеличивать, так и уменьшать, в зависимости от дефекта зрения, на устранение которого они рассчитаны. Этот список можно было бы дополнить оптическими микроскопами, камерами и увеличительными стеклами. 2) Трубы, клапаны, краны, фильтры и датчики давления — водопроводные устройства, рассчитанные на определенную температуру и давление. Кроме того, нужно учитывать их совместимость с различными жидкостями. Клапаны и краны позволяют управлять потоком жидкости.
Все предметы, за исключением датчика давления, обладают двумя соединениями. Для них может быть построена кривая зависимости потока от давления. Все эти элементы являются пассивными. В качестве дополнительных примеров можно привести насосы, резервуары и соединительные трубки. 2.3. 1) Для трансатлантического кабеля главным критерием является сопротивляемость соленой воде. Кабель должен долго лежать на дне океана без всякого обслуживания.
Необходимо учесть взаимодействие океанской флоры и фауны с кабелем, а также влияние давления и солености воды на срок его службы. Соотношение прочности к весу важно при прокладке кабеля. Стоимость — важный экономический фактор. Электрические параметры важны с точки зрения потерь мошности и искажения сигналов. 3) Для проводов, используемых в электрических цепях самолетов, важен вес, потому что от него зависит общий вес самолета. Прочность изоляции должна быть достаточной, чтобы противостоять истиранию, вызванному вибрацией. Огнеупорность важна для того, чтобы исключить возгорания в полете. 510 Ответы к избранным упражнениям 3.2.
На рис. 03.2 показана диаграмма классов для многоугольников и точек, Многоугольник может состоять не менее чем из трех точек. Кратность ассоциации зависит от того, каким образом точки идентифицируются. Если точка идентифицируется по ее координатам, точки можно считать общими, и ассоциация имеет вид «многие-ко-многим». Если же каждая точка может принадлежать ровно одному многоугольнику, несколько точек могут иметь одинаковые координаты. Это различие демонстрирует следующий ответ.
Рис. 03.2. Диаграмма классов для многоугольника и точек 3.3 1) На рис. 03.3 показаны объекты и связи для двух треугольников с общей стороной в модели, где каждая точка принадлежит ровно одному многоугольнику. 2) На рис. 03А показаны объекты и связи для двух треугольников с об- щей стороной в модели, где точки могут быть общими.
Рис. ОЗ.З. Диаграмма объектов (каждая точка принадлежит одному многоугольнику) 3.20. Графы встречаются во множестве приложений. Возможно несколько вариантов модели, в зависимости от вашей точки ареиия. На рис. 03.23 показано точное представление неориентированных графов, соответствующее описанию в упражнении. В вашем ответе может отсутствовать класс УпйгесгедбгарЬ, но при этом ответ будет уже не таким точным. Ответы к избранным упражнениям 511 Рис. 03.4.
Диаграмма объектов (каждая точка принадлежит нескольким многоугольникам) Рис. 03.23. Диаграмма классов для неориентированных графов Мы обнаружили, что для некоторых запросов, связанных с графами, бывает полезно сделать ассоциацию между вершинами и ребрами классов, как показано на рис. 03.24. Рис. 03.24. Диаграмма классов неориентированных графов (инцидентность описывается классом) 3.23. На рис. 03.27 показана диаграмма классов, описываюшая ориентированные графы. Различие между двумя вершинами ребра обеспечивается квалифицированной ассоциацией.
Квалификатор может иметь значения ггош и то. Рис. 03.27. Диаграмма классов ориентированных графов с квалифицированной ассоциацией 512 Ответы к избранным упражнениям На рис. 03.28 показано другое представление ориентированных графов. Различие между двумя вершинами обеспечивается введением двух разных ассоциаций. Рис. О3.28. Диаграмма классов ориентированных графов с двумя ассоциациями Преимушество квалифицированной ассоциации состоит в том, что для поиска вершин, относящихся к данному ребру, достаточно опросить одну ассоциацию.
Если квалификатор не указан, можно найти обе вершины. Указав квалификатор, вы можете найти вершину, находящуюся с нужного конца ребра. Преимушество использования двух ассоциаций состоит в том, что вы устраняете необходимость работать с перечислимыми значениями квалификатора епо'. 3.25. На рис. ОЗ.ЗО показана диаграмма классов для системы ссуд на автомобили, в которой указатели заменены ассоциациями.
В такой форме искусственное ограничение на количество работодателей у человека было исключено. Обратите внимание, что в этой модели владельцу может принадлежать несколько машин. На один автомобиль может быть выдано несколько ссуд. Банки ссужают деньги людям, компаниям и другим банкам. 3.28. На рис. О3.34 показана диаграмма классов для задачи об обедающих философах.
Ассоциации «один-к-одному» описывают взаимное расположение философов и вилок. Ассоциация 1лИе (Ислсиьзуется) показывает, кто именно использует вилки. Возможны и другие представления, в зависимости от вашей точки зрения. Диаграмма объектов поможет вам лучше понять эту задачу. Рис. 03.30. Диаграмма классов для автокредитования пвш0(пег 1 Ршиееорпег 0..1 гоп(0 ее( (еяо(пег 1 Рис. 03.34.
Диаграмма 3.31. 2 Вох ипк , Ыпевев(пеп( Ргяп( 1 1..2 Содесйоп (7 Зо. 699 3.34. 4.2. 4.4. Ответы к избранным упражнениям 513 1 (еяьогх тиае 0..2 гоги 1 поь(гогх классов для задачи об обедающих философах Приведенное ниже выражение на ОС) возвращает множество авиакомпа- ний, самолетами которых летал пассажир в течение года.
аРаааепчег.гьгчпг->звьвст(чегтеаг(ваге(=аогеептеаг(.лггшпе.наее->аазес Оператор азбег. языка ОС1. удаляет дубликаты одной и той же авиалинии. На рис. У3.13, а обозначено, что подписка имеет выводимую индивидуальность. Рисунок У3.13, б придает подписке самостоятельное значение и делает ее отдельным классом. Вторая модель лучше, потому что большинство журналов снабжаются кодами подписки на этикетках.
Этот код можно хранить в качестве атрибута. Код подписки предназначен для идентификации подписки. Подписка не идентифицируется сочетанием человека и журнала, поэтому 5иЬвьт(рг!оп следует сделать классом. Более того, один человек может иметь несколько подписок на один журнал. Такую ситуацию может описать только вторая модель.
Диаграмма классов на рис. 04.2 обобщает классы Зе1есггоп (Выделение), ВиДег (Буфер) и эЬеег (Лист) суперклассом Со11есбоп (Совокупность). Обобщение способствует повторному использованию кода, потому что многие операции одинаково применимы ко всем подклассам. Шесть отношений агрегации с исходной диаграммы были заменены двумя. Теперь структура диаграммы отражает ограничение, состоящее в том, что каждый экземпляр Вох и Е(пе должен принадлежать ровно одному экземпляру Виоег, 5е!есВоп или 5Ьеег.
На рис. 04.3 показана диаграмма классов лля графического редактора. Требование, состоящее в том, что в Спэир (1руппа) должно содержаться 2 и более РгатгпдОЬ!ест (ГрафическийОбьект), выражается кратностью 2..* у полюса агрегации Ргаи(!пдОЬ!есг и Сгоир. Тот факт, что РгаипплОЬ!ест не обязательно должен входить в Сп>ир, отражается кратностью 0..1. Эту диаграмму можно переделать, сделав С(гс!е (Окружность) частным случаем ЕВ(рве (Эллипс), а Вдиаге (Квадрат) — частным случаем Весгапл!е (Прямоугольг(ик), Рис. О4.2.