Ciclul de viață al software-ului
Unul dintre conceptele de bază ale metodologiei de proiectare a software-ului este conceptul ciclului de viață al software-ului său (software LC). Centrul de software este un proces continuu care începe de la momentul luării unei decizii cu privire la necesitatea creării sale și se termină în momentul în care se elimină complet serviciul.
Principalul document normativ care reglementează software-ul LC este standardul internațional ISO / IEC 12207 (ISO - Organizația Internațională de Standardizare, IEC - Comisia Electrotehnică Internațională). Acesta definește structura LC, care conține procesele, acțiunile și sarcinile care trebuie efectuate în momentul creării software-ului. În acest standard, software-ul (produsul software) este definit ca un set de programe, proceduri și eventual documente și date legate de acestea. Procesul este definit ca un set de acțiuni interrelaționate care convertesc unele date de intrare la ieșire. Fiecare proces se caracterizează prin anumite sarcini și metode de rezolvare a acestora, datele inițiale obținute prin alte procese și rezultatele.
Structura centrului software conform ISO / IEC 12207 se bazează pe trei grupe de procese:
· Procesele principale ale centrului software (achiziție, furnizare, dezvoltare, exploatare, întreținere);
· Procese auxiliare care sprijină executarea proceselor principale (documentație, managementul configurației, asigurarea calității, verificare, certificare, evaluare, audit, rezolvarea problemelor);
· Procese organizaționale (managementul proiectului, crearea infrastructurii de proiect, definirea, evaluarea și îmbunătățirea LC, instruirea).
Modele ciclu de viață software
Modelul ciclului de viață este o structură care determină secvența de implementare și interrelaționările etapelor și etapelor realizate în timpul LC. Modelul LC depinde de specificul software-ului și de specificul condițiilor în care acesta este creat și funcționează. Principalele modele sunt următoarele.
1. Modelul în cascadă (înainte de anii 70 ai secolului XX) determină o tranziție secvențială la următoarea etapă după terminarea celei anterioare.
Acest model se caracterizează prin automatizarea anumitor sarcini independente, care nu necesită integrare a informației și compatibilitate, software, interfață tehnică și organizațională.
Demnitate. performanță bună în ceea ce privește dezvoltarea și fiabilitatea în rezolvarea problemelor specifice.
Dezavantajul. Inaplicabilitate la proiecte mari și complexe datorită variabilității cerințelor sistemului în timpul designului pe termen lung.
2. Modelul iterativ (anii 70-80 ai secolului XX) corespunde tehnologiei de proiectare "de jos în sus". Permite returnări iterative la etapele anterioare după etapa următoare;
Modelul oferă generalizarea soluțiilor de proiectare rezultate din sarcinile individuale în soluții la nivel de sistem. În același timp, este necesară revizuirea cerințelor formulate anterior.
Demnitate: capacitatea de a face rapid ajustări ale proiectului.
Dezavantaj: cu un număr mare de iterații, timpul de proiectare crește, există diferențe în deciziile și documentația de proiectare, arhitectura funcțională și a sistemului software-ului creat se încurcă. Necesitatea de a reprograma vechiul sistem sau de a crea un nou sistem poate apărea imediat după faza de implementare sau de operare.
3. Modelul elicoidal (anii 80-90 ai secolului XX) corespunde tehnologiei de proiectare "de sus în jos". Presupune utilizarea unui prototip de software care permite un plug-in. Proiectul sistemului repetă ciclic calea de la specificarea detaliată a cerințelor pentru detalierea codului programului.
La proiectarea arhitecturii sistemului, compoziția subsistemelor funcționale este determinată mai întâi și se rezolvă problemele la nivel de sistem (organizarea unei baze de date integrate, a tehnologiei de colectare, transmitere și acumulare de informații). Se formulează sarcini separate și se dezvoltă tehnologia pentru rezolvarea acestora.
Când programați, dezvoltați mai întâi principalele module de program și apoi - modulele care execută funcții individuale. În primul rând, modulele interacționează între ele și cu baza de date, iar apoi - implementarea algoritmilor.
1. reducerea numărului de iterații și, în consecință, a numărului de erori și a neconcordanțelor care trebuie corectate;
2. Reducerea timpului de proiectare;
3. Simplificați crearea documentației de proiect.
Dezavantaj: cerințe înalte față de calitatea depozitului la nivel de sistem (baza de date generală a datelor de proiectare).
Modelul spiral stă la baza tehnologiei de dezvoltare rapidă a aplicațiilor sau a tehnologiei RAD (dezvoltarea rapidă a aplicațiilor), care implică participarea activă a utilizatorilor finali ai viitorului sistem în procesul de creare a acestuia. Principalele etape ale ingineriei informației sunt următoarele:
· Analiza și planificarea strategiei de informare. Utilizatorii împreună cu specialiștii-dezvoltatori participă la identificarea zonei problematice.
· Proiectare. Utilizatorii aflați sub îndrumarea dezvoltatorilor participă la proiectarea tehnică.
· Proiectare. Dezvoltatorii proiectează o versiune de lucru a software-ului folosind limbile celei de-a patra generații;
· Implementarea. Dezvoltatorii predau utilizatorilor să lucreze în mediul de software nou.