Software Flexibilitate - Stadopedia

Complexitatea gestionării procesului de dezvoltare

Un număr mare de cerințe de sistem conduc în mod inevitabil fie la crearea unui nou produs software de dimensiuni considerabile, fie la o modificare a acestuia, care, de asemenea, nu simplifică acest lucru. Astăzi, sistemele cu mărime de zeci de mii și chiar milioane de linii în limbi de nivel înalt au devenit comune. Nici o persoană nu este capabilă să înțeleagă și să dezvolte complet un astfel de sistem. Prin urmare, este necesar să se descompună sistemul în subsisteme și module și să se dezvolte colectiv sistemele.

În mod ideal, pentru succesul de dezvoltare, echipa de dezvoltare ar trebui să fie cât mai mică posibil. Dar oricare ar fi, vor exista întotdeauna dificultăți asociate cu coordonarea lucrărilor asupra proiectului și problema înțelegerii cerințelor și specificațiilor sistemului.

Programarea are o flexibilitate maximă în rândul științelor tehnice. Un programator, ca un scriitor, lucrează cu cuvântul și cu toate elementele de bază necesare pentru crearea programelor, el se poate asigura singur, adesea neglijând evoluțiile deja existente. O astfel de flexibilitate este extrem de atractivă, dar de calitate periculoasă: utilizatorul, realizând această posibilitate, își schimbă constant cerințele; dezvoltatorul este îndrăgit de decorarea sistemului său în detrimentul scopului său principal. Prin urmare, dezvoltarea de software rămâne o afacere foarte obositoare și "fără sfârșit", iar sistemele software sunt potențial incomplete.

Complexitatea descrierii comportamentului sistemului

Sistemele software complexe conțin sute și mii de variabile, ale căror valori curente descriu în orice moment starea programului. În plus, ele au un număr mare de puncte de ramură, care determină o mulțime de situații în funcție de situația soluționării problemei. Toate acestea, dezvoltatorul ar trebui să gândească prin, să stabilească în programe, de testare și depanare.

Orice sistem complex, inclusiv un sistem software complex, are următoarele caracteristici comune:

1. Sistemele complexe sunt adesea ierarhice și constau din subsisteme interdependente, care, la rândul lor, pot fi împărțite în subsisteme și așa mai departe.

Sistemul complex constă nu numai în componente separate, există anumite relații ierarhice între ele.

De exemplu, majoritatea computerelor personale constau în aceleași elemente de bază: o unitate de sistem, un monitor, o tastatură și un mouse. Putem lua oricare dintre aceste părți și o descompunem, în schimb, în ​​componente. Unitatea de sistem, de exemplu, conține o placă de bază, o memorie principală, un procesor, un hard disk etc.

Continuând, ne putem descompune într-o CPU componentă. Se compune din registre și circuite de comandă, care constau ele înșiși din detalii mai simple: diode, tranzistoare etc. Se pune întrebarea, care este cel mai simplu element al sistemului? Răspunsul dă cel de-al doilea semn.

2. Alegerea componentelor din acest sistem este considerată elementară, relativ arbitrară și în mare măsură la discreția cercetătorului.

Nivelul cel mai scăzut pentru un observator poate fi suficient de ridicat pentru altul. Dacă utilizatorul selectează doar unitatea de sistem, monitorul și tastatura, atunci pentru dezvoltatorul de computer acest lucru nu este suficient.

3. Comunicarea în interiorul componentelor este de obicei mai puternică decât conexiunea dintre componente.

Această circumstanță permite separarea interacțiune intensă (ridicat), în componentele de la mai puțin (de joasă frecvență) interacțiuni intensive între componente și permite studiul relativ izolarea fiecărei componente.

4. Sistemele ierarhice constau de obicei din câteva tipuri de subsisteme, diferite combinate și organizate.

Cu alte cuvinte, diferitele sisteme complexe conțin aceleași părți structurale. Aceste părți, la rândul lor, pot utiliza componente comune mai mici. De exemplu, ambele plante și animale au subsisteme mari, cum ar fi sistemele vasculare, și celulele ca componente mai mici.

5. Orice sistem complex care funcționează este rezultatul dezvoltării unui sistem mai simplu.

De exemplu, să numim teoria evoluției naturii vii.

Un sistem complex, conceput de la zero, este puțin probabil să funcționeze. Ar trebui să începeți cu un sistem simplu de funcționare.

În procesul de dezvoltare a sistemului, obiectele considerate inițial ca fiind complexe devin elementare, iar din ele (ca forme intermediare stabile) se construiesc sisteme mai complexe.

Articole similare