Главная » Просмотр файлов » Сведения о языке UML

Сведения о языке UML (1183998), страница 4

Файл №1183998 Сведения о языке UML (Сведения о языке UML) 4 страницаСведения о языке UML (1183998) страница 42020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Если класс меняет свой интерфейс,то любое сообщение, которое он посылает, может утратить свою силу.Пакеты не дают ответа на вопрос, каким образом можно уменьшитьколичество зависимостей в вашей системе, однако они помогают выделитьэти зависимости, а после того, как они все окажутся на виду, остаетсятолько поработать над снижением их количества. Диаграммы пакетов21можно считать основным средством управления общей структуройсистемы.Пакеты являются жизненно необходимым средством для большихпроектов. Их следует использовать в тех случаях, когда диаграммаклассов, охватывающая всю систему в целом и размещеннаяна единственном листе бумаги формата А4, становится нечитаемой.1.5.4.

АтрибутыАтрибут – это элемент информации, связанный с классом. Например,у класса Company (компания) могут быть атрибуты Name (Название),Address (Адрес) и NumberOfEmployees (Число служащих).Так как атрибуты содержатся внутри класса, они скрыты от другихклассов. В связи с этим может понадобиться указать, какие классы имеютправо читать и изменять атрибуты. Это свойство называется видимостьюатрибута (attribute visibility).У атрибута можно определить четыре возможных значения этогопараметра.

Рассмотрим каждый из них в контексте примера (рис. 1.8).Пусть у нас имеется класс Employee с атрибутом Address и класс Company:– Public (общий, открытый). Это значение видимости предполагает,что атрибут будет виден всеми остальными классами. Любой классможет просмотреть или изменить значение атрибута. В таком случаекласс Company может изменить значение атрибута Address классаEmployee. В соответствии с нотацией UML общему атрибутупредшествует знак « + ».– Private (закрытый, секретный). Соответствующий атрибутне виден никаким другим классом. Класс Employee будет знатьзначение атрибута Address и сможет изменять его, но класс Companyне сможет его ни увидеть, ни редактировать. Если это понадобится,он должен попросить класс Employee просмотреть или изменитьзначение этого атрибута, что обычно делается с помощью общихопераций.

Закрытый атрибут обозначается знаком « – »в соответствии с нотацией UML.– Protected (защищенный). Такой атрибут доступен только самомуклассу и его потомкам. Допустим, что у нас имеется два различных22типа сотрудников – с почасовой оплатой и на окладе. Таким образом,мы получаем два других класса HourlyEmp и SalariedEmp,являющихся потомками класса Employee. Защищенный атрибутAddress можно просмотреть или изменить из классов Employee,HourlyEmp и SalariedEmp, но не из класса Company. Нотация UMLдля защищенного атрибута – это знак « # ».– Package or Implementation (пакетный).

Предполагает, что данныйатрибут является общим, но только в пределах его пакета. Допустим,что атрибут Address имеет пакетную видимость. В таком случае онможет быть изменен из класса Company, только если этот класснаходится в том же пакете. Этот тип видимости не обозначаетсяникаким специальным значком.Employee-Employee ID : Integer = 0#SSN : String#Salary : float+Address : String+City : String+State : String+Zip Code : long+Departament : String+Hire()+Fire()+Promote()+Demote()+Transfer()Рис.

1.8. Видимость атрибутовВ общем случае, атрибуты рекомендуется делать закрытыми илизащищенными. Это позволяет лучше контролировать сам атрибут и код.С помощью закрытости или защищенности удается избежать ситуации,когда значение атрибута изменяется всеми классами системы. Вместоэтого логика изменения атрибута будет заключена в том же классе,что и сам этот атрибут. Задаваемые параметры видимости повлияютна генерируемый код.231.5.5. ОперацииОперации реализуют связанное с классом поведение. Операциявключает три части – имя, параметры и тип возвращаемого значения.Параметры – это аргументы, получаемые операцией «на входе». Типвозвращаемого значения относится к результату действия операции.На диаграмме классов можно показывать как имена операций, так иимена операций вместе с их параметрами и типом возвращаемогозначения.

Чтобы уменьшить загруженность диаграммы, полезно бываетна некоторых из них показывать только имена операций, а на других ихполную сигнатуру.В языке UML операции имеют следующую нотацию:Имя Операции (аргумент1 : тип данных аргумента1, аргумент2 :тип данных аргумента2, ...) : тип возвращаемого значенияСледует рассмотреть четыре различных типа операций.Операции реализацииОперации реализации (implementor operations) реализуют некоторыебизнес-функции. Такие операции можно найти, исследуя диаграммывзаимодействия. Диаграммы этого типа фокусируются на бизнесфункциях, и каждое сообщение диаграммы, скорее всего, можно соотнестис операцией реализации.Каждая операция реализации должна быть легко прослеживаемадо соответствующего требования.

