all of it (modeling diagrams) is for communication purposes
La modellazione ha 4 utilizzi importanti nel processo di sviluppo del software:
-
Strumento di progettazione integrata
-
Strumento di comunicazione
-
Un aiuto per la generazione di software
-
Un modo per ridurre la complessità del problema della parola reale (ho imparato questo dalla risposta di @kevin cline sopra)
-
Il processo di modellazione porta alcuni designer a pensare a dettagli non considerati durante la codifica (e viceversa). La modellazione in fase di progettazione consente di prendere in considerazione un'immagine più ampia rispetto alla codifica di un metodo o di una classe in una lingua.
La modellazione secondo me è fondamentale per la creazione di database (diagrammi ER), la comprensione dei flussi di processo (diagrammi di attività) e la comprensione delle interazioni utente-sistema (utilizzare i diagrammi dei casi).
Do people use UML to do more sophisicated things such as code or database generation?
Sì, certo. È possibile utilizzare ERD (non un diagramma UML) e Class Diagram (a seconda delle capacità del tuo strumento) per generare:
1 - Data Definition Language (DDL)
2 - Stored procedure per CRUD e Class Diagrams nella tua lingua preferita (meno utile dato che gli strumenti ORM fanno di più su questo)
Tra le funzionalità più importanti degli strumenti di modellazione ci sono:
1 - Capacità di mantenere l'integrità del modello. Se fai una modifica si propaga nel modello
2 - Capacità di rispondere alle domande usate (dove si trova l''account' usato nel mio modello?)
3 - Possibilità di consentire agli utenti concorrenti di lavorare sul modello
4 - Cerca all'interno di rappresentazioni grafiche
5 - Controllo di stampa
6 - Layering (organizza i tuoi elementi del diagramma a strati) in modo che tu possa concentrarti su un layer alla volta
7 - Generazione del codice del database per diversi sistemi di database
8 - Convalida del modello (verifica coerenza, chiavi mancanti, cicli, ecc.)
Quindi, gli strumenti di modellazione, specialmente quelli buoni, fanno molto più di Paint.