Особенности объектного подхода на этапе кодирования программного средства.

На этапе кодирования при объектном подходе используются языки программирования уже другого типа – объектно-ориентированные [15.7, 15.8]. Считается, что язык программирования поддерживает объектно-ориентированное программирование, если он включает конструкции для [15.8]

· инкапсуляции и абстракции данных,

· наследования,

· динамического полиморфизма.

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

Изменяется и технология разработки программного модуля. При реляционном подходе для разработки модуля (в основном, реализующих функцию или процедуру) рекомендовались структурное программирование и пошаговая детализация (см. лекцию 8). При объектно-ориентированном подходе для разработки компонента (информационно прочного модуля) более подходит предложенная Дейкстрой [15.9] нисходящая технологию разработки слоистой структуры модуля. В этой технологии каждый модуль рассматривается состоящим из некоторой упорядоченной совокупности программных слоев (ср. со слоистой программной системой в лекции 6), причем каждый слой является реализацией некоторой абстрактной машины (в нашем случае это можно рассматривать как реализацию класса или логически связанной совокупности классов). Таким образом, модуль образует определенная цепочка иерархически связанных абстрактных машин (так называемые «бусы» [15.9]) Реализация каждой абстрактной машины выражается в терминах ниже стоящей абстрактной машины (ниже стоящего программного слоя) или в терминах выбранного языка программирования (при реализации абстрактной машины самого нижнего уровня). Разработка модуля начинается с разработки абстрактной машины самого верхнего уровня.

 

Упражнения к лекции 15.

15.1. В чем заключается сущность объектного подхода к разработке программных средств (ПС)?

15.2. Какие категории объектов можно выделить с точки зрения разработчиков ПС?

15.3. Что такое объектная модель ПС?

15.4. Что такое динамическая модель ПС?

15.5. Что такое диаграмма состояний класса?

15.6. Что такое функциональная модель ПС?

15.7. Что такое компонент ПС?