Metodiky tvorby softvéru
Vráťme sa teraz k jednotlivým metodikám tvorby programových celkov:
Michael A. Jackson popísal svoju metódu tvorby programov v knihe “Principles of Program Design”, vydanej v roku 1975. Metóda je vhodná pre úlohy z oblasti hromadného spracovania dát, poprípade aj na iné úlohy, ak sa dajú chápať ako transformácia vstupného sekvenčného súboru na výstupný sekvenčný súbor. Základnou myšlienkou metódy je odvodenie štruktúry programu zo štruktúry spracovávaných dát. Ako v dátak, tak aj v príkazoch rozlišuje Jackson tri základné štruktúry: sekvenciu, iteráciu (opakovanie) a selekciu (výber jednej z niekoľkých možností). Pomocou týcto štruktúr sa najprv popíšu spracovávané vstupné a výstupné dáta. Zo štruktorovaného popisu dát sa potom už pomerne jednoducho odvodí analogický popis programu a následne aj jeho zápis v programovacom jazyku.
Normované programovanie je historicky staršou technikou ako Jacksonova metóda. Hodí sa pre rovnakú triedu úloh, ale na rozdiel od Jacksonovej metódy, ktorá dekomponuje problém podľa štruktúry dát, uskutočňuje sa pri normovanom programovaní dekompozícia podľa funkcie. Vychádza sa pritom zo skúsenosti, že väčšina programov pre hromadné spracovanie dát má podobnú vnútornú stavbu. Normované programovanie preto zavádza akýsi metaprogram, predoobraz a vzor budúcich programov. Je tvorený blokmi, zostavenými do záväzného poradia a s pevne stanovenou funkciou: úvodný blok, blok vstupov, výber vety na spracovanie, spracovanie vybranej vety a pod. Rozsahy a konkrétnea náplň blokov sú pochopiteľne závislé od riešenej úlohy.
Pomerne najuniverzálnejšou technikou je metóda rozhodovacích tabuliek. Vychádza zo skutočnosti, že niektoré algoritmy sa dajú veľmi preliehavo zapísať pomocou tabuľky.
Z obrázku je zrejmá hlavná výhoda rozhodovacích tabuliek, a síce ich prehľadnosť. Na malej ploche je veľmiúčinne a zreteľne zobrazený algoritmus, ktorý napríklad v Pascale vďaka početným if .. then .. else pôsobil dosť komplikovaným dojmom. Rozhodovacie tabuľky môžu byť takisto veľmi výhodným prostriedkom dokumentácie programov.