- UML és un llenguatge de modelatge visual per dissenyar i estructurar sistemes.
- Hi ha diagrames estructurals, de comportament i interacció.
- Es fa servir en el desenvolupament de programari per optimitzar disseny i comunicació.
- Eines com Lucidchart i StarUML faciliten la creació de diagrames.

Des de la seva creació a la dècada dels 90 per Grady Booch, Ivar Jacobson i James Rumbaugh, UML ha evolucionat fins a convertir-se en un estàndard dins de la indústria del desenvolupament de programari; la història de l'enginyeria de programari mostra com se'n va consolidar l'ús en la pràctica professional. La seva versatilitat permet aplicar-lo tant al disseny de programari com a la gestió de processos empresarials.
Què és UML i per què es fa servir?
UML és un llenguatge de modelatge gràfic que permet representar visualment l'arquitectura, el disseny i la implementació de sistemes de programari. Un dels seus usos principals és la simplificació de sistemes complexos a través de diagrames, facilitant-ne l'anàlisi i el disseny.
Alguns dels avantatges clau que ofereix UML inclouen:
- Claredat en el disseny: estandarditza la forma com es representen els sistemes, evitant ambigüitats.
- Millor comunicació: facilita la comprensió entre diferents equips de treball, incloent-hi programadors, analistes i clients.
- Reducció d'errades: en planificar visualment el sistema abans d'implementar-lo, es minimitzen errors i problemes futurs.
- Independència del llenguatge de programació: es pot aplicar a diferents tecnologies sense estar lligat a una específica.
Tipus de diagrames UML
UML compta amb diversos tipus de diagrames que es divideixen en dues grans categories : els diagrames estructurals i els diagrames de comportament , segons les metodologies de desenvolupament de programari clàssiques.
Diagrames estructurals
Representen l' organització i l'estructura d'un sistema, mostrant-ne els elements estàtics i les relacions.
- Diagrama de classes: és el més utilitzat en UML. Mostra les classes d'un sistema, els atributs, els mètodes i les relacions.
- Diagrama d'objectes: semblant al de classes, però amb instàncies específiques en un moment donat.
- Diagrama de components: representa els diferents components dun sistema i les seves dependències.
- Diagrama de desplegament: descriu la distribució física del programari en diferents nodes de maquinari.
- Diagrama de paquets: organitza les classes en agrupacions per gestionar-ne millor l'estructura.
- Diagrama d'estructura composta: mostra lestructura interna duna classe i les seves interaccions entre parts internes.
Diagrames de comportament
Aquests diagrames il·lustren el flux de processos dins del sistema i com interactuen els seus diferents elements.
- Diagrama d'activitat: representa fluxos de treball dins un sistema, ja sigui a nivell organitzacional o de programari.
- Diagrama de casos dús: descriu com els usuaris (actors) interactuen amb el sistema.
- Diagrama d'estat: mostra com canvia l'estat d'un objecte durant el temps en resposta a esdeveniments.
Diagrames dinteracció
Els diagrames d‟interacció formen part dels diagrames de comportament, però se centren en la comunicació entre objectes.
- Diagrama de seqüència: representa lordre i lintercanvi de missatges entre objectes en el temps.
- Diagrama de comunicació: destaca la relació entre objectes i els missatges que intercanvien.
- Diagrama de temps: similar al de seqüència, però enfocat a la variació temporal dels elements.
- Diagrama d'interacció global: unifiquen informació daltres diagrames per donar una visió completa de la interacció en un sistema.
Ús d'UML en el desenvolupament de programari
UML és una eina clau en diverses fases del desenvolupament de programari , des de la planificació i disseny fins a la implementació i manteniment :
- Anàlisi de requeriments: s'utilitzen diagrames de casos d'ús per identificar les funcions essencials del sistema.
- Disseny: s'elaboren diagrames de classes, objectes i components per definir larquitectura del programari.
- Implementació: els diagrames ajuden els programadors a estructurar el codi de manera eficient.
- Proves i depuració: UML permet modelar escenaris de prova i analitzar comportaments anòmals.
Eines per treballar amb UML
Hi ha múltiples eines que permeten crear i gestionar diagrames UML, facilitant la documentació i comunicació de sistemes.
- Lucidchart
- StarUML
- Paradigma visual
- Arquitecte empresarial
- IBM Rational Rose
- ArgoUML
- dibuix.io
En funció de les necessitats del projecte, es poden escollir eines més simples per a diagrames bàsics o plataformes avançades per a modelatge de programari.
UML ha demostrat ser una eina clau en l'enginyeria de programari, facilitant el disseny i la documentació de sistemes de manera clara i eficient. El seu ús s'ha estès no només a l'àmbit del desenvolupament de programari, sinó també a la gestió de processos organitzacionals. Amb els múltiples tipus de diagrames i la versatilitat que ofereix, s'ha consolidat com un estàndard fonamental en la representació visual de sistemes.