Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli

Sistemi informativi. Il pilastro digitale di servizi e organizzazioni, Appunti di Sistemi Informativi

Riassunto del libro di Giulio Destri

Tipologia: Appunti

2018/2019
In offerta
40 Punti
Discount

Offerta a tempo limitato


Caricato il 16/12/2019

sama95
sama95 🇮🇹

4.5

(47)

11 documenti

1 / 141

Discount

In offerta

Documenti correlati


Anteprima parziale del testo

Scarica Sistemi informativi. Il pilastro digitale di servizi e organizzazioni e più Appunti in PDF di Sistemi Informativi solo su Docsity! 1 Sistemi informativi. Il pilastro digitale di servizi e organizzazioni Giulio Destri 2 Per ogni cittadino nei paesi tecnologicamente è normale poter disporre di servizi come elettricità, acqua, corrente, telecomunicazioni, sanità; dietro ciò vi sono enormi reti di computer, che funzionano con l’azione di molti professionisti vedere le strutture informatiche come un insieme di persone, tecnologie e regolamenti, che elaborano e trasmettono le informazioni essenziali per l’erogazione dei servizi. Bisogna analizzare le relazioni che si stabiliscono tra questi sistemi. Si tenta di presentare in un modo esaustivo e sintetico gli aspetti più importanti dei sistemi informativi, considerando le componenti tecnologie e quelle economico-organizzative si tenta di dare una definizione dei concetti fondamentali e la presentazione di alcuni strumenti di analisi di base mutati dalla teoria dei sistemi. Verranno definiti dei modelli fondamentali dei meccanismi che governano il funzionamento di un’organizzazione complessa. Si cerca di presentare alcune metodologie di analisi dei processi che consentono di comprendere lo stato corrente dei sistemi e di valutare le opportunità di modifiche. Con un’analisi più tecnica, che parte dal trattamento automatico dell’informazione per focalizzarsi sulle applicazioni, infrastruttura tecnologica e sulla sicurezza informatica. 5 La componente razionale della mente umana può elaborare contemporaneamente solo un numero limitato di cose e se il modello non è ben fatto si possono avere troppo dettagli (con conseguente mancanza di conoscenza e imprecisione del modello stesso). L’analisi può essere compiuta secondo due approcci: → TOP-DOWN: scomposizione di un sistema per passi successivi in sottosistemi sempre più elementari → BOTTOM-DOWN: costruzione di un sistema complesso per composizione successiva di sistemi elementari In molti casi si possono usare entrambi gli approccio in momenti diversi durante il processo di modellazione dello stesso sistema reale. Il modello deve essere valido per il contesto in cui si opera e deve essere adatto all’interlocutore del momento e le sue parti denominate con un linguaggio appropriato al contesto della comunicazione. Si prende in considerazione aspetti diversi in momenti diversi e a diversi livelli di dettaglio. L’uso dei modelli è stato introdotto da decenni nelle discipline scientifico-economiche ed è stato codificato nella teoria dei sistemi o scienza dei sistemi, ove si afferma che “per quanto sia complesso o diversificato il mondo della nostra esperienza, si può trovare vari tipi di organizzazione, che possono essere descritti per mezzi di principi, comuni”. L’approccio sistemico distingue dall’approccio analitico in quanto privilegiati l’interazione e la connessine delle differenti componenti di un sistema. La teoria dei sistemi è una componente fondamentale anche nelle tecniche di ottimizzazione come la ricerca operativa, ossia la disciplina che concerne l’utilizzazione del metodo scientifico nei processi decisionali. Nel momento della scatola nera un osservatore esterno non conosce la struttura interna di un sistema, ma ne rappresenta il comportamento, osservando ciò che entra nel sistema (input o ingresso) e ciò che ne esce (output). Nelle classificazioni di qualità ISO, due ulteriori parametri descrittivi importanti per qualsiasi sistema di interesse in ambito ambientale o economico sono: - Efficienza: rapporto tra output effettivo di un sistema e l’input, ovvero il rapporto fra i risultati raggiunti e le risorse utilizzato → OUTPUT EFFETTIVO/INPUNT - Efficacia: rapporto fra l’output effettivo di un sistema e il suo output atteso, ovvero la sua capacità di raggiungere i risultati desiderati → OUTPUT EFFETTIVO/OUTPUT ATTESO 6 3. Il sistema impresa L’impresa è un sistema e ha una struttura dipendente dal settore industriale/economico in cui opera. Le vari componenti dell’impresa interagiscono fra loro e si scambiano informazioni. Il management o la dirigenza possono aver bisogno di conoscere lo stato dell’impresa, ovvero le informazioni sulle entrate, sulle uscite e cosi via.. Ciò è presente anche all’interno di organizzazioni non profit, enti pubblici, strutture social come le associazioni, i sindacati, gli ordini professionali e cosi via.. la maggior parte dei concetti enunciati non si applicano solo alle imprese, ma ad ogni organizzazione. È possibile descrivere un’entità organizzativa attraverso alcune caratteristiche sempre presenti: - Ragione sociale e orientamento al profitto - Missioni - Visioni - Core business - Struttura interna o esterna a. L’azienda o ente: che cosa è? Un’entità organizzativa appartiene alle seguenti categorie: o Azienda rivolta al profitto: - Azienda multinazionale - Società di capitali - Società di persone - Studio di professionisti - Singolo professionista e azienda individuale o Organizzazione non profit: - Onolus - Ente di beneficenza - Associazione di volontariato - Associazione sportiva o culturale - Associazione professionale o di categoria - Associazione rappresentativa o sindacato o Ente pubblico: - Pubblica amministrazione centrale - Pubblica amministrazione o PA - Ente funzionale o territoriale - Ordine professionale - Azienda sanitaria - Ente di formazione b. La mission(e) aziendale La missione o mission (scopo) di un’organizzazione o impresa, ovvero la sua dichiarazione di intenti è il suo scopo ultimo, la giustificazione della sua esistenza al tempo stesso ciò che la contraddistingue da tutte le altre. Il mission statement è il manifesto della missione, che tende a focalizzarsi sul presente e a fornire una guida operativa. Spesso si riduce ad uno slogan, o tenta di risolvere le questioni di fono relative all’organizzazione. 7 c. La visione aziendale Visione o vision indica la proiezione di uno scenario futuro che rispecchia gli ideali, i valori e le aspirazioni di chi fissa gli obiettivi dell’azienda e incentiva all’azione. Forma l’insieme degli obiettivi di lungo periodo che la dirigenza vuole definire per la propria azienda, comprendendo anche la visione generale del mercato e l’interpretazione nel contesto economico e sociale. d. Il business primario core business Il reddito può essere definito come un flusso di ricchezza durante un periodo di tempo. È il divenire di componenti economici attribuiti ad un dato periodo di tempo. Il reddito è una variabile di flusso, in quanto legata ad un preciso orizzonte temporale; al reddito viene contrapposto il concetto di patrimonio che esprime in termini monetari la ricchezza in un dato istante. Il reddito è una variabile dinamica, mentre il patrimonio è una variabile statica Per definire il core business bisogna rivedere alcuni concetti fondamentali per ogni azienda od organizzazione. o Ricavo o fatturato: insieme delle entrate finanziarie conseguenti alla vendita di prodotti/servizi; viene associato ad una quantità di beni o servizi e venduti in quell’arco temporale o Spese/costi: insieme delle uscite finanziarie conseguenti all’acquisto di quanto serve per realizzare la funzione aziendale; all’acquisto di quanto serve per realizzare altri beni e servizi di maggior valore attraversi la vendita, ovvero i ricavi o Guadagno: ricavo-spese; viene valutato sul periodo di tempo ed espresso attraverso il bilancio d’esercizio, un documento contabile, redatto dagli amministratori alla fine di ogni periodo amministrativo, che determina da una parte il risultato economico d’esercizio e dall’altra la situazione patrimoniale e finanziari dall’impresa alla fine del medesimo. Nel caso in cui il guadagno è negativo, ovvero i costi del periodo sono superiori ai ricavi del periodo, si parla di perdita L’azienda orientata al profitto ha come obiettivo di massimizzare il guadagno. L’ente non orientato al profitto ha come obiettivo il pareggio fra entrate e uscite. Il core business è l’insieme delle principali attività aziendali di tipo operativo, che ne determina i compiti fondamentali preposti ai fini di creare un fatturato e un conseguente guadagno. Il core business è supportato da altre attività aziendali che determinano l’organizzazione, la pianificazione, la strategia, gli strumenti con cui la stessa azienda si impegna nel proprio compito. e. Struttura e organizzazione interna: L’azienda o ente ha una struttura interna che può essere molto complessa. o Suddivisioni funzionali: ▪ Divisioni ▪ Dipartimenti ▪ Reparti ▪ Uffici o Suddivisioni gerarchiche: ▪ Dirigenza centrale (top management) che si occupa di strategia globale dell’organizzazione ▪ Dirigenza intermedia (middle management) che si occupa della tattica 10 Capitolo 2: Processi aziendali 1. Introduzione: Si presenta il processo aziendale come modello e metodologia per l’interazione ordinata delle molteplici attività che contribuiscono al funzionamento dell’azienda e di come i sistemi informativi e le risorse IT possono contribuire a tale funzionamento. 2. Un modello fondamentale: il processo aziendale Un processo aziendale (business process) è un insieme organizzato di attività e decisioni, finalizzato alla creazione di un output effettivamente domandato dal cliente, e al quale attribuisce un valore ben definito. Un processo business è un insieme di attività, spesso suddiviso tra attività decisionali ed attività operative, che l’organizzazione svolte per realizzare un risultato definito e misurabile, che trasferisce valore al fruitore del prodotto o servizio, che contribuisce al raggiungimento della missione dell’organizzazione. “Valore” è fondamentale, in quanto uno degli scopi fondamentali della modellazione tramite processi delle attività aziendali un ausilio alla misurazione del valore prodotto. Un processo business viene identificato da vari parametri ed entità. Per definire un processo bisogna identificare con precisione tutte le sue componenti: - Input del processo: entità che vengono trasformate dal processo stesso, di tipo materiale o immateriale - Output del processo: prodotti del processo stesso - Risorse ausiliari per il processo: entità che contribuiscono al funzionamento del processo stesso, ma che non sono trasformate dal processo stesso - Risorse umane: compiono il processo - Risorse organizzative: impongono regole e vincoli per il funzionamento del processo - Risorse umane/stakeholder: possono prendere decisioni o influenzano sul funzionamento del processo - Risorse umane/processo owner: responsabili per il processo a cui è affidato il compito di sovraintendere al processo stesso per farlo funzionare al meglio - Costi del processo: dovuti a tutte le componenti del processo stesso - Destinatario del processo: cliente del processo - Valore aggiuntivo: definito attraverso la qualità dell’output, per il quale il cliente paga, generando l’utile del processo che ne rende possibile il funzionamento; associato al valore è l’obiettivo del processo. - Evento scatenante: l’evento in conseguenza del quale il processo inizia Il processo viene visto come scatola nera in cui entrano input e risorse ausiliari da cui escono i prodotti finiti. La scomposizione in sotto-processi, fasi, attività e azioni od operazioni, definibili 11 come attività atomiche e no ulteriormente scomponibili. Esistono diverse scomposizioni in cui l’attenzione non viene posta sulla sequenza di attività e altri elementi. Il concetto di stakeholder è importante e s i intendono tutte le persone che hanno interesse in un’organizzazione, in un progetto, in un prodotto, servizio ecc. Possono essere interessati alle attività, agli obiettivi, alle risorse o ai prodotti. In un contesto di azienda gli Stakeholder possono essere i clienti, i partner, gli organi legislativi, gli impiegati, gli azionisti, i proprietari e ecc. Secondo la visone analitica del processo: - I processi sono formati da attività collegate nel tempo e nello spazio e svolte dalle risorse dell’azienda - Partendo da input definiti, le attività producono un output utilizzabile dai clienti - Le attività possono essere scomposte in azioni le operazioni Un business process (BP) viene definito come una Tulpa BP(A,I,O,C) A= attività formate da una serie di azioni fisiche o decisioni manageriali I= input del processo formati da materie prime o risorse aziendali O=output del processo, formato da beni materiali o immateriali, servizi C= clienti, destinatari dell’output del processo L’output del processo può costruire l’input di un processo successivo, cosi come l’input di un processo può essere l’output di quello precedente. Esiste una catena di clienti-fornitori da soddisfare. Il cliente non deve essere necessariamente esterno ed è acquirente di beni e servizi in cambio di denaro, ma può essere un’unità organizzativa dell’impresa che utilizza il risultato finale di un processo come input necessario per lo svolgimento di altri processi aziendali. Creazione di valore è importanti e molti lo richiamano nella definizione di processo: - Hammer e Champy: Un insieme di attività che richiede uno o più input e crea un output che ha valore per il cliente - Armistead e Rowland: I processi formano delle reti in cui le attività di un certo processo servono ad aggiungere valore agli input derivanti dal processo precedente 3. Il processo orientato all’IT: il modello ITIL IT Infrastructure Library (ITIL) è uno degli standard più importanti relativamente alla gestione dei servizi IT e definisce molti concetti importanti. ITIL definisce il processo (process) come un insieme di attività coordinate rivolte ad un compito/scopo specifico, per produrre un risultato che direttamente o indirettamente crea valore per il cliente. Un processo è una serie di attività che sono messe logicamente in relazione e che conducono a un obiettivo definito. Per conoscere un processo serve conoscere input, output e punti di monitoraggio. La struttura del processo mostra: o Cosa deve essere fatto o Quale è il risultato atteso o Come misurare se i risultati del processo rispettano quelli attesi o Come i risultati di un processo influiscono su quelli di un altro processo 12 Secondo ITIL, i processi hanno le seguenti caratteristiche: - Sono misurabili: siamo in grado di misurare il processo in modo opportuno; il processo è guidato dalle prestazioni; i manager misurano i costi e gli operatori misurano la durata - Hanno risultati specifici: offrono uno specifico risultato, che deve essere univocamente identificabile e quantificabile - Hanno un cliente: ogni processo fornisce il suo risultato principale a un cliente o agli Stakeholder; possono essere interni o esterni, ma il processo deve soddisfare le loro aspettative - Rispondono a specifici eventi: un processo deve essere riconducibile a uno specifico trigger (innesco) Vedendo un processo come sistema, si possono applicare ad esso le definizioni di efficienza ed efficacia: - Efficienza: Output effettivo/input - Efficacia: Output effettivo/output atteso Un processo è tanto più efficiente quanto più l’output effettivo è di qualità migliore a parità di input e un processo è tanto più efficace quanto più l’output effettivo si avvicina all’output atteso. I parametri principali per misurare le prestazioni di un processo sono indicati come KPI- Key Performance Indicator. Con controllo di processo si intende l’attività di pianificazione e regolazione di un processo, al fine di eseguirlo in modo efficace, efficiente e costante. Ad ogni processo dovrebbe essere assegnato un process owner, che è responsabile per il conseguimento degli obiettivi attesi e per il loro miglioramento continuo. Il flusso informativo di un processo è il flusso di informazioni associato ad un processo, che passa attraverso le fasi e tra di esse. Se il flusso informativo è realizzato da strumenti IT lo si definisce flusso informatico. 4. L’interno di un’organizzazione: classificazioni importanti dei processi In un’organizzazione è possibile individuare alcuni processi fondamentali. La catena del valore di Porter rappresenta una classificazione dei processi, modellizzando il funzionamento dell’intera azienda come una successione di processi: - Buy side: acquisti/approvvigionamenti; processi il cui input proviene dai fornitori - Inside: aventi sia input sia output interni all’azienda, che possono essere suddivisi tra processi primari, direttamente legati alla produzione del valore del core business dell’azienda e processi ausiliari o secondari, che producono i servizi senza i quali l’organizzazione non può operare. - Sell side: l’output è rivolto ai clienti esterni all’azienda. La priamide di Anthony è un’altra importante classificazione che suddivide i processi in: - Processi strategici (direzionali): concorrono alla definzione degli obiettivi strategici - Processi tattici (gestionali, amministrativi o mangariali): traducono gli obiettivi strategici in obiettivi economici e ne controllano il raggiungimento 15 - L’ufficio amministrativo: provvede a generare la fattura o la bolla ed aggiornare la contabilità aziendale Molti processi sono trasversali a più divisioni, e devono essere definiti nella maniera più chiara possibile per poter essere efficienti, permettendo l’individuazione di eventuali inefficienze o colli di bottiglia. I processi sono strettamente interconnessi. Nell’utilizzare una visione per processi piuttosto che per funzioni, il valore aggiunto per l’impresa risiede nell’obiettivo generale di creazione del valore e dell’analisi di efficienza dei processi che conducono alla creazione di tale valore. Questa visione sembra facilitare la realizzazione di obiettivi di profitto e di monitoraggio più efficace delle performance di costo, tempo e qualità. Tali meccanismi di controllo consentono di far funzionare meglio i processi creano soddisfazione al cliente a valore dell’impresa. I processi devono essere mappati su divisioni aziendali e persone, ovvero assegnati alle risorse umane ed organizzazione che li realizzano. 7. Scomposizione di processi, progetti e organizzazioni Il progetto è un insieme organizzato di attività limitati nel tempo, intrapreso allo scopo di creare un prodotto, un servizio o un resultato unico. I deliverable sono i risultati del progetto, che in alcuni contesti possono essere chiamati outcome. L’elaborazione progressiva è lo sviluppo in passaggi successivi e la produzione incrementale del progetto. L’elaborazione progressiva è una caratteristica dei progetti che accompagna i concetti di unicità e temporaneità. Le strutture organizzative dell’azienda eseguono un lavoro per raggiungere una serie di obiettivi. È possibile classificare il lavoro come progetto o come funzioni operative. Entro l’organizzazione i progetti e le attività condividono molte caratteristiche: - Sono eseguite da persone - Sono vincolati da risorse limitate - Sono soggetti a pianificazione, esecuzione e controllo I processi e progetti aziendali hanno finalità e caratteristiche diverse. Un processo ha caratteristiche di continuità che un progetto non ha, quindi i progetti e le attività che compongono si distinguono per il fatto che queste vengono eseguite in modo continuativo e hanno natura ripetitiva, mentre i progetti hanno natura temporanea e unica. Molti dei metodi di gestione dei progetti si possono applicare ai processi. Project Management è l’applicazione di conoscenze skill, strumenti e tecniche alle attività di progetto al fine di soddisfare i requisiti. Il project management standardizzato definisce opportuni processi per le attività di inizio, pianificazione, esecuzione, monitoraggio, controllo e chiusura di un progetto. Bisogna identificare i requisiti, fissare obiettivi chiari e raggiungibili, individuare il giusto equilibrio tra e esigenze di qualità, ambito, tempo e costi, che sono in coerenza tra di loro; adattare specifiche di prodotti, piani e approccio alle diverse aree di interesse e alle diverse aspettative dei vari Stakeholder. Queste qualità sono applicabili anche ai processi aziendali, quindi seguono il project management si possono definire dei processi ausiliari di controllo e monitoraggio dei processi primari. “Project management” viene utilizzata per descrivere un approccio della struttura organizzativa alla gestione delle funzioni operative. La gestione per progetti (project management) affronta numerosi aspetti delle funzioni operative sotto forma di progetti per garantire l’applicazione di tecniche consolidate. Il project management office (PMO) è un’unità organizzativa che consente di centralizzare e coordinare la gestione dei progetti sotto il suo raggio d’azione. Il PMO sovraintende alla gestione di progetti, 16 programmi o a una combinazione di entrambi. Il project management è la scomposizione progressiva delle attività da svolgere e delle entità organizzative che svolgono. Per scomposizione strutturata del lavoro o struttura analitica di progetto (WBS-Work Breakdown Structure) si intende una metodologia standard per rappresentare in modo strutturato e gerarchico tutte le attività che richiedono tempo e risorse. Contiene l’elenco di tutte le attività di un progetto, raggruppate in modo da poterlo modellizzare e gestire al meglio. I componenti di una WBS e il grado di dettaglio sono determinati in base allo scopo. Nei diversi tipi di WBS suddivisa su più livelli, viene applicata la regola del 100% che precisa che la WBS debba includere il 100% del lavoro definito dal progetto. Ogni elemento deve avere un peso assegnato e ogni WBS deve includere tutto il necessario alla realizzazione del progetto, inclusa la gestione del progetto stesso. La regola si applica a tutti i livelli della gerarchia. Per struttura analitica dell’organizzazione o scomposizione strutturata dell’organizzazione (OBS- Organization Breakdown Strucutre) è una metodologia standard per scomporre l’organizzazione per assegnare in modo puntuale le responsabilità delle singole attività alle componenti elementari dell’organizzazione. Le unità sono solitamente le singole persone ma possono anche rappresentare uffici o altre suddivisioni gerarchiche o funzionali dell’azienda. La OBS è creata dopo la WBS in modo da essere complementare per individuare le responsabilità nelle singole attività trasformando le attività in incarichi assegnati a specifiche persone o divisioni La OBS può essere costruita ad hoc. La scomposizione e la successiva assegnazione si può applicare ai processi aziendali dopo averli scomposti in attività, associando le attività da svolgere alle singole divisioni aziendali espresse da un organigramma, ovvero mappando i processi sulle funzioni aziendali. 8. Processi e organizzazione aziendale I processi sono composti da attività, la cui successione genera un flusso di attività e deve essere soggetta ad un’opportuna organizzazione, con assegnamenti della esecuzione ed eventuale, in casi di estrema precisione, anche con gli assegnamenti di una singola attività elementare o di un azione, ad una singola risorsa umana. 17 Il flusso di attività determina la durata di un processo, attraverso la somma delle durate delle singole attività componenti. La modellazione del processo può diventare precisa con la sequenza di attività. Gli attori coinvolti ed i vincoli da rispettare. Le informazioni associate alla successione di attività possono essere schematizzate: - Attività: Tipologia di attività, durata, volumi, risorse ausiliari e tecnologie coinvolte - Sequenza delle attività: Alternative nella sequenza, natura del flusso di collegamento - Attori: tipologia di attori, azioni svolte sulle attività - Eventi: Tipologia evento, conseguenza evento - Oggetti coinvolti: natura, profilo temporale L’associazione tra processo e organizzazione richiede la conoscenza di: - Organigramma: Gerarchia delle responsabilità e delle autorità nell’organizzazione - Proprietà logiche: Mandato, compiti, processi - Proprietà quantitative: organici della struttura, volumi di lavoro - Efficienza e la sua misurazione L’organigramma deve definire la gerarchia delle responsabilità a vari livelli di dettaglio e può essere corredato dalle tabelle, dalle proprietà, comprendenti la descrizione del mandato, l’elenco dei compiti assegnati, l’elenco dei processi svolti, gli organici ed i volumi di lavoro. Il metodo LRC (Linear responsability charting) prevede una specificazione dei ruoli e delle strutture nei processi, attraverso una visione tabellare della responsabilità organizzativa, che integra l’organigramma ed incrocia le attività o fasi del processo con le strutture organizzative con le loro parti. Tale metodo ha condotto alla matrice della responsabilità, detta anche matrice RAM. La matrice RAM più diffusa è la matrice RACI, definita dallo standard PMI. RACI (responsable, accountabile, consult, inform) esprime il ruolo che ogni persona o divisione organizzativa coinvolta nel processo assume relativa alla fase: - R= La persona o il ruolo o la divisone è responsabile del deliverable o della attività; è attivamente coinvolta con la propria opera nella attività - A= La persona approva il deliverable e quindi si assume la responsabilità di tale approvazione “mettendoci la faccia”; esiste solo una persona responsabile (A), mentre più persone possono contribuire (R) – una persona può assumere contemporaneamente i ruoli A ed R rispetto ad una certa fase - C= La persona viene consultata sul rilascio del deliverable; c’è un confronto con una comunicazione bidirezionale - I= La persona o il ruolo viene informate del deliverable; è ima comunicazione monodirezionale Dal ruolo svolto in relazione ad una certa attività o fase si può ricavare anche se la persona o ruolo è coinvolto al 100% del suo tempo lavorativo oppure no. 20 • Descrivono e funzioni di hardware e software per supportare le applicazioni, i dati e i sistemi di supporto nel fornire al business i servizi di cui ha bisogno ▪ Viste composite: • Seguono aspetti trasversali, comuni a più livelli • Definiscono le interfacce tra i livelli intendendo un punto di accesso in cui sono realizzati i servizi disponibili al livello superiore e che maschera i dettagli con cui è realizzato. I livelli di suddivisone dell’azienda secondo TOGAF presentano delle caratteristiche molto diverse fra loro. L’analisi di un processo può avere obiettivi molto diversi e prendere in esame caratteristiche molto diverse. Diventano necessari gli strumenti di ausilio per lo studio di queste caratteristiche. I diagrammi UML for business, che pongono in evidenza le diverse caratteristiche, possono esser un valido aiuto. È importante evidenziare il fatto che i processi hanno sempre un contenuto informativo, sia al suo interno che come input ed output verso l’esterno. È fondamentale definire le caratteristiche della risorsa informazione prima di procedere nell’analisi e comprensione dei processi. 21 Capitolo 3: La risorsa informazione 1. Introduzione Il lavoro del sistema informativo ha come oggetto l’informazione. Tutti i processi aziendali, sia decisionali che operativi, usano e si scambiano al loro interno l’informazione. L’informazione ha caratteristiche particolari che contribuiscono a rendere il sistema informativo diverso dai tradizionali settori tecnici di un’azienda. È necessario analizzare le caratteristiche peculiari dell’informazione. Si esaminano le caratteristiche fisiche dell’informazione, le problematiche della sua rappresentazione, del suo immagazzinamento e della sua trasmissione. 2. La risorsa informazione e le sue caratteristiche L’informazione è la principale risorsa scambiata, selezionata ed elaborata nelle attività gestionali di coordinamento e controllo. Un qualunque compito nell’ambito di un’organizzazione, operativo o no, ha un contenuto gestionale ed elabora l’informazione. L’informazione è una risorsa immateriale e costituisce la radice di ogni altra risorsa organizzativa immateriale come conoscenza, esperienza individuale, esperienza organizzativa. L’informazione permette la creazione di nuove informazioni e non è facilmente misurabile o divisibile o appropriabile e può essere soggetta a obsolescenza. 3. Il ciclo di costruzione dell’informazione e della conoscenza La costruzione dell’informazione ed il suo uso nell’azienda può avvenire attraverso alcuni stadi successivi. Il ciclo di costruzione è stato formalizzato nel modello della piramide della conoscenza o piramide DIKW (data, information, knowledge, wisdon) è definito nella teoria del knowledge management. Per knowledge management o gestione della conoscenza organizzativa si intende l’insieme di strategie e metodi per identificare, raccogliere, sviluppare, osservare e rendere accessibile la conoscenza delle persone che fanno parte di un’organizzazione, avvalendosi di strumenti IT. I. Dati (data): o Materiale informativo grezzo e non ancora elaborato, che può essere scoperto, ricercato e prodotto. o Materia prima per costruire i processi comunicativi o Rappresentazioni di fatti distinti oggettivi, riferiti ad un evento o In un contesto organizzativo possono essere descritti come delle registrazioni strutturate delle transazioni. 22 II. Informazione (information): o Viene costruita dai dati elaborati cognitivamente, cioè trasformata in uno schema concettuale manipolabile e usabile per usi cognitivi o Conferisce un’significato ai dati e gli pone in relazione, gli organizza secondo modelli o Organizzare i dati in una forma comprensibile, presentarli in modo appropriato e comunicare il contesto attorno ad essi o Il valore informativo del dato è determinato sulla base di un criterio di selezione; questo criterio è un criterio di rilevanza rispetto ad un contesto in cui il dato viene inserito ed entro cui rappresenta qualcosa di più semplice. o Produce un cambiamento nel contesto in cui il dato viene inserito o Può cambiare la ricezione o il raggiungimento di chi la riceve o I dati diventano informazioni quando chi li raccoglie ed analizza vi aggiunge un significato, un valore. III. Conoscenza (knowledge) o È l’informazione applicata, come un senso comune (o no) che “sa” quando e come usarla. o Attraverso l’esperienza gli esseri umani acquisiscono conoscenza; grazie alle esperienze (positive o negative) gli esseri umani comprendono le cose o La conoscenza nasce dalle informazioni e gli individui permettono questa trasformazione o La conoscenza viene comunicata, sviluppando interazioni stimolanti, con gli altri e con le cose, che rivelano i percorsi nascosti e i significati dell’informazione in modo che possano essere appresi dagli altri o È un livello di comunicazione partecipatorio o “La conoscenza consiste di fatti, verità, credenze, prospettive e concetti, giudizi e aspettative, metodi e saper fare”. IV. Saggezza (wisdom) o È la varietà “eterna” distillata dalla conoscenza o È il livello di comprensione più indefinito e intimo o È una “meta-conoscenza” di processi e relazioni che viene acquistata attraverso l’esperienza o È il risultato di contemplazione, valutazione, retrospezione e interpretazione compiuto sulla conoscenza o È possibile creare esperienze che sono in grado di offrire opportunità e descrivere dei processi, e quindi generare la saggezza in chi riceve le esperienze o I processi gestionali efficienti sono in grado di instaurare circoli virtuosi di generazione di conoscenza e arricchimento dell’informazione; questi circoli generano un aumento delle prestazioni dei processi gestione e dell’organizzazione in toto o Alcuni autori inseriscono un ulteriore stadio, ovvero la comprensione o la consapevolezza (unterstanding), entro la quale si palesano i risultati della “estrazione della saggezza dalla conoscenza” a. Ciclo DIKW: un esempio esplicativo Questo esempio utilizza il caso dell’apertura di un conto di risparmio bancario per mostrare come i parametri che lo contraddistinguono si relazionano con i concetti di dato, informazione, conoscenza e saggezza. 25 o L’informazione e la conoscenza esistono nella nostra mente sotto forma delle nostre rappresentazioni mentali dei concetti che le formano o Ogni individuo è consapevole di esse o Per poterle trasmettere ad altri, devono essere tradotte in linguaggio e/o esempi complementari o Le altre persone possono percepire il linguaggio e/o gli esempi comportamentali attraverso i propri sensi, elaborare i dati capitati dai sensi e ricostruire l’informazione e la conoscenza entro di sé, con le proprie rappresentazioni mentali c. Alfabeti e simboli Per rappresentare l’informazione si ha bisogno di un’opportuna codifica, espressa con un appropriato insieme di regole, che corrisponde ad una certa variazione di grandezza fisica ad un preciso componente di informazione. Esiste la meta informazione, formata dalle regole che associano le variazioni di grandezza fisica come il colore o il suono ai simboli elementari che compongono l’informazione. Se mancassero le meta informazioni che consentono di decifrare un’informazione, essa potrebbe non essere recuperabile anche se il supporto fisico che la rappresenta è perfettamente conservato. d. La teoria dell’informazione Nel 20° secolo e lo studio matematico applicato alle telecomunicazioni e ai sistemi informatici, si è giunti ad un modello formale dell’informazione. Le leggi di Shannon del 1948 formalizzano la teoria dell’informazione, da cui emerge la distinzione tra i concetti di conoscenza, informazione e dato; posero le basi teoriche per la realizzazione di sistemi in grado di memorizzare aggregare e trasferire informazioni ed evidenziando la necessità di distinguere i concetti di informazione e dato. In informatica un dato è un elemento informativo costituito da simboli, e un’informazione è il risultato dell’elaborazione di più dati. L’informazione attribuisce significato a dati che non ne hanno. La teoria dell’informazione è una disciplina molto ampia su cui si basano le rappresentazioni digitali dell’informazione. 5. Rappresentazione digitale dell’informazione a. Dati e informazione digitale Un archivio informatico che immagazzina in forma digitale le informazioni richiede l’esistenza di supporti hardware adeguati. Un canale di trasmissione digitale richiede la presenza di sistemi di comunicazione. I dati divengono sottocomponenti di informazioni, che possono essere rappresentati in forma digitale, attraverso opportune codifiche, sulla base delle leggi di Shannon. Nel contesto informatico il termine dati viene usato direttamente come sinonimo di informazione; i dati sono la materia prima grezza da cui viene trattata l’informazione attraverso un processo di elaborazione. Da un punto di vista informatico l’informazione viene rappresentata come insiemi di byte. Un byte è un insieme di 8 bit; il bit esprime semplicemente un’informazione si/no. Le codifiche associate agli standard assegnano significati particolari a tali valori numerici. 26 b. La rappresentazione di simboli e testo La rappresentazione di testo più diffusa è il codice ASCII (American Standard Code for Information Interchange), che associa ai valori da 0 a 255, rappresentati dai byte, le lettere dell’alfabeto latino internazionale, le lettere accentrate, le cifre da 0 a 9, i segni di interpunzione, parentesi, simboli matematici ed altro. Il codice ASCII è un insieme di vari codici diversi; l’assegnazione dei caratteri è univoca per i codici con i numeri inferiore a 127, mentre l’assegnazione dei caratteri dai numeri da 128 a 255 non è univoca e viene chiamato codice ASCII esteso. L’alfabeto latino presenta una grande quantità di varianti grafiche, ovvero si va dalle semplici vocali accentati a lettere modificate, lettere speciali usate solo in una lingua, segni di punteggiatura particolari, simboli di valuta e cosi via, senza considerare che gran parte di questi segni rappresentano le due forme maiuscola e minuscola. Le varianti sono talmente numerose che i 128 byte della tabella estesa non sono sufficienti a rappresentare tutte e per questo motivo esistono diverse estensioni della tabella ASCII; lo standard ISO 8859 prevede 15 diverse estensioni ma esistono ulteriori estensioni non riconosciute La tabella ASCII estesa, tipicamente utilizzata in Italia, è quella dell’Europa occidentale che è creata per le lingue germaniche e neolatine. Altre estensioni usate in Europa sono la Centro Europea usati per le lingue dei paesi del Europa orientale, la turca la cirillica e la greca. Questa coesistenza fra diverse versioni del codice ASCII produce spesso discordanze nella visualizzazione dei file di testo. 27 Per ovviare al problema dei differenti formati è stato creato un nuovo standard internazionale detto Unicode, che rappresenta i caratteri usato 1,2 o 4 byte con tre prestazioni chiamate UTF-8, UTF-16, UTF-32. Già con due byte il numero di combinazioni diventa 256x256=65.536 simboli; perciò la versione UTF-16 supporta 65.536 simboli e la versione UTF-32 può raggiungere un miliardo di simboli. Si riescono a rappresentare tutte le varianti dell’alfabeto latino e di molti altri alfabeti, come anche ideogrammi cinesi e giapponesi. Sono state stabilite delle linee guida per l’espansione per giungere a rappresentare a ogni simbolo standardizzato di tutte le lingue e le simbologie, ma il lavoro per giungere a tale risultato c’è ancora molto. Per evitare lo spreco di memoria che può condurre a quadruplicare le dimensioni di un file di testo se si usa l’UTF-32, questo viene usato solo nei casi in cui la memoria non sia un problema e serva l’allineamento dei caratteri, ossia la certezza di avere lo stesso numero di byte per ogni carattere. Nei casi di UTF-8 e UTF-16 viene applicata una lunghezza applicabile per i caratteri. Ciò rende più complessi i software che devono accedere a tali caratteri, mantenendo reto compatibilità nel caso in cui si usino caratteri ASCII. ASCII e Unicode non sono gli unici standard per rappresentare simboli e lettere; L’EBCDIC rappresenta simboli, numeri e lettere con i byte. c. Rappresentazione di testo formattato Il codice ASCII e gli altri hanno il difetto di rappresentare unicamente le lettere di un testo. Non è possibile con la semplice informazione di questi standard a stabilire grandezze diversi per i caratteri di un testo né colori diversi, ne font, ossia tipi di carattere diversi. Occorre inserire ulteriori informazioni nel testo, ossia caratteri speciali o combinazioni di caratteri. Queste informazioni aggiuntive di formattazione possono essere rappresentate in modo binario, ossia attraverso sequenze di bit inseriti, insieme al testo ASCII, entro i file che devono memorizzare il testo formattato. .doc (Microsoft word) o .odt (Open Office) appartengono a questa tipologia di formati. Sfruttando i caratteri ASCII o Unicode è possibile definire una grammatica di simboli con il proprio insieme di regole, riunendo insiemi elementi a formare comandi di formattazione. Il formato HTML e .tex appartengono a questa tipologia di formati. Esempio: In HTML la regola di composizione stabilisce che i comandi, chiamate anche tag, iniziano on il simbolo “<” e terminano con il simbolo “>”. o <b> (bold/grassetto): è il comando che inizia il grassetto o </b> (bold/grassetto): è il comando che termina il grassetto o Il testo all’interno dei due simboli deve essere rappresentato in grassetto Altri comandi HTML, che rappresentano caratteri speciali come le lettere accentati e sono stati inseriti per poter rappresentare in modo univoco tali caratteri nonostante le sue problematiche di ASCII. In questo modo diventa possibile rappresentare tutte le informazioni per una formattazione complessa come la struttura di una tabella. 30 È possibile verificare “geometricamente”, che la rappresentazione in sintesi sottrattiva (CMY) si può pensare come derivata dalla RGB “invertendo” il cubo e ponendo l’origine nel bianco e gli assi nelle diagonali del giallo (Y), del violetto (M) e dell’azzurro (C). Immaginando di porsi geometricamente davanti al vertice bianco del cubo RGB e proiettandolo su un piano si ottiene la proiezione esagonale del cubo, che dà origine ad un altro modello dei colori, il cosiddetto modello HSI (Hve, saturation, intesnity – tinta, saturazione e intensità) che rappresenta il modo di percepire i colori che viene usato in programmi di elaborazione di immagine e fotoritocco. Una immagine in formato bitmap è rappresentata come un vettore di pixel, normalmente composto dalla successione di pixel di una riga, da destra a sinistra, seguita dalla successione di pixel della riga successiva. Ogni pixel è rappresentato da un valore numerico diverso secondo il tipo di immagini. Una immagine di 1024x1024 pixel (= un megapixel→poco più di un milione di pixel) è rappresentato in memora usando 1 mbyte per i toni di grigio e 3 mbyte per il formato “true color”. Le immagini digitali richiedono molto spazio in memoria. Esistono altri tipi di immagini bitmap, basate sul conetto di mappa di colori o colormap. Per ridurre lo spazio occupato in memoria è possibile ridurre il numero di colori presenti in una immagine. Si introduce una tabella, che associa ad ogni numero della codifica, ovvero un punto estratto dal cubo dei colori che rappresenta un colore particolare. Anche la codifica a toni di grigio diventa una colormap particolare, che associa ai valori dell’intervallo 0-255 e coordinate del cubo con i valori uguali, ossia i punti della diagonale principale del cubo che esprimono le tonalità del grigio, dal nero al bianco. Perché l’immagine possa essere rappresentata e visualizzata correttamente, anche la colormap dovrà essere memorizzata insieme all’immagine stessa. La colormap è un esempio di meta-informazione (o meta-dato) cioè di informazione necessaria per rappresentare e interpretare un’altra informazione. Altri modi per ridurre le dimensioni in memoria di una immagine sono e compressioni. La formula generale per determinare le dimensioni in memoria richieta da una immagine non compressa è: G=LHB o G= grandezza in byte della dimensione della memoria o L=larghezza in pixel delle immagini o H=altezza in pixel delle immagini o B=numero di byte per ogni pixel 31 e. Rappresentazione di suoni Il suono è una vibrazione dell’aria o di un altro mezzo materiale, cioè un susseguirsi di sovra- pressioni e di depressioni dell’aria rispetto ad una media (la pressione atmosferica), praticamente diventa un susseguirsi di one di pressione. Se si pone un oggetto rumoroso in una campana di vetro che viene svuotata dall’aria che contiene, l’oggetto non emetterà alcun suono dal momento in cui non è più circondato da aria. Il modo più semplice per riprodurre un suono è far vibrare un oggetto. Un violino emette un suono quando l’archetto fa vibrare le sue corde. Un suono periodico è una vibrazione che si ripete identicamente uguale a se stessa periodicamente nel tempo. Un suono periodico ha due grandezze caratteristiche, l’ampiezza (il suo valore assoluto massimo) ed il periodo (l’intervallo di tempo dopo quale il segnale si ripete. Dal punto di vista matematico, A=ampiezza e P=periodo; il segnale si può esprimere con la funzione sinusoidale v(t), detto il valore del segnale ad un determinato istante (t): o v(t)= A sin (2π t/p) Introducendo la frequenza f=1/p, diventa: o v(t)= A sin (2π ft) Qualora al valore 0 del tempo il valore del segnare non sia 0 occorre introdurre un termine nei tempi chiamato fase per cui la formula diventa: o v(t)= A sin (2π ft+ϕ) I segni reali sono diversi quando viene pizzicata la corda di una chitarra la vibrazione prodotta tende a smorzarsi nel tempo, riducendo progressivamente la propria ampiezza. Nei segnali reali normalmente non vi sono solo componenti periodiche, ma anche componenti diverse 32 Un segnale sonoro complesso può essere scomposto nella somma di tanti segnali diversi, ognuno avente la sua frequenza, esattamente come un brano musicale è formato da tante cose. Lo spettro del segnale è la figura delle componenti frequenziali Nel caso di segnali complessi, comprendenti componenti periodiche e non, lo spettro diventerà una figura anche molto complessa, comprendente molte barre verticale e forme complesse ad esse sovrapposte. Per quanto complessa sia la forma, avrà un limite inferiore, quindi la frequenza limite inferiore al di sotto della quale non esistono le sue componenti frequenziali, ed una frequenza limite superiore. L’unità di misura è l’hertz (hz), rappresentato dal numero di cicli o vibrazioni al secondo (1/s). Tutti i suoni udibili all’orecchio umano hanno frequenze comprese fra 20 hz e 20.000 hz, anche se alcuni individui riescono ad udire suoni con frequenze superiori. Al di sotto dei 20 hz esistono gli infrasuoni ed al di sopra esistono gli ultrasuoni udibili da animali. Il suono è un insieme di valori continui nel tempo che variano in modo continuo entro un intervallo di ampiezze possibili. Per trasformarli in un segnale digitale occorre discretizzarli nei valori, trasformandoli in numeri discreti raccogliendone dei campioni. Nel processo di campionamento viene misurato il valore istantaneo del segnale che viene poi memorizzato. Se il numero di campioni è troppo basso rispetto alla frequenza del segnale, il segnale stesso è riproducibile a partire dai campioni solo in modo grossolano. Più alto è il numero di campioni nell’unità di tempo, ossia più è alta la frequenza di campionamento, più la forma d’onda è riproducibile in modo preciso. 35 rispetto al frame iniziale. Combinando questa tecnica di memorizzazione delle differenze con la compressione dei singoli frame si ottengono livelli di compressione anche di 100 volte. MPEG è un buon compromesso fra la qualità e la riduzione dello spazio occupato. Per calcolare il risparmio occorre introdurre un fatto di riduzione, tipicamente compresso fra 1/10 e 1/15 e dipende dai tipi di compressione effettuata. h. Gli standard per la rappresentazione dei dati in formato digitale Esistono standard pubblici per l’espressione di dati ed informazioni come insiemi di byte, riconosciuti da molti produttori di strumenti. Ma spesso i produttori di software hanno anche sviluppato rappresentazioni proprietarie dei dati. Ciò è vero per i dati strutturali, ossia le rappresentazioni digitali anagrafiche. Ogni produttore di software ha sviluppato il proprio standard per questo tipo di dati. Le rappresentazioni di questi tipi di dati appartengono a: o Tracciato a record con campi separati da delimitatori: ▪ Ciascun record è un blocco dati corrispondente ad una informazione unitaria del business ed ha un delimitatore finale ▪ I singoli elementi che compongono le informazioni, chiamati campi, sono sperarti gli uni dagli altri da un carattere speciale, chiamato delimitatore di campo ▪ Uno dei più usati formati di questo tipo è o CSV (=comma separated value), un file di testo dove ogni riga è un record e i delimitatori dei campi sono le virole o i punti e virgola ▪ Il CSV può essere letto e scritto dai fogli elettronici Excel (microsoft office) e calc (open office) o Tracciato a record con campi a lunghezza fissa ▪ I limiti dei campi sono dati dal numero di caratteri ad essi assegnati ▪ Il limite di questo tipo di rappresentazione dati è lo spreco di spazio quando rappresentano elementi che occupano meno dei byte assegnati ▪ Questo tipo di tracciati è molto usato nei sistemi IBM per l’interscambio di dati fra programmi diversi o Tracciati binari ▪ Varie combinazioni con il tracciato a record con campi separati da delimitatori e il tracciato a record con campi a lunghezza fissa ▪ Si sta riducendo la loro presenza o Basi di dati non relazionali ▪ Rappresentazioni strutturate entro i DBMS non-relazionali; si chiamano database management systems e gestiscono gli archivi dei dati disaccoppiando la loro rappresentazione delle applicazioni ▪ Sono presenti diversi tipi di database management systems sul mercato o Basi di dati relazionali ▪ Rappresentazioni con i database management systems relazionali dove gli archivi sono visibili ai programmi esterni come insiemi di tabelle, collegate fra di loro ▪ C’è un linguaggio standard chiamato SQL, structured querd language, con cui si compiono operazioni di lettura o interrogazione e scrittura sui dati ▪ La maggioranza di dati strutturati è memorizzata nei database management systems relazionali, che ha in parte ridotto i problemi 36 ▪ Ogni database management systems ha il suo formato proprietario di rappresentazione interna dei dati e le sue estensioni proprietarie rispetto allo standard nel linguaggio SQL, con cui i programmi o gli utenti interagiscono con esso. Il tracciato a record con campi separati da delimitatori, il tracciato a record con campi a lunghezza fissa e i tracciati binari pongono un grande vincolo per poteri usare, ovvero deve essere nota a priori la struttura del tracciato per poterlo leggere e dare un significato ai byte che lo compongono. Senza metadati questi insiemi di byte risultano incomprensibili e richiedono una operazione di interpretazione da parte di un professionista esperto per poter recuperare le informazioni in essi contenute; ciò viene chiamato la ricostruzione del tracciato. Questo problema è meno presente nei DBMS anche se esistono basi di dati complesse la cui struttura diventa difficile da interpretare. Il problema della conversione dei dati di rappresentazione dati, fra applicazioni o sistemi diversi, è critico entro i sistemi informatici di qualunque azienda od organizzazione e può generare costi notevoli o vincoli e criticità nei processi cui l’informazione è associata. 6. XML: L’esasperato elettronico Il problema della rappresentazione elettronica dell’informazione e l’interscambio dati fra applicazioni e sistemi diversi, è critico per qualunque azienda od organizzazione. Per ovviare questo problema sono state proposte molte soluzioni, tra cui l’uso dell’extended markup Language (XML). L’XML è un metalinguaggio, ovvero un linguaggio per definire gli altri linguaggi, basato su tag, ossia particolari parole chiavi racchiuse fra i caratteri ASCII “<” e “>”, con rilevanza semantica. XML consente di definire una struttura avente contenuto semantico implicito nei documenti. Un documento XML è un file di testo, dove sono presenti meta-informazioni che ne definiscono un’significato. Ciò consente di interpretare facilmente le informazioni a programmi diversi da quelli che hanno creato il file. XML definisce una sintassi rigorosa per la successione dei tag, per cui si parla di documenti “well formed” quando rispettano tale sintassi. Si distinguono due categorie di documenti: - Documenti di definizione, che definiscono il formato di un documento XML, per i quali si possono usare il formato data byte definition o il formato schema. - Documenti con un contenuto di informazione, che spesso non includono lo schema o il DTD che li definisce. XML riguarda il contenuto semantico di un documento. Un linguaggio basato su XML, l’extended stylesheet (XSL), serve ad associare ad un documento XML una rappresentazione grafica, ovvero a trasformare und documento XML in ogni altro tipo di documento. L’uso dell’XML per definire tipi di dati è in continua espansione. Anche le più moderne tecnologie di integrazione fra i sistemi informatici, sia all’interno che all’esterno dell’azienda, si basano sull’uso di XML come componente interno. Esistono dei database XML. Non si deve pensare che XML consenta di rappresentare solo dati di testo, anche dati multimediali o file binari possono esser inclusi entro un file XML. Lo svantaggio di XML è l’incremento delle 37 dimensioni dei file dovuto ai tag, che può raggiungere anche il 500% delle dimensioni di un file a “tracciato compatto che rappresenta le informazioni in formato digitale”. 7. La comunicazione dell’informazione Comunicare significa trasmettere le informazioni da una parte all’altra dell’universo. Sono sempre presenti alcuni elementi comuni. La comunicazione ha lo scopo di trasferire delle informazioni da un punto all’altro. a. Il modello teorico della comunicazione In qualsiasi processo di comunicazione si possono identificare: o Messaggio: trasporta una informazione da una sorgente ad un'altra destinazione o Sorgente: genera il messaggio o Canale: sul quale il messaggio viene trasportato o Destinazione: deve ricevere il messaggio Il messaggio per essere trasportato dalla sorgente al destinatario deve essere collocato sul “mezzo trasmissivo” fisico, indicato con canale, che gli permetterà di giungere a destinazione. Questo mezzo trasmissivo ha caratteristiche diverse a seconda del processo di comunicazione cui è destinato. Per trasportare il messaggio serve una variazione di grandezza fisica che si prone nello spazio attraverso il canale e che prende il nome di segnale. Se dovesse mancare anche uno solo di questi elementi, nessuna comunicazione potrebbe aver luogo. b. I canali reali: distribuzioni e alterazioni del messaggio In ogni processo di comunicazione si possono verificare delle interferenze da impedire la corretta trasmissione del messaggio. Queste interferenze sono degli eventi indesiderati e 40 Il passaggio di informazione associate ad un processo può avere punti critici e d’inefficienza. Per rendere rapidi ed efficienti i processi è necessario conoscere ed analizzare le attività dei processi con legami logici e informazioni. 9. La crescita incontrollata di informazione: information over load Una quantità molto grande di informazione non necessariamente genera conseguenze positive e produce conoscenza, si definisce information overload l’aumento incontrollato di informazione disponibile, che comporta un maggiore sforzo per filtrare l’input costitutivo da dati grezzi, estraendone le informazioni utili. Ciò realizza quando avviene un abuso da parte dei processi organizzativi della possibilità di creare una nuova informazione. L’avvento di internet ed il suo uso non regolato per la ricerca di dati nelle aziende ha contribuito alla creazione di overload d’informazione e al boom dell’uso di strumenti software di ausilio alla gestione della conoscenza. Una indicazione quantitativa dell’information overload è data dalla crescita delle mole di dati presenti su internet, amplificata dall’avvento della digitalizzazione di dati multimediali. 41 Capitolo 4: Analisi di processo aziendale 1. Introduzione I processi business o processi aziendali rappresentano il modo di funzionare dell’azienda o organizzazione. Coloro che operano entro i processi sono i primi clienti interni dei sistemi informativi. Esistono molti processi, con caratteristiche diverse e dipendenti da settore dell’azienda od organizzazione. Si tenta di introdurre un’analisi di dettaglio dei processi, ovvero la business analysis o analisi business. 2. La business analysis La business analysis o analisi business è l’insieme di attività, conoscenze e tecniche necessarie per identificare le esigenze di business in un’organizzazione e determinare le migliorie e soluzioni agli eventuali problemi esistenti. L’analisi business è la disciplina che consente di identificare le esigenze di business e determinare le soluzioni ai problemi aziendali. Ciò possono essere delle ottimizzazioni nei processi, cambiamenti organizzativi, pianificazioni strategiche, sviluppo di policy e/o di procedure; spesso includono la progettazione e la messa in opera di appropriate soluzioni IT. La disciplina spesso si sovrappone con l’analisi dei requisiti, chiamata anche requirement engineering, ma l’analisi business focalizza l’attenzione sull’identificazione dei cambiamenti strategici necessari affinché l’organizzazione ottenga i propri obiettivi strategici. Chi realizza l’analisi business è il business analyst (o analista business). Gli analisti business che lavorano nell’ambito dello sviluppo di sistemi e soluzioni software possono essere indicati come IT business analyst, technical business analyst, online business analyst o system analyst. Egli lavora a contatto con i vari stakeholder di un’organizzazione per definire, analizzare, comunicare e validare le richieste di cambiamento ai processi business e alle loro procedure, alle policy e ai sistemi informativi. L’analista business deve comprendere i problemi del business e le opportunità nel contesto dei requisiti e deve definire e raccomandare le soluzioni per rendere meglio possibile all’organizzazione il raggiungimento dei propri scopi. Una componente fondamentali dell’analisi business è la requirement elicitation o elicitazione dei requisiti.; “elicitazione” indica il mettere in evidenza le esigenze, latenti o potenziali ed estrarre informazioni o risposte. Ciò richiede la necessità di coinvolgere attivamente tutti i soggetti interessati nella definizione dei requisiti. In base alla definizione standard IEEE 610,12-1.990, un requisito è: - Una condizione o capacità necessaria per una delle parti interessate per risolvere un problema o raggiungere un obiettivo - Una condizione o capacità che deve essere soddisfatta o posseduta da un sistema o componente del sistema per soddisfare un contratto, standard, specifiche o altri documenti formalmente istituite - Una rappresentazione documentata di una condizione o capacità I requisiti possono suddividersi in: - Requisiti di business (business requirement): definizioni di alto livello delle finalità, degli obiettivi, o delle esigenze dell’organizzazione - Requisiti utente (user requirement): formalizzazioni di esigenze di un particolare stakeholder o di una classe di stakeholder - Requisiti funzionali (functional requirement): formalizzano il comportamento e le informazioni che la soluzione IT da realizzare gestirà - Ipotesi e vincoli (assumption e constraint): identificano aspetti del dominio del problema che non sono requisiti funzionali di una soluzione IT e possono limitare o influenzare la progettazione della soluzione stessa 42 - Requisiti implementativi (implementation requirement): descrivono capacità che la soluzione IT deve avere per agevolare il passaggio dallo stato attuale della situazione allo stato futuro desiderato. - Requisiti di qualità di servizio (quality of service requirement): rappresentano condizioni che non riguardano direttamente il comportamento o la funzionalità della soluzione, ma piuttosto descrivono le condizioni ambientali e/o di operatività entro le quali la soluzione IT dovrà garantire livelli precisi di funzionamento o le qualità che la soluzione IT deve avere. Un’altra componente molto importante dell’analisi business è la business modeling o modellazione business, che è l’attività di rappresentare i processi di un’organizzazione al fine di analizzarli, scoprire eventuali difetti, misurare efficacia ed efficienza e migliorare il funzionamento. La modellazione business conduce alla definizione di una business architecture o architettura business per l’organizzazione. L’architettura business è una cianografia che provvede una conoscenza comune della sua organizzazione e viene usata per allineare gli obiettivi strategici e le esigenze tattiche. Definisce la struttura funzionale di un’organizzazione in termini di servizi business e delle informazioni business per essi necessari. La business capability o capacità business è l’abilità che i servizi business hanno di provvedere le funzionalità business necessarie portando i risultati business attesi e il valore ad essi associato. a. Obiettivo dell’analisi L’obiettivo dell’analisi dei processi è arrivare a realizzare la loro gestione ottimale, in modo da ridurre i costi ed aumentare il valore da essi prodotto; ciò si chiama Business Process Managment (BPM) e deve partire da un chiaro ed efficace percorso di modellazione dei processi Qualora l’analisi dello status esistente di un processo ne evidenzi troppi limiti o criticità, può diventare necessaria una trasformazione del processo stesso, per giungere all’obiettivo di ridurne i costi e/o aumentare il valore associato; ciò è il Business Process Reengineering (BPR) ed è stata definita come metodologia per superare i problemi legati all’uso non ottimale delle risorse informatiche entro le aziende. Nel corso della prima informatizzazione delle aziende molto spesso gli strumenti informatici vengono inseriti senza cambiare le procedure con la conseguenza di non migliorare o peggiorare l’efficienza dei processi; ciò è la meccanizzazione dei sistemi informativi. Il Business Process Improvement (BPI) è l’intervento progressivo sulle singole inefficienze rilevate da un’analisi in modo da creare un miglioramento continuo delle prestazioni complessive del processo stesso. Il Business Process Reengineering e il Business Process Improvement sono metodologie di lavoro ampiamente utilizzate nelle grandi organizzazioni e si propone di migliorare l’efficienza dei processi attraverso la loro analisi, l’individuazione delle attività critiche o inefficienti e l’adozione di opportune azioni correttive. 3. Analisi dell’interno di un processo: i diversi punti di vista Un processo può avere una struttura interna complessa. In un processo avvengono delle trasformazioni, le entità in gioco sono collegate fra di loro e con gli attori interni ed esterni al processo, e possono essere condivise fra più processi. L’analisi del processo deve considerare le varie caratteristiche del processo stesso allo scopo di condurre a modelli utili. L’uso di modelli grafici e semi-grafici può essere di grande aiuto nello svolgimento dell’analisi stessa. 45 5. Analisi del processo come successioni di caso d’uso (di strumenti) Nei diagrammi di attività l’enfasi viene posta sulla attività, senza specificare chi e come le compie; anche se sono presenti come oggetti le rappresentazioni di attori, non viene esplicitata l’azione compiuta dagli attori, ovvero l’interazione fra più entità presento allo scopo di realizzare l’attività. Gli use case diagram le singole attività sono aperte cosi possono essere viste come interazioni fra più attori o fra un attore ed un sistema. Nell’ambito dei sistemi informativi nella maggior parte dei casi il sistema identifica un sistema informatico. Il dettaglio dei singoli casi d’uso diviene una successione di interazioni elementari compiute dall’operatore, soggetto attivo della situazione, e dalle conseguenti risposte del sistema. I diagrammi si concentrano sul punto di vista dell’azione o dell’interazione fra un utente ed un sistema. In un’ottica di processo viene richiesta una definizione dell’azione sotto forma di interazioni e quindi identificare un sistema che svolge le azioni, i suoi confini e l’operatore che gli fa compiere le azioni dell’azienda. Un caso d’uso o un use case è una sequenza di transazioni, eseguita da un attore in interazione col sistema, la quale fornisce un valore misurabile per l’attore. Diventa chiaro il legame fra il caso d’uso e l’attività. Lo use case è un contratto, che descrive l’interazione fra due entità che interagiscono fra loro consentendo di stabilire i servizi forniti, i servizi richiesti, gli utenti abilitati e i vincoli dell’erogazione. Per individuare un caso d’uso il primo passo è quello di trovare un confine preciso per il sistema/sottosistema/componente che si sta analizzando. Una volta definito il confine si può stabilire cosa fa il sistema rispetto all’esterno e identificare attori e use case. Un caso d’uso 46 quindi è una sequenza di transizioni in dialogo col sistema, comporta sempre uno o più attori, rappresenta cosa il sistema offre all’attore ed è mappato alle attività di business. Uno use case è una situazione tipica di utilizzo del sistema e comprende vari flussi possibili di esecuzione; è un importante parte di funzionalità, completa dall’inizio alla fine. Un attore rappresenta un’entità esterna al sistema che interagisce col sistema; individua un ruolo. Attori e use case sono sempre collegati fra loro, un attore isolato non può interagire col sistema, mentre uno use case isolato non fornisce alcuna funzionalità all’esterno. Un attore può essere: - Attivo: inizia uno use case - Passivo: partecipa ad uno use case L’attore è l’omino stabilizzato, il sistema è esplicitato con un rettangolo e il caso d’uso con un’ellisse. Il caso d’uso nelle fasi successive di analisi viene espanso nella sequenza delle transizioni, ovvero di singole azioni od operazioni che lo compongono. Rispetto ad una attività però qui viene esplicitato chi fa cosa. L’uso dei diagrammi serve, una volta identificati i singoli casi d’uso, a esplicitare le relazioni con gli attori ed eventuali relazioni di dipendenza e successione temporale che esiste tra i vari casi d’uso. La costruzione di un diagramma delle attività è stata fatta con precisione ed è molto probabile che a ciascuna attività venga a corrispondere un singolo caso d’uso. L’analisi può procedere dal processo alle attività e da queste ai casi d’uso, questo percorso è usato dagli analisti di processo; i progettisti informatici procedono dai casi d’uso alle attività. 47 6. Analisi delle entità che prendono parte ai processi Nei diagrammi precedenti non viene focalizzata l’attenzione sulle entità che sono oggetto delle attività, se non come elementi che fanno parte del flusso o come concetti entro le descrizioni associate ai singoli diagrammi; queste entità possono essere comuni a più attività o essere l’output di un’attività e l’input di quella seguente. Per focalizzare l’attenzione su questo punto di vista serve un approccio diverso, ovvero i class diagram che identifica le entità, espresse come modello formale associato al concetto da esse espresso e le relazioni o associazioni che fra esse intercorrono, che identificano i rapporti che legano le entità definiti dalle molteplicità. Negli object diagram diventa necessario indicare delle istanze concrete di tali entità; per ogni entità concerta al loro interno, definiscono il nome univoco dell’oggetto e la sua classe di appartenenza. Per definire i class diagram è necessario definire la terminologia del sistema reale in analisi, identificando con precisione le entità coinvolte nel mondo reale che hanno importanza per il sistema informativo che lo dovrà gestire. I class diagram sono un’evoluzione dei digrammi entità- relazione. I diagrammi-relazioni e class diagram vengono anche usati per progettare le basi di dati atte a contenere e rendere persistenti i dati aziendali che compongono l’informazione entro l’azienda. Nei diagrammi delle classi i componenti elementari sono le classi stesse, rappresentate come rettangoli se identificano elementi del mondo reale e come romboidi se identificano componenti di informazione che esistono nei sistemi informatici. Le classi possono essere rappresentate a vari livelli di dettaglio e possono essere visti come semplici elementi senza una struttura esplicita, le classi come appartenenti a categorie, rappresentate dagli stereotipi, le classi con esplicitati i propri attributi, ovvero i servizi, le azioni che le entità e le classi rappresentano sono in grado di compiere dietro indicazioni provenienti dall’esterno. I diagrammi delle classi esprimono anche relazioni di tipo logico, di dipendenza, di derivazione e di inclusione, attraverso opportune simbologie, il legame generale che due classi possono avere tra loro è chiamato associazione. Uno schema generale dell’associazione fra classi ha dei concetti importanti: 50 7. Analisi delle interazioni fra gli elementi operanti entro un processo Un limite dei class e objcet diagram è quello di esprimere solo legami “statici” fra entità, senza porre enfasi sulle interazioni dinamiche che fra esse avvengono. Gli use case diagram descrivono interazioni ad un livello molto elevato di astrazione, trascurando molte caratteristiche interne dei sistemi; non rappresentano le entità su un piano paritetico, ponendo enfasi sul ruolo dell’attore. Per valutare con chiarezza un comportamento dinamico vengono aggiunti i diagrammi di interazioni, suddivisi in sequence diagram (diagrammi di sequenza) e comunication diagram (diagramma di comunicazione) che definiscono le interazioni fra le varie entità definite dai class diagram. Le interazioni sono praticamente dei flussi informativi che scorrono tra le classi e possono rappresentare comandi, ovvero invocazioni di servizio fatte da una classe all’altra, oppure trasferimento del controllo del processo dall’una all’altra classe o oggetto. I due tipi di diagrammi sono semanticamente equivalenti. Il diagramma di sequenza ordina temporalmente la sequenza dei messaggi e questo lo rende uno strumento migliore per la comprensione dei vincoli temporali. Il diagramma di collaborazione mette in evidenza i legami di dipendenza tra le classi per l’esecuzione delle attività. Vediamo gli elementi sintattici di base dei sequence diagram: I diagrammi sono formati da un insieme di oggetti sotto i quali stanno gli assi temporali diretti verso il basso. I messaggi che gli oggetti si scambiano sono espressi tramite le frecce e in corrispondenza alla durata dell’azione svolta dagli oggetti in rispondenza ai messaggi sta il rettangolo bianco sull’asse. Gli oggetti possono essere sostituiti dalle classi e indicano che in quel momento viene rappresentato il ruolo della categoria e non del singolo componente della categoria. I messaggi che rappresentano i flussi informativi che gli elementi del digramma si scambiano possono essere di vari tipi. 51 I comunication diagram pongono l’enfasi sui legami che i flussi informativi associati ai messaggio creano. I diagrammi di collaborazione enfatizzano le relazioni fra oggetti e i diagrammi di sequenza enfatizzano la sequenza temporale delle comunicazioni. La sequenza dei messaggi è meno evidente che nel diagramma di sequenza, mente sono più evidenti i legami tra gli oggetti; gli elementi sintattici sono uguali dei sequence diagram salvo che il nome e la descrizione del messaggio deve essere presente il numero di sequenza del messaggio stesso, per poter conservare l’informazione relativa alla sequenza temporale. I diagrammi di collaborazione vengono usati in fase di progetto, quelli di sequenza in fase di analisi, perché sono più compressibili da parte del committente. I due diagrammi sono isomorfi ed è possibile trasformare uno nell’altro. Possono essere usati anche per visualizzare meglio la mappatura dei processi sulle suddivisioni funzionali dell’azienda, attraverso un matching delle attività espresse da un activity diagram su classi ciascuna delle quali rappresenta una divisione funzionale dell’azienda, aiutando a definire con chiarezza i flussi informativi associati al processo che devono passare tra le varie divisioni funzionali. 8. Analisi del processo come successione di cambiamenti di stato Gli statechart diagram (diagrammi di stato) esprimono una informazione duale a quella degli activity digram focalizzando l’attenzione sul cambiamento di stato di una particolare entità coinvolta nelle azioni. I diagrammi di stato possono descrivere il comportamento nel tempo di un particolare elemento come un oggetto o un intero sottosistema, ovvero l’evoluzione di una interazione; descrivono sequenze di stati ed azioni attraverso cui l’elemento considerato passa durante la propria unità reagendo a eventi discreti. L’enfasi è posta sugli stati. I simboli di base dei diagrammi di stato sono simili a quelli dei diagrammi di attività. 52 Nei diagrammi di stato sono presenti delle biforcazioni o riunioni delle transizioni da uno stato ad un alto I diagrammi di stato possono mostrare l’evoluzione di un documento, rappresentando graficamente la procedura di workflow associata alla catena di elaborazione/approvazione/gestione/archiviazione di quel particolare tipo di documento dal punto di vista stesso. La rappresentazione del processo di lavorazione esaminato dal pezzo meccanico che subisce le lavorazioni stesse. I digrammi di stato esprimono un tipo di rappresentazione duale rispetto a quello del diagramma di attività e sicuramente meno frequentemente necessaria per le analisi di processo. 9. Un esempio completo di analisi Un esempio utile del mondo reale è l’esecuzione della spesa: ▪ Una visione ad alto livello del processo dove sono presenti il cliente (attore) e il supermercato (sistema) ▪ Il primo activity diagram del processo, che lo suddivide in 3 fasi possibili, ponendo enfasi con un punto di attesa il fatto che si dovrebbe terminare la preparazione della lista prima di iniziare l’acquisto dei prodotti. A fianco il use case diagram corrispondente 55 Capitolo 5: Soluzioni informatiche per l’impresa 1. Introduzione Le applicazioni informatiche nei sistemi informativi devono elaborare le informazioni e fornire i servizi necessari per supportare i processi business. In tali applicazioni diventa fondamentale il concetto di interfaccia utente, attraverso cui gli utenti interagiscono con le applicazioni e la produttività che essa riesce a garantire. Le applicazioni tipiche di un’azienda servono a supportare i processi di tipo operativo, di tipo tattico o strategico. Le applicazioni che hanno lo scopo di aiutare la conversione della conoscenza tacita in conoscenza esplicita, come i sistemi di gestione documentale e i sociali network aziendali. 2. Sistema informatico e applicazioni Il sistema informatico si compone delle risorse tecnologiche atte al trattamento, elaborazione e memorizzazione dell’informazione nei formati digitali definiti in precedenza. Il sistema informatico raccoglie, elabora, archivia, scambia informazione mediante ‘uso delle tecnologie proprie dell’informazione e della comunicazione (ICT) Il programma software è un’applicazione software avente una sua identità precisa. Un insieme di applicazioni può andare a formare un sistema software adatto allo svolgimento delle attività di uno o più processi business. Un processo informatico è un programma software in esecuzione, associato allo svolgimento delle attività di uno o più processi business. Un processo informatico usa varie risorse per svolgere il proprio compito. Il DBMS (Data Base Management System) è un sistema software che standardizza l’accesso dei processi ai dati, offrendo delle interfacce generalizzate che permettono la condivisione dei dati da parte dei processi informatici e l’indipendenza dei dati rispetto ai processi. La base di dati o database è un unità logica di elaborazione, cioè una sequenza di operazioni che hanno un effetto globale sul database, vista come un insieme atomico, che completa con successo o fallisce, senza nessuna possibilità intermedia. Una transazione può essere pensata anche come l’insieme delle operazioni informatiche attraverso cui si realizza un’azione od operazione, cioè il componente minimo di un processo business. Una transazione bode delle proprietà ACID (atomicity, consistency, isolation, durability): - Atomicity (atomicità): tutte le operazioni della sequenza terminano con successo (commit) oppure fallisce e l’intera transazione viene abortita (abort) - Consistency (consistenza): una transazione è una trasformazione corretta dello stato del database e al termine di ogni transazione il database deve trovarsi in uno stato consistente - Isoaltion (isolamento): l’effetto di esecuzioni concorrenti di più transazioni deve essere equivalente ad una esecuzione seriale delle stesse; le transazioni concorrenti non devono influenzarsi reciprocamente - Durability (durabilità): gli effetti sulla base di dati prodotti da una transazione terminata con successo sono permanenti, cioè non sono compromessi da eventuali malfunzionamenti Il sistema informatico può essere suddiviso in molti modi e la sua struttura può essere studiata da vari punti di vista. Una stratificazione tecnica, che espande la suddivisone TOGAF, che suddivide il sistema informatico in 5 livelli: - Livello applicativo: applicativi software con cui gli utenti interagiscono e effettuano le operazioni sui dati, ovvero le operazioni di trattamento dell’informazione; gli utenti non addetti alla tecnologia di norma vendono solo questo livello, che ha una struttura interna 56 complessa. Può essere suddiviso in quattro livelli, ovvero un’evoluzione della stratificazione dei processi vista nel modello della piramide di Anthony: o Livello strategico: tratta l’informazione destinata ai top manager, formato dagli applicativi che supportano i processi strategici nella piramide di Anthony. o Livello manageriale: tratta l’informazione gestita dai middle manager, formato dagli applicativi che supportano i processi tattici della priamide di Anthony o Livello di gestione conoscenza: tratta l’informazione gestita dagli operatori di gestione di conoscenza, formato dagli applicativi che supportano i processi di connessione fra il livello operativo e tattico della priamide di Anthony o Livello operativo: tratta l’informazione gestita dagli addetti operativi, formato dagli applicativi che supportano i processi operativi della piramide di Anthony - Livello del software applicativo: software di infrastruttura, che offrono servizi ai software dei livelli soprastanti - Livello dei sistemi operativi: composto dai sistemi operativi che consentono ai calcolatori di funzionare e gestire i vari programmi in esecuzione e dalle librerie di base di componenti ad esse associate - Livello dell’hardware: formato dell’hardware dei computer, suddivisi tra le postazioni dei singoli utenti, chiamate anche workstation o computer client e i computer che ospitano i dati e servizi condivisi fra i vari utenti - Livello della rete: infrastruttura di rete, forata dai cavi e altre strutture di collegamento o degli apparati di trasmissione È necessari espandere ogni livello, valutando le caratteristiche, input, output ed utenti tipici. È importante tenere presente che la strutturazione presentata definisce un modello generale che, in funzione della struttura organizzativa interna del tipo di applicazioni software in uso e dell’esperienza delle risorse umane assumerà caratteristiche specifiche all’interno di ogni azienda. 3. Le relazioni fra i livelli di applicazioni I sistemi di livello operativo costituiscono il componente quantitivamente più presente del sistema informativo. Supportano la registrazione delle attività elementari e delle transazioni che si svolgono nell’azienda. Il loro scopo è supportare le attività routinarie e registrare il flusso delle transazioni entro l’azienda, al livello operativo. La componente fondamentale sono i Transaction Processiong Systems (TPS), chiamati anche Online Transaction Processing (OLTP), che svolgono e registrano le transazioni di routine necessarie per le attività quotidiane dell’azienda. Le caratteristiche degli applicativi del livello operativo sono: o Input: transazioni, eventi o Elaborazioni svolte: aggiornamenti, inserimenti, ordinamenti, unioni, produzione elenchi o Output: documenti, report, liste, riepiloghi o Utenti tipici: personale operativo, supervisori I sistemi di gestione conoscenza sono suddivisi in due componenti: o Sistemi per l’ufficio: aumentano la produttività dei lavoratori su documenti e dati o I sistemi di gestione conoscenza (Knowledge Working Systems (KWS): supportano i lavoratori della conoscenza o knowledge workers nella creazione di nuova conoscenza e chi gestisce i dati ad integrare nuova conoscenza nelle proprie attività, oltre che a gestire i flussi di dati 57 Gli applicativi per l’ufficio: o Input: documenti, programmi, posta elettronica o Elaborazioni svolte: gestione documenti, programmi, comunicazioni o Output: documenti, programmi, osta elettronica o Utenti tipici: impiegati di ogni livello Gli applicativi di gestione conoscenza: o Input: specifiche progettuali, elementi di conoscenza o Elaborazioni svolte: modellazione, simulazioni o Output: modelli, progetti, grafici o Utenti tipici: professionisti, staff tecnico, progettisti I sistemi di supporto dell’attività manageriale favoriscono le attività di controllo e monitoraggio e le attività decisionali ed amministrative dei middle manager. Il loro obiettivo è fornire un quadro preciso di come sta andando l’azienda. Tendono a favorire report periodici e sono composti dai Management Information Systems (MIS), che servono le funzioni di pianificazione e controllo, supportando le decisioni a livello manageriale e traggono i dati dalle applicazioni dei livelli sottostanti. Gli applicativi di supporto all’attività manageriale: o Input: riepilogo dati sulle transazioni, volumi (alti) di dati, semplici modelli o Elaborazioni svolte: report di rutine, modelli semplici, analisi di basso livello o Output: riepiloghi, report delle eccezioni o Utenti tipici: middle manager In mezzo fra il livello strategico e quello manageriale sono i Decision Support Systems (DSS), che rispondono alle esigenze del livello manageriale dell’azienda e aiutano a prendere decisioni in contesti non “unici” o nuovi per l’azienda i Decisions Support Systems si applicano a problemi per i quali la soluzione può non essere completamente nota in anticipi. Gli applicativi dei Decisions Support Systems: o Input: bassi volumi di dati, grandi database ottimizzati per lo scopo, modelli analitici e strumenti di analisi o Elaborazioni svolte: simulazioni, analisi, correlazioni, interattività o Output: report speciali, proposte, analisi delle decisioni, risposte alle interrogazioni o Utenti tipici: professionisti, manager di staff, middle e top manager I Decisions Support Systems possono essere suddivisi in: - Sistemi programmabili: incorporano la conoscenza di esperti umani e richiedono la fase di programmazione, ovvero di trasferimento della conoscenza deli esperti umani al loro interno sotto forma di regole che guidano l’elaborazione - Sistemi automatici: usano tecniche varie per giungere a una decision; richiedono la fase di addestramento, ovvero la presentazione di una grande mole di esempi di ingressi con le corrispondenti uscite già note per poter imparare da tali esempi, estrapolando e definendo le regole attraverso cui proporre le decisioni - Sistemi ibridi: usano caratteristiche di entrambe le categorie precedenti I sistemi di supporto delle attività strategiche aiutano i senior management ad affrontare i problemi strategici e a valutare le tendenze a lungo termine, interne ed esterne all’azienda. Il loro obiettivo è rispondere a quale stato si troverà l’azienda in un anno. Sono formati dagli Executive-Support Systems (ESS). Rispondo alle necessità di livello strategico delle aziende e riguardano decisioni non di 60 indispensabile che nell’azienda i dati e le informazioni sono condivisibili da tutti coloro che ne possano aver bisogno ed è indispensabile una completa integrazione gestionale. Le case produttrici di ERP hanno un’ottica rivolta all’azienda nel suo complesso ed ai suoi processi. Si rivelca che le grandi aziende vanno verso i sistemi ERP industrializzati standard, nonostante i grandi costi che la transizione comporta in termini di adattamento e leggeri rispetto al grande ERP. Molti software gestionali tradizionali si stanno evolvendo rapidamente e danno origine ad un ERP in scala ridotta (ERP lite) che è organizzato in modo modulare simile ad un ERP grande, ma meno programmabile e disegnato specificamente per i processi business più semplici, tipici di una media impressa. Il mercato degli ERP internazionali è dominato da SAP R/3 e dai suoi successori della tedesca SAP AG (ca. 55% del mercato mondiale) cui seguono tre produttori E-Business Suite, PeopleSoft Enterprise e JD Edwards EnterpriseOne (USA-Oracle). Anche Microsoft è entrata nel settore, con i prodotti Great Plains e Navision, oggi integrati nel nuovo prodotto Microsoft AX Dynamics. Il mercato italiano degli ERP lite è più suddiviso e accanto alle suite AdHoc del Gruppo Zucchetti seguono Team Systems con il prodotto omonimo. Esatto ed E di EsaSoftware, SiFides di Sinfo-One, ProJ di GruppoPro, xErp Diaspon di GruppoFormula e molti altri. 5. Il Costumer Relationship Management (CRM) Il Costumer Relationship Management (CRM) è un sistema di interazione con i clienti che integra i dati provenienti dai diversi canali di contatto in un’unica base dati, condivisa da ogni area dell’azienda preposta al contatto con il cliente, ovvero il marketing, vendite e customer service. Il Costumer Relationship Management (CRM) è l’insieme di strategia, processi, cultura e tecnologia, che consente alle organizzazioni di incrementare le performance ed aumentare il valore attraverso una migliore comprensione dei bisogni dei clienti. Il CRM non è solo tecnologia in quanto rappresenta un importante fattore abilitante e non è sono marketing in quanto deve coinvolgere tutta l’organizzazione in un cambiamento che è di tipo culturale. La base di un approccio di marketing supportato da un sistema di Costumer Relationship Managment (CRM) c’è un circolo virtuoso che si sviluppa attraverso 4 fasi e in due marco- componenti: o Il CRM operativo: preposto dalla mappatura e integrazione di tutti i canali di contatto con il cliente e dall’esecuzione materiale di tutte le campagne ed azioni di marketing rivolte al cliente – è una parte dei processi operativi o Il CRM analitico: preposto all’analisi dei dati provenienti dalla componente operativa e dai sistemi gestionali (ERP) per profilazione, segmentazione valutazione dei clienti, al fine di ideare le offerte e le campagne di marketing più adeguate – è parte dei processi tattici e strategici 61 Le fasi per lo svolgimento del “circolo virtuoso del CRM sono: - Identificare e segmentare i propri clienti - Valutare il valore attuale e prosperico - Differenziare le offerte e le campagne/azioni di marketing in funzione del profitto dei clienti target, della redditività attesa, del costo delle azioni ideate - Interagire – si entra in una dimensione operativa del CRM che comporta l’esecuzione materiale delle campagne/azioni - Apprendere e personalizzare – fase che qualifica e distingue un qualsiasi sistema di analisi dei clienti da un processo in ottica CRM e il sistema traccia la risposta positiva o negativa dei clienti contattati al fine di apprendere e adattare progressivamente la propria offerta alle esistenze personalizzate di ciascun segmento di clienti. Un ciclo di apprendimento in ottica di CRM non può trascurare di tracciare anche le nuove e impreviste azioni da parte di clienti che non erano stati compresi nella campagna di marketing in oggetto o che rappresentano nuovi contati per l’azienda. Un cliente può porsi in relazione con l’azienda in qualunque momento e per qualsiasi motivo e la sua interazione deve essere fatta confluire nel sistema con le informazioni relative. Si intende mettere in luce il ruolo proattivo dell’azienda nel comunicare il circolo virtuoso di conoscenza e interazione con i clienti. Un’risultato più importante del CRM è quello di ottimizzare l’interazione con i clienti, indirizzando il giusto messaggio, al giusto cliente attraverso il giusto canale. Il punto di partenza nella definizione della strategia di marketing è l’analisi dei bisogni del cliente, la differenza è la disponibilità di strumenti informatici che ampliano le possibilità di azine. L’estremizzazione del processo è il marketing one-to-one, ovvero il marketing personalizzato per ogni cliente. Per raggiungere al marketing one-to-one è necessario identificare i clienti dell’impresa, classificare i clienti in gruppi omogenei, sviluppare sistemi di interattività con i clienti e personalizzare l’offerta di prodotti e servizi. Un software con funzioni di CRM destinato a piccole e medie imprese è Prometeo di AreaSP, che consente la gestione delle anagrafiche complete dei clienti, la loro gestione dei loro recapiti, la gestione di eventi, la gestione di documenti esterni alla base del programma e la gestione di ogni tipo di associazioni fra queste entità. Il mercato dei grandi software per CRM è dominato dal prodotto Siebel di Siebel Systems; un prodotto open source molto usato anche in Italia è VTiger CRM. 6. Il Supply Chain Management (SCM) Il Supply Chain Management è la gestione della catena di approvvigionamento ed è una metodologia, fondata sui principi della logistica, che include i processi di gestione aziendale che consentono di ottimizzare la consegna di prodotti, servizi ed informazioni dal fornitore al cliente, dove il fornitore e cliente possono essere interni all’azienda. La logistica è una pianificazione dei processi, organizzazione e gestione di attività, mirante ad ottimizzare il flusso di materiale e le relative informazioni all’interno e all’esterno dell’azienda. Si occupa dell’ottimizzazione dei flussi materiali (beni) e quelli immateriali (informazioni), ossia i flussi informativi, all’intero dell’azienda. L’approccio basato sul SCM riconosce che l’integrazione limitata all’interno dell’azienda non è più sufficiente. È necessario ed indispensabile in coinvolgimento della rete di imprese che si trovano a monte e a valle nei processi e nelle attività che producono valore in termini di prodotti e servizi al consumatore finale. Viene definito il concetto di filiera. Le aziende possono essere viste come 62 configurazioni-costellazioni di imprese. La struttura assume una forma reticolare con nodi interrelati ad altri. I flussi informativi associati possono viaggiare via extranet e Internet. Il Supply Chain Management si fonda sulla logistica e mira a costruire ed ottimizzare i legami ed il coordinamento tra fornitori, clienti e distribuzione ed è un complemento indispensabile del CRM nel massimizzare il livello di servizio al cliente finale, ottimizzando contestualmente i costi operativi ed il capitale impegnato. La collaborazione fra chi svolge il ruolo di fornitore e chi svolge il ruolo di cliente è indispensabile e attraverso questa collaborazione si arriva a migliorare alcune funzioni, come lo sviluppo della domanda, la pianificazione della domanda, il trattamento degli ordini, la pianificazione della capacità produttiva e il conseguente utilizzo ottimale degli impianti e la pianificazione dell’utilizzo dei materiali. In un corso di logistica autorevoli esperti hanno definito i sette punti fondamentali del Supply Chain Management (SCM): - Segmentazione della clientela: segmentazione di mercato al fine di offrire un maggiore servizio solo ai clienti capaci di valorizzarlo - Adattamento del processo logistico-distributivo ai diversi segmenti di clientela: adattare le modalità di trasporto, la struttura distributiva e i canali di vendita alle esigenze del singolo cliente. - Ascolto dei “segnali del mercato” e pianificazione collaborativa: evitare la distorsione delle informazioni riguardanti gli ordini di approvvigionamento - Differenziazione dei prodotti al più tardi possibile: maggiore flessibilità e lo stoccaggio del minor numero di prodotti finiti - Approvvigionamento orientato all’efficienza globale: massima collaborazione con i maggiori fornitori - Gestione delle informazioni attraverso l’ICT: prende le decisioni in modo non improvvisato - Misurazione del livello di servizio ottenuto e del costo relativo: dirigere l’azienda nella giusta direzione Tutti i grandi produttori di ERP hanno inserito le funzionalità di SCM nei propri prodotti o sviluppato moduli ad hoc; sono presenti anche altri produttori 7. La business intelligence La business intelligence è fortemente orientata verso i livelli tattico e strategico. Occorre strutturare i dati in modo diverso rispetto al database di produzione, per motivi di prestazioni e organizzazione logica dei dati stessi. La business intelligence si intende un insieme di applicazioni e tecnologie per l’analisi dei dati che comprende i Decision Support Systems, i sistemi di interrogazione e reportistica, gli strumenti di Online Analytical Processing (OLAP), le analisi statistiche, modelli previsionali e strumenti di data mining. Gli scopi operativi della business intelligence sono la reportistica direzionale, cruscotti aziendali, strumenti avanzati di navigazione nei dati, proiezione territoriali dinamiche e sistemi predittivi. È compito della business intelligence di fornire il supporto per estrarre dai dati relativi all’attività quotidiana dell’impresa l’informazione e la conoscenza per guidare l’impresa a livello strategico- decisionale. Il CRM analitico è basato sull’uso delle metodologie di business intelligence. Le basi di dati per l’attività quotidiana di Online Analytical Processing (OLAP) sono caratterizzate dalla normalizzazione completa delle tabelle, un alto numero di tabelle e di associazioni, dati memorizzati al minimo livello di granularità, interrogazioni che richiedono join di molte tabelle, la struttura dei dati che non varia di frequente e l’ottimizzazione per inserimento dei dati e lettura piccolo numero di record alla volta. 65 Le dimensioni di un grande data warehouse dei vari tipi visti finora possono esser di alcune decine di terabyte (ca. 10^12 – 10^14 byte). Attraverso la raccolta di informazioni su Internet o attraverso altre fonti sanno nascendo basi di dati enormemente più grandi, ovvero i Big Data (ca. 10^21 byte) sono chiamati zettabyte. I Big Data rappresentano l’interrelazione di dati provenienti da fonti differenti. L’insieme di tutti questi dati, che viaggiano e transitano attraverso Internet, può consentire a chi li analizza di ottenere una conoscenza completa, comprendente anche gli “umori” dei mercati e/o della società nel suo insieme. 8. Il rapporto azienda-clienti sulla rete: e-commerce ed e-business Dal 1995 nell’ICT si è assistito alla nascita di 4 nuovi comparti: - e-commerce: il commercio elettronico basto su internet - e-business: facilitazioni di funzioni, processi e specifiche strategie aziendali utilizzando tecnologie web/internet per a condivisione e l’integrazione di flussi informativi ed applicazioni - m-commerce: commercio elettronico basato su tecnologie di telefonia mobile - m-business: la facilitazione di funzioni, processi e specifiche strategie aziendali utilizzando tecnologia di telefonia mobile A questi è seguito un nuovo modo di definire le interazioni fra attori coinvolti nei processi business. E-commerce o commercio elettronico è l’insieme di attività d’impresa, per lo scambio di beni o servizi, in cui la transazione tra le parti avviene attraverso delle reti di telecomunicazione. Indicava l’uso del calcolatore come strumento di supporto per lo scambio di documenti al fine di velocizzare una transazione commerciale; oggi si dispone di tecnologie più avanzate che permetto di gestire in modo completo l’acquisto di beni e servizi attraverso il World Wide Web. E-business e m-business tendono ad essere meno usati, ma il loro significato viene integrato in termini e-commerce e m-commerce. La crescita di questo modo di fare business è l’abbattimento dei costi fissi dato che diventa possibile anche per piccole aziende o per privati ad aprire il proprio negozio online e attirare clienti da ogni parte del mondo il commercio elettronico si divide in diverse tipologie in base all’attività commerciale in cui si svolge l’attività e ai soggetti coinvolti che possono avere esigenze diverse. Questa suddivisione influenza anche la scelta degli strumenti tecnologici che un’azienda adotta. Le tre principali categorie sono: - commercio elettronico tra aziende (B2B): un’attività a supporto delle transazioni commerciali tra aziende e non coinvolge direttamente gli utilizzatori finali dei beni e dei servizi prodotti; i soggetti coinvolti sono aziende che si servono dei prodotti di altre aziende per realizzare i propri - commercio elettronico tra aziende e consumatori (B2C): riguarda la fornitura di beni e servizi tra un’azienda e il consumatore finale; il consumatore si reca sulla pagina web dell’azienda e visualizza (e compra) i prodotti mostrati effettuando pagamenti online. La maggior parte dei siti di e-commerce devono comprendere un catalogo elettronico dei prodotti e servizi offerti, un’area di navigazione e ricerca che permette di trovare facilmente i prodotti, un sistema di carello virtuale dove l’utente può aggiungere gli oggetti da acquistare e procedere al pagamento, un sistema di pagamento online sicuro e un sistema di controllo degli ordini che permette di seguire il processo di elaborazione dell’ordine e facilitarne il tracciamento. - commercio elettronico tra consumatori (C2C): forma di commercio recente e popolare grazie ai siti di aste online, che offrono al consumatore la possibilità di vendere ad altri consumatori i propri prodotti e servizi; il sito offre il servizio di asta a imporre le regole e ad 66 amministrare l’ambiente e gli utenti si registrano utilizzando i propri dati al fine di fornire le informazioni per garantire l’identità dei soggetti coinvolti nella trattativa. Per realizzare e gestire un’attività di commercio elettronico di tipo B2C occorre tenere in considerazione alcuni fattori cruciali necessari, ovvero creare del valore per il cliente offrendo prodotti o servizi di qualità a prezzi competitivi, ispirare fiducia, puntare sul web marketing, creare un sito Web accattivante e di facile utilizzo, incentivare il cliente all’acquisto e fidelizzarlo proponendo sconti e offerte speciali, cercare di conoscere il cliente senza essere troppo invadenti e assistere il cliente nel suo ruolo di consumatore. Anche se un venditore seguisse le linee guida possono sorgere delle problematiche come, la difficoltà nella compressione del comportamento dei clienti, mancanza di analisi dello scenario concorrenziale, incapacità di prevedere le reazioni nell’ambiente i cui opera l’impresa, sovrastima delle competenze aziendali o dei sistemi hardware/software adottati, mancanza di coordinazione, incapacità nell’assicurarsi l’impego dei vertici aziendali, incapacità nell’assicurarsi l’impegno dei dipendenti, scarso addestramento all’utilizzo della piattaforma e-commerce realizzata da parte del committente, sottovalutazione dei tempi richiesti per il raggiungimento degli obiettivi aziendali, incapacità di rispettare la pianificazione dei tempi e incapacità di rispettare livelli di servizio per le consegne ai clienti. I cambiamenti strutturali indotti da questi fenomeni sono confinati all’interno delle singole imprese, ma sono anche andati oltre confine. L’e-commerce ha profondamente modificato le modalità di interazione fra impresa e clienti, l’e-business ha avuto un impatto simile su fornitori e dipendenti e l’m-business induce dei cambiamenti più profondi e i suoi effetti stanno influenzando le infrastrutture e dispositivi di interazione, applicazioni ed esperienze e le relazioni e supply chain. La comunicazione tramite la rete si è evoluta rapidamente per effetto dei social media, che hanno cambiato il modo di interagire fra azienda e clienti e anche le interazioni tra le persone nelle aziende. 9. I social media, dentro e fuori l’azienda Una rete sociale consiste di un qualsiasi gruppo di individui connessi tra loro da diversi legami sociali. I legami vanno dalla conoscenza casuale, ai rapporti di lavoro e vincoli familiari. La versione di Internet delle reti sociali, o social media, è una delle forme più evolute di comunicazione in rete. La rete delle relazioni scolai che ciascuno tesse ogni giorno, in maniera casuale, nei vari ambiti della vita, si può “materializzare”, organizzare in una mappa consultabile e arricchire di nuovi contatti. I social media sono portali Web che ospitano gli applicativi che consentono le funzioni suddette, costruiti come applicazioni Web ad hoc con le tecnologie maggiormente diffuse. I siti di social media aiutano gli utenti ad entrare in relazione con altri, condividendo i propri interessi e contenuti digitali. Si creano delle comunità online in cui si collabora, si condivide e si creano relazioni. Il web funge da intermediario o interfaccia neutrale, mediando la relazione tra due soggetti all’inizio sconosciuti, in quanto rende disponibili strumenti adattati a socializzare e a collaborare. Le principali reti sociali sul Web sono: - Personale: passioni e interessi - Professionale: - Amoroso - Di condivisione di filmati - Di condivisione di fotografie ed esperienze e luoghi - Di microblogging In questi sistemi di social media tutto ruota attorno a profilo personale che è una forma straordinaria di marketing virale che consente di affermarsi con successo e allargarsi con successo e allargarsi senza spese di promozione e distribuzione. 67 L’evoluzione in atto del web, intesa come socialità, servizio e collaborazione, e le trasformazioni in atto nell’IT stanno modificando lo scenario tecnologico, ma anche il funzionamento dei mercati e delle organizzazioni. Molte aziende hanno cominciato a collaudarsi in questo ambito, con nuove modalità di prosi nei confronti dei clienti, dalla commercializzazione del prodotto e dalla modalità di comunicazione, alla post-vendita e assistenza. L’elemento determinante dei cambiamenti è il diffondersi delle conversazioni, intese come luogo di relazione e di collaborazione in cui le aziende sono chiamate a produrre informazioni, comportamenti e risultati. Il marketing virale sfrutta la capacità comunicativa di pochi soggetti interessati per trasmettere il messaggio ad un numero elevato di utenti finali attraverso i social media. Si tratta di un’evoluzione del passaparola un’intenzione volontaria da parte dei promotori della campagna. La modalità di diffusione del messaggio segue un profilo tipico che presenta un andamento esponenziale. L’avvento dei social media ha cambiato il rapporto azienda-clienti. L’azienda deve mantenere ciò che promette, pena la perdita di credibilità e reputazione sulla rete, con conseguente perdita dei clienti. C’è necessità di analizzare le conversazioni in rete attraverso gli strumenti in grado di interpretare i Big Data. Queste conversazioni rendono possibile l’emergere di molte strutture informali, di cui è composta un’organizzazione, ma anche di nuovi approcci culturali, organizzativi e tecnologici, con il fine di migliorare le prestazioni, di diffondere l’apprendimento e il senso di appartenenza, e aumentare la motivazione. L’attenzione dei manager si focalizza sul nuovo ruolo che i dipendenti giocano, come parte integrante di una rete potenzialmente sconfinante di conversazioni che vede impiegati, dipendenti e fornitori comunicare tra di loro. Dovendo valutare e quantificare il sapere aziendale, ovvero l’insieme di ciò che l’azienda sa e di ciò che essa non sa di avere, il management pone l’attenzione sulle conversazioni vedendole come uno strumento per favorire la produzione del valore intangibile dell’organizzazione e del suo capitale intellettuale. 10. ICT e business: situazione corrente e possibili evoluzioni future Lo scopo primario dei sistemi informatici è fare business, produrre direttamente reddito o svolgere compiti entro i sistemi informativi. Da un modello tradizionale si passa ad un nuovo modello che è caratterizzato dalla convergenza fra IT e il business, aumento della globalizzazione e business fra imprese, modelli di e-business, un cliente/utente/cittadino che interagisce con l’organizzazione attraverso l’ICT. Nel modello tradizionale c’è una distanza fra ICT e il business e l’interazione tra il cliente e l’organizzazione avviene solo attraverso le risorse umane. Stanno apparendo nuovi tipi di vendita di beni immateriali con risultato diretto della ICT, come la vendita di musica online, la vendita di suonerie e servizi per cellulari, la vendita di film online e la vendita di software scaricato direttamente da Internet. Stanno avendo anche dei cambi drastici anche nell’industria e servizi ICT come la delocalizzazione della produzione software, la delocalizzazione dei centri di calcolo e la delocalizzazione del call center. Per l’azienda diventa una necessità vitale essere rapidi nella reazione ai mutamenti e nuove esigenze imposte dal “mercato globale” dove è necessario un uso ottimale dell’ICT, l’organizzazione per processi, la possibilità di riprogrammare rapidamente i flussi di informazioni associati al lavoro presenti entro i sistemi informativi e le politiche di gestione di qualità dei sistemi informativi stessi. Gli strati funzionali ed applicativi, per offrire i propri servizi al business devono essere adeguatamente supportati dall’infrastruttura tecnologica. 70 Le reti geografiche collegano punti precisi in zone geografiche diverse e non possono rispettare una disposizione particolare, spesso la topologia di queste reti è a maglia. Nelle reti locali tutte le stazioni sono a breve distanza tra loro e possono essere collegate in modo opportuno, rispettando una particolare disposizione. La tipologia è importante per aspetti come l’instradamento dei messaggi e la tolleranza ai guasti, inoltre influenza l’organizzazione logica dei protocolli di livello superiore. Per valutare l’impatto sui sistemi informatici delle reti bisogna analizzare gli aspetti tecnici della comunicazione, partendo dalla struttura delle reti. La funzione di trasmettere byte in flusso bidirezionale e con controllo degli errori da un computer ad un altro, la rete compie numerose azioni diverse fa di loro e tali azioni vengono suddivise in strati in base ad uno schema teorico standardizzato, il cosiddetto modello ISO-OSI, che segmenta la rete in sette livelli. - Livello fisico: definisce le caratteristiche del canale fisico che deve trasmettere il segnale fisico attraverso cui si propagano i bit e la codifica dei bit stessi attraverso le variazioni di tale segnale; sono possibili molti diversi supporti fisici per trasmettere segnali o Doppino telefonico: coppia di fili di rame intrecciati con caratteristiche di impedenza o Cavo coasionale: cilindri conduttori concentrici separati da strati isolati o Cavo a 4 coppie: 4 doppini telefonici indipendenti ed è il più usato nelle reti locali odierne o Cavi in fibra ottica: enormi capacità di trasmissione, ovvero i più alti valori di numero di bit trasmessi per secondo o Sistemi wireless a corto raggio: raggi infrarossi o segnali radio, consentono integrazioni punto-punto fra dispositivi vari e sono efficaci in spazi limitati o Sistemi wireless Lan: onde radio, che consentono di realizzare reti locali in spazi che vanno a u centinaio di metri, senza collegamento fisico fra i computer che ne fanno parte o Sistemi wireless su scala geografica: one radio e realizzano reti geografiche via radio o Collegamento radio via satellite o Collegamento ponte radio terrestre o Cavo elettrico: il segnale viene inviato in modo da non interagire con la trasmissione di elettricità - Livello data link o collegamento dati: definisce i controlli da fare sulla conversione bit- segnale e viceversa, che raggruppa i bit in pacchetti e ne governa il trasferimento da sorgente a destinazione, oltre a definire gli standard per gli indirizzi che identificano univocamente sorgente e destinazione - Livello rete: consente di trasferire pacchetti di dati attraverso reti eterogenee, quindi con diversi standard per data link e diversi supporti fisici, garantendo comunicazioni punto- punto o uno-a-molti. - Livello trasporto: suddividere blocchi di dati in più pacchetti, stabilendo un numero d’ordine e verificando il corretto arrivo, permettendo la ricomposizione del blocco dati originale a destinazione; lo standard usato maggiormente è il Transport Control Protocol (TCP). - Livello sessione: garantisce un controllo di flusso per le informazioni che scorrono sotto forma di byte lungo il canale, dal momento in cui esso viene stabilito al momento in cui viene chiuso al termine della comunicazione. - Livello presentazione: definisce come procedere ad eventuali conversioni di formato qualora i computer in connessione fra loro usino formati diversi per la rappresentazione dei dati - Livello applicazione: l’applicazione che effettua la comunicazione e i compiti assegnati a questi ultimi tre livello dallo standard vengono svolti tutti dall’applicazione, mentre gli altri 71 livelli sono svolti dal software TCP/I, modulo del sistema operativo e dal software che gestisce l’hardware del dispositivo fisico di rete L’avvento delle reti e dei protocolli non proprietari ma aperti ha reso possibile l’evoluzione. 4. L’evoluzione tecnologica dei sistemi monolitici ai sistemi distributivi La manutenzione è sempre stata uno dei maggiori problemi per tutti coloro che si occupano di software. La manutenzione è la fase che segue l’entrata in servizio di un software, che svolge un compito entro un sistema informativo; manutenzione può descrivere due attività: - Manutenzione evolutiva: i cambiamenti che il software deve subire per adattarsi alle nuove specifiche - Manutenzione ordinaria: rimozione di errori che non avrebbero dovuto essere presenti, ma che sono sfuggiti alle fasi di test prima del rilascio del software stesso La maggior parte del costo del software, durante la sua vita operativa, è causato dalla manutenzione. Si sono sviluppate delle architetture software flessibili che rappresentano dei investimenti a lungo termine e ridurrei costi di manutenzione. Il modello basato su mainframe prevede che tutto deve essere centralizzato con il mainframe a rappresentare la cosiddetta unità centrale, spesso chiamato anche “il cervellone”. È collegato un numero molto grande di terminali, di solito aventi lo schermo nero a fosfori vedi; questi termini sono gli IBM 3270 per i sistemi mainframe IBM. Questi terminali possiedono poca memorai perché sono soggetti passivi, privi di sistema operativo, indipendenti da ciò che accade all’interno del mainframe, e adatti solo a stabilire una sessione di lavoro con esso. Possono essere collegati a qualunque mainframe senza richiedere cambiamenti di configurazione. I mutamenti del software hanno luogo sul mainframe e tutti i terminali subiscono automaticamente le modifiche. La manutenzione di questi grandi sistemi di calcolo ha condotto al concetto di legacy e si intende un oggetto di cui non si può più fare a meno, ma che nessuno riesce controllare pienamente. Una situazione di software inadeguato è soggetta a continue correzioni, spesso non documentate, che rendono le successive manutenzioni più difficili di giorno in giorno. I progetti dei mainframe e dei loro sistemi operativi e programmi applicativi erano realizzati molto bene e rappresentavano il meglio dell’esperienza corrente del momento. Gli operatori spesso sono intrappolati tra la pressione degli utenti che volevano sempre nuove funzionalità o semplificazioni di quelle esistenti in tempi brevi e la complessità e rigidezza del sistema stesso. Il risultato era la perdita del controllo completo del sistema, ovvero l’aumento della legacy con la scrittura di centinaia di righe di codice non documentate. Il problema del legay è che cambiano le loro funzionalità a tal punto che tutte le cose che si sono prodotte con la versione precedente diventano obsolete, o l’uso di programmi scritti in linguaggio sconosciuti. La correzione dei programmi rappresenta la prova più evidente della perdita di controllo del codice stesso. 72 Il maniframe monolitico “puro” era destinato a scomparire a causa del legay a causa di problemi di costo di manutenzione e scalabilità. La soluzione di questi problemi venne trovata nel ribaltare la situazione, ovvero nel diminuire il carico computazionale del server e dotare il terminale di funzionalità più intelligenti. Questa architettura p la logica estensione alla programmazione modulare, il cui presupposto in base è la modularizzazione del software, ovvero la separazione di sezioni di codice in tante parti distinte che consento uno sviluppo più facile e una migliore manutenzione 5. I servizi tipici in uso nelle reti aziendali Esiste molta confusione sul termine client-server, in quanto molte architetture che sono per molti aspetti differenti vengono fatte rienarre nello schema client/server. Un programma client opera su un computer server (host), un programma client opera su una postazione client (workstation) e i due programmi comunicano attraverso la rete. a. File server e print server Questo tipo di servizio è uno dei più antichi e permette di procedere in lettura e/o scrittura a un file che non risiede fisicamente sul disco del computer che si sta usando, ma su una apposita condivisione del disco del computer che funge da file server. Il print server è un servizio analogo che consente di condividere fra più postazioni una stampante collegata fisicamente al computer che svolge il ruolo di print server. Tutti i sistemi operativi, freeware o proprietari integrano servizi di file e print server. Le stampanti di rete sostituiscono progressivamente i print server entro computer server con le stampanti stessi. b. Domain server È la centralizzazione della gestione accessi e privilegi, che gestisce in un unico punto l’accesso alla rete e l’accesso alle singole risorse presenti entro la rete. Tutti i sistemi operativi, freeware e proprietari oggi integrano servizi di domain server c. Database server È un Data Base Management System (DBMS), che consente la gestione centralizzata dei dati, condivisi fra tante postazioni clienti. Il client di solito invia le richieste che sono messaggi di testo in linguaggio SQL (structured query language – linguaggio tipico dei DBMS) al server. Il server elabora questi messaggi e produce un inseme di dati che spedisce come risposta al cient, oppure il server effettua la modifica dei dati notificando al client l’azione svolta. Il mercato dei database server è suddiviso fra Oracle Server di Oracle Corporation, SQL server di Microsoft, IBM DB2 di IBM, MySQL, CA Ingres, Postgres e altri poco diffusi. ISO e ANSI sono standard di riferimento per il linguaggio SQL e avrebbero dovuto portare ad una piena compatibilità fra i linguaggi SQL dei vari DBSM. La base del linguaggio è comune, ma ogni produttore ha implementato le funzioni più avanzate creando l’insieme dei dialetti SQL. Le applicazioni vengono sviluppate con un DBMS di riferimento come contenitore dati e l’eventuale porting successivo su un altro DBMS richiede tempo e costi. d. Web server Il servizio World Wide Web (WWW) o Web è basato su particolari computer presenti nella rete, indicati come nodi Web o siti Web, che rendono disponibili le informazioni in 75 Development) tools è indicato solo per applicazioni semplici che dovrebbero rimanere semplici. 7. L’evoluzione del client-server: il 3-tier e il multi-tier Molte delle applicazioni client-server sono di tipo dipartimentale scritte con il modello 2-tier e sono state progettate per supportare poche decine di utenti connessi simultaneamente e per eseguire funzioni non critiche. La gran parte di queste applicazioni sono state scritte per mezzo degli ambienti di sviluppo più in voga e molti produttori di software ed aziende utilizzatrici hanno pensato di espandere le funzionalità e aumentare la complessità. Molte applicazioni hanno iniziato a dimostrare i loro limiti e gli sviluppatori si sono accorti che quel tipo di architettura non era più adatta a supportare il peso delle nuove funzionalità proposte dai manager. Le architetture 3-tier o a 3 livelli aiutano le aziende ad ammortizzare i loro investimenti creando applicazioni che ripagano a lungo termine. Scrive tali applicazioni è complesso e alcuni dei tools che sono stati venduti nel passato sono ancora inadeguati e non forniscono tutti i servizi necessari per supportare un ambiente di calcolo distribuito. Si deve tenere presente il futuro dell’applicazione al variare delle versioni del tool di sviluppo con cui essa è stata costruita. Se ci si riferisce ad una applicazione in termini logici, si osservano tre strati o tier. o Servizi di presentazione (presentation services) Il presentation service gestisce l’interfaccia utente verso il sistema, può essere realizzata come una tradizionale interfaccia grafica oppure anche sotto forma di terminali e potrebbe venire realizzato in tecnologia Web nel qual caso l’interfaccia grafica sarebbe rappresentata dal Web browser. o Servizi dedicati all’elaborazione (process services) Agisce come una sorta di buffer tra il livello superiore e quello inferiore. tutti gli accessi ai dati da parte degli utenti avvengono per mezzo del livello di presentazione, che incorpora tutte le elaborazioni degli input utente come controlli sulla validità delle richieste, analisi e autenticazione di password per accedere ai dati, il controllo del numero di utenti per non superare il limite di sovraccarico del sistema, nonché la possibilità di consentire l’automatizzazione di eventi utili per l’amministratore di sistema o Servizi legati ai dati (data services) Rappresenta il database di dati propriamente detti e la logica che consente di aggiornarli, cancellarli e modificarli. La struttura che si è considerata fino ad ora è una struttura logica, ossia una “guida” per organizzare e scrivere un’applicazione client-server a tre livelli. 76 Esiste una struttura fisica (deployment architecture) associata alla struttura logica, che descrive dove i vari strati software devono essere eseguiti o installati. Non esiste una grande differenza tra la struttura fisica e quella logica e crea una sinergia intrinseca che porta molti effetti benefici. La chiave della programmazione 3-tier è quella di assicurare una netta separazione tra i livelli logici all’interno dell’applicazione. La sostituzione di uno qualunque dei 3 livelli non comporta la modifica degli altri due. Ciò che collega i vari livelli è il middleware e gran parte delle applicazioni 3-tier hanno livelli che comunicano per mezzo di vari tipi di middleware con caratteristiche ben definite e diverse che rappresentano un vincolo per il funzionamento degli strati software che li usano. I benefici di una struttura dal punto di vista logico sono: - Scalabilità: le applicazioni 3-tier scalano molto meglio di quelle 2-tier - Flessibilità: i servizi corrispondenti ai vari strati software possono venire aggiornati e/ sostituiti senza problemi e possono essere aggiornati e modificati da specialisti senza dover conoscere l’intera applicazione - Minor costo a lungo termine: permettono di sfruttare meglio la tecnologia già esistente - Maggiori servizi: l’inserimento di nuovi servizi risulta semplificata dalla presenza del process layer - Aumento della competitività: viene aumentata la velocità di produzione in quanto ogni strato può crescere indipendentemente I benefici di una struttura dal punto di vista fisico sono: - Flessibilità di configurazione: si è liberi di decidere l’hardware adatto per il livello opportuno - Espandibilità: alcune compagnie potrebbero utilizzare dei database gateway sul livello fisico intermedio per consentire agli utenti un accesso trasparente a diverse basi di dati - Trasparenza: se per qualche motivo diventi necessario cambiare l’indirizzo di rete della macchina su cui risiede il database, i clienti non si accorgerebbero di nulla perché il middle- tier che si occupano di questo - Distribuzione dei servizi: possibile distribuire i servizi su più piattaforme che appartengono al middle-tier, sarebbe come i client si dovessero collegare al middle-tier A per richiedere informazioni statistiche e al middle-tier B per richiedere informazioni amministrative Gli Enterprise Resource Planning (ERP), il Costumer Relationship Management (CRM) e il Supplz Chain Management (SCM) rientrano nella categoria architetturale a 3-tier. Un’evoluzione dell’architettura multi-tier è il mondo delle applicazioni Web, in cui il livello finale dell’interfaccia utente è costituito dal browser Web (pagine HTML) e lo strato immediatamente sottostante è un server Web che provvede alla distribuzione di tali pagine, che spesso sono generate dinamicamente da appositi applicativi, eseguiti da estensioni del Web server o dagli application server. 77 Struttura per un’applicazione Web: - Web client: il browser, che visualizza la pagina HTML, ma che è può eseguire istruzioni in linguaggio JavaScript in essa contenute - Logica di presentazione: pagine HTML con lo scopo di visualizzare dati e richieste all’utente - Logica di interazione lato client: istruzioni JavaScript contenute nelle pagine HTML, che può produrre programmi applicativi client; possono consentire di realizzare interazioni utente estremamente complesse e governare il flusso dati tra lightweight client e le componenti server - Connessione HTTP: il canale su cui viaggiano dati - Web Server: gestisce il canale http - Logica di azione lato server: formate dalle web form destinazione delle richieste dell’utetnte e che richiama le funzioni di libreria sottostanti; in Java sono i servlet, in mondo .NET dalle componenti reattive delle Web Form o dalle pagine ASP.NET MVC - Logica funzionale: insieme delle funzioni di libreria che accedono a dati e compiono le operazioni richieste dall’utente attraverso la logica di azione - Server di applicazione: ospita i programmi e le librerie costituenti logica di azione e logica funzionale - Data base server: ospita direttamente i dati (data provider) che costituisce l’interfaccia di accesso ai dati presenti entro altre componenti del sistema informatico 80 La catena delle dipendenze si può leggere partendo dai servizi business, dove si possono scoprire programmi applicativi che servono per il loro funzionamento e le componenti dell’infrastruttura, o partendo da un lato componente di infrastruttura. In questo modo diventa visibile la catena delle dipendenze e si possono prendere decisioni mirate. È conveniente esprimere i diagrammi in modo ricorsivo, aprendo una componente con i suoi dettagli. 10. Panoramica sui dispositivi di storage L’aumento vertiginoso delle necessità di spazio di memorizzazione permanente di dati, data storage o storage, ha condotto a nuove tecnologie e a nuove architetture. La più importante di tali tecnologie è quella degli array di dischi, ovvero Redundant Array of Inexpensive Disks o Redundant Array of Independent Disks (RAID), basata sulla duplicazione dei dati (mirroring) e sulla suddivisione dei dati stessi tra più dischi. Esistono vari livelli di RAID: - RAID 0: suddivisone senza ridondanza - RAID 1: mirroring dei dischi - RAID 2: mirroring e data check - RAID 2: suddivisone dati (byte) e parity check su un disco - RAID 4: suddivisone dati (blocchi) e parity check su un disco blocco - RAID 5: suddivisone dati fra dischi e parity check distribuito - RAID 6: suddivisone dei dati fra dischi e parity check distribuito e duplicato - RAID 0+1: sistema a due livelli, in cui un primo livello di RAID-0 viene duplicato e organizzato in un RAID-1 - RAID 1+0: (detto anche RAID 10) sistema a due livelli, in cui vari sistemi RAID-1 vengono uniti in un RAID-0 A livello pratico sono normalmente in uso sistemi RAID 1,2,5 e 10. Nei sistemi di qualità migliore di RAID è accompagnato dalla caratteristica di hot swap, ossia poter cambiare il singolo disco guasto dell’array, senza dover fermare il sistema o alcuno dei servizi in esso contenendo, garantendo un ottimo livello di business continuity. Il servizio RAID può essere realizzato tramite apposti componenti hardware o via software. Un’evoluzione dei collegamenti tra storage e computer, cosi che oggi troviamo diversi tipi di soluzione: - Sistemi RAID interni al server - Storage device con “bus” dedicato - Network Attached Storage (NAS) – sistema storage autonomo 81 - Storage Area Network (SAN) – batteria di sistemi di storage e di backup autonomo. Per raggiungere livelli più alti di tolleranza rispetto a guasti si usano le architetture ridondate, evoluzione dei cluster, in cui ogni componente del sistema è almeno duplicato, in modo tale da minimizzare le probabilità di guasti. Un altro vantaggio delle architetture ridondate è il bilanciamento di carico o load balancing, ossia la capacità di suddividere il carico di lavoro tra le varie componenti del sistema. 11. Panoramica sui sistemi operativi e i server più diffusi Tentiamo di esaminare le piattaforme di base, ovvero i sistemi operativi usati maggiormente diffusi presso le aziende del panorama italiano. a. IBM z/OS IBM z/OS è il sistema operativo mainframe IBM. I mainframe sono computer server di robustezza eccezionale, sia di hardware che software, ma sono costosi e tutte le loro 82 componenti sono proprietari e prodotto solo da IBM, che ne cura anche l’assistenza e la manutenzione. Il loro uso è limitato ad organizzazioni di ampie dimensioni. L’z/OS ha un’interfaccia utente propria, ma normalmente gli utenti hanno accesso solo agli applicativi cui sono abilitati e non vendono direttamente il sistema operativo gli sforzi di integrazione compiuto dia IBM hanno portano il mainframe ad integrarsi con i sistemi client-server e strumenti come il Web e gli application server direttamente sul mainframe. L’accesso diretto al mainframe avviene mediante terminali dumb o emulatori di terminali da PC. Il DBMS relazionale presente di default in un sistema z/OS è IBM DB2. b. IBM i IBM i è il sistema operativo dei sistemi IBM AS/400, che sono i “fratelli minori” dei mainframe e l’interfaccia utente al sistema è simile. I sistemi AS/400 sono molto diffusi nelle medie imprese, soprattutto del settore manifatturiero, presso assicurazioni e presso alcuni enti pubblici. IBM ha introdotto sistemi di integrazione con il mondo client- server come Rumba e iSeries Access, noto anche come client access. L’accesso diretto ai sistemi AS/400 avviene mediante terminali dumb o emulatori di terminali da PC, attraverso il protocollo tn5250. c. HP VMS e OpenVMS VMS è un sistema server di ottima robustezza, che opera su hardware proprietario. È un’eredità degli anni 90 e si trovano ancora presso aziende server basati su VMS come eredità del passato. I server VMS vengono sostituiti con altre architetture. L’interfaccia utente è a riga comandi ma è possibile usare l’ambiente grafico X-Windows. Il DBMS relazione usato è Oracle. d. UNIX UNIX è usato in molte aziende come server e come client. Occorre distinguere UNIX nei vari “dialetti”, ossia implementazioni proprietarie di vari costruttori: o Sun Solaris: opera su hardware dedicato, basato sui processi Sun Sparc, e su piattaforma Intel ed è uno dei più diffusi, soprattutto nel settore delle telecomunicazioni, dove l’intera infrastruttura di tutti gli operatori di telefonia mobile, dei vari grandi provider di Internet e di telefonia fissa è basata su server Sun. Il DSMB usato è Oracle o IBM AIX: hardware dedicato, basato sui processori IBM PowerRisc; il DBMS usato sono Oracle e DB2. o HP-UX: hardware dedicato, basato sui processori HP PA-Risc ed è usato come server in vari settori e molto ancora come postazione CAD; il DBMS usato è Oracle o Altri Unix: esistono altri sistemi UNIX, ma ormai il loro uso è sempre meno diffuso nel panorama italiano. e. LINUX Linux è un sistema operativo il cui uso è in continua ascesa, a livello mondiale e nel mercato italiano. Opera su quasi tutte le piattaforme hardware presenti sul mercato ed, essendo disponibile il suo codice sorgente può essere adattato alle proprie esigenze. Nel mercato italiano viene usato come file server, print server, server di posta elettronica, Web server, database server o server di applicativi. Linux viene usato spesso nei settori della appliances, ovvero computer dedicati a particolari scopi. 85 j. Administration scripting Il linguaggio di scripting per i sistemi operativi sono uno dei tool che ogni buon amministratore di sistemi dovrebbe conoscere. La diffusione dei linguaggi va di pari passo con quella delle piattaforme su cui operano. k. Il linguaggio RPG Il linguaggio RPG è stato usato in passato per realizzare applicativi gestionali operanti su tale piattaforma. Oggi viene usato poco per lo sviluppo di nuovi applicativi, ma la manutenzione della grande mole di programmi esistenti copre una fascia interessante del mercato. l. Altri linguaggi Nel mercato italiano gli altri linguaggi sono ridotti praticamente ad applicazioni di nicchia, o alla manutenzione di software molto vecchio. 13. Le nuove soluzioni di integrazione: Service Oriented Architecture Una buona integrazione delle applicazioni aziendali diventa una necessità per l’impresa; quindi si parla di Enterprise Application Integration (EAI), ossia l’integrazione di applicazioni su scala di tutta l’azienda. L’Enterprise Application Integration (EAI) può avvenire a quattro livelli: - Integrazione orientata ai dati: livello di database o archivi dati, può essere in real time o no e di solito è composta di trasferimenti batch, unioni di dati, repliche di dati o soluzioni complete ETL (etxtraction, tranform, load) - Integrazione orientata a funzioni e metodi: integrazione di applicazioni e può essere diretta con un paradigma request/response o basata su strumenti di middleware o su codice custom, sviluppo ad hoc - Integrazione di interfacce utente: standardizzazione delle interfacce utente entro un unico modello, di solito basata sul browser e quindi si parla di enterprise business portal o enterprise application portal - Integrazione dei processi business: agisce direttamente a livello dei processi business ed è la più efficiente da un punto di vista funzionale, ma non è facile da applicare quando vi sono prodotti software con logica business rigida La Service Oriented Architecture (SOA) è una tipologia di applicazioni software formata da servizi e clienti dei servizi, in relazione tra 1-a-1 tra di loro, ma “debolmente accoppiati”, in modo tale che la variazione di un’interfaccia non forzi al cambiamento dell’applicativo che implementa i servizi stando dietro a tale interfaccia. I componenti fondamentali di una SOA sono: - Service provider (fornitore di servizio): componente responsabile di creare il servizio, pubblicare l’interfaccia del servizio e provvedere l’implementazione effettiva che realizza il servizio, rispondere alle richieste in arrivo - Service requestor o costumer (cliente richiedente un servizio): componete utente del servizio, che deve trovare il servizio per conoscenza diretta o interrogando un repository; deve inviare i dati previsti dall’interfaccia del servizio e ottenere indietro i risultati 86 - Service broker (intermediario): componente intermediario che registra e categorizza i servizi per cui sono possibili interrogazioni con varie chiavi; crea e gestisce un repository dei servizi Le implementazioni esistenti della SOA sono realizzate tramite i Web Service, ed è possibile descrivere un servizio con WDSL, pubblicarlo con UDDI, trovarlo con UDDI, interfacciarvisi con SOAP, inviarlo con SOAP e coordinare i flussi con strumenti come WSFL. Ha preso piede anche l’uso di un tipo più semplice di Web service, ovvero il REST (REpresentional State Transfer) dove gli elementi server mettono a disposizione le proprie risorse attraverso protocolli standard, tipicamente HTTP o HTTPS e le informazioni sono trasmesse attraverso documenti di formato conosciuto a priori tra le parti. Uno dei formati più utilizzati è JSON, ovvero JavaScript Object Notation basato sul linguaggio JavaScript e rappresenta i dati in modo semplice e compatto minimizzando il carico sulla rete. Una componente fondamentale del SOA è l’Enterprise Service Bus (ESB), che aggiunge una coreografia, ovvero un ordinamento dei vari flussi di informazioni, prevedendo anche la traduzione dei dati dai formati interni ad ogni componente verso un formato comune. Grazie all’EBS un singolo processo business con le sue attività che lo formano ed i flussi informativi che lo accompagnano viene “mappato” direttamente sull’ESB, disegnando una successione di trasferimenti di informazione, ossia di flussi informatici, fra i vari Web Service. È richiesto di disporre di una robusta infrastruttura tecnologica e di strumenti di analisi business precisi, che consentano di indentificare con precisione le funzionalità necessarie per compiere le attività componenti i processi. Le metodologie moderne tendono ad usare l’analisi di UML for Business. Un’ulteriore evoluzione è la visione del processo come un workflow, introducendo l’ordine di esecuzione di passaggio delle informazioni tra i vari Web Service, ciascuno dei quali diviene una unità elaborativa. L’orchestration o orchestrazione prevede la gestione automatica di tutte le fasi di coordinazione attraverso l’inserimento di strutture di controllo, che combinino tra loro i Web Service seguendo le direttive di appositi programmi supportato da vari produttori. Molti dei grandi produttori di software come Microsoft, Oracle e IBM stanno trasformando i loro strumenti infrastrutturali e di sviluppo per rendere sempre più facile realizzare architetture basate sul modello SOA, che sembra affermarsi come modello di riferimento per il software do grandi aziende ed organizzazioni per i prossimi anni. Si accompagna l’avvento del virtual e del cloud computing. 14. Il grid computing L’approccio alla base del grid computing è quello di offrire servizi di calcolo in modo “impersonale” e mascherando i dettagli di tali servizi in analogia con quanto accade nella rete elettrica. Il grid computing, spesso basato nella sua infrastruttura sugli standard dei Web service, offre tre categorie di servizi: - Storage grid: offre una grande quantità di spazio di memorizzazione permanente, senza che gli utenti o i sistemi di calcolo client conoscano i dettagli dell’infrastruttura 87 - CPU grid: offre la capacità di usufruire per le elaborazioni della CPU di computer connessi alla rete, non usata per altri applicativi, garantendo un uso ottimale delle risorse di calcolo presenti e diminuendo i tempi necessari per le elaborazioni complesse, quali aggregazioni di dati, simulazioni ecc. È un’evoluzione del calcolo distribuito. Il CPU grid è il virtual computing - Application grid: offre la capacità di usare applicativi complessi come i sistemi CAD o la simulazione, accedendo ad essi in modo efficace attraverso la rete, senza essere direttamente presenti sulla macchina dove sono installati. 15. Virtual computing e macchine virtuali È un’applicazione basata su un approccio simile al grid computing, il cosiddetto virtual computing, che consiste nell’interporre fra l’hardware e i livelli software uno strato ulteriore, chiamato anche macchina virtuale (VM-Virtual Machine). La macchina virtuale è un’emulazione completa di tutto l’hardware di base che forma una piattaforma e viene “percepita” dal sistema operativo installato al suo interno come se fosse una piattaforma hardware reale. L’installare entro uno server un livello di macchina virtuale consente di separare le risorse in modo completo. I sistemi contenuti dentro le macchine virtuali diventano separati fra loro e un eventuale guasto molto grave in una applicazione può condurre solo al blocco della macchina virtuale in cui essa opera, senza interferire in alcun modo con le applicazioni presenti entro le altre macchine virtuali. Viene realizzata la completa separazione dei servizi presenti in una stessa piattaforma hardware. Nei sistemi virtuali di classe enterprise, dove esiste un sistema operativo specifico per ospitare le macchine virtuali, queste possono essere “mappate” dinamicamente su architetture hardware distribuite: durante il normale funzionamento le risorse ad esse dedicate possono essere modificate da permettere un buon bilanciamento rispetto al carico. Storicamente le macchine virtuali derivano o sono ispirate dalle architetture a sottosistemi IBM presenti nei mainframe. I software per le macchine virtuali più diffusi nella classe base, in cui la riconfigurazione di una macchina virtuale ne richiede il riavvio, sono VMWare Workstation e VMWare Player, entrambi prodotti commerciali ma disponibili anche con licenza gratuita, VirutalBox di Oracle e XEN di open source. Nella classe enterprise troviamo VMWare VSphere ESX, che non richieste un sistema operativo sottostante in quanto contiene un Linx e si installa direttamente sull’hardware. Altri sistemi diffusi sono Hyper-V di Windows, KVM Enterprise, XEN versione enterprise, OracleVM e le funzionalità di virtualizzazione delle ultime versioni dei sistemi UNIX commerciali di classe enterprise come Sun Solaris e IBM AIX. 90 Capitolo 7: Le professionalità nei sistemi informativi 1. Introduzione Il ruolo della componente umana entro i sistemi informativi è fondamentale, in quanto sono le risorse umane ad utilizzare le risorse tecnologiche secondo le regole espresse dalle procedure aziendali che formano i processi business. Le risorse umane fanno funzionare al meglio il livello applicativo e il livello infrastrutturale. Pertanto la efficienza e l’efficacia di un sistema informativo dipendono dalle risorse umane e dalla loro abilità nell’usufruire delle risorse tecnologiche e nell’applicare le procedure aziendali. 2. Risorse umane e il loro ruolo I ruoli espressi dalle risorse umane possono essere molteplici e fortemente dipendenti dal contesto e spesso in un piccolo gruppo la stessa persona si troverà a ricoprire più ruoli. A livello internazionale sono state introdotte alcune classificazioni ufficiali delle figure professionali per l’informatica, che si possono trovare nel European e-Competence Framework e nel EUCIP (European Certificatio of Informatics Professionals). Esistono anche delle classificazioni specifiche per settori particolare entro l’informatica o sono comunque collegate. Ciascuna di queste classificazioni definisce ruoli e posizioni entro il contesto IT. Le classificazioni sono simili, ma presentano alcune differenze. Bisogna distinguere tra gli ambienti orientati allo sviluppo, dove viene sviluppato o personalizzato del software, e gli ambienti orientati in prevalenza all’esercizio, in cui lo scopo del personale informatico è di garantire il buon funzionamento delle risorse tecnologiche inserite nel sistema informativo. Negli ambienti orientati allo sviluppo ci sono più ruoli con maggiori specializzazioni. È importante ricordare che lo sviluppo può essere interno od esterno all’azienda destinataria finale del sistema software che viene sviluppato. La sezione o divisione aziendale che ha necessità di un software esegue una analisi di massima dei requisiti e poi si confronta con il proprio dipartimenti IT. Viene presa la decisione se acquistare il software o produrlo internamente o farlo produrre ad un fornitore esterno. Il dipartimento IT tiene poi i rapporti successivi con tale fornitore. I ruoli canonici tradizionali per un ambiente di sviluppo possono essere il cliente, utente (finale) del sistema, acquirente, venditore, analista funzionale, analista tecnico, analista di progetto, progettista di alto livello, progettista di dettaglia, specialista di ERP, programmatore, sviluppatore interfacce Web, tester, capo area, capo progetto, amministratore di sistema (sistemista), amministratore di DB (DBA), responsabile qualità, responsabile sicurezza, consulente agli acquisti e solution provider. In un ambiente di esercizio i ruoli si riducono all’utente (finale) del sistema, amministratore di rete, amministratore di sistema (sistemista), amministratore di DB (DBA), amministratore di informatica utente e responsabile sistemi informatici. 91 Le aziende di informatica hanno al proprio interno sia sezioni dedicate allo sviluppo e sezioni dedicate all’erogazione di servizi. 3. I dettagli dei ruoli “canonici” a. Il cliente Colui che è disposto a pagare per il valore associato ad un sistema software che viene sviluppato. Può essere esterno od interno all’organizzazione entro cui avviene lo sviluppo. È il rappresentante dell’azienda cliente finale o dell’unità funzionale cliente del servizio di sviluppo entro l’organizzazione. Non necessariamente il cliente è anche l’utilizzatore finale del sistema che viene sviluppato. b. L’acquirente È il funzionario che tratta commercialmente l’acquisto del programma/sistema software. Quasi mai è un utilizzatore finale del sistema ed è quasi sempre maggiormente attento agli aspetti del costo immediato rispetto all’efficienza che avrà il sistema una volta inserito nell’organizzazione c. L’utente (finale) dei sistemi informatici È l’operatore che usa materialmente il sistema software sviluppato. Spesso non ha competenza e nemmeno cultura informatica e ha dovuto imparare da autodidatta la maggior parte dell’uso degli strumenti informatici, ossia difficilmente ha partecipato a corsi di formazione al riguardo. Gli errori dell’utente possono essere molto strani e imprevedibili da chi ha progettato il sistema software. Le aziende hanno iniziato a capire che inefficienze nell’uso dei sistemi informatici sono un grave handicap e una fonte di perdite economiche e perciò il livello di conoscenze informatiche degli utenti è stato fatto crescere. d. Il venditore È colui che deve portare a termine la vendita del sistema informatico, convincendo l’acquirente ed altri rappresentanti del cliente a portare a termine l’acquisto pagando la cifra più alta possibile. I migliori venditori hanno anche competenza tecnica e sanno suggerire soluzioni al cliente stabilendo un rapporto di fiducia con lui. e. L’analista funzionale Ha esperienza di analisi di processo ed ha compreso il processo specifico e le necessità dell’azienda cliente, lavorando con personale di essa. Scrive le specifiche funzionali di dettaglio, formalizzate, che il programma o sistema software deve eseguire. f. L’analista di processo Opera in più contesti più grandi e complessi. È specializzato nell’eseguire uno o più processi entro un contesto specifico. Conosce anche il funzionamento di un ERP e il suo compito è quello di stabilire quanto il processo è distante dal processo “mappato” nell’ERP e quindi di che tipo di Business Process Reengineering deve essere svolto. g. Il progettista di alto livello (architetto o progettista architetturale) Opera entro i progetti di sistemi complessi. Il suo lavoro parte dall’analisi compiuta dagli analisti funzionali e di processi. Deve trasformare i flussi informativi in flussi informatici e definire l’architettura del sistema, decidendo i comportamenti infrastrutturali da usare. 92 h. Il progettista di dettaglio (analista tecnico) Il suo compito è quello di trasformare le specifiche funzionali in specifiche tecniche ed istruzioni realizzative per i programmatori. Esistono varie metodologie codificate per questa azione di trasformazione. i. Lo specialista di ERP (o di altro software complesso) Collabora con l’analista di processo per definire le personalizzazioni e le modifiche che il software deve subire per poter esser inserito proficuamente entro i processi dell’azienda destinataria. j. Il programmatore È considerato il muratore dell’informatica, ma il suo compito è scrivere e verificare il codice del linguaggio di sviluppo scelto. I programmatori possono essere varie decine e a ciascuno dei quali viene affidato lo sviluppo di uno o più moduli software. Deve conoscere meglio il linguaggio di sviluppo e le metodologie utilizzate. k. Il disegnatore di interfacce grafico È un grafico e spesso privo di una profonda preparazione informatica, specializzato nella progettazione e nel disegno delle interfacce utente e delle pagine Web. Deve possedere delle competenze relative ai vincoli che la realizzazione di una pagina Web pone rispetto ad altri strumenti IT. l. Lo sviluppatore di interfacce utente Web È specializzato nella realizzazione di interfacce Web e il suo lavoro è concentrato sulla realizzazione grafica e la realizzazione delle mini-procedure con linguaggio JavaScript presenti entro una pagina Web. Non ha grandi competenze di programmazione. m. Il tester Deve svolgere i test dei moduli software realizzati, sia singoli, sia dopo la loro integrazione a costruire il sistema. Deve stilare appropriati rapporti sul comportamento delle parti verificate in caso di funzionamento corretto o in caso di errori. Per garantire una ricerca efficace degli errori è opportuno che almeno una parte dei test sia compiuta da utilizzatori finali o da personale con il loro modus operandi. n. L’amministratore di sistema (sistemista) È lo specialista operativo della macchina o delle macchine che ospitano il/i software. Deve definire le specifiche tecniche delle macchine affinché il sistema software funzioni al meglio, mentre nelle fasi di esercizio deve controllare e gestire i sistemi per garantire il funzionamento ottimale. I sistemisti sono suddivisi tra coloro che si occupano di gestire i server, normalmente aventi maggiore esperienza, e coloro che gestiscono le postazioni utente. o. L’amministrazione di rete Si occupa delle comunicazioni e il suo compito è gestire l’infrastruttura di rete, dal cablaggio agli apparati trasmissivi, tenendo i rapporti con i fornitori di connettività. Disegna i canali di comunicazione per i flussi informativi associati al progetto stesso. 95 umane sono chiaramente definiti da un organigramma preciso. Sono presenti vari centri di elaborazione dati, anche se negli ultimi anni l’applicazione della amministrazione remota ha prodotto la concentrazione delle attività informatiche in un solo centro. Nelle multinazionali sono presenti sono pochi grandi centri su scala continentale, operando riduzioni del personale e/o impiantando i centri ove il personale costa mento. I centri di elaborazioni dati sono quasi sempre presenti anche consulenti esterni. h. Piccolo comune Deve garantire il funzionamento migliore possibile dei sistemi. Gli addetti ai servizi IT sono molto pochi e spesso condivisi fra più piccoli comuni per ridurre le spese. Il servizio è svolto da consulenti esterni. i. Grande comune Devono essere garantiti i servizi, ma esistono sviluppi interni e personalizzazioni. Devono essere garantiti servizi distribuiti, accessi via rete al cittadino e simili. Sono presenti figure professionali diverse e organizzate in modo analogo alla grande azienda. j. Provincia I centri di calcolo delle province devono gestire comunicazioni e rapporti con i comuni da un lato e con le regioni e lo stato dall’altro. Sono state inserite molte professionalità legate alle comunicazioni, come gli amministratori di rete. k. Regione Le regioni hanno centri di elaborazione dati molto grandi, con centinaia di addetti. Gli organigrammi sono suddivisi per funzioni, ovvero per servizi erogati. l. Piccola banca I sistemi informatici sono suddivisi tra la parte server e informatica utente. Lo sviluppo interno è limitato a personalizzazioni. Gli analisti funzionali sono persone di estrazione economica. Per il resto la strutturazione è simile a quella della media azienda. m. Grande banca Sono presenti diversi grandi centri sul territorio, spesso con capacità di sostituzione, per garantire la continuità di servizio anche in caso di catastrofe. Viene compiuta la teleassistenza ad opera degli addetti all’informatica periferica. Esiste molto sviluppo intero e sono presenti molti consulenti esterni, spesso distaccati da parte di aziende fornitrici. 5. Il nuovo standard di competenze e professionalità nell’IT L’inizio del 2013 ha visto l’emanazione del Decreto Legislativo n. 13: “Definizione delle norme generali e dei livelli essenziali delle prestazioni per l’individuazione e validazione degli apprendimenti non formali e informali e degli standard minimi di servizi del sistema nazionale di certificazione delle competenze”. Questo decreto è pensato per supportare la Legge 4/2013: “Disposizioni in materia di professioni non organizzata”. La Legge 4/2013 è stata emanata per permettere ai singoli di vari strumenti certi per la verifica delle competenze e conoscenze in settori non ancora regolamentati. La legge dà piena applicazione al principio di sinergia tra legislazione e normazione tecnica. L’articolo 6, “Autoregolamentazione volontaria”, definisce quei principi e criteri generali che disciplinano l’esercizio autoregolamentato dell’attività professionale che la norma tecnica di fatto garantisce. Sulla base della legge UNINFO, l’ente federato di UNI per le tecnologie informatiche e le loro applicazioni stanno costruendo la norma standard italiana delle competenze del settore IT e delle 96 professionalità su di esse basate. La norma definisce i requisiti relativi all’attività professionale delle figure che operano in ambito ICT, indipendentemente dalle modalità lavorative e dalla tipologia del rapporto di lavoro, ossia i criteri generali delle figure professionali operanti nel settore dell’ICT, stabilendo i requisiti fondamentali per l’insieme di conoscenze, abilità e competenze che le contraddistinguono. Tali requisiti sono specificati in termini di conoscenza, abilità e competenza in conformità al Quadro Europeo delle Qualifiche e sono espresse in maniera tale da agevolare i processi di valutazione e convalida dei risultati dell’apprendimento nei percorsi formativi del settore. Il CEN, l’ente europeo di standardizzazione, cui anche Uni aderisce, ha pubblicato una serie di documenti di definizione degli standard, detti CWA (CEN Workshop Agreement): - CWA 16234 Riassume l’E-Competence Framework e definisce 5 marco-aree di compiti, entro cui operano le figure professionali del settore ICT, basate sui processi tipici dell’informatica aziendale come la pianificazione strategica e progettazione (plan), lo sviluppo e l’implementazione (build), l’esercizio (run), supporto (enable) e gestione (manage). Queste marco-aree possono essere viste come sequenza o come parte di un ciclo. Per ognuna delle aree è definibile un insieme di attività specifiche e/o di esiti. Tali attività rappresentano l’insieme minimo per definire le 5 marco-aree e non sono vincolanti ogni figura professionale coinvolta può svolgerne una parte e/o essere coinvolta in più marco- aree. Ad ogni marco-area sono associati un insieme di compiti complessi specifichi, che a loro volta richiedono una serie di opportune conoscenze per essere svolti. I compiti complessi definiti dalla versione 2.0 dello standard sono 36. Macro-Area E-Competenza a. Pianificazione strategica e progettazione A.1. Allineamento strategie SI e di business A.2. Gestione dei livelli di servizio A.3. Sviluppo del business plan A.4. Pianificazione di prodotto o di progetto A.5. Progettazione di architettura A.6. Progettazione di applicazioni A.7. Osservatorio tecnologico A.8. Sviluppo sostenibile b. Sviluppo e implementazione (build) B.1. Progettazione e sviluppo B.2.Integrazione di sistemi B.3. Testing B.4. Diffusione della soluzione B.5. Produzione della documentazione c. Esercizio (run) C.1. Supporto dell’utente C.2. Supporto del cambiamento C.3. Erogazione del servizio C.4. Gestione del problema d. Supporto (enable) D.1. Sviluppo della strategia della sicurezza informatica D.2. Sviluppo della qualità ICT D.3. Istruzione e formazione D.4. Acquisti D.5. Sviluppo dell’offerta D.6. Gestione del canale di vendita D.7. Gestione delle vendite D.8. Gestione del contratto D.9. Sviluppo del personale D.10 Gestione dell’informazione e della conoscenza 97 e. Gestione (manager) E.1. Formulazione delle previsioni E.2. Gestione del progetto e del portfolio E.3. Gestione del rischio E.4. Gestione delle relazioni E.5. Miglioramento dei processi E.6. Gestione della qualità ICT E.7. Gestione del cambiamento del business E.8. Gestione della sicurezza dell’informazione E.9. IT governance Una tabella che espande completamente ciascuno dei 36 compiti complessi, definendo che conoscenze ed abilità sono necessarie. - CWA 16458 I criteri attraverso cui si arriva alla definizione dei compiti e delle relative competenze per una figura professionale possono essere espressi definiti: o Missione: ragione fondamentale espressa con verbi come “garantisce”, “assicura”, “contribuisce”, in base al livello di coinvolgimento. o Deliverable: è associato il livello di coinvolgimento secondo la matrice RACI o KPI: indicatori chiave di performance e loro aree di applicazione e tali indicatori devono guidare nella scelta delle attività specifiche per i 5 marco-compiti e delle rispettive competenze, abilità e conoscenze o Qualifiche e certificazioni: titoli formali o attestati acquisiti in contesti non formali o informali di apprendimento o Relazioni e linee di riporto: figure e altri ruoli professionali con cui la figura professionale in esame interagisce o a cui deve rendere conto del proprio operato o Codice etico: può variare da figura a figura secondo le specifiche responsabilità- Questo documento definisce un insieme di profili professionali basati sulle e-competenze e ne stabilisce i dettagli. I profili professionali sono organizzati ad albero: o Business management: gestione lato business ▪ Chief information officer ▪ Business information manager ▪ IT operation manager o Technical management: gestione tecnico-operativa ▪ Quality assurance manager ▪ ICT security manager ▪ Project manager ▪ Service manager o Design: analisi e progettazione ▪ Business analyst ▪ Systems analyst ▪ Enterprise architect ▪ Systems architect o Development: sviluppo ▪ Development ▪ Digital media specialist ▪ Test specialist o Service e operation: garanzia di esercizio ▪ Database administrator ▪ Systems administrator
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved