Serve aiuto per capire il diagramma UML

3

Mi sto concentrando sul tentativo di comprendere i diagrammi UML e di imparare a interpretarli al fine di implementare i disegni che descrivono. Nel diagramma seguente, non sono chiaro su quale dovrebbe essere l'implementazione per Port Operation .

Sembra che dovrebbe essere una classe / entità uguale alle altre nel diagramma. Capisco che la relazione tra Leg e Port Operation sia bidirezionale. Ma sembra che non abbia senso avere una classe solo per operazioni portuali, e avere i metodi Load () e Unload () in Leg non ha molto senso dato che una classe Leg non rappresenta una porta o le sue 'operazioni'.

Durante la lettura dei diagrammi UML, è previsto che ci siano molti modi per implementarli? Alcuni modi sono migliori di altri, ed è un giudizio su come qualcuno lo implementa?

Quale sarebbe l'implementazione consigliata per il diagramma sopra per quanto riguarda il funzionamento della porta?

    
posta Theomax 31.07.2013 - 13:51
fonte

1 risposta

4

UML è un linguaggio di disegno / disegno, ma non specifica in che modo gli elementi del disegno sono mappati ai costrutti del tuo linguaggio di programmazione. In questo modo, UML offre diversi modi per implementare le cose.

Inoltre, un diagramma UML di solito non mostra tutto, perché questo potrebbe ingombrare troppo il diagramma, quindi solo i dettagli rilevanti sono mostrati in ogni diagramma.

Tenendo presente quanto sopra, si dovrebbe considerare ogni diagramma UML come un documento di progetto definitivo per la parte dell'applicazione che è mostrata al suo interno. Presumibilmente qualcuno ha messo il pensiero nel diagramma e può dare una ragione per l'esistenza di ciascuna delle classi e delle interconnessioni. Quando implementi il disegno da un diagramma UML, dovresti sforzarti che altri programmatori, che conoscono il design, possano riconoscere il design nel tuo codice.

Nel progetto in questione, Port Operation e Leg sono due classi distinte. Tra queste classi, ci sono due link bidirezionali. Mentre lo leggo, un'istanza Leg conosce due istanze diverse, Port Operation , una per il caricamento e l'altra per lo scarico. I nomi accanto alle linee / frecce non sono nomi di metodi, ma chiariscono il contesto della connessione. Nell'implementazione vengono in genere utilizzati come base per il nome dell'attributo del riferimento che indica la connessione.

    
risposta data 31.07.2013 - 14:50
fonte

Leggi altre domande sui tag