Quanto è importante imparare UML per uno sviluppatore OO? [chiuso]

-1

Quando studio OOP da solo, spesso incontro i diagrammi delle classi UML. Li capisco, ma non so come scriverli completamente.

Significa che non so esattamente cosa significhi ciascun tipo di freccia e cose del genere.

1- Quanto è importante imparare la 'lingua' dei diagrammi delle classi UML? Se è qualcosa che vale la pena, potresti inoltrarmi a una fonte buona, coesa ma sufficiente?

2- Se / quando imparo a disegnare diagrammi di classe UML: Sono tutte le piccole sfumature importanti, o è che ogni sviluppatore disegna i diagrammi UML in modo leggermente diverso?

    
posta Aviv Cohn 06.04.2014 - 11:40
fonte

3 risposte

2

UML è solo uno strumento di comunicazione. Conoscere UML ti aiuterà a comunicare con altre persone che lo conoscono, ma solo in quel caso.

  • Se lavori con colleghi che usano quotidianamente UML, allora vai a prenderlo.

    UML è un ottimo strumento che aiuta a comunicare in modo chiaro, a presentare le cose in modo visivo e a ridurre la verbosità.

    È come usare termini tecnici con persone che li conoscono. Invece di dire:

    Here, you find the set of classes implement a common class and enable to create instances of that thing, which helps separating the code required to create instances from the business code itself.

    Posso semplicemente dire:

    Here, you find the abstract factory and its concrete implementations.

  • Se sei l'unico del tuo team a sapere di cosa tratta UML, l'apprendimento di UML in più causerebbe solo problemi di comunicazione se altri sviluppatori non volessero apprenderlo: quando penserai che il diagramma che hai creato è abbastanza chiaro , i tuoi colleghi capiranno questo diagramma a modo loro, che non ha nulla a che fare con il tuo.

    È come usare termini tecnici in un team di programmatori principianti. Dici:

    In order to change the aspects of the price, you have to use the Change method overloads, but you can get the actual price by simply using the Price property. Note that tax is a readonly field.

    mentre non conoscono la differenza tra un metodo e una funzione né tra una proprietà e un campo e non sanno quale sia l'utilizzo della parola chiave readonly o di cosa sia un sovraccarico.

Nota anche che:

  • Diverse persone usano stili diversi: MetaFight ha già commentato sopra. Guardalo come RFC per gli indirizzi e-mail: è chiaro e non ambiguo, eppure, quasi tutti sbagliano.

  • UML è difficile e alcune parti sono abbastanza complicate da essere ignorate da molte persone. Ad esempio, ecco la mia risposta su Stack Overflow a una domanda in cui la risposta effettivamente accettata è chiaramente sbagliata.

risposta data 06.04.2014 - 12:48
fonte
1

Ci sono due modi in cui UML può essere usato:

  1. Per specificare un sistema o un modulo
  2. Per descrivere un sistema o un modulo

Nel primo caso, l'UML verrà probabilmente utilizzato per generare automaticamente il codice, quindi è necessario conoscere abbastanza dettagli di UML da ottenere i risultati attesi dallo strumento di generazione del codice.

Nel secondo caso, i diagrammi UML sono usati solo per supportare o illustrare una spiegazione scritta o verbale. In altre parole, sono usati come strumento di comunicazione. In questo caso non importa molto se ottieni alcuni dettagli sbagliati (specialmente se sei presente per chiarire e le domande che sorgono), a condizione che tu capisca il tuo significato.

    
risposta data 06.04.2014 - 12:24
fonte
0

UML ha alcune parti carine, ma non va bene per tutto. Esistono migliori notazioni per comunicare determinate informazioni (ad esempio architettura software di alto livello). Può anche essere molto complicato. Ho scoperto che spesso è meglio inventare la notazione al volo mentre si disegna un diagramma. Se definisco con attenzione i significati per le mie scatole e frecce, il diagramma è più pulito e più comprensibile di UML.

Per quanto riguarda la specifica della struttura del programma in UML, IMHO è una caratteristica dubbia. So che può essere divertente il modo in cui alcuni strumenti funzionano con i diagrammi di classe oggi, ma quello che è più utilizzabile sono gli strumenti di generazione del codice e di refactoring nei moderni IDE. È molto più veloce scrivere codice di una classe piuttosto che fare clic sullo strumento UML. In secondo luogo, i diagrammi delle classi che sono usati per generare codice da (o sono generati dal codice) non sono utilizzabili come documentazione, perché contengono troppi dettagli e / o descrivono parti troppo grandi di un sistema.

Rispondere alle tue domande:

  1. Direi che è bello conoscere UML. Non usare in particolare questo linguaggio, ma confrontarlo con altre notazioni ed essere in grado di scegliere / inventare / mixare la corretta forma di comunicazione per ogni situazione. La fonte migliore è la specifica ufficiale . I capitoli 9 e 10 dovrebbero essere sufficienti per una prima comprensione di UML.
  2. Le sfumature sono importanti solo se vuoi generare codice da UML.
risposta data 06.04.2014 - 14:00
fonte

Leggi altre domande sui tag