La conception de logiciels avec UML utilise des modèles pour résoudre des problèmes à travers divers diagrammes, répartis selon trois axes : fonctionnel, structurel et dynamique. Les diagrammes incluent les cas d'utilisation, les diagrammes de classes et d'états, chacun représentant différentes interactions et structures au sein du système. Les relations entre cas d'utilisation, telles que 'include' et 'extend', ainsi que les concepts d'agrégation et de composition, sont également détaillés pour décrire les interactions et la hiérarchie des éléments du système.