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

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

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

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

Квалификатор ЬапЬСог!е (кодБанка) позволяет отличать друг от друга банки, входящие в состав консорциума. Каждая карта должна иметь банковский код, чтобы транзакции можно было направлять в выдавший ее банк. ° Кратность. Этот параметр ассоциаций указывать нужно, но не старайтесь определить его точно на первом этапе моделирования. Кратность часто изменяется в процессе анализа, Проверяйте ассоциации с кратностью «один».

Например, ассоциация опе Мапаяег тапайез тапу етр(оуеех (один Менеджер руководит множеством сотрудников) не позволит создать матричную систему управления или описать сотрудника, отвечающего перед несколькими начальниками. Подумайте о необходимости введения квалификаторов для ассоциаций с кратностью «много», а также об упорядоченности объектов. ° Недостающие ассоциации. Добавьте все пропущенные ассоциации, которые вам удастся обнаружить. Пример с банкоматом. Мы пропустили Тгапхасбоп епгегег! оп сазЬ|ег хгайоп (Транзакция вводится на кассе), Сизготегз Ьаие ассоипт (Клиенты имеют счета) и Тгапзасйоп аигЬогаег! Ьу сазЬ сагг! (Транзакция авторизуется картой). 12.2.

Модель классов предметной области 231 ° Агрегация. Агрегация важна для некоторых видов приложений, в частности для описания деталей механизмов н спецификаций материалов. Для других приложений важность агрегации не столь велика, и не всегда бывает понятно, следует ли ее использовать вместо обычной ассоциации. Не тратьте слишком много времени на определение типа ассоциации. Выберите то, что сразу покажется вам более правильным, и двигайтесь дальше. Пример с банкоматом. Мы считаем Ви~й (Банк) частью СотоПгцт (Консорциума) и обозначаем отношение между ними как агрегацию. Пример с банкоматом. На рис.

12.9 приведена диаграмма классов с нанесенными на нее ассоциациями. Мы указали имена только для наиболее важных ассоциаций. Обратите внимание, что мы разделили Тгапзисйоп на КетогеТгалзасгюп н Сазй1егТганзасгюп, чтобы создать разные ассоциации с их участием. На диаграмме указаны значения кратности. Некоторые решения были произвольными.

Не стоит беспокоиться об этом: сушествует множество корректных моделей задачи. Мы разбираем процесс анализа с точностью до мелочей. Когда вы приобретете достаточный опыт, вы будете выполнять сразу несколько этапов в уме. Рмс. 12.9. Исходная диаграмма классов для банкомата 12.2.6. Выделение атрибутов Теперь пришло время заняться выделением атрибутов.

Атрибуты — это свойства объектов, такие как вес, скорость илн цвет. Значения атрибутов не должны быть объектами; чтобы показать отношение между объектами, следует использовать ассоциации. Атрибуты обычно присутствуют в описании задачи в виде сушествительных, участвуюших в притяжательных оборотах, наподобие ацвет машины» или 232 Глава 12 ° Анализ предметной области «положение курсора». Прилагательные часто соответствуют конкретным значениям атрибутов-перечислений (например, «красный», «включен», «устарел»).

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

Обычно производные атрибуты включать в модель на этом этапе не следует. Например, возраст можно определить по дате рождения и текущей дате (последняя является свойством окружения). Не выражайте производные атрибуты через операции (например, вычислитьВозраст), пусть даже реализация их этим способом вполне допустима. Ищите атрибуты и для ассоциаций. Эти атрибуты являются свойствами связей между объектами, а не свойствами индивидуальных объектов. Например, ассоциация «многие-ко-многим» между 5гос)гйоЫег (ДержательАкций) и Сатрапу (Компания) имеет атрибут питЬегО/5Ьагез (количествоАкций).

12.2.7. Удаление лишних атрибутов Исключите ненужные и некорректные атрибуты, руководствуясь следующими критериями. ° Объекты. Если важной чертой элемента является независимое существование, то этот элемент — объект (а не атрибут). Например, босс — это класс, а зарплата — атрибут. Разница часто зависит от приложения. Например, в списке рассылки город может быть атрибутом, тогда как в Переписи населения Город будет классом с множеством атрибутов и отношений.

Элемент, обладаюший собственными чертами в рамках данного приложения, должен моделироваться как класс. ° Квалификаторы. Если значение атрибута зависит от конкретного контекста, его можно попробовать переформулировать в виде квалификатора. Например, номерСотрудника — это не уникальная характеристика человека, занятого на двух работах, это, скорее, квалификатор ассоциации «Компания нанимает сотрудника». ° Имена. Имена лучше моделировать как квалификаторы, а не как атрибуты.

