Главная » Просмотр файлов » 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006)

2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 13

Файл №1185732 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006).pdf) 13 страница2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732) страница 132020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Класс – этоабстракция сущности, являющейся частью вашего словаря. Класс –не индивидуальный объект, а представление целого множества объектов: скажем, вы можете концептуально представлять «стену» как классобъектов с рядом общих свойств (высота, длина, толщина; являетсяли стена несущей и т.д.). Но можно иметь в виду и вполне конкретнуюстену, например находящуюся в югоFзападном углу вашей гостиной.Что же касается программного обеспечения, многие языки программирования непосредственно поддерживают концепцию класса.Это очень удобно, потому что создаваемые вами абстракции частомогут быть напрямую выражены на языке программирования, дажеесли речь идет об абстракциях непрограммных сущностей, такихкак заказчик, торговля или переговоры.ВведениеМоделирование системы включает в себя идентификацию сущностей, которые важны для вашего конкретного представления.

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

4.1. КлассыUML предлагает графическое представление класса (см. рис. 4.1).Эта нотация позволяет вам визуализировать абстракцию вне какогоFлибо определенного языка программирования, притом подчеркнув ее наиболее важные части: имя, атрибуты и операции.Классы64Базовые понятияКласс (class) – это описание множества объектов с одинаковыми атрибутами, операциями, связями и семантикой. Изображаетсяв виде прямоугольника.Базовые понятия65атрибут – это абстракция вида данных или состояния, которое может принимать объект того или иного класса. В каждый определенный момент объект класса характеризуется конкретными значениями каждого из атрибутов. В графическом представлении атрибутыперечислены в разделе, приведенном непосредственно под именемкласса, причем с обязательным указанием их имен (см. рис.

4.3).ИменаИмя классадолжнобытьуникальнов пределахвключающего егопакета (см.главу 12).Каждый класс должен обладать именем, отличающим его от других классов. Имя (name) – это текстовая строка. Отдельное имя, взятоесамо по себе, называется простым, а имя класса с префиксом – именем пакета, в котором «живет» этот класс, – квалифицированным.Класс можно изобразить только с указанием его имени, как показано на рис. 4.2.Рис. 4.3.

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

На практике обычно используютсякраткие имена классов – существительные, взятые из словаря моделируемой системы. Каждое слово в имени классатрадиционно пишут с заглавной буквы, например Customer(Покупатель) или TemperatureSensor (ДатчикТемпературы).АтрибутыАтрибутыимеютотношениек семантикеагрегации(см.главу 10).Атрибут (attribute) – это именованное свойство класса, описывающее диапазон значений, которые может принимать экземпляратрибута.

Класс может иметь любое число атрибутов или не иметьни одного. Атрибут представляет некоторое свойство моделируемой сущности, которым обладают все объекты данного класса: например, у каждой стены есть высота, ширина и толщина. Аналогичным образом вы можете описать своих заказчиков: у каждого из нихесть имя, адрес, номер телефона, дата рождения. Таким образом,На заметку. Имя атрибута, как и имя класса, может представлять собой текст. На практике для именования атрибута используются одно или несколько коротких существительных, выражающих некое свойство класса, к которомуотносится атрибут. Обычно каждое слово в имени атрибутапишется с заглавной буквы, за исключением первого, например name (имя) или birthDate (датаРождения).Вы можетеМожно уточнить спецификацию атрибута, указав его класс и назадать дру- чальное значение по умолчанию, как показано на рис.

4.4.гие свойстваатрибута,напримерснабдить егопометкойreadonly(только дляРис. 4.4. Атрибуты и их классчтения) илиобъявить общим для всехобъектовОперация (operation) – это реализация услуги, которая можеткласса – см.быть запрошена у любого объекта данного класса, чтобы вызватьглаву 9.Операцииопределенное его поведение. Другими словами, операция – это абстракция чегоFлибо, что вы можете сделать с конкретным объектом ивообще со всеми объектами данного класса.

Класс может иметь любое число операций либо не иметь ни одной. Например, в оконнойбиблиотеке наподобие той, что содержится в пакете Java awt, всеКлассы66Реализацияоперацииуточняетсяпри помощипримечаний(см. главу 6) либодиаграммыдеятельности (см.главу 20).объекты класса Rectangle можно перемещать, изменять их размерили запрашивать их свойства.

Часто (хотя и не всегда) вызов операции объекта изменяет его данные или состояние. Графически операции представлены в разделе списка, приведенного под атрибутамикласса. Допускается указание только имен операций (см. рис. 4.5).Базовые понятия67представления выбираются только некоторые из его атрибутови операций – или же они вообще не изображаются. Если помимо указанных существуют другие атрибуты и операции, вы даете это понять,завершая каждый список многоточием.

