Блочно-иерархический подход к созданию сложных систем (СС)
Практика показывает, что подавляющее большинство СС (в природе и в технике) имеет иерархическую внутреннюю структуру. Это связано с тем что обычно связи элементов СС различны как по типу, так и по силе, что и позволяет рассматривать эти системы как некоторую совокупность взаимозависимых подсистем. Внутренние связи элементов таких подсистем сильнее, чем связи между подсистемами. Примеры с ПК (процессор, память, внешние устройства) и Солнечной системой (солнце и планеты). В свою очередь, аналогично можно каждую подсистему разделить на подсистемы и т.д., до самого нижнего «элементарного» уровня. На элементарном уровне система состоит из немногих типов подсистем, по-разному скомбинированных и организованных. Такие иерархии называются «целое-часть». Поведение системы в целом сложнее поведения ее отдельных частей, причем особенности системы обусловлены отношениями между ее частями, а не собственно частями. Существует еще один вид иерархии – иерархия «простое-сложное» или иерархия развития (усложнения) систем в процессе эволюции. В этой иерархии любая функциональная система является результатом развития более простой системы. Именно такая иерархия реализуется механизмом наследования ООП. Поскольку ПС в значительной степени являются отражением природных и технических систем, они обладают описанными выше свойствами, т.е. являются иерархическими. Блочно-иерархический подход к исследованию или созданию ПС предполагает сначала создавать части (блоки, модули) ПС, а затем собирать из них саму ПС. Процесс разбиения сложного объекта на сравнительно независимые части называется декомпозицией. При декомпозиции учитывают, что связи между частями должны быть слабее, чем связи элементов внутри частей. Кроме того, чтобы из частей можно было собрать разрабатываемый объект, в процессе декомпозиции необходимо определить все виды связей частей между собой.
Пошаговая детализация – метод разработки очень сложных систем, при котором процесс декомпозиции выполняется многократно. Чтобы увеличить степень повторяемости кодов и, соответственно, снизить стоимость разработки, при декомпозиции стараются выделить схожие блоки, которые можно разрабатывать на общей основе. Результат декомпозиции обычно представляют в виде схемы иерархии, на нижнем уровне которой располагают сравнительно простые блоки, а на верхнем – объект, подлежащий разработке. На каждом иерархическом уровне описание блоков выполняют с определенной степенью детализации, абстрагируясь от несущественных деталей. Следовательно, для каждого уровня используют свои формы документации и свои модели, отражающие сущность процессов, выполняемых каждым блоком. Блоки нижнего уровня должны быть специфицированы детально. Для объекта же в целом удается сформулировать лишь самые общие требования. Т.е. чем больше блок, тем абстрактнее должно быть его описание. При соблюдении таких принципов разработчик может принимать оптимальные решения на каждом этапе, что называют локальной оптимизацией разработки. Итак, в основе блочно-иерархического подхода лежат декомпозиция и иерархическое упорядочение. Важную роль играют также следующие принципы: · непротиворечивость (контроль согласованности элементов между собой): · полнота (контроль присутствия лишних элементов); · формализация (строгость методического подхода); · повторяемость (необходимость выделения одинаковых блоков для удешевления и ускорения разработки); · локальная оптимизация (оптимизация в пределах уровня иерархии).
Совокупность языков моделей, постановок задач, методов описаний некоторого иерархического уровня принято называть уровнем проектирования. Каждый объект в процессе проектирования приходится рассматривать с нескольких сторон. Различные взгляды на объект проектирования называют аспектами проектирования. Блочно-иерархический подход не только делает возможным создание СС, но и упрощает проверку работоспособности как системы в целом, так и ее отдельных блоков, а также обеспечивает возможность модернизации систем, например, замены устаревших блоков с сохранением их интерфейсов. Заметим, что структурный подход учитывает только свойства иерархии «целое-часть», а объектный – использует еще и свойства иерархии «простое-сложное».
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|