Введение

Структурированное программирование Джексона (JSP) — это метод структурированного программирования, разработанный британским консультантом по программному обеспечению Майклом А. Джексоном и описанный в его книге 1975 года «Принципы проектирования программ». Суть метода JSP заключается в анализе структур данных файлов, которые программа должна считывать на входе и создавать на выходе, а затем в разработке дизайна программы на основе этих структур данных, чтобы структура управления программой обрабатывала их естественным и интуитивно понятным образом. JSP описывает структуры (как данных, так и программ) с использованием трех базовых структур — последовательности, повторения и выбора (или альтернатив). Эти структуры схематически представляются как (по сути) визуальное представление регулярного выражения.

Введение

Майкл А. Джексон первоначально разработал JSP в 1970-х годах. Он описал эту систему в своей книге 1975 года «Принципы проектирования программ». Он представил ретроспективный анализ первоначальных движущих сил метода и связал его с последующими разработками в области инженерии программного обеспечения. Целью Джексона было упростить модификацию и поддержку программ пакетной обработки COBOL, но метод может быть использован для разработки программ на любом языке программирования, имеющем структурированные конструкции управления — последовательность, повторение и выбор («if/then/else»). Структурированное программирование Джексона было похоже на структурированное программирование Warnier/Orr, хотя JSP учитывал структуры как входных, так и выходных данных, в то время как метод Warnier/Orr был сосредоточен почти исключительно на структуре выходного потока.

Мотивация для метода

В то время, когда JSP разрабатывался, большинство программ представляли собой пакетные программы на COBOL, обрабатывающие последовательные файлы, хранящиеся на магнитной ленте. Типичная программа читала входной файл как последовательность записей, поэтому все программы имели одинаковую структуру — единственный главный цикл, который последовательно обрабатывал все записи в файле. Джексон утверждал, что такая структура программы почти всегда была ошибочной, и призывал программистов искать более сложные структуры данных. В главе 3 книги «Принципы разработки программ»