Объектно-ориентированное моделирование


Download 20.07 Kb.
Sana24.11.2022
Hajmi20.07 Kb.
#929269
Bog'liq
Qurbonov
кайта ишланма, AFG'ON SH 1, Dars tahlili 1, lishaynik, test-baliq, 2.05-педагогик-конфликтология, конфликтология, Inson psixologiyasi va shaxs etikasi haqida tushuncha, TEMA-5, TEMA-5, TEMA-5, Joriy yil 23, python darslik, Интеграл микросхемалар, Referat Mavzu Fan ilmiy dunyoqarash shakli Bajardi Abelfazova

Объектно-ориентированное моделирование

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


Абстрагирование определяется как выделение наиболее су-щественных характеристик некоторого объекта, отличающих его от всех других видов объектов, важных с точки зрения даль-нейшего рассмотрения и анализа, и игнорирование неважных деталей. Абстрагирование позволяет управлять сложностью си-стемы, концентрируясь на существенных свойствах объекта. Аб-стракция зависит от предметной области и точки зрения – то, что важно в одном контексте, может быть не важно в другом. Объекты и классы образуют основные абстракции предметной области. Выбор для заданной предметной области необходимо-го и достаточного набора абстракций представляет собой глав-ную задачу объектно-ориентированного моделирования.
Объектный подход предполагает, что внутренние ресурсы объекта скрыты от внешней среды. Инкапсуляция являет собой локализацию свойств и поведения в рамках единственной аб-стракции (рассматриваемой как «чёрный ящик»), скрывающей особенности реализации за общедоступным интерфейсом. При инкапсуляции отделяется внутреннее устройство объекта от его внешнего поведения. Абстрагирование и инкапсуляция являют-ся взаимодополняющими принципами.
Модульность есть свойство системы, связанное с возможно-стью её декомпозиции на ряд внутренне сильно сцеплённых, но слабо связанных между собой подсистем (частей). Модульность снижает сложность системы, позволяя выполнять независимую разработку её отдельных частей.
Иерархия представляет собой упорядоченную систему аб-стракций, расположение их по уровням в виде древовидной структуры. Элементы, находящиеся на одном уровне иерархии, должны также находиться на одном уровне абстракции. Основ-ными видами иерархических структур сложных систем являют-ся структура классов и структура объектов. Иерархия классов строится по наследованию, а иерархия объектов – по агрегации.
Тип – точная характеристика некоторой совокупности од-нородных объектов, включающая структуру и поведение. Типи-зация выступает как способ защититься от использования объ-ектов одного класса вместо другого, или, по крайней мере, управлять таким использованием. При строгой типизации тре-буется явное преобразование к нужному типу. При менее стро-гой типизации допускается полиморфизм, характеризуемый как многозначность имен.
Параллелизм оценивается как наличие в системе несколь-ких потоков управления одновременно. Объект может быть ак-тивен, т. е. способен порождать отдельный поток управления. Различные объекты имеют способность быть активными одно-временно.
Устойчивость определяется как способность объекта сохра-нять своё существование во времени и/или пространстве. В частности, устойчивость объектов можно обеспечить за счёт их хранения в базе данных.
К основным понятиям объектной модели относятся следу-ющие элементы: объект; класс; атрибут; операция; полимор-физм; наследование; пакет; подсистема; связь.
Объект (осязаемая сущность ― tangible entity) представляет собой предмет или явление (процесс), имеющие чётко выра-
женные границы, индивидуальность и поведение Состояние объекта определяется значениями его свойств (атрибутов) и связями с другими объектами, состояние может меняться со временем. Объекты не существуют изолированно, а подвергают-ся воздействию или сами воздействуют на другие объекты. По-ведение характеризует то, как объект воздействует или подвер-гается воздействию других объектов с точки зрения изменения состояния этих объектов и передачи сообщений. Другими сло-вами, поведение объекта полностью определяется его действия-ми. Индивидуальность проявляется в форме свойств объекта, отличающих его от всех других объектов. Любой объект облада-ет состоянием, поведением и индивидуальностью. Объект может быть абстракцией некоторой сущности предметной области или программной системы. В объектно-ориентированном подходе алгоритмы (поведение) и структуры данных (внутреннее устройство) объединены в объекты, таким образом уменьшается сложность системы и локализуются изменения.
Структура и поведение схожих объектов определяют общий для них класс. Класс есть множество объектов, связанных общ-ностью свойств, поведения, связей и семантики. Любой объект является экземпляром класса. Определение классов и объектов образуют одну из самых сложных задач объектно-ориентированного подхода.
Атрибут – поименованное свойство класса, определяющее диапазон допустимых значений, которые могут принимать эк-земпляры данного свойства. Атрибуты могут быть скрыты от других классов, это определяет видимость атрибута: рublic (об-щий, открытый); private (закрытый, секретный); protected (за-щищённый). Мощность (кратность) атрибута показывает, сколько значений хранится в одном экземпляре атрибута. Если кратность больше единицы, то атрибут описывает массив или список.
Требуемое поведение системы реализуется через взаимо-действие объектов. Взаимодействие объектов обеспечивается механизмом пересылки сообщений. Определенное воздействие одного объекта на другой с целью вызвать соответствующую ре-акцию называется операцией или посылкой сообщения. Сооб-щение может быть послано только вдоль соединения между объектами. Соединение между объектами существует, если один объект имеет ссылку на другой.
Операцией называется услуга, которую можно запросить у любого объекта данного класса. Операции реализуют поведение экземпляров класса. Описание операции включает четыре ча-сти: имя; список параметров; тип возвращаемого значения; ви-димость. Реализация операции называется методом.
Результат операции зависит от текущего состояния объекта. В объектно-ориентированном подходе определены следующие виды операций:
• операции реализации (implementor operations) – реализу-ют требуемую функциональность;
• операции управления (manager operations) управляют со-зданием и уничтожением объектов (конструкторы и деструк-торы);
• операции доступа (access operations) –дают доступ к закры-тым атрибутам;
• вспомогательные операции (helper operations) – непублич-ные операции, служат для реализации операций других видов.

