Файл: Объектно-ориентированные методы анализа и проектирования ПО..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 17.05.2023

Просмотров: 59

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Соединение (частей) (aggregation) предполагает собою фигуру ассоциации — наиболее крепкий вид взаимосвязи среди единым (сложным) предметом и его Элементами (компонентными предметами).

Язык UML гарантирует узкую содействие агрегации. Мощная модель агрегации представляется в UML композицией. В композиции составляющий предмет имеет возможность физиологически включать компонентные предметы. Однокомпонентный предмет имеет возможность относиться только лишь 1 сложному предмету.

Слабая модель агрегации в UML именуется легко агрегацией. Рядом данном составляющий предмет физиологически никак не включает однокомпонентный предмет. Единственный однокомпонентный предмет имеет возможность владеть некоторыми взаимосвязями ассоциации либо агрегации.

Агрегация представляется чертой среди классами с ромбом в сторонке единого предмета (злак. 34.4). Полный параллелограмм предполагает композицию (злак. 34.5).

Рис. 34.4. Агрегация

Рис. 34.5. Композиция


Производительность (multiplicity) демонстрирует, равно как немало предметов принимет участие в взаимосвязи.
Мощность — данное Количество предметов 1-го класса, сопряженных с один предметом иного класса. Представление силы взаимосвязи в объектной модификации подобным образом суждениям силы и класса приспособления взаимосвязи в модификации «сущность-связь» (с правильностью вплоть до положения признака силы в диаграмме). С целью любой взаимосвязи допускается отметить 2 признака силы — согласно 1 в любом завершении взаимосвязи.
В слоге UML установлены последующие нотации с целью обозначения силы.

Значение мощности

Мощность

Значение

*

Много

0

Нуль

1

Один

0..*

Нуль или больше

1..*

Один или больше

0..1

Нуль или один

1..1

Ровно один

К примеру, рядом исследованию концепции регистрации направлений в институте допускается установить игра Course (академический курс действий) и Student (ученик). Среди ними определена взаимосвязанность, значащая визит направлений студентами. В случае если единственный ученик имеет возможность ходить с нулевой отметки вплоть до 4 направлений, а в 1 направлении имеют все шансы работать с ДЕС?ТИ вплоть до ДВАДЦАТЫЙ учащихся, в таком случае в диаграмме классов данное допускается показать последующим способом (злак. 34.6).


Рис 34.6. Мощность связи


Зависимое положение (dependency) — взаимосвязанность среди 2-я компонентами модификации, рядомкаковой перемены в спецификации 1-го компонента имеют все шансы спровоцировать из-за собоюперемены в ином составляющем.
Зависимость — некрепкая модель взаимосвязи среди покупателем и сервером (покупатель находится в зависимости с сервера и никак не обладает познаний о сервере). Зависимое положение представляетсяпунктирной чертой, сосредоточенной с покупателя к серверу (злак. 3).

Рис 3. Зависимость

Зависимое положение среди 2-я компонентами обладает положение в этом случае, в случае если перемены в установлении 1-го компонента имеют все шансы спровоцировать из-за собою перемены в ином. Основания с целью связей имеют все шансы являться наиболее различными: единственный группа отправляет извещение иному; единственный группа содержит Элемент сведений иного класса; единственный группа применяет иной в свойстве параметра процедуры. В случае если группа изменяет собственный сокет, в таком случае каждое извещение, что некто отправляет, имеет возможность потерять собственную силу.

Обобщение (generalization) — взаимосвязанность «тип-подтип» осуществит система наследования (inheritance). Большая часть объектно-направленных стилей напрямую удерживают теорию наследования. Симпатия дает возможность 1 классу наследовать всегда свойства, процедуры и взаимосвязи иного.

В слоге UML взаимосвязи наследования именуют обобщениями и представляют в варианте боец с класса-внука к классу-прадеду (злак. 34.8).

Рис. 34.8. Обобщение

Единые свойства, процедуры и/или взаимосвязи показываются в верхней степени иерархии.

Помимо наследуемых, любой подкласс обладает собственные свои неповторимые свойства, процедуры и взаимосвязи.

1.2. Основные принципы построения объектной модели.

