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

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

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

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

Добавлен: 17.05.2023

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

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

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

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

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

Подводя результат произнесенному, сформулируем плюсы ООП:

1. применение рядом программировании определений, родных к настоящей сферы;

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

3. вероятность неоднократного применения кодировки из-за расчет наследования;

4. относительно элементарная вероятность изменения проектов;

5. вероятность формирования и применения библиотек предметов.

Эти плюсы в особенности безусловно обнаруживаются рядом исследованию проектов немалого размера и классов проектов. Тем не менее ничего никак не предоставляется бесплатно: формирование объектно-направленной проекта предполагает собою крайне сложную проблему, по¬скольку призывает исследования иерархии предметов, а слабо спроектированная иерархичность имеет возможность объединить к нулю всегда плюсы объектно-нацеленного расклада.

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

2. МИНУСЫ ООП

Объектно-направленное автопрограммирование призывает познания 4 предметов.

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

(2) Многоразовое применение призывает с разработчика программного обеспечения ознакомиться с крупными библиотеками классов. А данное имеет возможность быть труднее, Нежели в том числе и исследование нового слога программирования. читальня классов практически предполагает собою воображаемый речь, что имеет возможность содержать в себе сотки видов и тыс. действий. В слоге Smalltalk, к образцу, вплоть до этого, равно как переключиться к фактическому программированию, необходимо исследовать существенную Элемент его библиотеки классов. А данное также призывает времени.


(3) Проектирование классов — цель гораздо наиболее непростая, Нежели их применение. Планирование класса, равно как и планирование слога, призывает немалого навыка. Данное итерационный процедура, в каком месте требуется обучаться в собственных ведь оплошностях.

(4) Очень тяжело исследовать игра, никак не обладая способности их «пощупать». Только лишь с покупкой недостаточно-мальского навыка допускается решительно себе ощутить рядом службе с применением ООП.

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

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

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

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



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

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

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

Часто допускается чувствовать, что же ООП представляется малоэффективным. Равно как ведь проблема обстоит в реальности? ? обязаны Точно осуществлять граница среди неэффективностью в рубеже исполнения, неэффективностью в значении распределения памяти и неэффективностью, сопряженной с избыточной универсализацией.

(1) Неэффективность в рубеже исполнения. В стилях вида Smalltalk уведомления разъясняются в периодисполнения проекта посредством исполнения розыска их в одной либо многих таблицах и из-за расчет подбора пригодного способа. Безусловно, данное небыстрый процедура. И в том числе и рядом применении лучших способов оптимизации Smalltalk-проекта в 10 единожды медленнее оптимизированных C-проектов [Cha92].

В смешанных стилях вида Oberon-2, Object Pascal и C++ направление уведомления приводит только к призыву При помощи знак процедурной неустойчивой. В определенных автомобилях уведомления исполняются только в 10% медленнее, Нежели простые процедурные призывы. И потому как уведомления попадаются в проекте значительно пореже иных действий, их влияние в период исполнения воздействия фактически никак не проявляет.

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


(2) Неэффективность в значении распределения памяти. Динамическое объединение и контроль вида в рубеже исполнения призывают согласно быстро деятельность данных о виде предмета. Подобная данные находится в дескрипторе вида, и некто акцентируется единственный в группа. Любой предмет обладает скрытый знак в указатель вида с целью собственного класса. Подобным способом, в объектно-направленных програмках необходимая вспомогательная воспоминания проявляется в 1 указателе с целью предмета и в 1 дескрипторе вида с целью класса.

(3) Излишняя многофункциональность. Непродуктивность имеет возможность кроме того обозначать, что же схема обладает лишние способности. В библиотечном классе Зачастую находится более способов, Нежели данное действительно следует. А потому как бесполезные способы никак не имеют все шансы будут уничтожены, в таком случае они делаются умершим багажом. Данное никак не влияет в периодисполнения, однако оказывает большое влияние в рост величины кодировки.

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

Другой аспект — предоставить вероятность компоновщику устранять бесполезные способы.

Такие умственные компоновщики ранее легкодоступны с целью разных стилей и операторных концепций.

Oberon выбрал 3-ий курс спасения с избыточной универсальности.

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

Таким способом, невозможно заявлять, что же ООП по большому счету малоэффективно.

Если игра применяются только вслед за тем, в каком месте данное на самом деле следует, в таком случае утрата производительности и в рубеже исполнения и в значении памяти объединяется фактически в не имеется.

Методология объектного проектирования на языке UML


2.1.Унифицированный язык моделирования UML

Унифицированный речь прогнозирования UML (Unified Modeling Language) предполагает собою речь с целью установления, понятия, проектирования и документирования программных, координационно-финансовых, промышленных концепций и иных концепций разной натуры. Речь сформирован основными экспертами в сферы объектно-нацеленного разбора и проектирования Гради Бучем, Джеймсом Рамбо и Айваром Джекобсоном с компании Rational Software. Основными в исследованию UML находилисьпоследующие миссии:

• обеспечить юзерам живописный речь зрительного прогнозирования, предоставляющий создавать модификации и делиться ими;

• рассчитать аппаратура расширяемости и квалификации концепций;

• гарантировать самостоятельность с определенных стилей программирования;

• гарантировать достоверность и общедоступность данного слога прогнозирования;

• побуждать увеличение рынка объектно-направленных денег;

• объединить наилучший практичный навык.

Язык UML признан в свойстве эталона самостоятельным консорциумом OMG (Object Management Group), занятым типизацией объектных технологий. Его воплотили в собственных провиантах многочисленные компании-изготовители CASE-денег (Rational Rose, Natural Engineering Workbench, ARIS Toolset). Речь UML применяется в процессе исследования проектов различной трудности сотками крупнейших и тыщами посредственных и небольших фирм в абсолютно всем обществе. В основании слога издаются продукты питания, дозволяющие перечислять UML-модификации в макропрограммный шифр (Java, C++, Visual Basic, Ada 95, Object Pascal), в таблицы реляционной основы сведений.

Система UML-модификаций содержит скелетные модификации и модификации действия.

Структурные модификации вводят:

q диаграммы классов (class diagrams) – с целью прогнозирования постоянной текстуры классов концепции взаимосвязей среди ними;

q диаграммы осуществлении (implementation diagrams):

• диаграммы частей (component diagrams) – с целью прогнозирования иерархии частей (подсистем) концепции;

• диаграммы размещения (deployment diagrams) – с целью прогнозирования физиологической зодчества концепции.

Модели действия вводят:

q диаграммы альтернатив применения (use case diagrams) – с целью прогнозирования дело-действий и многофункциональных условий;

q диаграммы взаимодействия (interaction diagrams):

• диаграммы последовательностей (sequence diagrams) – с целью прогнозирования хода размена оповещениями среди предметами;

• кооперативные диаграммы (collaboration diagrams) – с целью той вот ведь миссии;