tout cela (diagrammes de modélisation) est à des fins de communication
La modélisation a 4 utilisations importantes dans le processus de développement logiciel:
Outil de conception intégré
Outil de communication
Une aide à la génération de logiciels
Un moyen de réduire la complexité du problème de mot réel (j'ai appris cela de la réponse de @kevin cline ci-dessus)
Le processus de modélisation amène certains concepteurs à réfléchir à des détails non pris en compte lors du codage (et vice versa). La modélisation au moment de la conception vous permet de considérer une image plus grande que de coder une méthode ou une classe dans un langage.
À mon avis, la modélisation est essentielle pour la construction de bases de données (diagrammes ER), la compréhension des flux de processus (diagrammes d'activité) et pour la compréhension des interactions utilisateur-système (diagrammes de cas d'utilisation).
Est-ce que les gens utilisent UML pour faire des choses plus sophistiquées telles que la génération de code ou de base de données?
Oui en effet. Les ERD (pas un diagramme UML) et les diagrammes de classes peuvent être utilisés (en fonction des capacités de votre outil) pour générer:
1 - Langage de définition de données (DDL)
2 - Procédures stockées pour les diagrammes CRUD et de classes dans votre langue préférée (moins utile car les outils ORM en font plus à ce sujet)
Parmi les fonctionnalités les plus précieuses des outils de modélisation, on trouve:
1 - Capacité à garder l'intégrité du modèle. Si vous faites un changement, cela se propage dans le modèle
2 - Capacité à répondre aux questions sur l'utilisation (où le "compte" est-il utilisé dans mon modèle?)
3 - Possibilité de permettre aux utilisateurs simultanés de travailler sur le modèle
4 - Recherche dans les représentations graphiques
5 - Contrôle d'impression
6 - Calques (organisez vos éléments de diagramme en calques) afin que vous puissiez vous concentrer sur un calque à la fois
7 - Génération de code de base de données pour plusieurs systèmes de base de données
8 - Validation du modèle (vérifie la cohérence, les clés manquantes, les cycles, etc.)
Ainsi, les outils de modélisation, en particulier les plus performants, font beaucoup plus que Paint.