Dezvoltarea de software este un proces care necesită o planificare precisă și previziune. Există mai multe tehnici disponibile pentru a documenta dezvoltarea software-ului. Unified Modeling Language (UML) este o metodă standard utilizată pentru documentarea artefactelor necesare dezvoltării software.
UML este o colecție de bune practici de design care au fost folosite de mulți ani în comunitatea de dezvoltare software. Limbajul de modelare unificat a fost introdus pentru prima dată în 1996 de către Object Management Group (OMG). Versiunea inițială a UML a fost creată de un grup de experți în dezvoltare de software, adesea denumiți cei trei prieteni.
Cei trei prieteni sunt Grady Booch, James Rumbaugh și Ivar Jacobson. Ei sunt considerați liderii și fondatorii proiectului de unificare a metodelor standard în 1996, care a dus la crearea Limbului de modelare unificat. Acest efort de unificare a luat cele mai bune abordări pentru proiectarea și dezvoltarea de software și a creat un cadru reutilizabil care ar putea fi ușor de înțeles.
Abordarea de proiectare UML folosește notații grafice ca instrument de comunicare pentru proiectele software și comunitatea de utilizatori. Aceste notații grafice ajută echipa de dezvoltare software să exploreze potențialele proiecte și capcane. Limbajul de modelare unificat este de obicei folosit ca model pentru proiectarea unei aplicații software. Acest plan explică cum va fi construită o aplicație software.
Agile Modeling (AM) este un exemplu de abordare de proiectare software care utilizează UML. AM este o colecție de practici și principii pentru proiectarea software-ului. Procesul UML este adesea criticat pentru că este împovărător pentru echipa de dezvoltare, în special în zona managementului documentelor. Agile Modeling încearcă să preia elementele necesare de UML și să le eficientizeze într-un cadru de design agil. Agile Modeling folosește documentele UML ca schițe brute ale designului, mai degrabă decât schițele finale sau documentul formal. Acest lucru elimină necesitatea actualizărilor regulate ale documentelor UML.
Testarea bazată pe model (MBT) este un proces în care testarea este finalizată pe baza unor proiecte definite. Aceste modele sunt construite din cerințele unui sistem. Cerințele definite sunt apoi utilizate pentru a genera cazuri de testare, care sunt scrise ca scripturi de testare. Artefactele MBT pot genera apoi informațiile necesare pentru a explica starea așteptată a unui sistem.
Unul dintre cele mai complexe procese din dezvoltarea software-ului este integrarea componentelor. Model-Driven Integration (MDI) este un proces conceput pentru a simplifica efortul de integrare al unei aplicații. În cadrul MDI, un design este creat în Unified Modeling Language pentru a reprezenta controlul căilor de schimb în software.