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

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

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

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

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

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

При ООПизменения локализуются внутри класса (компоненты или пакета, если изменяютсянесколько классов). Семантический разрыв ликвидируется, поскольку сущностипредметной области представляются объектами, следовательно, разработчик и заказчик(пользователь) оперируют схожими понятиями. Повторное использование достигается засчет построения систем с использованием библиотек готовых компонент – модулей(заимствовано из структурного или функционального подхода).Краткая история ООП: 1967: язык Simula – 1ый среди объектно ориентированных; 1970-е: Smalltalk – получил довольно широкое распространение; 1980-е: Теоретические основы, C++, Objective-C; 1990-е: Методы OOA и OOD (Booch, OMT, ....), появился язык Java; 1997: Принят стандарт OMG UML 1.1.В основе объектно-ориентированного подхода лежит объектная декомпозиция, приэтом статическая структура ПО описывается в терминах объектов и связей между ними, адинамический аспект ПО описывается в терминах обмена сообщениями между объектами.Каждый объект системы обладает своим собственным поведением, моделирующимповедение объекта реального мира.Объектная модель является естественным способом представления реального мира.Она является концептуальной основой ООП.

Основными принципами ее построенияявляются: абстрагирование; инкапсуляция; модульность; иерархия.Дополнительные принципы: типизация; параллелизм; устойчивость (persistence).Абстрагирование – этовыделениенаиболеесущественныххарактеристикнекоторого объекта, отличающихего от всех других видовобъектов, важных с точки зрениядальнейшего рассмотрения и анализа, и игнорирование менее важных илинезначительных деталей. Абстракцией является любая модель, включающая наиболееважные, существенные или отличительные характеристики некоторого объекта, иигнорирующая менее важные или незначительные детали. Абстрагирование позволяетуправлять сложностью системы, концентрируясь на существенных свойствах объекта.Абстракция зависит от предметной областии точки зрения – то, что важно в одномконтексте, может быть не важно в другом.Выбор правильного набора абстракций длязаданной предметной области представляетсобойглавнуюзадачуобъектноориентированного проектирования.

Объектыи классы– основные абстракциипредметной области.Инкапсуляция – локализация свойств иповеденияврамкахединственнойабстракции (рассматриваемой как «черный4ящик»),скрывающейреализациюза общедоступныминтерфейсом.Приинкапсуляцииотделяетсявнутреннееустройство объекта от его внешнегоповедения. Объектный подход предполагает,что внутренние ресурсы объекта, скрыты отвнешнейсреды.Абстрагированиеиинкапсуляцияявляютсявзаимодополняющими принципами.Модульность – это свойство системы,связанное с возможностью ее декомпозициина ряд внутренне сильно сцепленных, но слабосвязанныхмеждусобойподсистем(частей).Модульность снижает сложность системы, позволяявыполнять независимую разработку ее отдельныхчастей.Иерархия – ранжированная или упорядоченнаясистема абстракций, расположение их по уровням ввиде древовидной структуры. Элементы, находящиесяна одном уровне иерархии, должны также находитьсяна одном уровне абстракции.

Основными видамииерархических структур сложных систем являютсяструктура классов и структура объектов. Иерархияклассов строится по наследованию, а иерархияобъектов – по агрегации.Тип – точная характеристика некоторойсовокупности однородных объектов, включающаяструктуру и поведение.Типизация – способ защититься отиспользования объектов одного класса вместодругого, или, по крайней мере, управлять такимиспользованием.При строгой типизации (например, в языкеОберон) запрещается использование объектовневерного типа, требуется явное преобразование кнужному типу. При менее строгой типизациитакого рода запреты ослаблены.

В частности,допускается полиморфизм – многозначностьимен. Одно из проявлений полиморфизма,использование объект подтипа (наследника) вроли объекта супертипа (предка).Параллелизм – наличие в системенесколькихпотоковуправленияодновременно. Объект может быть активен,т. е. может порождать отдельный потокуправления. Различные объекты могут бытьактивны одновременно.Устойчивость – способность объектасохранять свое существование во времении/или пространстве (адресном, в частностиприперемещениимеждуузламивычислительной системы). В частности,5устойчивость объектов может быть обеспечена за счет их хранения в базе данных.Переходим к основным понятиям объектно-ориентированного подхода (элементамобъектной модели).