Можно и вовсе не обозначатьсоответствующий раздел на пиктограмме класса – тогда не будетвидно, имеет ли класс атрибуты или операции, сколько их и т.п.СтереотипыЧтобы лучше организовать длинные списки атрибутов и операобсуждают- ций, желательно снабдить префиксом (именем стереотипа) каждуюся в главе 6.категорию в них, как показано на рис. 4.7.«constructor»Рис. 4.5. ОперацииНа заметку. Имя операции, как и имя класса, может представлять собой текст. На практике для именования операциииспользуются короткие глагольные конструкции, описывающиенекое поведение класса, которому принадлежит операция.Обычно каждое слово в имени операции пишется с заглавной буквы, за исключением первого, например move (переместить) или isEmpty (пуст).«query»Рис.

4.7. Стереотипы в свойствах классаВы можетеуточнитьдругиесвойстваоперации,напримерпометив еекак полиморфнуюили константнуюлибо указавее видимость (см.главу 9).Можно специфицировать операцию, устанавливая ее сигнатуру, включающую имя, тип и значение по умолчанию всех параметров, а применительно к функциям – тип возвращаемого значения(рис. 4.6).Рис. 4.6. Операции и их сигнатурОрганизация атрибутов и операцийИзображая класс, вы не обязаны показывать сразу все его атрибуты и операции.

Фактически в большинстве случаев вы не в состоянии этого сделать (таких элементов может быть слишком много, чтобы все они поместились на одном рисунке), да и не должны(для конкретного представления, как правило, существенна толькочасть атрибутов и операций класса). В силу этих причин допускается упрощенное представление класса, то есть для графическогоОбязанностиОбязанность (responsibility) – это соглашение или обязательствакласса. Когда вы создаете класс, выдвигается предположение, что всеего объекты характеризуются одинаковым состоянием и одинаковымповедением.

На более абстрактном уровне соответствующие атрибуты и операции являются просто средствами, благодаря которым классвыполняет свои обязанности. Класс Wall (Стена) отвечает за информацию о высоте, ширине, толщине; класс FraudAgent (АгентПоПредотвращениюМошенничеств), который можно встретить в приложении,обрабатывающем кредитные карты, – за обработку запросов и определение их обоснованности, подозрительности или незаконности; классTemperatureSensor (ДатчикТемпературы) – за измерение температурыи подачу сигнала тревоги в случае превышения допустимого предела.Когда вы моделируете классы, для начала очень неплохо сформуМоделирование семан- лировать обязанности сущностей из вашего словаря. Методика притики класса менения CRCFкарт2 и анализа на основе вариантов использованияОбязанности – этопример определенныхстереотипов(см.

главу 6).обсуждаетсяв главе 9.2Карты CRC (Class–Responsibility–Collaboration – «класс, обязанности, взаимодействие») – один из широко применяемых в объектно-ориентированном анализе методовраспределения обязанностей между классами. – Прим. ред.Классы68Обязанности классаможнотакже описать в примечании (см.главу 6).может здесь оказаться особенно полезной.

У класса может бытьсколько угодно обязанностей, хотя на практике каждый хорошоструктурированный класс имеет как минимум одну обязанностьи как максимум – небольшой их набор. По мере детализации вашихмоделей вы будете отображать эти обязанности на множество атрибутов и операций, которые наилучшим образом им соответствуют.Графически обязанности могут быть представлены в специально отведенном для них разделе, в нижней части пиктограммы класса (см. рис.

4.8).Рис. 4.8. ОбязанностиТипичные приемы моделирования69При проектировании реализации класса вам потребуется моделировать ее внутреннюю структуру как набор взаимосвязанныхчастей. Чтобы расставить все точки над i, вы можете разделитьвнутреннюю структуру класса верхнего уровня на несколькослоев.АктивныеКогда вы перейдете к проектированию более сложных моделей, токлассы,обнаружите, что вам все чаще приходится иметь дело с некоторыми нокомпоненты выми сущностями: классами, представляющими параллельные процеси узлысы и потоки, либо классификаторами, описывающими физические сущобсужности, такие как апплеты, компоненты JavaBeans, файлы, WebFстраницыдаютсяи аппаратное обеспечение. Поскольку сущности подобного рода встрев главахчаются очень часто и представляют собой важные архитектурные абс23, 25 и 27,тракции, для их моделирования в UML предусмотрены активные класартесы (описывающие процессы и потоки), классификаторы, в частностифакты –артефакты (описывающие физические компоненты программногов главе 26.обеспечения), и узлы (описывающие аппаратные устройства).ДиаграммыНаконец, классы редко существуют сами по себе.

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

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

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