Объекты учета (ч.3) - декомпозиция   ...статья редактируется

 

Автор:  Александр Поляков

 

назад ...

 

Декомпозиция сложной системы

 

Можно вывести пять общих признаков любой сложной системы [1], в т.ч. и системы бухгалтерского учета.

 

Признак №1

  • сложные системы часто являются иерархическими и состоят из взаимозависимых подсистем, которые в свою очередь также могут быть разделены на подсистемы – вплоть до самого низкого уровня. Считается, что наличие иерархической структуры является главным фактором, позволяющим увидеть, понять и описать сложные системы и их части. Важно также осознать, что архитектура сложных систем складывается как из компонентов, так и из иерархических отношений этих компонентов, более того, особенности сложной системы обусловлены отношениями между ее частями, а не частями как таковыми

 

Признак №2

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

 

Признак №3

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

 

Признак №4

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

 

Признак №5

  • любая работающая сложная система является результатом развития работавшей более простой системы. Как следствие, спроектированная «с нуля» сложная система почти со 100%-ной вероятностью сразу не будет работать так, как было задумано. Всегда следует начинать с работающей более простой системы

 

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

 

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

 

Способ управления сложными системами был известен еще в древности – разделяй и властвуй (лат. divide et impera). Авторство этого изречения приписывают многим – римскому сенату, Людовику XI, Екатерине Медичи и даже Макиавелли. По примеру политики и социологии, при проектировании сложной программной системы необходимо разделять ее на все меньшие и меньшие подсистемы, каждую из которых можно совершенствовать независимо. В этом случае велика вероятность того, что не будет превышена пропускная способность человеческого мозга, т.к. для понимания любого уровня системы необходимо будет одновременно держать в уме информацию лишь о немногих ее частях.

 

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

 


1. Гради Буч «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» М.: Бином, 1998 (или другие издания этой книги)

 

назад ... читаль дальше