Понятие полиморфизма может быть интерпретировано как способность класса принадлежать более, чем одному типу. Полиморфизмом считается способность скрывать множество различных реализаций под единственным общим именем или интерфейсом. Интерфейс предстаёт как совокупность опера-ций, определяющих набор услуг класса или компонента. Ин-терфейс не определяет внутреннюю структуру, все его опера-ции открыты. Пример, одна и та же операция Рассчи-тать_Зарплату может иметь три различные реализации в трёх различных классах: Служащий_С_Почасовой_Оплатой, Служащий_На_Окладе, Рабоющий_По_Договору_Подряда.


Пакет есть общий механизм для организации элементов в группы. Пакет представляет собой элемент модели, который может включать другие элементы. Каждый элемент модели может входить только в один пакет. Пакет является: средством организации модели в процессе разработки, повышающим её управляемость и читаемость, и единицей управления конфигурацией.
Подсистема рассматривается как комбинация пакета (мо-жет включать другие элементы модели) и класса (обладает по-ведением). Подсистема реализует один или более интерфейсов, определяющих её поведение.
Между элементами объектной модели существуют различ-ные виды связей. Соединение (link) – физическая или концеп-туальная связь между объектами, позволяющая им взаимодей-ствовать. Объектная модель может включать следующие типы связей: ассоциация; агрегация; композиция; зависимость; обобщение.
Ассоциация характеризуется как семантическое отношение между двумя и более классами, которое специфицирует харак-тер связи между соответствующими экземплярами этих классов. Отношение ассоциации соответствует наличию произвольного отношения или взаимосвязи между классами. Агрегация обра-зует специальную форму ассоциации, которая служит для пред-ставления отношения типа «часть―целое» между агрегатом (целое) и его составной частью.
Композиция рассматривается как разновидность отноше-ния агрегации, при которой составные части целого имеют та-кое же время жизни, что и само целое. Отношение компози-ции ─ частный случай отношения агрегации. Такое отношение служит для спецификации более сильной формы отношения «часть―целое», при которой составляющие части тесно взаимо-связаны с целым. Особенность этой взаимосвязи заключается в том, что части не могут выступать в отрыве от целого, т.е. с уничтожением целого уничтожаются и все его составные части.
Зависимость определяется как форма взаимосвязи между двумя элементами модели, предназначенная для спецификации того обстоятельства, что изменение одного элемента модели приводит к изменению некоторого другого элемента.
Обобщение образует связь «тип – подтип». Оно реализует механизм наследования (inheritance), поддерживает полимор-физм. Наследование определяется как построение новых клас-сов на основе существующих с возможностью добавления или переопределения свойств (атрибутов) и поведения (операций).
Большинство существующих методов объектно-ориентированного подхода включают язык моделирования и описание процесса моделирования. Процесс есть описание ша-гов, которые необходимо выполнить при разработке проекта. В качестве языка моделирования объектного подхода использу-ется унифицированный язык моделирования UML. Язык UML предназначен для создания моделей информационных систем с целью их последующей реализации в виде объектно-ориентированных программ. В рамках языка UML все представ-ления о модели сложной системы фиксируются в виде диа-грамм. Описание языка UML состоит из двух взаимодействую-щих частей: 1) семантики языка UML — некоторой метамодели, определяющей абстрактный синтаксис и семантику понятий объектного моделирования на языке UML; 2) нотации языка
Download 20.07 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2023
ma'muriyatiga murojaat qiling