Yapısal programlama, programlama dilleri kullanılarak yazılan, mantıksal bütünlük gösteren bloklara (bölümlere) bölünebilirler. Bu yolla uzun ve karmaşık programların, bloklara ayırarak daha kolay biçimde yazılabilmesi mümkün olmaktadır.
Yapısal programlama yordamsal programlamanın bir alt/yan dalı olarak görülebilir, temel programlama tekniklerinden birisidir. “goto” terimine karşı bağımlılığı azalttığı ve hatta kaldırdığı için ünlenmiştir.
Tarihsel olarak bakıldığında yapısal programlamadan pek çok alt yöntem türetilmiştir. Bunlardan ikisi Jackson’ın Yapısal Programlaması ve Dijkstra’nın Yapısal Programlamasıdır.
Yapısal programlama, yordamsal programlama dillerinin pek çoğu ile yapılabilmektedir. 1970’lerin başlarında popülerleşmeye başlayan yapısal programlama ile pek çok yeni yordamsal programlama dili yapısal programlamayı destekleyecek özellikleri barındırmaya başladılar. Bu dillere örnek olarak Pascal ve Ada verilebilir.
Küçük kod parçacıkları seviyesinde yapısal programlama hiyerarşik program akışı yapılarını tavsiye eder. Bu yapılar pek çok modern dilde kolayca elde edilebilen, “while”, “repeat”, “for” gibi yapılardır. Yapısal programlama bu yapılar için tek giriş ve tek çıkış noktalarını tavsiye eder. Bu tavsiyeyi zorunlu kılan dillere rastlanmaktadır.
Bu teknik ile programcılar büyük kod parçalarını daha kısa alt yordamlar halinde yazarlar. Bu sayede parçacıklar anlaşılabilecek kadar küçük olurlar. Genel olarak programlarda çok az veya hiç genel (global) değişkenler kullanılmaz, genel değişkenler yerine altyordamlar yerel değişkenler kullanırlar ve değişkenlerini adres ve değer ile gönderir.
Dijkstra’nın yapısal programlaması
Dijkstra’nın yapısal programlaması programın alt bölümlere ayrılması ve programın tek giriş ve çıkış noktası olması mantığına dayanır. Yukarıda anlatılan Yapısal Programlamanın temeli Dijkstra’nın tekniğine dayanır.
Jackson’ın Yapısal Programlaması
Jackson’ın Yapısal Programlaması (JYP) veri akışı yapısı ile program yapısı arasındaki ilişkiye dayanır. JYP ilk olarak 1970’lerde Michael A. Jackson tarafından geliştirilmiş ve “Principles of Program Design” isimli kitabında yayınlanmıştır. Jackson’ın amacı standart COBOL programlamayı iyileştirmek olsa da bu metot modern programlama dilleri (örneğin C ve Perl gibi) ile kodlamada da geçerlidir.
JYP’yi oluşturan temel yapılar…
Metot programın girdilerinin temel yapılar ile ifade edilmesi ile başlar. Daha sonra programın çıktıları aynı şekilde ifade edilirler. Her girdi ve çıktı ayrı bir Veri Yapısı Diyagramı olarak modellenirler.
Girdi ve çıktı yapıları daha sonra Program Yapı Diyagramı (PYD) olarak birleştirilirler. Bazı programlar tüm veriyi almadan çıktı üretmezken bazıları her girdi birimi için çıktı üretir, bu durum PYD’de işlenmiş olur.
Dil bağımlı olmayan PYD daha sonra bir programlama dili vasıtası ile uygulanır. PYD daha çok yordamsal diller için uygun bir yaklaşım olup nesne yönelimli dillerde kullanılmamaktadır.
JSP programın girdi, çıktı ve program yapısını anlatmak için diyagramları kullanır.
Bilgisayar Kavramları: Yapısal Programlama