Конспект лекций, страница 6

PDF-файл Конспект лекций, страница 6 Объектно-ориентированный анализ и проектирование (53235): Лекции - 7 семестрКонспект лекций: Объектно-ориентированный анализ и проектирование - PDF, страница 6 (53235) - СтудИзба2019-09-18СтудИзба

Описание файла

PDF-файл из архива "Конспект лекций", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 6 страницы из PDF

Композиция – усиленная агрегация, когда часть не можетсуществовать без целого (пример: университет, факультет, кафедра). Композиция иагрегация транзитивны, в том смысле, что если B является частью A, и C является частьюB, то C также является частью A (но на диаграмме связи, возникающие за счеттранзитивности, явно не изображаются).WholeКомпозицияPartWholeАгрегацияPartСоединения, являющиеся экземплярамиизображаются с ромбами на полюсах.8композицийилиагрегацийтакжеАссоциации (включая агрегации и композиции) характеризуются: направлением,именем, ролевыми именами участников связи, мощностями.

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

рис.). Как правило соглашения моделирования предписывают изображать атрибутыпростых типов (числа, символы, строки, логические переменные, время, даты). Атрибутысложных типов изображаются как ассоциации.CompanyEmployeePersonEmployerCompanyPersonEmployee:PersonEmployer:CompanyМощность (multiplicity) показывает, как много объектов может участвоватьв соединениях – экземплярах ассоциации. Мощность – это количество объектов одногокласса (с той стороны связи, где приписана мощность), которые соединены с однимобъектом другого класса (на другом конце связи).

Для каждой ассоциации существуютдва указателя мощности – по одному на каждом конце связи. Для соединений мощностьне указывают, так как на любом конце соединения находится ровно один объект.Обозначения мощностей в UML:МощностьЗначение1Ровно один0..* или *Ноль или больше1..*Один или больше0..1Ноль или один2..4Заданный диапазон2, 4..6Несколько диапазоновЧастный случай ассоциации – класс ассоциации, при помощи которого атрибуты иоперации можно привязать непосредственно к соединению. Т. е. при наличии классаассоциации с каждым соединением связан его экземпляр (в примере для каждойсвязанной пары курс – студент есть экземпляр класса оценка):Следует заметить, что классы ассоциацийявляются артефактами моделирования,Матан:CourseВася:Student тоесть ими оперируют аналитики, архитекторы.

Языки программирования не имеютсредств, поддерживающих эти конструкции. В ходе реализации программистамCourse модели так, чтобы можно было создатьStudentприходится преобразовыватькод. При этом1теряются ограничения целостности. Так модель курсы-оценки-студентыНеуд:Grade будетпреобразована к следующему виду, допускающему в отличие от исходной модели болееодной оценки по одному курсу у одного студента:1Grade 910..200..4Обратите внимание как переместились мощности связей.В UML 2.0 к объектной модели добавлено понятие N-арной ассоциации (для каждойкомбинации объектов не более одной связи):На рисунке представлена тернарная ассоциация и класс-ассоциация, связывающаяпроект, программистов, занятых в проекте, и языки, на которых они программируютв проекте.

Некоторым аналогом тернарной ассоциации является реляционное отношениенад тремя доменами (таблица со столбцами проект, программист, язык). ЭкземплярамиN-арных ассоциаций являются N-арные соединения. Так, программистка Мэри в одномпроекте пишет на Коболе, а в другом на Си.

Заметим, что мощности на концах тернарнойассоциации не воспрещают Мэри писать в одном и том же проекте на разных языках (хотяна диаграмме объектов такое не показано). Единственное ограничение, наложенное вданном случае, – два разных тернарных соединения не могут связывать одну и ту жетройку объектов – например: Мэри, проект accountingSystem и Кобол.К N-арным ассоциациям могут быть присоединены классы ассоциаций. КлассыЛектор, Семестр и КурсЛекций связаны тернарной ассоциацией (означающей, чтонекоторый лектор читает курс лекций в определенном семестре). Класс ассоциацийЧитаемыйКурс может хранить дополнительные сведения о связи, например, количествослушателей и т.

