Dovremmo includere sistemi esterni nel diagramma delle classi?

3

Voglio disegnare un diagramma di classe che mostri quanto segue per un'applicazione:

  • Un sistema di gestione dei contenuti esterno che pubblica alcune notizie.
  • La classe che rappresenta la notizia nella mia applicazione.

La domanda è: includerò il sistema di gestione dei contenuti esterni come una classe nel mio diagramma (e magari dargli un colore diverso o aggiungere un commento che è un componente esterno)?

se la risposta è no, cosa devo includere nel diagramma delle classi? la classe di articoli di notizie solo? e come mostrare la relazione tra la classe dell'articolo di notizie e il sistema di gestione dei contenuti esterno?

    
posta Mina Samy 25.03.2014 - 16:34
fonte

3 risposte

5

La tua API esterna (la connessione al sistema di gestione dei contenuti) non è una classe, è un'interfaccia. Come illustrato in questa domanda di overflow dello stack , sarebbe simile a questo:

    
risposta data 25.03.2014 - 16:49
fonte
4

Lavoro in un'azienda Fortune 100 come Senior Architect. Siamo molto attenti a UML come lo trovi nel settore e non ci preoccupiamo di questo genere di cose.

In sostanza, se includere un sistema esterno (in genere utilizzando una notazione di pacchetto separata) aiuta a spiegare qualcosa, quindi includerlo. Se è solo lì per un caso d'angolo insignificante a cui nessuno si preoccuperà, lasciamo perdere.

UML esiste principalmente come strumento di comunicazione. Il punto è essere in grado di avere diagrammi che spiegano le caratteristiche importanti di un sistema. Quindi, quando decidi di includere o ignorare qualsiasi funzione in qualsiasi diagramma UML, la tua prima domanda dovrebbe essere: "Questa cosa è necessaria per descrivere gli aspetti importanti del mio sistema, dato lo scopo di questo diagramma? " (I vari diagrammi UML hanno scopi diversi, quindi qualcosa può essere legittimamente ignorato in uno e incluso in un altro.)

    
risposta data 26.03.2014 - 00:12
fonte
2

Se le relazioni con le classi del sistema esterno sono rilevanti per ciò che vuoi mostrare nel diagramma delle classi, allora dovresti mostrarle con tutti i mezzi.

Il modo standard UML per mostrare che alcune classi appartengono a un diverso modulo / sistema / qualsiasi cosa è metterle in un pacchetto diverso. Nel diagramma, puoi disegnare le classi all'interno di un simbolo di pacchetto per il sistema esterno oppure puoi utilizzare nomi completi ( <external system name>::<class name> ) per tali classi.

    
risposta data 25.03.2014 - 16:51
fonte

Leggi altre domande sui tag