|
Ortogonalitatea unui program se măsoară în comparaţie cu un alt program sau cu alte programe şi stabileşte cât de diferite sunt programele între ele.
Două programe sunt neortogonale dacă unul este copia celuilalt.
Două programe sunt ortogonale dacă nu au nimic comun între ele.
Ortogonalitatea să măsoară folosind un indicator definit pe intervalul închis [0; 1].
Orice program este privit ca un text. Dacă un text T este format din cuvintele C1, C2, C3, …, Cn şi un alt text S este format din cuvintele D1, D2, D3, …, Dm se vor construi:
A - mulţimea cuvintelor care rezultă din intersecţia mulţimii cuvintelor textului T cu cele ale textului S,
B - mulţimea cuvintelor care rezultă din reuniunea mulţimii cuvintelor textului T cu cele ale textului S,
Card(A) - cardinalul mulţimii A,
Card(B) - cardinalul mulţimii B.
Se construieşte indicatorul de ortogonalitate H(T, S) definit de relaţia:
H(T, S) = 1 - Card(A)/Card(B)
Dacă T este identic cu S, a este identică cu A şi Card(A)=Card(B), deci H(T,S) = 0 ceea ce înseamnă că programele nu sunt ortogonale.
dacă programele sunt total diferite Card(A) = 0, deci H(T, S)=1, adică se înregistrează un maximum de ortogonalitate. Am coordonat o teză de doctorat desore ortogonalitate, teză care se referă prin:
Daniel MILODIN - Ortogonalitatea entitatilor structurate, Teză de doctorat,ASE, Bucureşti, 2009, 262 pag.
Cu atât mai mult se pune problema studierii ortogonalităţii programelor, căci acum există foarte multe componente open source pe Internet şi mulţi pseudo-programatori, în lkoc să contribuie la perfecţionarea lor, le preiau prin copy-paste, eventual mai fac 5% modificări şi le revendică drept produse proprii, pentru care emit pretenţii financiare.
|