Сущность структурного подхода к разработке крупных систем заключается в ее декомпозиции (разбиении) на автоматизируемые функции: система разбивается на функциональные подсистемы, которые, в свою очередь, делятся на задачи и так далее. Процесс разбиения продолжается вплоть до конкретных процедур. При этом автоматизируемая система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. Таким образом строится иерархическое дерево функций способом "сверху вниз".
Все наиболее распространенные методологии структурного подхода базируются на ряде общих принципов /6/. Отметим из них два базовых:
- принцип решения сложных проблем путем их разбиения на множество меньших независимых задач, легких для понимания и решения (принцип декомпозиции);
- принцип иерархического упорядочивания, то есть организации составных частей проблемы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
Выделение этих двух принципов не означает, что другие принципы являются второстепенными, поскольку игнорирование любого из них может привести к непредсказуемым последствиям (в том числе и к провалу всего проекта). К ним относятся:
- принцип абстрагирования – то есть выделение существенных аспектов системы и отвлечение от несущественных;
- принцип непротиворечивости – то есть элементы системы должны быть обоснованы и согласованы;
- принцип структурирования данных – то есть данные должны быть структурированы и иерархически организованы.
В структурном анализе используются в основном две группы средств, иллюстрирующих функции, выполняемые системой, и отношения между данными. Каждой группе средств соответствуют определенные виды моделей (диаграмм), наиболее распространенными среди которых являются следующие:
- SADT (Structured Analysis and Design Technique) модели и соответствующие функциональные диаграммы;
- DFD (Data Flow Diagrams) диаграммы потоков данных;
- ERD (Entity-Relationship Diagrams) диаграммы "сущность-связь".
Конкретный вид перечисленных диаграмм и интерпретация их конструкций зависят от стадии ЖЦ ПО. Эти модели в совокупности дают полное описание систем независимо от того, является ли она существующей или вновь разрабатываемой. Состав диаграмм в каждом конкретном случае зависит от необходимой полноты описания системы.