Это достигается на различных этапахмоделирования. Операция выводится из сообщения на диаграммевзаимодействия, сообщения исходят из подробного описания потокасобытий, который создается на основе варианта использования,а последний – на основе требований. Возможность проследить всю этуцепочку позволяет гарантировать, что каждое требование будетреализовано в коде, а каждый фрагмент кода реализует какое-тотребование.Операции управленияОперации управления (manager operations) управляют созданием иуничтожением объектов. В эту категорию попадают конструкторы идеструкторы классов.24Операции доступаАтрибуты обычно бывают закрытыми или защищенными.

Темне менее, другие классы иногда должны просматривать или изменять ихзначения. Для этого существуют операции доступа (access operations).Пусть, например, у нас имеется атрибут Salary класса Employee. Мыне хотим, чтобы все остальные классы могли изменять этот атрибут.Вместо этого к классу Employee мы добавляем две операции доступа –GetSalary и SetSalary. К первой из них, являющейся общей, могутобращаться и другие классы.

Она просто получает значение атрибутаSalary и возвращает его вызвавшему ее классу. Операция SetSalary такжеявляется общей, она помогает вызвавшему ее классу установить новоезначение атрибута Salary. Эта операция может содержать любые правилаи условия проверки, которые необходимо выполнить, чтобы зарплатамогла быть изменена.Такой подход дает возможность безопасно инкапсулировать атрибутывнутри класса, защитив их от других классов, но все же позволяетосуществить к ним контролируемый доступ. Создание операций Get и Set(получения и изменения значения) для каждого атрибута класса являетсястандартом.Вспомогательные операцииВспомогательными (helper operations) называются такие операциикласса, которые необходимы ему для выполнения его ответственностей,но о которых другие классы не должны ничего знать.

Это закрытыеи защищенные операции класса.Чтобы идентифицировать операции, выполните следующие действия:1. Изучите диаграммы последовательности и кооперативныедиаграммы. Большая часть сообщений на этих диаграммахявляется операциями реализации. Рефлексивные сообщения будутвспомогательными операциями.2. Рассмотрите управляющие операции.

Может потребоватьсядобавить конструкторы и деструкторы.3. Рассмотрите операции доступа. Для каждого атрибута класса,с которым должны будут работать другие классы, надо создатьоперации Get и Set.251.5.6. СвязиСвязь представляет собой семантическую взаимосвязь междуклассами. Она дает классу возможность узнавать об атрибутах, операцияхи связях другого класса.

Иными словами, чтобы один класс мог послатьсообщение другому на диаграмме последовательности или кооперативнойдиаграмме, между ними должна существовать связь.Существуют четыре типа связей, которые могут быть установленымежду классами: ассоциации, зависимости, агрегации и обобщения.АссоциацииАссоциация (association) – это семантическая связь между классами.Их рисуют на диаграмме классов в виде обыкновенной линии.NewClassNewClass2Рис. 1.9. АссоциацияАссоциации могут быть двунаправленными, как в примере, илиоднонаправленными. На языке UML двунаправленные ассоциации рисуютв виде простой линии без стрелок или со стрелками с обеих ее сторон.На однонаправленной ассоциации изображают только одну стрелку,показывающую ее направление.Направление ассоциации можно определить, изучая диаграммыпоследовательности и кооперативные диаграммы.

Если все сообщенияна них отправляются только одним классом и принимаются только другимклассом, но не наоборот, между этими классами имеет местооднонаправленная связь. Если хотя бы одно сообщение отправляетсяв обратную сторону, ассоциация должна быть двунаправленной.Ассоциации могут быть рефлексивными. Рефлексивная ассоциацияпредполагает, что один экземпляр класса взаимодействует с другимиэкземплярами этого же класса.26ЗависимостиСвязизависимости(dependency)такжеотражаютсвязьмежду классами, но они всегда однонаправлены и показывают, что одинкласс зависит от определений, сделанных в другом. Зависимостиизображают в виде стрелки, проведенной пунктирной линией.NewClassNewClass2Рис.

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

Тип файла
PDF-файл
Размер
1,05 Mb
Тип материала
Высшее учебное заведение

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

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