Главная » Просмотр файлов » Лекционные материалы

Лекционные материалы (1158642), страница 5

Файл №1158642 Лекционные материалы (Лекционные материалы) 5 страницаЛекционные материалы (1158642) страница 52019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

На языке UML связи наследования называютобобщениями и изображают в виде стрелок от класса-потомка к классупредку:Student(from Design Model)- name- address- studentID+ // get tuition()+ // add schedule()+ // delete schedule()FulltimeStudentParttimeStudent(from Design Model)(from Design Model)- gradDate- maxNumCoursesРис. 1.12.

Обобщение28Помимо наследуемых, каждый подкласс имеет свои собственныеуникальные атрибуты, операции и связи.МножественностьМножественность (multiplicity) показывает, сколько экземпляроводного класса взаимодействуют с помощью этой связи с однимэкземпляром другого класса в данный момент времени.Например,приразработкесистемырегистрациикурсовв университете можно определить классы Course (курс) и Student(студент). Между ними установлена связь: у курсов могут быть студенты,а у студентов – курсы. Вопросы, на который должен ответить параметрмножественности: «Сколько курсов студент может посещать в данныймомент? Сколько студентов может за раз посещать один курс?»Так как множественность дает ответ на оба эти вопроса, еёиндикаторы устанавливаются на обоих концах линии связи.

В примеререгистрации курсов мы решили, что один студент может посещатьот нуля до четырех курсов, а один курс могут слушать от 10 до 20студентов. На диаграмме классов это можно изобразить, как показанона рис. 1.13.CourseStudent0..410..20Рис. 1.13. МножественностьВ языке UML приняты следующие нотации для обозначениямножественности:МножественностьЗначение0..*Ноль или больше1..*Один или больше0..1Ноль или один1..1 (сокращенная запись: 1)Ровно один29Имена связейСвязи можно уточнить с помощью имен связей или ролевых имен.Имя связи – это обычно глагол или глагольная фраза, описывающая, зачемона нужна.

Например, между классом Person (человек) и классом Company(компания) может существовать ассоциация. Можно задать в связи с этимвопрос, является ли объект класса Person клиентом компании,её сотрудником или владельцем? Чтобы определить это, ассоциациюможно назвать «employs» (нанимает):CompanyEmploysPersonРис. 1.14. Имя связиИмена у связей определять не обязательно. Обычно это делают, еслипричина создания связи не очевидна. Имя показывают около линиисоответствующей связи.РолиРолевые имена применяют в связях ассоциации или агрегации вместоимен для описания того, зачем эти связи нужны. Возвращаясь к примерус классами Person и Company, можно сказать, что класс Person играет рольсотрудника класса Company. Ролевые имена – это обычно именасуществительные или основанные на них фразы, их показываютна диаграмме рядом с классом, играющим соответствующую роль.

Какправило, пользуются или ролевым именем, или именем связи,но не обоими сразу. Как и имена связей, ролевые имена не обязательны,их дают, только если цель связи не очевидна. Пример ролей приводитсяниже:Company+Employer+EmployeeРис. 1.15. Ролевые имена30Person1.6. Диаграммы состоянийДиаграммы состояний определяют все возможные состояния,в которых может находиться конкретный объект, а также процесс сменысостояний объекта в результате наступления некоторых событий.Существует много форм диаграмм состояний, незначительноотличающихся друг от друга семантикой. Наиболее распространеннаяформа, используемая в объектно-ориентированных методах, впервыеприменялась в методе ОМТ и впоследствии была адаптирована ГрадиБучем.На рис.

1.16 приводится пример диаграммы состоянийдля банковского счета. Из данной диаграммы видно, в каких состоянияхможет существовать счет. Можно также видеть процесс перехода счетаиз одного состояния в другое. Например, если клиент требует закрытьоткрытый счет, он переходит в состояние «Закрыт». Требование клиентаназывается событием (event), именно такие события и вызывают переходиз одного состояния в другое.Снятие денег[отрицательный баланс]Превышение кредитаОткрытКлиент требуетзакрыть счет /Сохранить датузакрытия счетаentry: Временно заморозить счетdo: Послать уведомление клиентуВклад денег[положительный exit: Разморозить счетбаланс]Закрытentry: Выдатькредитную картуПроверка баланса[отрицательный балансв течение более 30 дней]Рис.

1.16. Диаграмма состояний для класса Account31Если клиент снимает деньги с открытого счета, он может перейтив состояние «Превышение кредита». Это происходит, только если баланспо этому счету меньше ноля, что отражено условием [отрицательныйбаланс] на нашей диаграмме. Заключенное в квадратных скобках условие(guard condition) определяет, когда может или не может произойти переходиз одного состояния в другое.На диаграмме имеются два специальных состояния – начальное (start)и конечное (stop).

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

