Quali sono le cose essenziali che devi sapere su UML?

17

Voglio che i miei scarabocchi del design e del comportamento di un programma diventino più snelli e abbiano un linguaggio comune con altri sviluppatori.

Ho guardato UML e in linea di principio sembra essere quello che sto cercando, ma sembra essere eccessivo. Anche le informazioni che ho trovato online sembrano molto gonfie e accademiche.

Come posso capire UML in modo semplice, abbastanza per essere in grado di spiegarlo ai miei colleghi? Quali sono le risorse canoniche per comprendere UML a livello di terreno?

    
posta Hanno Fietz 26.11.2011 - 15:57
fonte

7 risposte

3

Mi sono piaciute le domande - le stesse che mi sono chiesto:

How can I understand UML in plain-English way, enough to be able to explain it to my colleagues? What are the canonical resources for understanding UML at a ground level?

Ecco cosa ho trovato:

Per un kick-start: la mia scelta sarebbe FML UML di Fowler distillata . È davvero una distillazione delle basi, come è stato detto: definizioni, esempi, consigli su quando un certo tipo di diagramma dovrebbe o non dovrebbe essere usato. È anche un buon riferimento , se vuoi concentrarti su una determinata parte di UML senza leggere il libro cover-to-cover.

Per un'introduzione più dettagliata, ma semplice in inglese: UML 2 for Dummies ha fatto per i miei colleghi e me. Non solo introduce UML, la sua sintassi e gli usi a lungo, ma offre molti consigli su buone pratiche di programmazione e progettazione.

Ci sono occasionali differenze tra i due libri su quale sintassi appartiene a quale versione dello standard UML. Questi tuttavia sono minuti e sicuramente non essenziali per l'utilizzo di diagrammi UML per comunicare idee di progettazione. (Ad esempio: se UML 2 consente moltiplicazioni discrete, cioè che una determinata proprietà può avere esattamente oggetti X, Y o Z, piuttosto che solo zero, uno, molti o più di X, ad esempio quando i nomi dei partecipanti devono essere sottolineati. ..)

Per un'introduzione totalmente non accademica e meno prolissa: questo blog contiene articoli su vari bit di UML: link

Non è un libro di testo, quindi è tutt'altro che esauriente, ma utilizza anche storie ed esempi non di libri di testo, che sono facilmente riconoscibili. I pochi post disponibili sono incentrati sull'introduzione visiva di concetti UML, quindi puoi saltare la lettura del testo del tutto.

    
risposta data 30.11.2011 - 13:48
fonte
8

Mi è piaciuto molto Distillato UML di Martin Fowler . Breve e dolce, e più che adeguato per le discussioni sulla lavagna. Prendi un paio di copie e passale per il team.

    
risposta data 26.11.2011 - 19:07
fonte
5

I diagrammi da soli non sono sempre utili. Ad esempio, il diagramma del caso d'uso non può trasmettere le regole aziendali in dettaglio. Il diagramma di classe può essere molto utile in quanto potresti essere in grado di generare codice di classe e DLL da esso.

Trovo che questi diagrammi siano i più utili:

  • Usa diagramma dei casi
  • Diagrammi di classe
  • Diagramma delle attività
  • Diagramma di sequenza

Ci sono così tante risorse utili, ma controlla queste:

Modifica-1 in risposta al commento di Mark.

Sebbene non utilizzi queste risorse quotidianamente, esse fungono da riferimento rapido per la sintassi UML. Le risorse di cui sopra sono scelte in quanto forniscono una rappresentazione rapida e piuttosto completa dei diagrammi UML. Mostra diagrammi comuni e aiuta il nuovo utente di UML a vedere rapidamente la differenza tra loro. La prima risorsa, il video, fornisce dettagli sul caso d'uso e sul suo rapporto con altri diagrammi. Le risorse di cui sopra non dovrebbero essere sufficienti per chiunque voglia imparare UML o OOD, mi rendo conto che l'apprendimento di questi argomenti non era inteso nella domanda originale.

    
risposta data 26.11.2011 - 19:27
fonte
2

Se sei soddisfatto di appena il 10% di esso, non dovresti provare ad apprenderlo dal libro di UML. Piuttosto, è meglio leggere un buon libro su analisi orientata agli oggetti o design pattern - questi libri ti forniscono il 10% che cerchi.