К ним относятся: объект; класс; атрибут; операция; полиморфизм;наследование; компонент; пакет; подсистема; связь.Объект – осязаемая сущность (tangible entity) – предмет или явление (процесс),имеющие четко выраженные границы, индивидуальность и поведение Любой объектобладает состоянием, поведением и индивидуальностью. Состояние объектаопределяется значениями его свойств (атрибутов) и связями с другими объектами, ономожет меняться со временем. Поведение определяет действия объекта и его реакцию назапросы от других объектов. Поведение представляется с помощью набора сообщений,воспринимаемых объектом (операций, которые может выполнять объект).Индивидуальность – это свойства объекта, отличающие его от всех других объектов.Структура и поведение схожих объектов определяют общий для них класс.

Класс –это множество объектов, связанных общностью свойств, поведения, связей и семантики.Любой объект является экземпляром класса. Определение классов и объектов – одна изсамых сложных задач объектно-ориентированного проектирования.Атрибут – поименованное свойство класса, определяющее диапазон допустимыхзначений, которые могут принимать экземпляры данного свойства.

Атрибуты могут бытьскрыты от других классов, это определяет видимость атрибута: рublic (общий, открытый);private (закрытый, секретный); protected (защищенный).Требуемоеповедениесистемыреализуется через взаимодействие объектов.Взаимодействие объектов обеспечиваетсямеханизмомпересылкисообщений.Определенное воздействие одного объектанадругойсцельювызватьсоответствующуюреакциюназываетсяоперацией или посылкой сообщения.Сообщение может быть послано тольковдоль соединения между объектами. Втерминах программирования соединениемежду объектами существует, если один объект имеет ссылку на другой.Операция – это реализация услуги, которую можно запросить у любого объектаданного класса.

Операции реализуют связанное с классом поведение, его обязанности.Описание операции включает четыре части: имя; список параметров; тип возвращаемогозначения; видимость.Результат операции зависит от текущего состояния объекта. Виды операций: Операции реализации (implementor operations) – реализуют требуемуюфункциональность. Операции управления (manager operations) управляют созданием и уничтожениемобъектов (конструкторы и деструкторы). Операции доступа (access operations) – так называемые, get-теры, set-теры – даютдоступ к закрытым атрибутам. Вспомогательные операции (helper operations) – непубличные операции, служат дляреализации операций других видов.Объект может быть абстракцией некоторой сущности предметной области (объектреального мира) или программной системы (архитектурный объект).6Сравнение архитектур традиционной и ОО-системы:В ОО-системе алгоритмы (поведение) и структуры данных (внутреннее устройство)объединены в объекты, за счет уменьшается сложность системы, локализуютсяизменения.Понятие полиморфизма может быть интерпретировано, как способность объектапринадлежать более чем одному типу.

Полиморфизм – способность скрывать множестворазличных реализаций под единственным общим именем или интерфейсом. Интерфейс –это совокупность операций, определяющих набор услуг класса или компонента.Интерфейс не определяет внутреннюю структуру, все его операции открыты. Пример,одна и та же операция рассчитатьЗарплату может иметь три различные реализации втрех различных классах: СлужащийСПочасовойОплатой, СлужащийНаОкладе,ВременныйСлужащий.Компонент – это относительно независимая и замещаемая часть системы,выполняющая четко определенную функцию в контексте заданной архитектуры.Компонент представляет собой физическую реализацию проектной абстракции иможет быть: компонентом исходного кода (cpp-шник); компонентом времени выполнения(dll, ActiveX и т. п.); исполняемый компонентом (exe-шник).

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

Каждый элемент модели можетвходить только в один пакет. Пакет является: средством организации модели в процессе разработки, повышения ее управляемости ичитаемости; единицей управления конфигурацией.Подсистема – это комбинация пакета (может включать другие элементы модели) икласса (обладает поведением). Подсистема реализует один или более интерфейсов,определяющих ее поведение. Она используется для представления компонента в процессепроектирования.Между элементами объектной модели существуют различные виды связей.Соединение (link) – физическая или концептуальная связь между объектами,позволяющая им взаимодействовать.7Ассоциация – связь между классами, описывающая группу однородных по структуреи семантике соединений между экземплярами классов.

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

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