А.Н. Павлов. Высокоуровневые методы информатики и программирования

 

1.1.         Нисходящее проектирование

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

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

 

Рис. 6. Пример нисходящей структуры проекта программного комплекса

 

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

 

Hosted by uCoz