Linguaggi e Metodologie per lo sviluppo dei sistemi informativi

Linguaggi e Metodologie per lo sviluppo dei sistemi informativi

Linguaggi per la modellazione dei processi aziendali

I processi sono insiemi di attività elementari svolte per raggiungere un determinato obiettivo. In un’organizzazione esistono processi fisici, relativi ad elaborazioni di oggetti fisici, processi informativi, ovvero di gestione di flussi informativi, e processi aziendali tesi al raggiungimento di obiettivi complessivi dell’organizzazione stessa. Questi ultimi processi, nel caso in cui riguardino la missione istituzionale di un’organizzazione, sono anche denominati processi di servizio. La progettazione di un sistema informativo deve necessariamente partire dalla definizione della missione dell’azienda e dalla descrizione dei processi di servizio: solo in questo modo sarà possibile effettuare una corretta analisi dei requisiti e scegliere le soluzioni tecnologiche più idonee. Nella letteratura esistono molte proposte per la descrizione dei processi attraverso un modello, proposte che si differenziano a seconda degli aspetti prevalentemente osservati (ad esempio: i flussi informativi, la sequenza di svolgimento delle attività, le tecnologie utilizzate, le strutture organizzative coinvolte) e del grado di formalità del linguaggio di rappresentazione. I modelli possono essere classificati in tre grandi categorie: basati sui dati, basati sulle attività, basati sulla comunicazione. Il modello dei Data Flow Diagram (DFD), basato  sui dati, è uno dei modelli più utilizzati nell’analisi delle funzioni dei sistemi informativi. Si fonda sul concetto di processo visto come trasformazione di dati di input in dati di output, sulla rappresentazione del flusso delle informazioni fra processi e fra processi ed elementi esterni al sistema (interfacce) e sulla scomposizione top-down di processi e flussi.  Include la rappresentazione degli  aspetti di maggior dettaglio attraverso un dizionario dei dati che specifica la struttura dei flussi e la logica di esecuzione dei processi elementari.

Linguaggi e Metodologie per lo sviluppo dei sistemi informativi

Modello dei processi WIDE

Il modello dei processi WIDE, basato sulle attività, privilegia la strutturazione delle attività in workflow attraverso una serie di elementi di collegamento, anche complessi, che ne specificano l’esecuzione in sequenza, parallelo, alternativa, etc. Il linguaggio introduce una serie di costrutti per la descrizione del sistema a vari livelli di astrazione, fra i quali riveste particolare importanza quello di business transaction, intesa come insieme di attività che devono essere concluse in maniera coerente o, se interrotte, ripristinare la situazione logicamente equivalente a quella precedente alla loro attivazione; le business transaction possono essere viste come un’estensione, al caso dei sistemi di workflow, delle transazioni di un sistema tradizionale. Nel modello WIDE possono essere descritte sia le situazioni di svolgimento ordinario delle attività, sia le eccezioni, intese come variazioni dell’esecuzione rispetto alla normale prassi. Nella metodologia WIDE al modello dei processi si affiancano quello delle informazioni, per la definizione dei dati utilizzati nel workflow, e quello dell’organizzazione, per la descrizione dei soggetti e delle strutture organizzative preposte all’esecuzione delle attività. Nel modello degli Action Workflow, basato sulla comunicazione, l’enfasi è posta sugli attori dei processi, piuttosto che sulla logica di esecuzione. L’approccio è quello dell’instaurarsi di un rapporto negoziale fra fornitori e clienti di servizi, che si mettono in relazione, principalmente, in quattro fasi distinte: la richiesta di servizio del cliente al fornitore, la negoziazione del servizio e l’accettazione da parte del fornitore, l’esecuzione da parte del fornitore, la verifica dei risultati e l’accettazione da parte del cliente. All’interno di ciascuna di queste fasi, ulteriori cicli di negoziazione possono essere iniziati e svolti, in alternativa o in sequenza tra loro, ottenendo così una scomposizione gerarchica delle attività in successivi livelli di dettaglio.

Linguaggi per la modellazione dei dati aziendali

Una delle fasi più studiate del ciclo di vita dei sistemi informativi è quella dell’analisi o progettazione concettuale dei dati. L’obiettivo di questa fase è la costruzione di uno schema “concettuale” dei dati strutturati di un sistema che sia indipendente sia dagli aspetti tecnologici che dai requisiti dinamici o funzionali del sistema stesso. I modelli  per la descrizione degli schemi concettuali dei dati hanno in comune l’utilizzo di meccanismi di astrazione in grado di rappresentare le proprietà dei dati e le relazioni fra dati in modo semplice e comprensibile; fra questi i più noti sono quelli di classificazione (più elementi appartengono ad una stessa classe), di aggregazione (più dati compongono un unico dato), di generalizzazione (più classi sono sottoinsiemi di un’unica classe). Fra  i modelli concettuali il più diffuso è il modello Entità Relazione che ad un insieme di costrutti semplici da usare (entità, attributo e relazione come costrutti di base, gerarchie di generalizzazione, sottoinsiemi e vari tipi di vincoli di integrità come ulteriori elementi del modello) associa una rappresentazione grafica facilmente comprensibile anche da utilizzatori non esperti. In questo modo uno schema dei dati diventa un utile strumento di comunicazione fra specialisti ed utenti di sistemi informativi. Nella progettazione concettuale dei dati è opportuno adottare, oltre che un modello, anche una metodologia che aiuti soprattutto nei casi più complessi di analisi: i due tipici approcci top-down e bottom-up possono essere usati in modo congiunto ed integrati proficuamente.

Analisi e progettazione object oriented (OO)

La differenza principale fra le metodologie ed i modelli di analisi e  progettazione orientati agli oggetti rispetto a quelli tradizionali consiste  nella capacità di trattare in modo uniforme ed integrato gli aspetti statici e dinamici di un sistema informativo. Inoltre l’approccio OO si presta in modo particolare all’applicazione di un ciclo di vita del software di tipo iterativo, ovvero orientato allo sviluppo incrementale; secondo questo approccio, dopo una fase iniziale di definizione dell’architettura del sistema che si vuole realizzare, si procede all’analisi di dettaglio, al progetto, alla codifica ed al rilascio di porzioni successive del sistema; in questo modo si accelera il processo di sviluppo e si diminuiscono i rischi di fallimento, in quanto le funzioni rilasciate possono essere via via sottoposte a verifica. UML (Unified Modeling Language) è un linguaggio per descrivere, specificare e documentare i prodotti dell’analisi e della progettazione di sistemi, risultato di un percorso di unificazione di diversi formalismi, riconosciuto anche come standard dall’OMG (Object Management Group). UML è un linguaggio semi-formale e utilizza elementi strutturali, per la descrizione degli aspetti statici, comportamentali, per quelli dinamici, di raggruppamento, per il partizionamento del sistema e di annotazione, per arricchire in modo non formale la descrizione degli altri elementi. Con il linguaggio UML la descrizione di un sistema viene effettuata secondo tre prospettive differenti, la struttura, il comportamento e l’architettura, per ciascuna delle quali è disponibile un insieme di modelli, coerenti l’uno con l’altro. Un’altra caratteristica importante di UML è la possibilità di rappresentare un sistema a diversi livelli di astrazione: concettuale, di specifica e di implementazione ( si veda ad esempio l’articolo dedicato ai diagrammi della attività in UML).

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *