by Koni Thompson

Dicembre 2003

Tutti i punti della FPA

L’analisi orientata agli oggetti
L’insieme dell’analisi e progettazione orientata agli oggetti OOA (Object Oriented Analysis) costituisce un metodo utilizzato per analizzare il problema dell’impresa e la soluzione, nell’ambito di un componente unico denominato oggetto.

Tutti i dati necessari per descrivere sia il problema che la soluzione sono rappresentati come ulteriori oggetti. I dettagli e le descrizioni di un oggetto sono definiti come attributi. I comportamenti degli oggetti sono identificati da valori e da modifiche dei dati.

Dopo aver analizzato l’oggetto in maniera approfondita, viene definito un insieme di regole che stabiliscono le politiche dell’oggetto stesso, ovvero le regole che consentono di usare e modificare i dati. Questa è la base per la nostra analisi per punti funzione.

I concetti OO (Object Oriented)
Un oggetto rappresenta l’astrazione di una qualsiasi entità che, nell’ambito di un problema, abbia un rilievo per l’applicazione. Tutti gli oggetti simili condividono le medesime caratteristiche.

Un oggetto è costituito da due parti: i dati (chiamati attributi) e le applicazioni (definite come comportamento). Poiché la parte più rilevante di un progetto OO è rappresentata dalla definizione degli oggetti, descriveremo tali componenti in dettaglio per comprendere meglio come applicare le regole della FPA.

Le regole sono descritte dalle rispettive proprietà e spesso possono essere rappresentate in forma tabellare:

Un sistema software OO è composto da oggetti che si scambiano messaggi tra loro. Gli oggetti comunicano l’uno con l’altro inviando messaggi verso interfacce predefinite e usando vari mezzi: un messaggio è un segnale scambiato tra oggetti; un’operazione è un processo che può essere richiamato come un’unità; un metodo è la specificazione procedurale di un’operazione, ovvero l’attivazione di una o più operazioni (spesso definite come servizi). Le classi raggruppano gli oggetti e, a loro volta, possono essere definite oggetti. Ciascuna unità descrivibile è un oggetto unico creato da una classe. Queste ultime sono spesso rappresentate in un Modello di Oggetto o Diagramma di Classe. Il termine oggetto è spesso usato in maniera intercambiabile con il termine classe. Un esempio di classe è l’aeroplano. Esistono molti tipi di aeroplano, ma tutti condividono alcuni attributi comuni.

Questa situazione viene descritta catturando tutti gli attributi comuni al livello più elevato del diagramma di classe (l’aeroplano può essere definito come una macchina volante dotata di ali, ruote e motore). Questo implica sia un concetto antenato/discendente che l’implicita ereditarietà degli attributi comuni da parte delle classi di livello inferiore (un jet di linea eredita gli attributi ali, ruote e motore, ma è definito ulteriormente dal numero dei posti per i passeggeri e da altre specifiche uniche per quell’oggetto). Un’altra caratteristica dell’analisi e progettazione OO è il concetto di polimorfismo (che significa molteplicità di forme). Questo è uno dei punti fondamentali per il riutilizzo dei componenti software in ambiente OO. Usando tale tecnica, un oggetto può spedire un messaggio a un altro oggetto senza conoscerne la classe.

Ad esempio, per spedire un messaggio dall’oggetto lettore di CD all’oggetto Audio, non è necessario sapere il modello del lettore di CD? il comportamento di un apparecchio di questo tipo è definibile con le azioni suona, start e stop. Questa flessibilità globale consente di definire le applicazioni (dominio del problema e soluzione) mediante l’uso di modelli. I modelli di oggetto rappresentano la struttura degli oggetti all’interno di un sistema, comprendendone l’identità e le relazioni verso gli altri oggetti, gli attributi e le operazioni possibili.

I modelli dinamici descrivono la tempificazione e la sequenzialità delle operazioni all’interno di un sistema, indicando gli eventi che producono cambiamenti e modifiche di stato. I modelli funzionali descrivono le trasformazioni di valori in un sistema e comprendono funzioni, definizioni, vincoli e dipendenze. Da un punto di vista della FPA, il modello degli oggetti ne costituisce l’aspetto più importante. All’interno dei modelli di oggetto esistono molti collegamenti e associazioni. Ad esempio, un camion è un tipo di veicolo da trasporto. La società ha un particolare dipendente. È questo collegamento che fornisce la possibilità di un maggiore approfondimento circa i limiti delle applicazioni e l’uso dei dati (oggetti).

Prepararsi a un’applicazione di definizione OOA/OOD?
In primo luogo è necessario procurarsi la documentazione necessaria: le specifiche dell’impresa e il modello degli oggetti. Raccomandiamo di procedere nel modo seguente:

  • Identificare le funzioni principali dell’applicazione (come indicato dalle specifiche dell’impresa)
  • Identificare gli oggetti principali che supportano tali specifiche (come descritti nei modelli degli oggetti)
  • Stabilire una linea di demarcazione intorno agli oggetti all’interno dell’applicazione. Spesso un modello di oggetto comprende tutti gli oggetti esistenti all’interno del dominio del problema e può includere applicazioni multiple (in una prospettiva di FPA). Gli oggetti all’interno dell’applicazione rappresentano il primo passo nell’identificazione degli ILF, nella prospettiva della FPA.
  • Identificare quegli oggetti utilizzati dall’applicazione per soddisfare le specifiche dell’impresa. Questi oggetti oggetto diventano EIF nella prospettiva della FPA.

Considerazioni OO per la FPA
La tabella seguente indica la corrispondenza tra i componenti OO e le regole della FPA. Questa rappresentazione può aiutare a definire le applicazioni indipendentemente dalla tecnologia e dalle tecniche di implementazione utilizzate.

Non dimenticate che stiamo parlando di software basato sulle specifiche dell’impresa e che stiamo considerando le applicazioni da un punto di vista logico:
Traducendo con attenzione i componenti OO in componenti logici FPA, la definizione dei Punti Funzione può essere realizzata con relativa semplicità. Provate a definire i seguenti modelli di dati documentati nell?analisi orientata agli oggetti (OOA).Esercizio di definizione OO

  • Il sistema di interrogazione del personale è un’applicazione usata per richiedere informazioni dal data base del personale. Consente anche agli utenti di caricare informazioni nello stesso data base.
  • Gli amministratori possono interrogare, creare o cancellare record e aggiornare qualsiasi informazione relativa al personale.
  • Gli amministratori possono anche aggiungere o eliminare record relativi all’organizzazione, ai titoli e alle sedi.
  • Tutti gli utenti possono effettuare interrogazioni sul data base.
  • Usate il seguente modello di oggetto e le specifiche per identificare ILF, EI, EO e EQ. Non verificheremo la complessità di tali componenti, poiché lo scopo di questo esercizio è solamente di identificarli in modo corretto.