Se stai cercando un tutorial per UML, ti consiglio questa pagina web , e in particolare questo saggio sui diagrammi UML (non è un annuncio, personalmente non ho alcuna relazione con questo sito). Basta sfogliare i diagrammi e guardarli: sono per lo più auto esplicativi e puoi facilmente capire cosa stanno descrivendo finché sei a conoscenza di OOP e in genere programma la progettazione e l'architettura.

Perché dovrei raccomandare esattamente questa pagina? (chiesto nel commento)

Ci sono diversi motivi per cui mi è piaciuto più degli altri:

  1. Presenta una tabella panoramica dei diagrammi UML nella prima pagina.
  2. Questa tabella, oltre a fornire la breve descrizione di ogni digramm UML2.0, ha anche una colonna molto utile "Priorità di apprendimento" che può aiutare un principiante di UML a identificare i diagrammi UML più usati.
  3. Anche se contiene diagrammi di rendering macchina, la maggior parte dei diagrammi sembrano disegnati a mano (probabilmente sono sono disegnati a mano). Lo prendo come un segno che la modellazione può ancora essere fatta usando solo carta e matita, non c'è bisogno di approfondire il software di visualizzazione UML all'inizio.
risposta data 26.11.2011 - 19:08
fonte
1

L'UML 2.0 Pocket Reference di O'Reilly è un po 'più dettagliato di questo, ma probabilmente la scelta migliore in quanto è abbastanza piccolo da trovare rapidamente ciò di cui hai bisogno, ma ha ancora delle spiegazioni quando ne hai bisogno. Ed è aggiornato, il che non è il caso dei "fogli cheat UML" o delle schede di riferimento che ho trovato sul web - quelli che descrivono principalmente UML 1.x

    
risposta data 26.11.2011 - 16:04
fonte
0

Ci sono tre parti a questo:

  1. Ottieni un riferimento UML formale

    Ogni volta che stai imparando una nuova "lingua", ottieni un riferimento che puoi estrarre e utilizzare in qualsiasi momento, sia che si tratti di un libro o di una risorsa online. UML Distilled è piccolo, ha grandi spiegazioni e molti diagrammi chiari. Anche se non utilizzi tutte le funzionalità, puoi sempre tornare indietro e guardare il modo "giusto" per esprimere qualcosa.

  2. Utilizza UML per modellare le cose

    Ora che hai un riferimento, inizia a usarlo per modellare alcuni piccoli sistemi o sistemi esistenti che stai iniziando a utilizzare. Probabilmente vorrai continuare con Class Diagrams, Sequence Diagrams e State Diagrams per la maggior parte delle situazioni. Se c'è qualcosa di cui non sei sicuro, vai al tuo riferimento e cerca l'uso "corretto" - se questo non ti aiuta, prova un po 'su Google o chiedi su Stack Overflow. Proprio come la programmazione, la pratica è la chiave.

  3. Utilizza alcuni UML nei progetti reali

    Quando inizi a utilizzare UML con il tuo team, ricorda che è solo uno strumento per capire il sistema che hai costruito o che costruirai. Dovresti comunque controllare il tuo riferimento durante la creazione di diagrammi, ma concentrarti sulla trasmissione delle informazioni, non seguendo rigorosamente le regole.

Ripensa ai corsi di scrittura del liceo. Probabilmente il tuo insegnante ha considerato un peccato capitale iniziare frasi con "e", "ma" o "o". Come hai fatto di più per scrivere e hai ottenuto più controllo sulla lingua inglese, hai imparato come piegare le regole per ottenere un effetto maggiore: hai fatto la transizione dal seguire l'approccio corretto a quello che trasmetteva ciò che volevi dire il meglio. UML dovrebbe essere usato nel settore nello stesso modo.

    
risposta data 27.11.2011 - 04:04
fonte
0

Direi che se conosci UML allora tutti i diagrammi ti forniranno visualizzazioni diverse della tua applicazione. Molti libri sono disponibili.

Se non conosci UML, il più semplice è creare solo diagrammi di classe / sequenza che sono stati invertiti dal codice esistente. Hai solo bisogno di invertire il codice esistente in UML e aggiungere le tue note all'interno dei diagrammi di classe / sequenza. I diagrammi delle classi forniranno una vista statica dell'applicazione, il diagramma di sequenza descriverà i flussi di metodi e quindi il comportamento dell'applicazione. Lavoro UML fatto e nessun errore:)

    
risposta data 28.11.2011 - 10:55
fonte

Leggi altre domande sui tag