logo
Ответы Госы_3

47. Блочно-иерархический подход к созданию сложных систем.

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

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

При создании очень сложных объектов процесс декомпозиции выполняется многократно: каждый блок, в свою очередь, декомпозіруют на части, пока не получают блоки, которые сравнительно легко разработать. Данный метод разработки получил название покрокової детализации.

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

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

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

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

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

Следовательно, в основе блочно-иерархического подхода лежат декомпозиция и иерархическое упорядочивание. Важную роль играют также такие принципы:

несуперечність - контроль согласованности элементов между собой;

полнота - контроль на присутствие лишних элементов;

формализация - строгость методического подхода;

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

локальная оптимизация - оптимизация в пределах уровня иерархии.

Кроме того, что использование блочно-иерархического подхода делает возможным создание сложных систем, он также:

упрощает проверку работоспособности, как системы в целом, так и отдельных блоков;

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

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