Criteriile de optim sunt importante căci de la ele pornește totul. Astfel de criterii sunt:
- maximizrea dimensiunii problemei de rezolvat;
- maximizarea nivelului calitatii agregate a produsului software;
- maximizrea fiabilității produsului software;
- maximizrea preciziei rezultatelor;
- maximizarea flexibilitățiiin structurii cheilor în procesul de regăsire;
- maximizrea gradului de satisfacție al utilizatorului;
- maximizrea nivelului de secutitate al produsului software;
- maximizrea productivității echipei de dezvoltare;
- maximizrea gradului de acoperire prin testare a ramurilor produsului software;
- maximizarea gradului de generalitate a probelelor de rezolvat;
- maximizrea duratei etapei de utilizare;
- maximizarea gradului de ocupare a masivelor definite static;
- maximizarea elementelor care asigură continuitatea în interfețe;
- minimizarea costului de construire a unui produs software;
- minimizarea costului calității produsului software;
- minimizarea duratei tranzacției;
- minimizarea duratei procesului de mentenanță;
- minimizarea lungimii efectului de ondulană;
- minimizarea necesarului de memorie;
- minimizarea lungimii produsului software;
- minimizarea ciclurilor mașină;
- minimizarea duratei de realizare a produsului;
- minimizarea complexității programului;
- minimizarea volumului de date necesar pentru regăsire;
- minimizarea numărului de fișiere utilizate în program;
- minimizarea numărului de încărcări/descărcări de pe server;
- minimizarea expresiilor logice din selectarea articolelor;
- minimizarea volumului de variabile de tip static;
- minimizarea numărului de apeluri de proceduri;
- minimizarea numărului de instrucțiun return executate;
- minimizarea numărului de instrucțiuni de salt necondiționat;
- minimizarea volumului de instrucțiuni prin duplicare de cod;
- minimizarea volumului de conversii de tip;
- minimizarea listelor de parametrii.
Procesul de optimizare este în cazul produselor software de o mare complexitate și tot timpul trebuie găsit un echilibru, căci se urmărește de regulă satisfacerea mai multor criterii de optim simultan, ceea ce este deosebit de dificil de obținut. Este rezonabil să se extragă o submulțime de criterii și acestora să li se dea note, iar după aceea să li se calculeze coeficienții de importanță și criteriile să fie agregate folosind acele ponderi, care din timp în timp trebuie recalculate.
Criteriile de optim sunt dorințe intime ale oricărui programator, dar punerea în operă este anevoioasă că programatorul nu face ce vrea el și are nenumărate constrângeri de care trebuie să țină seama. Uneori deși îmi propusesem să scriu cel mai fain program din câte existau pe planetă, beneficiarul, dar și șefii veneau cu biciușca și mă mânau de la spate și nu numai că uitam de visul meu frumos, dar o mai și zbârceam. Lucrul cel mai urât este să știi unde ai greșit și să nu ai cum să-ți îndrepți greșeala dintr-o mie de motive, care mai de care mai obiective, indispensabile, presante și imposibil de controlat.
- maximizrea dimensiunii problemei de rezolvat;
- maximizarea nivelului calitatii agregate a produsului software;
- maximizrea fiabilității produsului software;
- maximizrea preciziei rezultatelor;
- maximizarea flexibilitățiiin structurii cheilor în procesul de regăsire;
- maximizrea gradului de satisfacție al utilizatorului;
- maximizrea nivelului de secutitate al produsului software;
- maximizrea productivității echipei de dezvoltare;
- maximizrea gradului de acoperire prin testare a ramurilor produsului software;
- maximizarea gradului de generalitate a probelelor de rezolvat;
- maximizrea duratei etapei de utilizare;
- maximizarea gradului de ocupare a masivelor definite static;
- maximizarea elementelor care asigură continuitatea în interfețe;
- minimizarea costului de construire a unui produs software;
- minimizarea costului calității produsului software;
- minimizarea duratei tranzacției;
- minimizarea duratei procesului de mentenanță;
- minimizarea lungimii efectului de ondulană;
- minimizarea necesarului de memorie;
- minimizarea lungimii produsului software;
- minimizarea ciclurilor mașină;
- minimizarea duratei de realizare a produsului;
- minimizarea complexității programului;
- minimizarea volumului de date necesar pentru regăsire;
- minimizarea numărului de fișiere utilizate în program;
- minimizarea numărului de încărcări/descărcări de pe server;
- minimizarea expresiilor logice din selectarea articolelor;
- minimizarea volumului de variabile de tip static;
- minimizarea numărului de apeluri de proceduri;
- minimizarea numărului de instrucțiun return executate;
- minimizarea numărului de instrucțiuni de salt necondiționat;
- minimizarea volumului de instrucțiuni prin duplicare de cod;
- minimizarea volumului de conversii de tip;
- minimizarea listelor de parametrii.
Procesul de optimizare este în cazul produselor software de o mare complexitate și tot timpul trebuie găsit un echilibru, căci se urmărește de regulă satisfacerea mai multor criterii de optim simultan, ceea ce este deosebit de dificil de obținut. Este rezonabil să se extragă o submulțime de criterii și acestora să li se dea note, iar după aceea să li se calculeze coeficienții de importanță și criteriile să fie agregate folosind acele ponderi, care din timp în timp trebuie recalculate.
Criteriile de optim sunt dorințe intime ale oricărui programator, dar punerea în operă este anevoioasă că programatorul nu face ce vrea el și are nenumărate constrângeri de care trebuie să țină seama. Uneori deși îmi propusesem să scriu cel mai fain program din câte existau pe planetă, beneficiarul, dar și șefii veneau cu biciușca și mă mânau de la spate și nu numai că uitam de visul meu frumos, dar o mai și zbârceam. Lucrul cel mai urât este să știi unde ai greșit și să nu ai cum să-ți îndrepți greșeala dintr-o mie de motive, care mai de care mai obiective, indispensabile, presante și imposibil de controlat.
(023 decembrie 2017)
No comments:
Post a Comment