Structurabilitatea software

Un program se construieşte ca un tot unitar, de la A la Z, fără a se vedea clar care sunt secvenţele care fac prelucrări distincte sau se construieşte din proceduri care se apelează. Fiecare procedură execută o anumită funcţionalitate. Programul are o structură linară dacă procedurile se apelează una din alta sau o structură arborescentă dacă apelarea se realizează în funcţie de rezultatul evaluării unor expresii, folosind instrucţiuni if().
Cu cât componentele omogene în raport cu funcţionalităţile de prelucrare sunt concentrate în proceduri bine definite, cu atât se va spune că programul are un grad de structurabilitate mai ridicat. Dacă programul este otova, fără să se identifice secvenţele cu funcţionalităţi ca fiind grupate cumva, se va spune că gradul de structurabilitate este zero.
Dacă dorim să scriem un program pentru calculul mediilor aritmetică, geometrică şi armonică şi dacă scriem proceduri pentru:
- introducerea datelor,
- calculul mediei aritmetice,
- calculul mediei geometrice,
- calculul mediei armonice,
- afişarea rezultatelor,
nivelul structurabilităţii NS va fi dat de formula:
NS = 1 - 1/NP
unde NP este numărul procedurilor.
Pentru exemplul dat, NP = 5 deci gradul de structurabilitate este NS = 0,8.
Dacă mai introducem o procedură de analiză a calităţii datelor şi o procedură de afişare a mesajelor de eroare în date, NP = 7, deci NS = 0,86.
Programatorii trebuie să se gândească la realizarea de programe structurabile, pentru că pe un program structurabil procesul de mentenanţă este mai lejer, iar atunci când clientul doreşte adăugarea de funcţiuni noi, dacă programul a fost gândit să le accepte încă de la proiectare, adăugarea nu va fi o problemă, instrucţiunea SWITCH() e o soluţie.

revenire