Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ПА и ПО (с пояснениями).doc
Скачиваний:
10
Добавлен:
23.09.2019
Размер:
851.97 Кб
Скачать

4.4.4 Общие принципы работы оос-м

К ак правило для всех объектов одного типа части запоминаются на уровне класса.

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

Особенности объектно-ориентированных систем

1. Наличие графического интерфейса

2. Наличие инструментов визуализирующих процесс разработки программ (Browser)

3. Наличие большого числа правил и приложений, которые должен соблюдать программист.

Можно назвать следующие главные преимущества ООП:

1) полиморфизм – стандартное согласование вызова для широкого диапазона операций, реализующего различные реализации одного и того же действия.

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

3) настоящее модульное программирование

4) возможность порождать мн-во экземпляров одного класса

5) изоляция объектов (т.е. изоляция его внутренней структуры данных)

4.1 Декомпозиция и абстракция

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

Декомпозиция – реализация метода разделяй и властвуй. Однако главным вопросом в методе разделяя и властвуй остаётся разбиение.

Цель декомпозиции:

1) ускорение разработки

2) облечение модернизации и сопровождения сис-мы, а так же её отладки и тестирования

Различают абстракции:

  • через параметризацию

  • через спецификацию

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

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

Функциональная спецификация программы включает в себя:

1) цель

2) граничные условия (определяют диапазон параметров)

3) описание ф-ций (описывается, что программа должна делать, но не описывается каким образом)

4) спецификация входных и выходных данных

5) веритификационные требования

6) требование к документации

Т.о. описывается эффект работы программы или процедуры. Смысл обращения к процедуре становится понятен не через анализ её тела, а через анализ спецификации

На стадии проектирования архитектуры (2-й этап жизненного цикла) спецификации трансформируются в структуру программной системы. Методы используемые на этой стадии делятся на:

  1. методы ориентированные на разработку

  2. методы ориентированные на данные

Методы ориентированные на обработку придают особенное значение декомпозиции программных структур.

Методы ориентированные на данные делают основной акцент на абстракции данных.

Методы проектирования ориентированные на обработку

В основе всех методов лежит 2 понятия модульное программирование и функциональная декомпозиция.

4.2.1 Модульное программирование

Основные концепции:

1) каждый модуль реализует единственную независимую ф-цию

2) каждый модуль имеет 1 вход и 1 выход, сл-но под модулем подразумевается процедура или подпрограмма

3) размер модуля по возможности минимизируется

4) каждый модуль может быть спроектирован и закодирован независимо

5) вся система строится из модулей

Очевидно преимущество модульного подхода: возможность контроля правильности и уменьшение стоимости сопровождения.