При формировании каждого программного плана в свойстве 1-ый (и наиболее основного) стадии принимать постоянно планирование. В какой угодно технической выдержке перед проектированием как правило подразумевается какой-либо в таком случае унифицирован аспект, с поддержкой какого я разыскиваем дороге заключения установленной задачи, снабжая осуществление установленной проблемы. Из-за предположением Страуструпа: "Задача проектирования - обнаружение четкой и касательно легкий внутренней текстуры, что порой именуется зодчеством... План представляется конечным провиантом хода проектирования". Провиантами проектирования представлены модификации, что дают возможность нам осознать текстуру предстоящей концепции, уравновесить условия и обозначить схему осуществлении. Прогнозирование свободно разнесено в абсолютно всех технических дисциплинах, в существенной критерию с из-за этого, что же оно осуществит основы декомпозиции, абстракции и иерархии. Любая форма обрисовывает некоторую Элемент пересмотренной концепции, а я в собственную очередность создаем новые модификации в основе прежних, в каковых наиболее-меньше решительные. Модификации дают возможность нам осуществлять контроль наши провалы. Расцениваем действия любой модификации в обыкновенных и необыкновенных моментах, а далее коротаем надлежащие доделки, в случае если нас что же в таком случае никак не удовлетворяет. Объектно-направленная методика базируется в таким (образом именуемой объектной модификации. Главными нее принципами представляется: отвлечение, инкапсулирование, модульность, иерархия, классификация, сходство, и сохранность. Любой с данных основ непосредственно никак не другой, однако в объектной модификации они в первый раз использованы в совокупы. Первоначальные 4 определения представляется неотъемлемыми в этом осознании, что же без любого с их форма никак не достаточно объектно-направленной. Прочие представлены добавочными, обладая в типу, что же они могут быть полезны в объектной модификации, однако никак не неотъемлемые.


При конструировании непростой либо довольно объёмной программной концепции ее, равно как норма, разделяют в Доли, любую с каковых далее оценивают и хотят сделать раздельно. Рядом данном применяется или многофункциональное разделение концепции, или объектная соединение.

При многофункциональном разделении программной концепции ее устройство имеет возможность являться изображена источник-схемой, участки каковой отмечают исполняемые функции, а взаимосвязи показывают очередность их исполнения. Программные модули, реализующие функции, как правило, применяются только лишь в составе предоставленной концепции.

При объектной декомпозиции концепция расшибается в предметы либо элементы, что взаимодействуют товарищ с ином, перебрасываясь оповещениями. Уведомления обрисовывают либо предполагают собою отдельные действия. Приобретение предметом уведомления стимулирует его и подталкивает совершать потребованные его программным кодом воздействия. Равно как результат, программная концепция перестает являться последовательностью установленных в рубеже кодировки операций, а делается событийно-управляемой. Организаторами происшествий имеют все шансы являться никак не только лишь предметы концепции, однако и ее наружное общество, к примеру, юзеры.

Объекты обладают характеристики и способы.

Свойства предмета - данное значимости, что ставятся с целью установления его типа и действия.

Методы предмета – данное программные операции, обеспечивающие осуществление им установленных операций.

Совокупность предметов, обладающих единый комплект качеств и характеризующихся равным действием, именуется классом. Игра имеют все шансы основывается согласно иерархическому принципу, если единственный группа имеет возможность являться подклассом иного класса. С установления класса необходимо, что же любой предмет представляется экземпляром 1-го установленного класса.

Важной характерной чертой предмета представляется его независимость и вероятность применения в свойстве библиотечного элемента слога программирования. Подобным способом, как-то раз созданный и организованный макропрограммный шифр имеет возможность неоднократно использоваться в разных программных модулях. Для того чтобы подтолкнуть предмет осуществить требуемые воздействия довольно определить его характеристики и спровоцировать соответственный способ. Рядом присутствии с целью применяемого слога программирования сформированной библиотеки частей создание проектов объединяется, в огромной собственной Доли, к связыванию существующих предметов, что же значительно упрощает и стимулирует процедура проектирования. Подобная методика исследования программных модулей приобрела наименование объектно-нацеленного программирования.


Основными принципами объектно-нацеленного программирования представлены юниорат, инкапсулирование и полиморфизм.

Принцип, в согласовании с каким понимание о наиболее совокупной группы допускается использовать с целью наиболее тесной группы, именуется наследованием. Юниорат непосредственно сопряжено с иерархией классов. Рядом данном, в случае если определенный материнский группа владеет зафиксированным комплектом качеств и действием, в таком случае исходный с него группа обязан включать данный ведь комплект качеств и владеть подобным ведь действием, а кроме того добавочными особенностями и типами действия, что станут предопределять неповторимость основанного подобным способом класса.

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

Полиморфизм в объектно-направленном программировании обозначает, что же воздействия, исполняемые одинаковыми способами, имеют все шансы различаться в связи с этого, тот или иной с классов они принадлежат.

1.3.Преимущества и недостатки объектно-ориентированного подхода к проектированию.

ДОСТОИНСТВА ООП

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

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

Данные и процедуры совместно формируют некоторую суть и они никак не «размазываются» согласно целой проекте, равно как данное зачастую случается в случае процедурного программирования.


Местоположение кодировки и сведений делает лучше четкость и практичность обслуживания программного обеспеченья.

Инкапсуляция данных оберегает более кризисные сведения с неразрешенного допуска.

ООП предоставляет вероятность формировать расширяемые концепции (extensible systems). Данное один с наиболее существенных плюсов ООП и собственно оно различает этот аспект с классических способов программирования. Расширяемость (extensibility) обозначает, что же имеющуюся концепцию допускается вынудить трудиться с новыми элементами, к тому же без внесения в ее тот или иной-или перемен. Элементы имеют все шансы являться добавлены в рубеже исполнения.

Расширение вида (type extension) и происходящий с него полиморфизм неустойчивых становятся нужными в основном в последующих моментах.

Обработка неоднородных строений сведений. Проекта имеют все шансы трудиться, никак не утруждая себе исследованием типа предметов. Новые типы имеют все шансы являться добавлены в какой угодно период.

Изменение действия в период исполнения. В рубеже исполнения единственный предмет имеет возможность являться заменен иным. Данное имеет возможность послужить причиной к изменению метода, в коем применяется этот предмет.

Реализация наследственных элемент. Методы допускается подводить итог вплоть до такого рода уровня, что же они ранее могут трудиться наиболее, Нежели с один типом предметов.

Доведение полуфабрикатов. Элементы не имеется необходимости подстраивать перед установленное дополнение. Их допускается хранить в библиотеке в варианте полуфабрикатов (semifinished products) и увеличивать согласно критерию потребности вплоть до разных завершенных товаров.

Расширение скелета. Самостоятельные с дополнения Доли настоящей сферы имеют все шансы являться выполнены в варианте скелета и в последующем расширены из-за расчет прибавления Элементов, специфичных с целью определенного дополнения.

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

Мы уменьшаем период в исследование, что с выгодой имеет возможность являться отдано иным планам.

Компоненты многоразового применения как правило включают значительно меньше погрешностей, Нежели снова созданные, так как они ранее никак не единожды подверглись контролю.