OOAD - Analisi orientata agli oggetti

Nella fase di analisi del sistema o di analisi orientata agli oggetti dello sviluppo del software, vengono determinati i requisiti di sistema, le classi vengono identificate e le relazioni tra le classi vengono identificate.

Le tre tecniche di analisi utilizzate insieme per l'analisi orientata agli oggetti sono la modellazione a oggetti, la modellazione dinamica e la modellazione funzionale.

Modellazione a oggetti

La modellazione a oggetti sviluppa la struttura statica del sistema software in termini di oggetti. Identifica gli oggetti, le classi in cui gli oggetti possono essere raggruppati e le relazioni tra gli oggetti. Identifica inoltre gli attributi e le operazioni principali che caratterizzano ciascuna classe.

Il processo di modellazione degli oggetti può essere visualizzato nei seguenti passaggi:

  • Identifica gli oggetti e raggruppali in classi
  • Identifica le relazioni tra le classi
  • Crea diagramma modello oggetto utente
  • Definire gli attributi degli oggetti utente
  • Definisci le operazioni che dovrebbero essere eseguite sulle classi
  • Glossario delle recensioni

Modellazione dinamica

Dopo aver analizzato il comportamento statico del sistema, è necessario esaminarne il comportamento rispetto al tempo e ai cambiamenti esterni. Questo è lo scopo della modellazione dinamica.

La modellazione dinamica può essere definita come "un modo per descrivere come un singolo oggetto risponde agli eventi, sia eventi interni innescati da altri oggetti, sia eventi esterni innescati dal mondo esterno".

Il processo di modellazione dinamica può essere visualizzato nei seguenti passaggi:

  • Identifica gli stati di ogni oggetto
  • Identifica gli eventi e analizza l'applicabilità delle azioni
  • Costruisci un diagramma del modello dinamico, comprendente diagrammi di transizione di stato
  • Esprimi ogni stato in termini di attributi dell'oggetto
  • Convalidare i diagrammi di transizione di stato disegnati

Modellazione funzionale

La modellazione funzionale è il componente finale dell'analisi orientata agli oggetti. Il modello funzionale mostra i processi che vengono eseguiti all'interno di un oggetto e come i dati cambiano mentre si spostano tra i metodi. Specifica il significato delle operazioni di modellazione a oggetti e delle azioni di modellazione dinamica. Il modello funzionale corrisponde al diagramma di flusso dei dati dell'analisi strutturata tradizionale.

Il processo di modellazione funzionale può essere visualizzato nei seguenti passaggi:

  • Identifica tutti gli input e gli output
  • Costruisci diagrammi di flusso di dati che mostrano le dipendenze funzionali
  • Indicare lo scopo di ciascuna funzione
  • Identifica i vincoli
  • Specificare i criteri di ottimizzazione

Analisi strutturata e analisi orientata agli oggetti

L'approccio di Structured Analysis / Structured Design (SASD) è l'approccio tradizionale di sviluppo software basato sul modello a cascata. Le fasi di sviluppo di un sistema che utilizza SASD sono:

  • Studio di fattibilità
  • Analisi e specifica dei requisiti
  • Sistema di design
  • Implementation
  • Revisione post-implementazione

Ora, esamineremo i vantaggi e gli svantaggi relativi dell'approccio di analisi strutturata e dell'approccio di analisi orientato agli oggetti.

Vantaggi / svantaggi dell'analisi orientata agli oggetti

Vantaggi Svantaggi
Si concentra sui dati piuttosto che sulle procedure come nell'analisi strutturata. La funzionalità è limitata all'interno degli oggetti. Ciò può rappresentare un problema per i sistemi che sono intrinsecamente procedurali o di natura computazionale.
I principi di incapsulamento e occultamento dei dati aiutano lo sviluppatore a sviluppare sistemi che non possono essere manomessi da altre parti del sistema. Non è in grado di identificare quali oggetti genererebbero un progetto di sistema ottimale.
I principi di incapsulamento e occultamento dei dati aiutano lo sviluppatore a sviluppare sistemi che non possono essere manomessi da altre parti del sistema. I modelli orientati agli oggetti non mostrano facilmente le comunicazioni tra gli oggetti nel sistema.
Consente una gestione efficace della complessità del software in virtù della modularità. Tutte le interfacce tra gli oggetti non possono essere rappresentate in un unico diagramma.
Può essere aggiornato da sistemi piccoli a grandi con maggiore facilità rispetto ai sistemi che seguono un'analisi strutturata.

Vantaggi / svantaggi dell'analisi strutturata

Vantaggi Svantaggi
Poiché segue un approccio dall'alto verso il basso in contrasto con l'approccio dal basso verso l'alto dell'analisi orientata agli oggetti, può essere compreso più facilmente di OOA. Nei tradizionali modelli di analisi strutturata, una fase dovrebbe essere completata prima della fase successiva. Ciò pone un problema nella progettazione, in particolare se si verificano errori o se i requisiti cambiano.
Si basa sulla funzionalità. Lo scopo generale viene identificato e quindi viene eseguita la scomposizione funzionale per lo sviluppo del software. L'enfasi non solo fornisce una migliore comprensione del sistema, ma genera anche sistemi più completi. Il costo iniziale di costruzione del sistema è elevato, poiché l'intero sistema deve essere progettato immediatamente, lasciando pochissime opzioni per aggiungere funzionalità in seguito.
Le specifiche in esso contenute sono scritte in semplice lingua inglese e quindi possono essere analizzate più facilmente da personale non tecnico. Non supporta la riusabilità del codice. Quindi, il tempo e il costo dello sviluppo sono intrinsecamente alti.