Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ООАП.doc
Скачиваний:
2
Добавлен:
27.01.2020
Размер:
1.01 Mб
Скачать

Экзаменационный вопрос №2. Объектно-ориентированная методология

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

Инкапсуляция означает сочетание структур данных с методами их обра­ботки в абстрактных типах данных - классах объектов.

Класс может иметь об­разованные от него подклассы.

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

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

Для различных методик объектно-ориентированного проектирования ха­рактерны следующие черты:

- объект описывается как модель некоторой сущности реального мира;

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

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

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

Экзаменационный вопрос №3. Основные понятия объектно-ориентированного анализа

Объектно-ориентированный анализ (ООА) направлен на создание мо­делей, более близких к реальности, с использованием объектно­-ориентированного подхода. Такая методология позволяет формировать требования на основе понятий классов и объектов, составляющих словарь предмет­ной области.

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

Главными достоинствами ООА по сравнению со структурными методами являются:

-возможность преодолеть ограничения, связанные со сложностью разра­батываемых систем;

-использование на стадии анализа моделей близких к реальности;

- применение как при анализе и проектировании информационных сис­тем, так и систем реального времени и аппаратно-программных комплексов;

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

- поддержка итеративного, а не лавинообразного, как в структурном под­ходе, процесса проектирования;естественная работа с разнородной информацией, используемой в муль­тимедиа системах;

-создание более открытых систем;

- полное использование описательных возможностей объектно-ориентированных языков программирования.