OOAD - Diagrammi strutturati UML

I diagrammi strutturali UML sono classificati come segue: diagramma delle classi, diagramma degli oggetti, diagramma dei componenti e diagramma di distribuzione.

Diagramma di classe

Un diagramma delle classi modella la vista statica di un sistema. Comprende le classi, le interfacce e le collaborazioni di un sistema; e le relazioni tra di loro.

Diagramma di classe di un sistema

Consideriamo un sistema bancario semplificato.

Una banca ha molte filiali. In ogni zona, una filiale è designata come sede centrale zonale che supervisiona le altre filiali in quella zona. Ogni filiale può avere più conti e prestiti. Un conto può essere un conto di risparmio o un conto corrente. Un cliente può aprire sia un conto di risparmio che un conto corrente. Tuttavia, un cliente non deve avere più di un conto di risparmio o conto corrente. Un cliente può anche ottenere prestiti dalla banca.

La figura seguente mostra il diagramma delle classi corrispondente.

Classi nel sistema

Banca, filiale, conto, conto di risparmio, conto corrente, prestito e cliente.

Relazioni

  • A Bank “has–a” number of Branches - composizione, uno-a-molti

  • A Branch with role Zonal Head Office supervises other Branches - associazione unaria, uno-a-molti

  • A Branch “has–a” number of accounts - aggregazione, uno-a-molti

Dalla classe Conto, sono state ereditate due classi, ovvero Conto di risparmio e Conto corrente.

  • A Customer can have one Current Account - associazione, uno a uno

  • A Customer can have one Savings Account - associazione, uno a uno

  • A Branch “has–a” number of Loans - aggregazione, uno-a-molti

  • A Customer can take many loans - associazione, uno-a-molti

Diagramma oggetto

Un diagramma a oggetti modella un gruppo di oggetti e i loro collegamenti in un determinato momento. Mostra le istanze delle cose in un diagramma delle classi. Il diagramma degli oggetti è la parte statica di un diagramma di interazione.

Example - La figura seguente mostra un diagramma ad oggetti di una porzione del diagramma classi del Sistema Bancario.

Schema dei componenti

I diagrammi dei componenti mostrano l'organizzazione e le dipendenze tra un gruppo di componenti.

I diagrammi dei componenti comprendono:

  • Components
  • Interfaces
  • Relationships
  • Pacchetti e sottosistemi (facoltativo)

I diagrammi dei componenti vengono utilizzati per:

  • costruzione di sistemi tramite forward e reverse engineering.

  • modellazione della gestione della configurazione dei file di codice sorgente durante lo sviluppo di un sistema utilizzando un linguaggio di programmazione orientato agli oggetti.

  • che rappresentano gli schemi nei database di modellazione.

  • comportamenti di modellazione di sistemi dinamici.

Example

La figura seguente mostra un diagramma dei componenti per modellare il codice sorgente di un sistema sviluppato utilizzando C ++. Mostra quattro file di codice sorgente, cioè myheader.h, otherheader.h, priority.cpp e other.cpp. Vengono mostrate due versioni di myheader.h, che risalgono dalla versione recente alla sua antenata. Il file priority.cpp ha una dipendenza di compilazione da other.cpp. Il file other.cpp ha una dipendenza di compilazione da otherheader.h.

Diagramma di distribuzione

Un diagramma di distribuzione pone l'accento sulla configurazione dei nodi di elaborazione runtime e dei loro componenti che vivono su di essi. Sono comunemente costituiti da nodi e dipendenze o associazioni tra i nodi.

I diagrammi di distribuzione vengono utilizzati per:

  • modellare dispositivi in ​​sistemi embedded che tipicamente comprendono una raccolta di hardware ad alta intensità di software.

  • rappresentano le topologie dei sistemi client / server.

  • modellare sistemi completamente distribuiti.

Example

La figura seguente mostra la topologia di un sistema informatico che segue l'architettura client / server. La figura illustra un nodo stereotipato come server che comprende processori. La figura indica che quattro o più server sono distribuiti nel sistema. Al server sono collegati i nodi client, dove ogni nodo rappresenta un dispositivo terminale come una workstation, un laptop, uno scanner o una stampante. I nodi sono rappresentati utilizzando icone che rappresentano chiaramente l'equivalente del mondo reale.