Что такое схема деления продукта, ориентированного на конечную продукцию?
Такая схема представляет собой иерархическую структуру,
упорядочивающую конечную продукцию, создаваемую в проекте,
от самого верхнего до самого верхнего уровня компонентов
и реализует метод логической декомпозиции больших и сложных систем.
На этом очень простом рисунке, имея целое изделие — автомобиль,
мы можем разложить его на все составные части,
включая кузов, трансмиссию,
рулевое управление, оснащение салона.
И изделие должно успешно декомпозироваться на всё меньшие составные части до тех пор,
пока каждая из этих составных частей имеет разумно управляемый размер.
В этом смысле графическое представление схемы деления работ,
ориентированных на готовую продукцию и
относящихся к схеме деления продукта 1 типа,
представлено здесь на рисунке.
И мы видим, как каждый из составных элементов
декомпозируется до самого
нижнего элемента работ
системы.
Раньше в каждом продовольственном магазине
висела схема разделки коровьей туши,
и вот выражаясь фигурально,
это и есть, с моей точки зрения, один из самых ярких примеров
схемы деления изделия, показывающего, что, с одной стороны,
все составные элементы схемы являются составными частями,
но изделие в целом без любого из этих элементов не является целостным.
Зачем делить продукт?
Процесс деления продукта называется редукционизмом,
и именно этот процесс представляет собой разбиение большой
комплексной проблемы на малые составные части.
Это позволяет, во-первых, находить более простые решения
для менее сложных составных частей, соответственно,
сами проблемы для составных частей становятся проще,
и узкие специалисты, занимающиеся поиском решения таких проблем,
могут сконцентрироваться на своих функциональных областях.
Вместе с тем процесс редукционизма создает дополнительные новые проблемы.
В первую очередь эти проблемы, безусловно, связаны с тем,
что возникновение независимых составных частей
требуют стыка их между собой, а это означает,
что возникают новые интерфейсы между составными частями и они
должны быть четко определены и описаны в документации.
Системные ресурсы также должны быть
сопоставлены подсистемам и правильно учтены.
Имеется в виду, что если мы распределили большую систему на ряд
более малых подсистем, то распределение общей
массы должно быть выполнено адекватно и корректно.
Системные характеристики также соотносятся к возникающим подсистемам,
и разработчик должен быть уверен в том,
что если все подсистемы функционируют,
как задумано, то и вся система будет работать правильно.
И из этого в связи с предыдущей лекцией мы понимаем,
что создание архитектуры системы, описание и управление интерфейсами,
назначение ресурсов и характеристик системы,
обеспечение уверенности, что эти назначения выполнены правильно,
и выражают существо системного инжиниринга.