Метод нисходящей декомпозиции.

Begin

:

Востоновить контекс, повторить чтение записи

:

End;

 

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

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

Действия или примитивы, позволяющие оперировать объектом. И правила композиции таких действий . Т.о. каждый язык определяет некую абстрактную машину способную его интерпретировать.

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

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

При этом возникает проблема реализации определенной нами машиной на реально имеющихся в нашем распоряжении машине М.

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

Структура системы может быть описан в виде графа вершины которого представляют машины, определенные данной декомпозицией, а ребра – отношения зависимости, например:

Иерархическая структура слоев в виде нисходящей декомпозицией обладающие следующими преимуществами.

1) Независимость концепции, т.е. состояние машины для пользователя полностью описывается спецификация ее интерфейса.

2) Независимость модификации, т.е. изменение в реализации одной из машины не влекут за собой изменений в машинах, которые используют данную машину если спецификация интерфейса остается неизменными.

3) Независимость отладки после того как интерфейс некой машины М специфицирован, ее отладка может производится независимо от машин, которые ее использует и наоборот, которые использует она.

Наряду с методом нисходящей декомпозиции вводится понятие объекта, который определяется совокупностью своих свойств(атрибутов) и механизмов взаимодействия .

Объект определяется с помощью следующих атрибутов:

1) имени, которое позволит обозначить объект и отличить его от других объектов.

2) Состояние, которое определяется в каждый момент времени и может меняться с течением времени.

3) множество операций или функций доступа которые в частности позволяют создавать и уничтожать объекты, проверять и применять состояние объекта , а также комбинировать объекты между собой.

Вводится понятие канал объектов, позволяющие группировать объекты, обладающие общими свойствами. Каждому классу соответствует множество функции , применяемых ко всем объектам данного класса. Примеры:

1) Файлы, физическая реализация их осуществляется во внешней памяти

2) Процессы, физическая реализация осуществляемая процессором.

Виртуальная память и т.д.