The Challenge of the Systems Engineering V

Don Barrett, PMP, CSEP

Follow

Oct 9, 2019 – 4 min citește

Inginerii de sisteme au privit mult timp V-ul ca pe o parte fundamentală a unei bune inginerii. Totuși, în ultima vreme, V-ul ingineriei sistemelor a primit o reputație proastă. Noua generație de ingineri îl vede ca pe un simbol al practicilor de inginerie lente, în cascadă. Ei consideră că aceste practici sunt irelevante pentru viteza necesară pentru dezvoltarea de software.

Promoterii ingineriei tradiționale preferă V-ul metodelor „agile”. Acest lucru este valabil mai ales atunci când vine vorba de sisteme critice.

Cine ar trebui să credem?

Bine, dacă suntem sinceri, atunci când V-ul există ca o trecere glorioasă pentru un întreg sistem, noua generație are un punct de vedere excelent. V-ul chiar poate încetini dezvoltarea unui software bun.

În esența sa, V-ul ingineriei sistemelor este o construcție logică. Ea descrie descoperirea cerințelor sistemului prin descompunerea unui sistem în părți mai mici și apoi asamblarea și validarea acestor părți.

Inginerii de sisteme aplică V-ul în diverse contexte. Cel mai adesea, V-ul apare în organizațiile mari, cum ar fi Departamentul de Apărare al SUA. Este, de asemenea, proeminent în instituțiile academice.

Aceste programe sau organizații mari folosesc V-ul ca parte a procesului lor de execuție de nivel superior. Fluxul general de lucru are șapte faze:

Procesul începe în partea stângă a V-ului, unde (1) sunt generate concepte. Apoi, (2) sunt definite, descompuse și alocate cerințele pentru întregul sistem. Apoi, (3) componentele sistemului sunt proiectate în detaliu.

Implementarea are loc în partea de jos a V (4). Aici sunt create componentele proiectate în conformitate cu cerințele de la începutul procesului.

Mai sus în partea dreaptă a V-ului, aceste componente sunt (5) integrate împreună în sistemul final. Sistemul integrat este apoi verificat pentru a se asigura că îndeplinește cerințele inițiale și validat pentru a se asigura că satisface nevoile utilizatorului (6). În cele din urmă, (7) sistemul este livrat și întreținut.

Provocări ale V

Executarea procesului V se dovedește a fi problematică pentru multe proiecte mari – în special pentru cele care includ software.

Integrarea
O problemă majoră este că integrarea are loc prea târziu în procesul de dezvoltare. Programele care se bazează pe V așteaptă până când componentele software sunt complete pentru a reduce reluarea costisitoare a lucrărilor de integrare.

Integrarea manuală a componentelor software necesită o cantitate enormă de timp. Realitatea pe care o știm cu toții ca fiind adevărată este că software-ul nu este niciodată terminat. Activitățile de integrare lăsate până la sfârșit sunt grăbite pentru a respecta calendarul programului.

În V, componentele integrate îndeplinesc de obicei cerințele funcționale, dar adesea nu reușesc să fie sigure, securizate sau corecte.

Verificare & Validare
Așteptarea până când sistemul a fost complet integrat pentru a efectua verificarea și validarea (V&V) agravează această problemă. Punerea în aplicare a corecțiilor provoacă valuri în întregul sistem, ceea ce face dificilă și costisitoare rezolvarea problemelor care apar în timpul V&V.

Programele pun adesea în aplicare corecții „la nivel de sistem” în loc să rezolve rădăcina problemei – o abordare de tip pansament. Riscul software este adesea atenuat prin practici cum ar fi firewall-urile la nivel de sistem și software-ul antivirus, mai degrabă decât să îl abordeze în cod.

Band-aids diminuează șansele ca utilizatorii să întâlnească defectul, dar defectul în sine nu este rezolvat și continuă să se ascundă în sistem.

Înfruntarea provocării

Conceptele din V-ul ingineriei sistemelor nu sunt problema – este vorba de structura V-ului care nu se aplică la software

Tehnicile moderne pot permite integrarea continuă a software-ului, chiar și în cazul programelor mari. Utilizarea instrumentelor și proceselor care cuprind integrarea timpurie și verificarea nu neagă conceptele de bază ale V – ele îmbunătățesc V-ul astfel încât să funcționeze pentru dezvoltarea de software.

Rezultatul final este un software care este corect la creare și un sistem care este mai ieftin, mai sigur și mai rapid de livrat.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.