Ответьте на следуюшие вопросы: служит ли имя для выбора уникального объекта из множества? Может ли объект, принадлежаший множеству, иметь более одного имени? Если ответ положительный, имя служит квалификатором ассоциации. Если имя кажется уникальным, возможно, вы забыли добавить в модель класс, для которого оно служит квалификатором. 12.2. Модель классов предметной области 233 Например, названиеОтдела может быть уникально в рамках компании, но когда-нибудь вам придется работать с несколькими компаниями. Лучше сразу использовать соответствующую квалифицированную ассоциацию.

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

Объектно-ориентированные языки используют понятие идентификатора объекта для обозначения однозначной ссылки на объект. Не следует включать в модель атрибут, единственным назначением которого является идентификация, потому что идентификаторы присутствуют в моделях классов неявным образом. Перечисляйте только те атрибуты, которые присутствуют в области приложения. Например, кодСчета — это настоящий атрибут, потому что банк назначает каждому счету свой код, а клиент видит этот код. Напротив, внутренний идентификаторТранзакции не является атрибутом, хотя на этапе реализации его использование может быть выгодно. ° Атрибуты ассоциаций.

Если существование значения требует сушествования связи, соответствуюшее свойство является атрибутом ассоциации, а не одного из связанных ею классов. Атрибуты обычно достаточно ясно выделяются из ассоциаций «многие-ко-многимго их нельзя прикрепить нн к одному из классов из-за их кратности. Например, атрибут датаВступления принадлежит ассоциации между Человеком и Клубом, потому что человек может принадлежать к нескольким клубам, а клуб может иметь несколько членов.

Ассоциации «один-ко-многим» детализировать сложнее, потому что тут можно прикрепить атрибут к одному из классов без потери информации. Сопротивляйтесь этому желанию, потому что если кратность изменится, модель станет некорректной. Те же проблемы возникают и с ассоциациями типа «один-к-одному». ° Внутренние значения. Если атрибут описывает внутреннее состояние объекта, невидимое снаружи, его следует исключить из аналитической модели. ° Лишние детали.

Исключите незначительные атрибуты, не влияющие на большинство операций. ° Нетипичные атрибуты. Атрибут, полностью отличаюшийся от всех остальных и не связанный с ними, может указывать на то, что класс, к которому он относится, следует разделить на два разных класса. Класс должен быть простым и цельным. Смешивание разных классов — одна из основных причин появления ненадежных моделей. Нечетко определенные классы часто бывают результатом слишком раннего принятия решений, касаюшихся реализации.

° Логические атрибуты. Рассмотрите все логические атрибуты еше раз. Часто логический атрибут можно расширить и переформулировать в виде перечисления [Соа«1-951. 234 Глава 12 ° Анализ предметной области ° ЬалЬСог2е (кодБанка) и сагггСогге (кодКарты) хранятся на карте.

Их формат зависит от реализации, но мы обязаны, по крайней мере, создать ассоциацию ВалЬ мзиез СазЬСапУ (Банк выдает КредитнуюКарту). Код карты становится квалификатором атой ассоциации, а код банка — квалификатором банка по отношению к консорпиуму. ° Состояние компьютеров не имеет отношения к нашей задаче. Включенное или выключенное состояние компьютера — это атрибут, являющийся частью реализации. ° Нам пришлось справиться с искушением исключить из модели Солзогггит (Консорциум), несмотря на то, что он присутствует в ней в единственном числе.

Этот класс обеспечивает контекст для квалнфикатора ЬалзСойе (кодБанка) и может быть полезен для дальнейшего расширения. Не забывайте о том, что наш пример с банкоматом — это всего лишь пример. В реальных приложениях после завершения построения модели количество атрибутов у каждого класса значительно больше, чем в нашем случае (см.

рис. ! 2.10). !ззиез 1 сап! 0 Л Соде Вапх 1 пате в1аеоп Соде 1 ассонп! Соде етр!оуее Соде 1 О. 1 1 Сив!отег пате аббгевв Сопвогвнт Ьап!г Соде ! Ассоип! Ьа!апсе сгедамт!! !уре Етргоуз 0..1 Соттип!са!еь 1 ИФЙ Вапх ьапх Соде 1 Сеп!га! Сотрщег Савв |ег 0 1 Сотри!ег пате в1а!юп Соде Соттилгсагез 1 ИЗГЬ 0 1 вга!!Оп Соде Елгегебву 0..1 СаввпегТгапвасвоп Савп|егв!аноп ЕпгегебОп Соттип!сагез ИЗГп Мпб да!еТ!те апюнп! 0.,1 ЕпгегедОп АТМ СавЬСагд !зете!етгапвас!!оп Лтлолхедву 1 раввпогд Ыпб ба!еТ!те агпонп! саьЬОпнапб Рис.

12.10. Модель классов банкомата с атрибутами Пример с банкоматом. Прилгеним зти критерии к нашему примеру, чтобы получить список атрибутов для каждого класса (рис. 12.10). Некоторые потенциальные атрибуты стали квалификаторами ассоциаций. Мы рассматриваем несколько аспектов модели. 12.2. Модель классов предметной области 235 12.2.8.

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

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

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