Файл: Объектно-ориентированные методы анализа и проектирования ПО..pdf
Добавлен: 17.05.2023
Просмотров: 74
Скачиваний: 2
СОДЕРЖАНИЕ
1.2. Основные принципы построения объектной модели.
1.3.Преимущества и недостатки объектно-ориентированного подхода к проектированию.
Методология объектного проектирования на языке UML
2.1.Унифицированный язык моделирования UML
2.2 Диаграмма вариантов использования (use case diagram)
2.3 Диаграмма классов (use case diagram)
2.4 Диаграммы взаимодействия (interaction diagrams).
3. Средства реализации объектно-ориентированного моделирования информационных систем
3.2 Sparx Systems Enterprise Architect.
Соединение (частей) (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) и увеличивать согласно критерию потребности вплоть до разных завершенных товаров.
Расширение скелета. Самостоятельные с дополнения Доли настоящей сферы имеют все шансы являться выполнены в варианте скелета и в последующем расширены из-за расчет прибавления Элементов, специфичных с целью определенного дополнения.
Многоразового применения программного обеспеченья в практике достичь никак не получается с-из-за этого, что же имеющиеся элементы ранее никак не соответствуют новым условиям. ООП может помочь данного достигнуть без патологии деятельность ранее существующих покупателей, что же дает возможность нам достать максимально с многоразового применения элемент.
Мы уменьшаем период в исследование, что с выгодой имеет возможность являться отдано иным планам.
Компоненты многоразового применения как правило включают значительно меньше погрешностей, Нежели снова созданные, так как они ранее никак не единожды подверглись контролю.