п.10Лектор*Семестр*ЧитаемыйКурс*КурсЛекцийВ объектно-ориентированных языках N-арные ассоциации не поддерживаютсястандартными средствами. Их можно промоделировать с помощью обычных (бинарных)ассоциаций, но при этом снимается ограничение на единственность соединения,связывающего N-ку объектов:Лектор1*Семестр1*ЧитаемыйКурс*1КурсЛекций11ВовтороймоделитройкаобъектовлекторПетров,семестрСедьмойи курсЛекцийМатан могут быть соединены более чем единожды посредством разныхэкземпляров класса ЧитаемыйКурс.Ассоциации «1 ко многим» или «многие ко многим» имеют еще две характеристики:упорядоченность связываемых объектов; повторяемость (т.

е. образуют ли связываемыеобъекты множество или мультимножество). Различные сочетания этих характеристикобразуют четыре типа ассоциаций: множества {set}, упорядоченные множества {ordered},мультимножества {bar} и последовательности {sequence}:{set} Спичка{ordered}Коробок1ВершинаГрафа{bag}Экран*Окно1*{sequence}Ломанная***Точка*Спички в коробке образуют множество (неупорядоченное). Окна на экране –упорядоченное (по глубине) множество. В мультиграфе между парой вершин может бытьнесколько ребер. Вершины ломанной линии, если допускаются наложения, образуютпоследовательность, в которой одна и та же вершина может встречаться несколько раз.Ассоциациям могут быть приписаны квалификаторы.

Квалификатор – атрибут илинабор атрибутов ассоциации, значение которых позволяет выбрать для конкретногообъекта квалифицированного класса множество целевых объектов на противоположномконце соединения. Например, если в папке может находиться неболее одного файла сзаданным именем, то имя файла – квалификатор ассоциации папка -> файл. Квалификаторне обязательно состоит из одного атрибута (также как и потенциальный ключ записейв таблице). Например, жильцы из домовой книги проиндексированы адресами,состоящими из названия улицы, номера дома и номера квартиры.ПапкаДомоваяКнигаулица : Stringдом : Integerквартира : IntegerимяФайла : String110..11..*ФайлЖилецЗависимость – связь между двумя элементами модели, при которой измененияв спецификации одного элемента могут повлечь за собой изменения в другом элементе.Например, пакет, который импортирует классы другого пакета, является зависимым отнего.

Зависимость изображается как пунктирная стрелка с обычным наконечником.Зависимость между классами возникает в следующих случаях: в сигнатуре операции одного класса есть аргумент – объект другого класса; в методе одного класса есть локальный объект другого класса; результатом операции одного класса является экземпляр другого класса.12Обобщение – это связь «тип– подтип». Оно реализуетмеханизмнаследования(inheritance),поддерживаетполиморфизм. Наследование –это построение новых классов наосновесуществующихс возможностью добавления илипереопределениясвойств(атрибутов)иповедения(операций). Изображается какстрелкастреугольнымнаконечником, исходящая изнаследника и указывающая народителя.Общие атрибуты, операции и/или отношения отображаются на верхнем уровнеиерархии. В объектной модели наследование может быть множественным.

На связи могутнакладываться ограничения. Например, если необходимо, множественное наследование внекоторой иерархии классов может быть запрещено (над связью указывается ключевоеслово: {disjoint}).Реализация – связь между контрактом (интерфейсом, вариантом использования)и его исполнением (классом, подсистемой, компонентой и т. п.).

Изображаетсяпунктирной стрелкой с треугольным наконечником, исходящая из исполненияи указывающая на контракт.Литература к лекции 21. Буч Г. Объектно-ориентированный анализ и проектирование с примерамиприложений. 3-е изд. – М.: Вильямс, 2008. – Часть I.2. Вендров А.

М. Проектирование программного обеспечения экономическихинформационных систем. 2-е изд. – М.: Финансы и статистика, 2005. – Глава 2.3. Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделированиеи разработка. 2-е изд. – СПб.: Питер, 2006. – Главы 2-3.4. Грэхем И. Объектно-ориентированные методы.

Принципы и практика. 3-е изд.:Пер. с англ. – М.: Вильямс, 2004. – Глава 1.13Лекция 3. Унифицированный язык моделирования (Unified ModellingLanguage)Унифицированный язык моделирования UML (Unified Modeling Language) – этоязык для определения, представления, проектирования и документирования программныхсистем, организационно-экономических систем, технических систем и других системразличной природы. UML содержит стандартный набор диаграмм и нотаций самыхразнообразных видов.UML является наследником методов объектно-ориентированного анализаи проектирования, появившихся в конце 1980-х и начале 1990-х годов.

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