Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Методология объектно-ориентированного программирования (ООП). Понятие класса и объекта. Общие принципы



До начала 90-х годов основной методологией разработки программного обеспечения являлось процедурно-ориентированное программирование. Фундаментальным понятием этой методологии является понятие алгоритмов.

Алгоритм – это точная предписанная последовательность действий по решению задач.

Процедура – запись алгоритма в целом или части алгоритма на формальном языке.

Проблема reuse – проблема накопления кучи программ. Повторное использование программных компонентов.

К концу 80-х годов начался складываться объектно-ориентированный подход.

Декомпозиция привела к понятию модуля

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

Структурное программирование (без GO TO)

Модульность хорошо сочетается со структурностью.

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

Класс – это некоторая абстракция совокупности объектов, имеющая общие свойства и обладающая одинаковым поведением.

Фундаментальными понятиями ООП являются понятия класса и объекта.

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

Объект – частный пример (экземпляр/instance), который обладает таким же поведением, как и класс, но частными значениями свойств.

Основные принципы ООП:

1. Наследование – передача данных от класса к объекту. Это облегчает решение проблемы повторного использования

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

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

Методы ООП начали применятся в конце 80-ых и в процессе проектирования АС.

Введение классов и объектов облегчает проблему reuse: если программа поддерживает класс, то поддержит и объект.

Иерархическое построение классов. Классификация приводит к четкой поддержке классов между собой.

Было введено понятие бизнес процесса – некий процесс целенаправленного типа, в котором участвует 1 или множество объектов. Начало объектно-ориентированного (ОО) подхода в проектировании положил. Бадд, который ввел CRC-карточки (component responsibility collabоrator). Предметная область подвергалась анализу и для нее составлялись CRC-библиотеки.

Классификатор (dassifier) -любое обобщение объектов, приводящих к определенному понятию. Самый общий классификатор – класс.

Классы делятся на: пользователей, отношений, компонентов и т.д.

Выделение компонентов является искусством системного аналитика. Развитие ООПроектирования привело к появлению понятий архитектура и платформа.

Архитектура системы -состав и способы организации составных частей между собой (программных и аппаратных)

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

Международная группа PMG (Project Management Group) публикует стандарты в области ООП. В 2001 г. PMG сформулировала концепцию MDA (Model Driven Architecture) – “архитектура, управляемая моделью”. Согласно этой концепции проектируемая система может быть описана с точки зрения функциональных требований моделью общего вида, которая называется metamodel.

PIM-модель (Platform Independent Model) – модель, независимая от платформы.





Дата публикования: 2015-02-18; Прочитано: 592 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...