Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИП.doc
Скачиваний:
17
Добавлен:
11.07.2019
Размер:
359.94 Кб
Скачать

Объектно-ориентированное программирование

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

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

Моделирование при разработке программного обеспечения. Case-системы

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

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

Моделирование позволяет решить четыре различных задачи:

  • визуализировать систему в ее текущем или желательном для нас состоянии;

  • определить структуру или поведение системы;

  • получить шаблон, позволяющий затем сконструировать систему;

  • документировать принимаемые решения, используя полученные модели.

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

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

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

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

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

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

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

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

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

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

Технология объектно-ориентированного моделирования в наиболее полной мере нашла свое воплощение в так называемых CASE-системах. Хотя обычно представление о CASE-системах в нашем сознании никак не связано с обычным программированием.

В настоящее время CASE-средства используются подавляющим большинством фирм-разработчиков программного обеспечения (ПО). Мощный толчок к развитию CASE-средства получили в пору внедрения объектно-ориентированной технологии разработки ПО, когда старого, проверенного временем, метода проектирования «сверху вниз» стало явно недостаточно [1]. К тому же появились технологии объектного моделирования (Booch, OOSE, ОМТ), которые сами по себе были весьма сложными для привязки к языкам программирования, чтобы оперировать ими вручную.

Сегодня лидирующей в мире CASE-системой считается Rational Rose корпорации Rational Software, в которой работают основоположники этой технологии Г.Буч, Д.Рамбо и А.Джекобсон. Используя передовые средства визуального моделирования системы Rational Rose можно интерактивно разрабатывать архитектуру создаваемого приложения, генерировать его исходные тексты и параллельно работать над документированием разрабатываемой системы.

Система Rational Rose нацелена на создание модулей с использованием унифицированного языка моделирования UML (Unified Modeling Language), который был разработан в компании Rational Software в 1995 году, а уже в 1997 году стал стандартным языком объектно-ориентированного моделирования.

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