Когдаобъект находится в каком-то конкретном состоянии, могут выполнятьсяразличные процессы. В нашем примере при превышении кредита клиентупосылается соответствующее сообщение. Процессы, происходящие, когдаобъект находится в определенном состоянии, называются действиями(actions).С состоянием можно связывать данные пяти типов: деятельность,входное действие, выходное действие, событие и история состояния.Рассмотрим каждый из них в контексте диаграммы состояний для классаAccount системы ATM.ДеятельностьДеятельностью (activity) называется поведение, реализуемоеобъектом, пока он находится в данном состоянии. Например, когда счетнаходится в состоянии «Закрыт», происходит возврат кредитной карточкипользователю.

Деятельность – это прерываемое поведение. Оно можетвыполняться до своего завершения, пока объект находится в данномсостоянии, или может быть прервано переходом объекта в другоесостояние. Деятельность изображают внутри самого состояния, ей должнопредшествовать слово do (делать) и двоеточие.32Входное действиеВходным действием (entry action) называется поведение, котороевыполняется, когда объект переходит в данное состояние. В примере счетав банке, когда он переходит в состояние «Превышен счет», выполняетсядействие «Временно заморозить счет», независимо от того, откуда объектперешел в это состояние.

Таким образом, данное действие осуществляетсяне после того, как объект перешел в это состояние, а, скорее, как частьэтого перехода. В отличие от деятельности, входное действиерассматривается как непрерываемое.Входное действие также показывают внутри состояния, емупредшествует слово entry (вход) и двоеточие.Выходное действиеВыходное действие (exit action) подобно входному. Однако, оноосуществляется как составная часть процесса выхода из данногосостояния. В нашем примере при выходе объекта Account из состояния«Превышен счет», независимо от того, куда он переходит, выполняетсядействие «Разморозить счет». Оно является частью процесса такогоперехода. Как и входное, выходное действие является непрерываемым.Выходное действие изображают внутри состояния, ему предшествуетслово exit (выход) и двоеточие.Поведение объекта во время деятельности, при входных и выходныхдействиях может включать отправку события другому объекту. Например,объект account (счет) может посылать событие объекту card reader(устройство чтения карты).

В этом случае описанию деятельности,входного действия или выходного действия предшествует знак « ^ ».Соответствующая строка на диаграмме выглядит какDo: ^Цель.Событие(Аргументы)Здесь Цель – это объект, получающий событие, Событие – этопосылаемое сообщение, а Аргументы являются параметрами посылаемогосообщения.Деятельность может также выполняться в результате полученияобъектом некоторого события. Например, объект account может быть33в состоянии Открыто. При получении некоторого события выполняетсяопределенная деятельность.Переходом (Transition) называется перемещение из одного состоянияв другое. Совокупность переходов диаграммы показывает, как объектможет перемещаться между своими состояниями. На диаграмме всепереходы изображают в виде стрелки, начинающейся на первоначальномсостоянии и заканчивающейся последующим.Переходы могут быть рефлексивными.

Объект может перейти в то жесостояние, в котором он в настоящий момент находится. Рефлексивныепереходы изображают в виде стрелки, начинающейся и завершающейсяна одном и том же состоянии.У перехода существует несколько спецификаций. Они включаютсобытия, аргументы, ограждающие условия, действия и посылаемыесобытия. Рассмотрим каждое из них в контексте примера АТМ.СобытияСобытие (event) – это то, что вызывает переход из одного состоянияв другое. В нашем примере событие «Клиент требует закрыть» вызываетпереход счета из открытого в закрытое состояние.

Событие размещаютна диаграмме вдоль линии перехода.На диаграмме для отображения события можно использовать как имяоперации, так и обычную фразу. В нашем примере события описаныобычными фразами. Если вы хотите использовать операции, то событие«Клиент требует закрыть» можно было бы назвать RequestClosure().У событий могут быть аргументы. Так, событие «Сделать вклад»,вызывающее переход счета из состояния «Превышен счет» в состояние«Открыт», может иметь аргумент Amount (Количество), описывающийсумму депозита.Большинство переходов должны иметь события, так как именно они,прежде всего, заставляют переход осуществиться. Тем не менее, бываюти автоматические переходы, не имеющие событий. При этом объект самперемещается из одного состояния в другое со скоростью, позволяющейосуществиться входным действиям, деятельности и выходным действиям.34Ограждающие условияОграждающие условия (guard conditions) определяют, когда переходможет, а когда не может осуществиться.

В нашем примере событие«Сделать вклад» переведет счет из состояния «Превышение счета»в состояние «Открыт», но только если баланс будет больше нуля.В противном случае переход не осуществится.Ограждающие условия изображают на диаграмме вдоль линииперехода после имени события, заключая их в квадратные скобки.Ограждающие условия задавать необязательно. Однако еслисуществует несколько автоматических переходов из состояния,необходимо определить для них взаимно исключающие ограждающиеусловия. Это поможет читателю диаграммы понять, какой путь переходабудет автоматически выбран.ДействиеДействием (action), как уже говорилось, является непрерываемоеповедение, осуществляющееся как часть перехода.

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

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

Список файлов лекций

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