Domanda

Ho avuto un momento difficile seduta di fronte a UML e ottenere valore da esso perché sembra quasi come molto lavoro come la programmazione (se si utilizza un linguaggio espressivo). Trovo che scrivere il linguaggio naturale mi dice di più su un progetto di software di creazione di diagrammi complicati. Sono nuovo di UML e anche se mi sono chiesto da altri che conoscono bene UML:

  1. è UML vale tutto il tempo necessario per imparare / fare, anche per i progetti di piccole-medie?
  2. Può ben elaborato documenti di progettazione, mentre il livello ancora più in alto, basta per mantenere i programmatori sulla strada giusta per creare il codice giusto, anche in squadre?
È stato utile?

Soluzione

Non credo UML è sufficiente di per sé.

  

Ho avuto un momento difficile seduta di fronte   di UML e ottenere valore da esso   perché sembra quasi altrettanto   lavorare come programmazione (se si utilizza un   linguaggio espressivo).

Sono d'accordo con questo. UML in grado di fornire le firme dei metodi, ma non si compila la carne del metodo. Peggio ancora, non si può fare nulla che si avvicini TDD con UML. Data una scelta, avrei preferito TDD e il codice di funzionamento di diagrammi UML.

  

Trovo che scrivere il linguaggio naturale   mi dice di più su un progetto di software   che creare diagrammi complicati.

esatte. Le foto possono essere d'aiuto, a meno che siano le immagini cattive. diagrammi di sequenza tendono a diventare incredibilmente complicato per tutti ma banali flussi.

  

È UML vale tutto il tempo necessario per   imparare / fare, anche per le piccole-medie   progetti?

I fornitori e gli architetti vi dirà UML è indispensabile, ma io non sono d'accordo. Cado nella "skecher" campo di UML utenti .

  

Si può ben elaborato documenti di progettazione,   mentre livello ancora più alto, basti   mantenere i programmatori sul bersaglio per creare   il codice giusto, anche in squadre?

Non so che cosa è sufficiente per mantenere i programmatori sul bersaglio, ma direi che UML non è una grande parte di esso. Gli architetti tendono ad amare, perché gli strumenti UML tenerli occupati, ma la maggior parte degli sviluppatori non si preoccupano di là di scatole e frecce su pannelli bianchi.

Altri suggerimenti

risponderei:

Niente, assolutamente niente, sostituisce la necessità di una buona comunicazione tra i programmatori su un team di programmazione e gestione.

Ciò significa che un certo livello di abbattere il compito in semplice "quello che dobbiamo fare" dichiarazioni a manager e spiegare eventuali blocchi stradali.

Ho lavorato su un piccolo progetto in cui l'intera struttura di classe del programma è stato progettato da qualcuno in UML prima di qualsiasi codice in fase di scrittura. Grande, ma i progettisti non anticipare il modo in cui le classi potrebbero essere utilizzati, o la necessità di modificare alcune strutture logica del programma per meglio adattarsi. Essi semplicemente buttato fuori un disegno che pensavano avrebbe funzionato.

Sono ancora incontrare qualcuno che possa progettare un programma nella loro testa e produrre esattamente questo quando si scrive al di là di roba molto semplice. Il processo è abbastanza organico e le cose hanno bisogno di cambiare lungo la strada, come i programmatori a realizzare i loro errori precedenti e correggerli. Posso capire perché funzione di scorrimento inizia a verificarsi e questo è dove la gestione bisogno di capire cosa sta succedendo, tenere in loop e aggiornato. Buona manager potranno ascoltare quello che loro programmatori di loro stanno dicendo e regolare luoghi di conseguenza.

Quindi, delle vostre due opzioni mi piacerebbe andare per il documento di progettazione di alto livello: vogliamo che il software per fare questo, eseguito su questa piattaforma, accetta questo tipo di input e sputare questo genere di cose fuori. Che funziona, se quanto sopra è tenuto a.

UML, per quanto mi riguarda, non vale la pena.

  1. Non a mio parere. Una volta ho fatto un modulo di progettazione OO come parte di un Master in Computer Science e UML è stato appena menzionato (anche se a mio parere avrebbe dovuto essere discusso molto di più data la sua influenza).

  2. Non c'è più spazio per ridurre le ambiguità in testo scritto che in un diagramma UML, la maggior parte delle daigrams UML lasciano molto spazio all'interpretazione. Detto questo io sono un grande fan del l'uso di diagrammi a documenti di progettazione software e un sacco di diagrammi UML sono estremamente succinta: Distribuzione, stato, classe e attività sono i miei preferiti. Quando creo diagrammi UML cerco di aderire o meno alle convenzioni ma non far loro ottenere nel modo se non possono rappresentare il concetto che sto cercando di comunicare.

Non possiamo assolutamente ignorare l'UML alcuni dei diagrammi sono utili quando si tratta di funzionalità complesse o diciamo processo di workflow lungo e scenari in cui gli sviluppatori possono mancare alcuni casi, quando gli scenari non sono disegnate / progettato. Un'altra importanza di UML è quello di ricordare in futuro come funziona il sistema e come i suoi moduli sono comunicanti tra di loro per assicurarsi che il progetto è scalabile senza generare enormi insetti che potrebbero essere infinito e seria. Così entrambi documento di progettazione UML scritto e sono importanti per ogni mezzo o grande progetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top