Dipartimento di Informatica e Sistemistica Procedure di Progettazione e di Documentazione per il Controllo di Sistemi Complessi Prof. ALESSANDRO DE CARLI Dott. Ing. VINCENZO SURACI ANNO ACCADEMICO 2011-2012 Corso di AUTOMAZIONE 1 PROLOGO STRUTTURA DEL NUCLEO TEMATICO: 1. 2. 3. 4. 5. 6. 7. 8. STRUTTURA DI UN SISTEMA CONTROLLATO GESTIONE DI UN PROGETTO COMPLESSO GESTIONE DI UN PROGETTO SPFTWARE PROGETTAZIONE DI UN SISTEMA COMPLESSO MODELLO E SIMULAZIONE DI UN SISTEMA COMPLESSO UNIFIED MODELLING LANGUAGE (UML) STANDARD DI PROGETTAZIONE ESA-PSS05 ESEMPIO DI PROGETTAZIONE E DOCUMENTAZIONE CON UML 2 PROLOGO STRUTTURA DI UN SISTEMA CONTROLLATO 3 PROGETTAZIONE DI UN SISTEMA COMPLESSO STRUTTURA DI UN SISTEMA CONTROLLATO SISTEMA DA CONTROLLARE STRUMENTAZIONE MODALITÀ DI CONTROLLO STRUTTURA DI UN SISTEMA CONTROLLATO 4 PROGETTAZIONE DI UN SISTEMA COMPLESSO STRUTTURA DI UN SISTEMA CONTROLLATO SISTEMA DA CONTROLLARE SISTEMA DINAMICO COMPLESSO A PIÙ VARIABILI DI INGRESS0 E PIÙ VARIABILI DI USCITA MODALITÀ DI CONTROLLO STRUMENTAZIONE • • • • ATTUATORI DISPOSITIVI DI MISURA RETE DI COMUNICAZIONE DISPOSITIVI DI ELABORAZIONE • HARDWARE (CPU, SCHEDE I/O, etc.) • SISTEMA OPERATIVO REAL TIME ALGORITMO DI CONTROLLO STRUTTURA DI UN SISTEMA CONTROLLATO 5 PROGETTAZIONE DI UN SISTEMA COMPLESSO GRADI DI LIBERTÀ NELLA PROGETTAZIONE SISTEMA DA CONTROLLARE STRUMENTAZIONE ASSEGNATO SCELTA MODALITÀ DI CONTROLLO SCELTA GRADI DI LIBERTÀ NELLA PROGETTAZIONE 6 PROGETTAZIONE DI UN SISTEMA COMPLESSO DOCUMENTAZIONE DELLA PROGETTAZIONE SISTEMA DA CONTROLLARE STRUMENTAZIONE MODALITÀ DI CONTROLLO DOCUMENTAZIONE 7 PROGETTAZIONE DI UN SISTEMA COMPLESSO VERIFICA DI VALIDITÀ DEL PROGETTO SISTEMA DA CONTROLLARE STRUMENTAZIONE MODALITÀ DI CONTROLLO VERIFICA DI VALIDITÀ 8 PROLOGO GESTIONE DI UN PROGETTO COMPLESSO 9 PROGETTAZIONE DI UN SISTEMA COMPLESSO PROJECT MANAGER • È LA PERSONA CHE GESTISCE IL PROGETTO PER PORTARE A TERMINE GLI OBIETTIVI, TRAMITE LA CONOSCENZA E L’APPLICAZIONE DI TECNICHE DI PROJECT MANAGEMENT, DURANTE LE VARIE FASI DI VITA DEL PROGETTO • UNA GESTIONE EFFICACE DI UN PROGETTO PREVEDE LA VALIDAZIONE DI COSA VIENE PRODOTTO TRAMITE OPPORTUNE E MIRATE VERIFICHE OBIETTIVI COSTI 1. 2. 3. 4. 5. 6. 7. 8. 9. TEMPO 10. SCOPO DEL PROGETTO PROGETTAZIONE CONCETTUALE PREINGEGNERIA INGEGNERIA PROGETTAZIONE DEGLI APPARATI REALIZZAZIONE DEGLI APPARATI COLLAUDO PRESSO I FORNITORI INSTALLAZIONE ADDESTRAMENTO CURVA DI APPRENDIMENTO RUOLO DEI REQUISITI DEL SISTEMA DA PROGETTARE 10 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 1 - SCOPO DEL PROGETTO INDIVIDUAZIONE DI: SPECIFICHE DEL PRODOTTO (STRUTTURA, PROPRIETÀ) DELL’IMPIEGO DEL PRODOTTO OBIETTIVI CAPACITÀ PRODUTTIVA INVESTIMENTI NECESSARI COSTI PREVISTI TEMPI DI REALIZZAZIONE (COMPRESO L’APPRENDIMENTO) PARAMETRI OPERATIVI EFFICIENZA DELLA PRODUZIONE SCARTI TEMPO MEDIO FRA I GUASTI TEMPO PER IL COMPLETAMENTO DELL’ORDINE TEMPO DI ATTESA PER L’ORDINAZIONE SCOPO DELEMERGENTI PROGETTO PROBLEMI 11 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 2 - PROGETTAZIONE CONCETTUALE PRIME IPOTESI DI REALIZZAZIONE ARCHITETTURA DEL PROCESSO DI PRODUZIONE COMPOSIZIONE COSTRUTTIVA DEL PRODOTTO PROVE SULL’IMPIANTO PILOTA (REALTÀ VIRTUALE) – VERIFICA CARATTERISTICHE OPERATIVE DEL PROCESSO CARATTERISTICHE FUNZIONALI DEL PRODOTTO PARAMETRI OPERATIVI DELLE UNITÀ PRODUTTIVE COSTO FINALE DEL PRODOTTO FINITO PROBLEMI EMERGENTI PROGETTAZIONE CONCETTUALE 12 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 3 – PRE-INGEGNERIA ANALISI DELLA FUNZIONALITÀ DEL PROCESSO PRODUTTIVO DEFINITO IN FASE DI PROGETTAZIONE PROGETTO DI MASSIMA DELLA STRUTTURA DEL SISTEMA DI PRODUZIONE (DAL MODELLO MATEMATICO AL MODELLO STRUTTURALE) INDIVIDUAZIONE DELLE CONDIZIONI DI CRITICITÀ CON IL METODO FMEA (FAILURE MODE EFFECTS ANALISYS) IDENTIFICAZIONE DEI PARAMETRI SENSIBILI NELLE VARIE AREE CRITICHE DELL’IMPIANTO E DEFINIZIONE ATTREZZATURE SU CUI EFFETTUARE PROVE UNITÀ PRODUTTIVA FUNZIONI SPECIFICHE CRITICITÀ PARAMETRI OPERATIVI SCAMBIATORE DI CALORE RISCALDAMENTO MISCELA TEMPERATURA MASSIMA PORTATA VAPORE PREINGEGNERIA NOTE PERICOLO DI CONDENSAZIONE 13 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 4 - INGEGNERIA SI EFFETTUANO PROVE INDUSTRIALI SU PRODOTTI OD ALTRO, UTILIZZANDO MACCHINE ESISTENTI MODIFICATE O PROTOTIPI, PER VERIFICARE LA FATTIBILITÀ INDUSTRIALE DEFINIZIONE SPECIFICHE COSTRUTTIVE DEGLI APPARATI RICHIESTA DI FORNITURA DEGLI APPARATI REVISIONE CONTINUA ED ITERATIVA DI CARATTERISTICHE OPERATIVE DEL PROCESSO CARATTERISTICHE FUNZIONALI DEL PRODOTTO PARAMETRI OPERATIVI DELLE UNITÀ PRODUTTIVE COSTO DEL PRODOTTO FINITO INGEGNERIA PROBLEMI EMERGENTI 14 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 5 - PROGETTAZIONE DEGLI APPARATI ANALISI DELLE OFFERTE DEI FORNITORI E VERIFICA COSTI ORDINE DEGLI APPARATI E DELLE ATTREZZATURE CURVA DI APPRENDIMENTO PIANO DI GESTIONE GENERALE DI PROGETTO E TEMPISTICHE PROGETTO E DISEGNO DI DETTAGLIO CON I METODI: FMEA (FAILURE MODE EFFECTS ANALISYS) PMA (PHENOMENON/PHYSICAL MECHANISM ANALISYS) OPL (ONE POINT LESSON - MAINTENANCE PROCESS DESIGN) PROGETTAZIONE DEGLI APPARATI PROBLEMI EMERGENTI 15 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 6 - REALIZZAZIONE DEGLI APPARATI DETTAGLIO DEI TEMPI DELLE FORNITURE VALUTATI CON LA TECNICA DELLA REVISIONE TEMPORALE DEI PROGETTI REALIZZAZIONE ED ASSEMBLAGGIO PROVE PRELIMINARI SULLE APPARECCHIATURE CRITICHE MODIFICHE E RIPROGETTAZIONE DI PARTICOLARI, MIGLIORABILI IN SEGUITO ALLE PROVE ESEGUITE REALIZZAZIONE DEGLI APPARATI PROBLEMI EMERGENTI 16 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 7 - COLLAUDO PRESSO I FORNITORI FASE 8 - INSTALLAZIONE PREPARAZIONE DELL’AREA ATTREZZATA (BASAMENTI,..) PREDISPOSIZIONE DEI SERVIZI (ENERGIA ELETTRICA, ACQUA, GAS, ARIA COMPRESSA, . . .) INSTALLAZIONE DELLE APPARECCHIATURE ALLACCIAMENTO DELLE APPARECCHIATURE AI SERVIZI PROVE DI FUNZIONAMENTO SINGOLE PUNTO PER PUNTO INSTALLAZIONE PROBLEMI EMERGENTI 17 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 9 - PROVE DI FUNZIONAMENTO DELLE APPARECCHIATURE ED ADDESTRAMENTO ADDESTRAMENTO DEL PERSONALE OPERATIVO E DI MANUTENZIONE MESSA IN FUNZIONE DELLE APPARECCHIATURE VERIFICA PRESTAZIONI MECCANICHE A VUOTO PROVE DI PRODUZIONE CON PERSONALE IN LINEA PROVE DI PRODUZIONE A FUNZIONALITÀ RIDOTTA PROVE PROLUNGATE DI AFFIDABILITÀ DEGLI APPARATI PROVE DI FUNZIONAMENTO PROBLEMI EMERGENTI 18 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 10 – MESSA IN ESERCIZIO SEGUENDO LA CURVA DI APPRENDIMENTO INIZIO DELLA PRODUZIONE A POTENZIALITÀ RIDOTTA INCREMENTO DELLA PRODUZIONE FINO AL RAGGIUNGIENTO DELLA POTENZIALITÀ DI REGIME CLASSIFICAZIONE DEGLI EVENTUALI PROBLEMI RISCONTRATI E DELLE CONTROMISURE ADOTTATE MESSA IN ESERCIZIO PROBLEMI EMERGENTI 19 PROLOGO GESTIONE DI UN PROGETTO SOFTWARE 20 PROGETTAZIONE DI UN SISTEMA COMPLESSO DEFINIZIONE FINALITÀ RICHIESTE DAL COMMITTENTE DEFINIZIONE DELLE PRESTAZIONI DESIDERATE PROGETTAZIONE DELLA ARCHITETTURA DI SISTEMA PROGETTAZIONE DELLE SINGOLE PARTI REALIZZAZIONE DELLE SINGOLE PARTI ASSEMBLAGGIO PROVE DI VALIDAZIONE MESSA IN ESERCIZIO MODALITÀ DI UTILIZZAZIONE PIANIFICAZIONE DELLA GESTIONE DEL SOFTWARE 21 PROGETTAZIONE DI UN SISTEMA COMPLESSO DEFINIZIONE FINALITÀ RICHIESTE DAL COMMITTENTE DEFINIZIONE DELLE PRESTAZIONI DESIDERATE PROGETTAZIONE DELLA ARCHITETTURA DEL SISTEMA CONTROLLATO PROGETTAZIONE DELLE SINGOLE PARTI ASSEBLAGGIO E PROVE DI VALIDAZIONE MESSA IN ESERCIZIO MODALITÀ DI UTILIZZAZIONE DOCUMENTAZIONE 22 PIANIFICAZIONE DELLA GESTIONE DEL SOFTWARE PROGETTAZIONE DI UN SISTEMA COMPLESSO DEFINIZIONE ESIGENZE UTENTE DEFINIZIONE ESIGENZE SOFTWARE PROGETTAZIONE DELLA ARCHITETTURA PROGETTAZIONE DETTAGLIATA PRODUZIONE DEL CODICE TRASFERIMENTO FUNZIONAMENTO MANTENIMENTO PIANIFICAZIONE DELLA GESTIONE DEL SOFTWARE 23 PROGETTAZIONE DI UN SISTEMA COMPLESSO DEFINIZIONE ESIGENZE UTENTE DEFINIZIONE ESIGENZE SOFTWARE VERIFICA E VALIDAZIONE PROVE PER L’ACCETTAZIONE VERIFICA E VALIDAZIONE PROGETTAZIONE DELLA ARCHITETTURA VERIFICA VALIDAZIONE PROGETTAZIONE DETTAGLIATA PROVE SUL SISTEMA COMPLETO PROVE SULLA INTEGRAZIONE DEI MODULI PROVE SU OGNI MODULO PRODUZIONE DEL CODICE PIANIFICAZIONE DELLA GESTIONE DEL SOFTWARE 24 PROLOGO PROGETTAZIONE DI UN SISTEMA COMPLESSO 25 PROGETTAZIONE DI UN SISTEMA COMPLESSO Apri la mente a quel ch' io ti paleso e fermalvi entro; ché non fa scienza, sanza lo ritenere, avere inteso. Due cose si convegnono a l' essenza di questo sacrificio: l' una è quella di che si fa; l' altr' è la convenenza. Paradiso, CANTO 5, 41-45 REMINISCENZE LETTERARIE 26 PROGETTAZIONE DI UN SISTEMA COMPLESSO PROGETTAZIONE IMPEGNO TEMPORANEO INTRAPRESO ALLO SCOPO DI CREARE UN PRODOTTO, UN SERVIZIO O UN RISULTATO MISURABILE E VERIFICABILE «TEMPORANEO», SIGNIFICA CHE HA UN INIZIO E UNA FINE LA FINE SI RAGGIUNGE QUANDO: • VENGONO OTTENUTI GLI OBIETTIVI; • SI DIMOSTRA CHE È IMPOSSIBILE RAGGIUNGERE GLI OBIETTIVI; • IL PROGETTO NON È PIÙ NECESSARIO O VIENE CHIUSO. «TEMPORANEO» NON SIGNIFICA DI BREVE DURATA LA PROGETTAZIONE NON È UN’ATTIVITÀ RIPETITIVA O STANDARDIZZABILE. FORMAZIONE CULTURALE DELL’ESPERTO 27 PROGETTAZIONE DI UN SISTEMA COMPLESSO APPROCCIO CONVENZIONALE ALLE NUOVE REALIZZAZIONI FINALITÀ E FUNZIONALITÀ COMMITTENTE PRESTAZIONI E SPECIFICHE PROGETTAZIONE REALIZZAZIONE DEL PROGETTO MESSA IN ESERCIZIO VALIDAZIONE DELLA FUNZIONALITÀ E DELLE PRESTAZIONI SOVRADIMENSIONAMENTO ABBATTIMENTO DELLE PRESTAZIONI COSTO ELEVATO FALLIMENTO APPROCCIO CONVENZIONALE MODIFICHE 28 PROGETTAZIONE DI UN SISTEMA COMPLESSO APPROCCIO INNOVATIVO ALLE NUOVE REALIZZAZIONI COMMITTENTE PROGETTAZIONE FINALITÀ E FUNZIONALITÀ PRESTAZIONI E SPECIFICHE REALIZZAZIONE DEL PROGETTO IN REALTÀ VIRTUALE CORREZIONE DELLA MODALITÀ DI CONTROLLO VERIFICA DELLA FUNZIONALITÀ E DELLE PRESTAZIONI COSTO BASSO FAIL MODIFICHE ESSENZIALI REALIZZAZIONE DEL PROGETTO MODIFICATO MESSA IN ESERCIZIO FAIL VALIDAZIONE DELLA FUNZIONALITÀ E DELLE PRESTAZIONI APPROCCIO INNOVATIVO MODIFICHE MARGINALI COSTO LIMITATO CORREZIONE DEL MODELLO 29 COSTO DEL SISTEMA CONTROLLATO DURANTE IL CICLO DI VITA PROGETTAZIONE DI UN SISTEMA COMPLESSO RESA DEGLI INVESTIMENTI SPESE PROGETTAZIONE PROGETTAZIONE CONCETTUALE PER LA REALIZZAZIONE REALIZZAZIONE E MESSA IN ESERCIZIO PRODUZIONE MODIFICHE AGGIORNAMENTI CICLO DI VITA DI UN SISTEMA CONTROLLATO COSTI E INVESTIMENTI DI UN SISTEMA CONTROLLATO 30 PROGETTAZIONE DI UN SISTEMA COMPLESSO UNA DELLE PRINCIPALI CAUSE DI FALLIMENTO DI UN PROGETTO È LA SCARSA DEFINIZIONE E COMPRENSIONE DEGLI OBIETTIVI come lo spiega il committente come è documentato il progetto come lo interpreta il capo progetto come è realizzato dall’installatore come lo progetta l’analista come è stato fatturato al cliente come lo progetta l’informatico come è stata effettata la manutenzione COSTI E INVESTIMENTI DI UN SISTEMA CONTROLLATO come lo progetta il fornitore ECCO COSA VOLEVA IL COMMITTENTE 31 PROGETTAZIONE DI UN SISTEMA COMPLESSO • ATTUALMENTE IN MOLTE APPLICAZIONI L’INGEGNERE È CHIAMATO A CONDIVIDERE CON SPECIALISTI DI ALTRI SETTORI I PROBLEMI DI: – CONNESSIONE DI SISTEMI REALIZZATI CON TECNOLOGIE ETEROGENEE PER PORTARE A COMPIMENTO L’OBIETTIVO PREFISSATO; – SCOSTAMENTO DEL COMPORTAMENTO PREVISTO E DESIDERATO DAL SISTEMA COMPLESSO ANCHE SE OGNI SINGOLO SOTTOSISTEMA È STATO REALIZZATO CORRETTAMENTE; – INCREMENTO DELLA QUANTITÀ E DELLA GRAVITÀ DEI PROBLEMI DI PROGETTAZIONE E DI REALIZZAZIONE ALL’AUMENTARE DELLA COMPLESSITÀ DEL SISTEMA. • NELLA MAGGIORANZA DEI CASI TALI PROBLEMI SONO AGGRAVATI DA: – DIFFICOLTÀ NEL DEFINIRE E DOCUMENTARE LE FINALITÀ, FUNZIONALITÀ, PRESTAZIONI E SPECIFICHE RICHIESTE; – TENDENZA AD AFFIDARSI A METODOLOGIE EMPIRICHE E CONSOLIDATE E A REGOLE NON SCRITTE; – PROGETTAZIONE DI INSIEME ORIENTATA A MITIGARE L’EFFETTO DI POTENZIALI PERICOLI DETERMINATI DA ERRORI CONCETTUALI E PROCEDURALI NELLA PROGETTAZIONE DEI SINGOLI COMPONENTI. PROBLEMI SALIENTI DELLA PROGETTAZIONE 32 PROGETTAZIONE DI UN SISTEMA COMPLESSO APPROCCIO SISTEMATICO ALLA PROGETTAZIONE: • METODOLOGIA CHE FAVORISCA IL RIUTILIZZO DEL KNOWHOW (MODEL DRIVEN DESIGN) E L’INDIVIDUAZIONE PRECOCE DEGLI ERRORI NELLE PRIME FASI DEL PROGETTO; • LE ATTIVITÀ DI PROGETTO DEVONO ESSERE DEFINITE RIGOROSAMENTE: – IDENTIFICAZIONE DELLE VARIE FASI; – VERIFICA AL PASSAGGIO AD UNA FASE SUCCESSIVA; – DOCUMENTAZIONE DEL LAVORO SVOLTO IN OGNI FASE. ATTUALE SCENARIO 33 PROGETTAZIONE DI UN SISTEMA COMPLESSO ALTO LIVELLO ASTRAZIONE (SPECIFICA FUNZIONALE) BASSO LIVELLO ASTRAZIONE (SPECIFICA DI DETTAGLIO) RIUTILIZZO PIÙ EFFICACE DEI MODELLI RIDUZIONE DEI COSTI E DEL TEMPO DI SVILUPPO POCHISSIME DIFFERENZE MODELLO ASTRATTO ED IMPLEMENTAZIONE MINIME VARIAZIONI NELLE SPECIFICHE POSSONO PORTARE AD IMPLEMENTAZIONI MOLTO DIFFERENTI PUÒ ESSERE CONDIVISA SOLO UNA MINIMA PARTE DEL LAVORO NECESSARIO AD OTTENERE L’IMPLEMENTAZIONE FINALE L’OBIETTIVO FINALE PUÒ ESSERE QUELLO DI CREARE UNA LIBRERIA DI MODELLI ASTRATTI (OGNUNO ASSOCIATO ALLA PROPRIA IMPLEMENTAZIONE HARDWARE E SOFTWARE) CHE POSSA ESSERE UTILIZZATA PER TUTTI I NUOVI PROGETTI. ASTRAZIONE: PRO E CONTRO 34 PROGETTAZIONE DI UN SISTEMA COMPLESSO UTENTE FINALE ESPERTI PROJECT MANAGER IDENTIFICAZIONE DEI REQUISITI FUNZIONALI SEGUIRE GLI STANDARD DOCUMENTAZIONE E VALIDAZIONE PROGETTAZIONE DELLE SPECIFICHE FUNZIONALI PROGETTAZIONE DI UN SISTEMA DI PRODUZIONE 35 PROGETTAZIONE DI UN SISTEMA COMPLESSO REQUISITI (IEEE STANDARD GLOSSARY OF SOFTWARE ENGINEERING TEMINOLOGY) • CONDIZIONI O CAPACITÀ DI CUI L’UTENTE HA BISOGNO PER RISOLVERE UN PROBLEMA O RAGGIUNGERE UN OBIETTIVO. • CONDIZIONI O CAPACITÀ CHE DEVONO ESSERE RAGGIUNTI DA UN SISTEMA O DA UN SUO COMPONENTE PER SODDISFARE UN CONTRATTO, UNO STANDARD, UNA SPECIFICA O QUANTO PRESCRITTO DA OGNI ALTRO TIPO DI DOCUMENTO IMPOSTO FORMALMENTE. • DOCUMENTAZIONE DI TALI CONDIZIONI O CAPACITÀ COSA SONO I REQUISITI 36 PROGETTAZIONE DI UN SISTEMA COMPLESSO LA SPECIFICA DEI REQUISITI DI SISTEMA È L’ULTIMA FASE DI UNA SERIE DI ATTIVITÀ AL TERMINE DI CIASCUNA DELLE QUALI VIENE PRODOTTO UN DOCUMENTO DIFFERENTE ATTIVITÀ STUDIO FATTIBILITÀ ANALISI REQUISITI SVILUPPO PROTOTIPO STUDIO PROGETTO SPECIFICA REQUISITI RESOCONTO FATTIBILITÀ REQUISITI UTENTE RESOCONTO VALUTAZIONE PROGETTO ARCHITETTURA REQUISITI SISTEMA DOCUMENTAZIONE DAI REQUISITI ALLE SPECIFICHE 37 PROGETTAZIONE DI UN SISTEMA COMPLESSO DOCUMENTAZIONE DEI REQUISITI • • • • • • • • ELENCO DELLE ATTIVITÀ CHE IL SISTEMA DEVE SVOLGERE DEFINIZIONE DELLE PRESTAZIONI RICHIESTE DALL’UTENTE FINALE TRACCIABILITÀ E STORIA DEI CAMBIAMENTI DEFINIZIONE DELLE RISORSE NECESSARIE ALLA REALIZZAZIONE DEL PROGETTO CONOSCENZE DI BASE PER LA PROGETTAZIONE E PER LA OTTIMIZZAZIONE DEL PROGETTO ORGANIZZAZIONE DELLE PROVE E DELLE METRICHE DI VALUTAZIONE PER IL RICONOSCIMENTO DEL LAVORO SVOLTO ANCHE DURANTE LO SVILUPPO DEL PROGETTO DOCUMENTAZIONE DEGLI ASPETTI SALIENTI DEL SISTEMA IN TERMINI NON STRETTAMENTE TECNICI IN MODO CHE POSSA ESSERE UTILIZZATO DALLE PERSONE COINVOLTE ORGANIZZAZIONE CONTRATTUALE EVIDENTE E CHIARA DOCUMENTAZIONE DEI REQUISITI 38 PROGETTAZIONE DI UN SISTEMA COMPLESSO ESEMPI DI REQUISITI • AFFIDABILITÀ (RELIABILITY): CAPACITÀ DI UN’UNITÀ PRODUTTIVA A COMPIERE LA FUNZIONE RICHIESTA, IN CONDIZIONI STABILITE PER UN DETERMINATO INTERVALLO DI TEMPO. • ROBUSTEZZA (ROBUSTNESS): CAPACITÀ DI UN’UNITÀ PRODUTTIVA A COMPIERE LA FUNZIONE RICHIESTA, IN CONDIZIONI FUNZIONALI CHE SI DISCOSTANO DA QUELLE STABILITE PER UN DETERMINATO INTERVALLO DI TEMPO. • DISPONIBILITÀ (AVAILABILITY): CAPACITÀ DI UN PRODOTTO DI ESSERE IN GRADO DI ESEGUIRE LA FUNZIONE RICHIESTA NELLE CONDIZIONI IMPOSTE AD UN DETERMINATO ISTANTE OPPURE DURANTE UN DETERMINATO INTERVALLO DI TEMPO, SUPPONENDO CHE SIANO FORNITE LE RISORSE ESTERNE NECESSARIE. • SICUREZZA (SAFETY): ASSENZA DI LIVELLI INTOLLERABILI DI RISCHIO E DI DANNO. FATTORI NELLA STESURA DEI REQUISITI PROBLEMICONSIDERATI EMERGENTI 39 PROGETTAZIONE DI UN SISTEMA COMPLESSO • GLOBALI (CONTEMPLANTI L’INTERO SISTEMA) • CORRETTI (RISPONDENTI A NORME) • COMPLETI (FRASI E TERMINI DI SENSO COMPIUTO) • CHIARI (PRIVI DI AMBIGUITÀ) • CONSISTENTI (NESSUN CONFLITTO FRA REQUISITI) • MODIFICABILI (POSSIBILITÀ DI AGGIORNAMENTO) • VERIFICABILI (CRITERI OGGETTIVI O METRICHE PRECISE) • TRACCIABILI (IDENTIFICAZIONE UNIVOCA) • FATTIBILI (LIMITI TEMPORALI E DI BUDGET) • MINIMALI (NON RIDONDANZA E NECESSITÀ) PROPRIETÀ DEI REQUISITI PROBLEMI EMERGENTI 40 PROLOGO MODELLO E SIMULAZIONE DI UN SISTEMA COMPLESSO 41 PROGETTAZIONE DI UN SISTEMA COMPLESSO • IL MODELLO DI UN SISTEMA È UN OGGETTO, DIVERSO DAL SISTEMA, SUL QUALE PUÒ ESSERE OPERATA UNA VERIFICA (ESPERIMENTO) AL FINE DI RISPONDERE A SPECIFICHE DOMANDE SU QUEL SISTEMA. TIPI DI MODELLO: • MODELLO MENTALE – IMMATERIALE (“ONESTÀ”) • MODELLO VERBALE – ESPRESSO A PAROLE • MODELLO FISICO – OGGETTO FISICO CHE IMITA IL SISTEMA • MODELLO FORMALE – RAPPRESENTAZIONE FORMALE DI IDEE O CONOSCENZE RELATIVE AD UN SISTEMA FINALIZZATA ALLA COMPRENSIONE, INTERPRETAZIONE, PREVISIONE E CONTROLLO DEL SISTEMA (PROTOTIPO VIRTUALE) CONCETTO DI MODELLO 42 PROGETTAZIONE DI UN SISTEMA COMPLESSO UN MODELLO COSTITUISCE UNA RAPPRESENTAZIONE ASTRATTA DI UN SISTEMA (FISICO O CONCETTUALE) È UTILIZZATO DAL PROGETTISTA COME UNO STRUMENTO PER EFFETTUARE UN PRIMA VERIFICA DELLA VALIDITÀ DELLE PROPRIE ATTIVITÀ UN MODELLO PUÒ ESSERE DI TIPO - FUNZIONALE (PROGETTAZIONE INPUT/OUTPUT) - COMPORTAMENTALE (DINAMICO) - STRUTTURALE (REALIZZAZIONE STATICA) AFFINCHÈ UN MODELLO POSSA ESSERE VALIDO È OPPORTUNO CHE RISULTI: - FACILMENTE COMPRENSIBILE - AFFIDABILE - ESEGUIBILE CON UN PROGRAMMA DI CALCOLO PROCEDURA DI MODELLAZIONE 43 PROGETTAZIONE DI UN SISTEMA COMPLESSO MODELLO CONCETTUALE MODELLO FUNZIONALE DESCRIZIONE PUNTUALE DELLE COSA FA ATTIVITÀ E DELLE PRESTAZIONI IL SISTEMA IN ESAME MODELLO COMPORTAMENTALE DESCRIZIONE DEL COMPORTAMENTO, COME DEL ESSERE CONTROLLO E DELLA PUÒ UTILIZZATO TEMPORIZZAZIONE MODELLO STRUTTURALE MODELLO FISICO DESCRIZIONE COME IN OGGETTI, MODULI È STATO REALIZZATO E LINEE DI COMUNICAZIONE MODELLO DI UN SISTEMA 44 PROGETTAZIONE DI UN SISTEMA COMPLESSO MODELLO DEL SISTEMA COMPLESSO MODELLO DELLA FUNZIONALITÀ DIAGRAMMA DEI CASI D’USO MODELLO DEL COMPORTAMENTO DIAGRAMMA DEI COMPONENTI DIAGRAMMA DELLE COLLABORAZIONI DIAGRAMMA DELLE ATTIVITÀ DIAGRAMMA DELLE CLASSI MODELLO DELLA STRUTTURA DIAGRAMMA DEGLI OGGETTI DIAGRAMMA DELLE DISTRIBUZIONI DIAGRAMMA DIAGRAMMA DELLE DEGLI STATI SEQUENZE MODELLO DI UN SISTEMA 45 PROGETTAZIONE DI UN SISTEMA COMPLESSO • LA SIMULAZIONE È UN ESPERIMENTO OPERATO SU UN MODELLO • MOTIVAZIONI: – ESPERIMENTI SUL SISTEMA REALE COSTOSI O PERICOLOSI – SISTEMA REALE NON DISPONIBILE – GRANDEZZE FISICHE NON COMPATIBILI CON QUELLE DELLO SPERIMENTATORE (AD. ES. DURATA DELL’ESPERIMENTO) – VARIABILI INACCESSIBILI – FACILE MANIPOLAZIONE DEI MODELLI – SOPPRESSIONE DEI DISTURBI SIGNIFICATO DI SIMULAZIONE 46 PROGETTAZIONE DI UN SISTEMA COMPLESSO OLTRE A FORNIRE IL MODELLO DI ARCHITETTURA COMPLETA PER IL SISTEMA IN ESAME, LA METODOLOGIA RAPPRESENTA ANCHE UN IMPORTANTE PARADIGMA PROGETTUALE, CHE CONSENTE DI: • RIDURRE I COSTI DI PROGETTAZIONE, ATTRAVERSO MODELLI INDIPENDENTI DAL SISTEMA OPERATIVO E DALL’HARDWARE • RIDURRE I COSTI DELL’HARDWARE E DELLE TECNOLOGIE UTILIZZATI NEI SISTEMI DI CONTROLLO • OMOGENEIZZARE LE CONOSCENZE DEI VARI TECNICI COINVOLTI NELLA PROGETTAZIONE E RIDURRE I COSTI DI ADDESTRAMENTO DEL PERSONALE • UNIFORMARE LE RAPPRESENTAZIONI DI TUTTI I COMPONENTI DEL SISTEMA DI CONTROLLO • DEFINIRE LE INTERFACCE STANDARD PER LA COMUNICAZIONE TRA I COMPONENTI DEL SISTEMA RUOLO DELLA SIMULAZIONE 47 PROGETTAZIONE DI UN SISTEMA COMPLESSO • INNAMORARSI DEL MODELLO: DIMENTICARE CHE IL MODELLO NON APPARTIENE AL MONDO REALE • FORZARE LA REALTÀ AD AVERE LO STESSO COMPORTAMENTO DEL MODELLO • DIMENTICARE IL LIVELLO DI ACCURATEZZA DEL MODELLO: SEMPLIFICARE TROPPO LE PREMESSE MODELLI E SIMULAZIONE: PERICOLI 48 PROGETTAZIONE DI UN SISTEMA COMPLESSO ESPERTI DI DOMINIO VALIDAZIONE VALIDAZIONE VALIDAZIONE FORMULAZIONE VERIFICA INFORMALE MODELLO VERIFICA CONSISTENZA VERIFICA FORMALE IMPLEMENTAZIONE CONSISTENZA ALTRO MODELLO RUOLO DEL MODELLO NELLA PROGETTAZIONE CONSISTENZA 49 PROGETTAZIONE DI UN SISTEMA COMPLESSO ESPERTO DI DOMINIO VINCOLI FORMALI LINGUAGGIO DI MODELLAZIONE DEI REQUISITI PROVE ADDETTO ALLA VERIFICA MODELLO DEI REQUISITI VERIFICA DI UN MODELLO STRUMENTO DI SUPPORTO PER LA VERIFICA DI UN MODELLO 50 PROLOGO UNIFIED MODELLING LANGUAGE 51 PROGETTAZIONE DI UN SISTEMA COMPLESSO IL LINGUAGGIO UML LINGUAGGIO FORMALE UTILE A RAPPRESENTARE IN FORMA GRAFICA • PROGRAMMI SOFTWARE, • REALIZZAZIONI HARDWARE, • SISTEMI ORGANIZZATIVI GLI ASPETTI DI MAGGIORE INTERESSE MEDIANTE MODELLI STANDARD STRUTTURA DEL LINGUAGGIO UML RACCOLTA DI MODELLI GRAFICI PER RAPPRESENTARE GLI ASPETTI SIGNIFICATIVI COLLEGATI ALLA STRUTTURA E ALLE CONDIZIONI OPERATIVE DEI VARI MODELLI UML INSIEME SELEZIONATO DI SIMBOLI GRAFICI PER SVILUPPARE I VARI MODELLI POSSIBILITÀ ESPANDERE LA CAPACITÀ DI RAPPRESENTAZIONE DEI SINGOLI MODELLI VARI SOFTWARE DI SUPPORTO DISPONIBILI IN RETE IL LINGUAGGIO UML 52 PROGETTAZIONE DI UN SISTEMA COMPLESSO IL LINGUAGGIO UML • • • • • NON PROPRIETARIO IMPIEGA POCHI SIMBOLI STANDARDIZZATI UTILE AL FORWARD & REVERSE ENGINEERING OBJECT ORIENTED PERMETTE DI DESCRIVERE DETTAGLIATAMENTE UN SISTEMA PER QUANTO RIGUARDA: LA STRUTTURA LA MODALITÀ DI FUNZIONAMENTO I COLLEGAMENTI CON L’ESTERNO (INTERFACCE) IL LINGUAGGIO UML 53 PROGETTAZIONE DI UN SISTEMA COMPLESSO PERCHÉ ORIENTATO AGLI OGGETTI ? • È IN GRADO DI DOMINARE LA COMPLESSITÀ E L’ETEROGENEITÀ DEI SISTEMI COMPLESSI • MASSIMIZZA: LA PORTABILITÀ LA PERSONALIZZABILITÀ LA MODULARITÀ LA RIUSABILITÀ UN OGGETTO UML MOSTRA: •L’UTILIZZAZIONE •IL FUNZIONAMENTO •LA REALIZZAZIONE •LA MANUTENZIONE •LA QUALITÀ •L’UBICAZIONE MOTIVAZIONE DELLA RAPPRESENTAZIONE AD OGGETTI 54 PROGETTAZIONE DI UN SISTEMA COMPLESSO MODELLI UTILIZZATI PER LA PROGETTAZIONE • MODELLI DI UTILIZZAZIONE FUNZIONALITÀ E PRESTAZIONI OFFERTE ALL’ UTILIZZATORE • MODELLI DI APPLICAZIONE MODELLO DI UNO SISTEMA APPLICATO AD UNO SPECIFICO SCENARIO APPLICATIVO • MODELLI SECONDO BLOCCHI FUNZIONALI MODELLO DEL SISTEMA, SUDDIVISO IN BLOCCHI FUNZIONALI COMUNICANTI. • MODELLI DI UNA RISORSA MODELLO DI UN ELEMENTO SINGOLO • MODELLI DI UN DISPOSITIVO MODELLO DI DISPOSITIVO/APPARATO/IMPIANTO MODELLI PER LA PROGETTAZIONE 55 PROGETTAZIONE DI UN SISTEMA COMPLESSO LE SOLUZIONI OFFERTE DALL’UML: • COMUNICAZIONE CON L’ ESTERNO – DIAGRAMMA DEI CASI D’USO – DIAGRAMMA DELLE COLLABORAZIONI • STRUTTURA DEL SISTEMA – – – – DIAGRAMMA DELLE CLASSI DIAGRAMMA DEGLI OGGETTI DIAGRAMMA DEI COMPONENTI DIAGRAMMA DELLE DISTRIBUZIONI • FUNZIONAMENTO – DIAGRAMMA DEGLI STATI – DIAGRAMMA DELLE ATTIVITÀ – DIAGRAMMA DELLE SEQUENZE DIAGRAMMI UML 56 PROGETTAZIONE DI UN SISTEMA COMPLESSO ESEMPIO D’USO DEI DIAGRAMMI UML 1 DEFINIZIONE DELLE ATTIVITÀ: ATTRAVERSO COLLOQUI CON L’UTILIZZATORE VENGONO ANALIZZATE IN MODO DETTAGLIATO LE ATTIVITÀ FONDAMENTALI DEL SISTEMA, DEFINENDO UN DIAGRAMMA DELLE ATTIVITÀ 2 ANALISI DEL SISTEMA: VENGONO DEFINITI GLI ATTRIBUTI E LE OPERAZIONI DELLE CLASSI DI ELEMENTI CHE COMPONGONO IL SISTEMA, PER REALIZZARE UN DIAGRAMMA DELLE CLASSI 3 CORRELAZIONE TRA I SISTEMI: VENGONO IDENTIFICATE LE RELAZIONI DI DIPENDENZA TRA I VARI SISTEMI ATTRAVERSO LA REALIZZAZIONE DI UN DIAGRAMMA DI DISTRIBUZIONE 4 PRESENTAZIONE DEI RISULTATI: TERMINATA LA RACCOLTA DELLE INFORMAZIONI VENGONO PRESENTATI I RISULTATI DELLE ANALISI ALL’UTILIZZATORE 5 COMPRENSIONE DELL’UTILIZZO DEL SISTEMA: ATTRAVERSO COLLOQUI CON I POTENZIALI UTENTI VENGONO DEFINITI GLI ATTORI E I RELATIVI CASI D’ USO, PER REALIZZARE UN DIAGRAMMA DEI CASI D’USO USO DEI DIAGRAMMI 57 ILPROGETTAZIONE LINGUAGGIO UML DI UN SISTEMA COMPLESSO 6 ANALISI DELLE TRANSIZIONI DI STATO: DURANTE LA CREAZIONE DEI MODELLI VENGONO ANALIZZATE LE EVENTUALI TRANSIZIONI DI STATO DI OGNI OGGETTO, REALIZZANDO UN DIAGRAMMA DI STATO 7 INTERAZIONE TRA GLI OGGETTI: PER METTERE IN RELAZIONE GLI OGGETTI, DEFINITI NEI PRECEDENTI DIAGRAMMI, CON LE TRANSIZIONI DI STATO, SI REALIZZANO IL DIAGRAMMA DI SEQUENZA ED IL DIAGRAMMA DI COLLABORAZIONE 8 ANALISI DELL’INTEGRAZIONE DEL SISTEMA CON SISTEMI PREESISTENTI: SI RAFFINA IL DIAGRAMMA DI DISTRIBUZIONE PER DEFINIRE L’ INTEGRAZIONE CON I SISTEMI PREESISTENTI O CON ALTRI SISTEMI CON I QUALI È NECESSARIO COOPERARE 9 DEFINIZIONE DEGLI OGGETTI: DAL DIAGRAMMA DELLE CLASSI SI DERIVA UNA ISTANZA DEL SISTEMA: DIAGRAMMA DEGLI OGGETTI 10 DEFINIZIONE DEI COMPONENTI: VENGONO VISUALIZZATI I COMPONENTI DEL SISTEMA E LE LORO DIPENDENZE, REALIZZANDO UN DIAGRAMMA DEI COMPONENTI USO DEI DIAGRAMMI 58 ILPROGETTAZIONE LINGUAGGIO UML DI UN SISTEMA COMPLESSO 11 REALIZZAZIONE DEL CODICE: CON IL DIAGRAMMA DELLE CLASSI, IL DIAGRAMMA DEGLI OGGETTI, IL DIAGRAMMA DELLE ATTIVITÀ ED IL DIAGRAMMA DEI COMPONENTI A DISPOSIZIONE, VIENE REALIZZATO DAI PROGRAMMATORI IL CODICE PER IL SISTEMA 12 PROVE DEL CODICE 13 COSTRUZIONE DELL’ INTERFACCIA UTENTE E COLLEGAMENTO AL CODICE: UNA VOLTA CHE È A DISPOSIZIONE IL SISTEMA FUNZIONANTE E COMPLETO CON L’ INTERFACCIA UTENTE 14 INSTALLAZIONE DEL SISTEMA COMPLETO SULL’ HARDWARE APPROPRIATO 15 PROVE SUL SISTEMA INSTALLATO USO DEI DIAGRAMMI 59 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DELLE ATTIVITÀ ATTIVITÀ FORK UTILE PER: • MODELLARE E SINCRONIZZARE PERCORSO DECISIONALE LE ATTIVITÀ SVOLTE DAL SISTEMA TRANSIZIONE NO • INDICARE LE VARIABILI DI ATTIVAZIONE UTILIZZA BARRE DI SINCRONIZZAZIONE E BLOCCHI LOGICODECISIONALI PER VISUALIZZARE IL FLUSSO DELLE INFORMAZIONI ATTIVITÀ 1 ? SI BARRA DI SINCRONIZZAZIONE ATTIVITÀ 2 ATTIVITÀ 3 PERCORSI CONCORRENTI ATTIVITÀ 4 JOIN USA I FORK/JOIN PER I PROCESSI • LE ATTIVITÀ SONO ORDINATE VERTICALMENTE IN BASE ALL’OGPARALLELI: UN JOIN SI SUPERA SOLO QUANDO TUTTI I PROCESSI GETTO CHE HA LA RESPONSABILITÀ DI PORTARLE AVANTI CHE VI CONFLUISCONO SONO (LINEE DI DIVISIONE = SWIMLINES) PRONTI DIAGRAMMA DELLE ATTIVITÀ 60 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DELLE CLASSI • DESCRIZIONE ORIENTATA AGLI OGGETTI DEL SISTEMA • OGNI CLASSE È CARATTERIZZATA DA NOME/ATTRIBUTI/OPERAZIONI • PER OGNI ATTRIBUTO ED OPERAZIONE VIENE INDICATO IL LIVELLO DI ACCESSO PUBBLICO / PROTETTO / PRIVATO CLASSE 1 CLASSE 2 NOME 0… ٭ 0…1 1 …٭ 0… ٭ 0…1 1 …٭ 0…y x…1 y …٭ 0…y x…1 y …٭ ATTRIBUTI NOME ATTRIBUTI ASSOCIAZIONI OGGETTO 1 POSSIBILI ASSOCIAZIONI ASSOCIAZIONI OGGETTO 2 ASSOCIAZIONE AGGREGAZIONE COMPOSIZIONE REALIZZAZIONE EREDITARIETÀ • LE CLASSI SONO COLLEGATE TRA LORO TRAMITE LE “ASSOCIAZIONI” • OGNI CLASSE È INOLTRE E LA “MOLTEPLICITÀ DELLE CORREDATA DA UNA SPECIFICA DI ASSOCIAZIONI” FUNZIONALITÀ, DI PRESTAZIONI, DI • NON VIENE FATTO RIFERIMENTO FUNZIONAMENTO NORMALE AGLI EVENTI DI SINCRONIZZAZIO- (SCHEMA DI BASE), DI FUNZIONAMENTO ANOMALO (ESTENSIONI). NE MA SOLO ALLA STRUTTURA 61 DIAGRAMMA DELLE CLASSI PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DELLE DISTRIBUZIONI • MOSTRA LA MACRO-ARCHITETTURA DI PIÙ SISTEMI COLLEGATI. CONNESSIONE TRA NODI • L’ELEMENTO CHIAVE, UNA RISORSA FISICA, È IL NODO RAPPRESENTATO DA UN PARALLELEPIPEDO • UN NODO PUÒ AVERE CAPACITÀ DI ELABORAZIONE O FUNGERE SOLO DA COLLEGAMENTO CON UNA INTERFACCIA NOME NOME NODO • I NODI SONO IN GENERE COLLEGATI DA ASSOCIAZIONI RAPPRESENTANTI UN LINK FISICO DIAGRAMMA DELLE DISTRIBUZIONI 62 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DEI CASI D’USO ATTORE X CASO D’USO Y • INTERAZIONI TRA SISTEMA ED ENTITÀ ESTERNE, CIOÈ GLI UTILIZZATORI, DETTI «ATTORI» • NELLO SCHEMA SI HA: L’UTENTE/DISPOSITIVO X CHE PUÒ UTILIZZARE IL SISTEMA NEL MODO (CASO D’USO) Y • SI UTILIZZANO ASSOCIAZIONI O GENERALIZZAZIONI DIAGRAMMA DEI CASI D’USO 63 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DEGLI STATI • METTE IN RILIEVO LA SEQUENZA DI ATTIVAZIONE DEI VARI OGGETTI, NONCHÉ LO STATO INIZIALE E FINALE • MOSTRA LE CONDIZIONI CHE IMPLICANO UN PASSAGGIO DI STATO • È IN GRADO DI MOSTRARE ATTIVITÀ PARALLELE NOME 2 STATO INIZIALE VARIABILI CARATTERIZZANTI LO STATO ATTIVITÀ E[C]/A EVENTO / CONDIZIONE / AZIONE NOME 2 VARIABILI CARATTERIZZANTI LO STATO ATTIVITÀ STATO FINALE • SI BASA SUL CONCETTO DI EVENTO DIAGRAMMA DEGLI STATI 64 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DELLE SEQUENZE MESSAGGIO DI CHIMATA AD UN ALTRO OGGETTO • SEQUENZA TEMPORALE DEI MESSAGGI SCAMBIATI TRA I VARI OGGETTI COMPONENTI IL SISTEMA • L’ASSE VERTICALE RAPPRESENTA IL TEMPO (TIMELINE) • L’ASSE ORIZZONTALE GLI OGGETTI E GLI ATTORI • POSSONO ESSERE QUINDI RAPPRESENTATE ANCHE LE DURATE DI OGNI SINGOLA ATTIVITÀ ED ITERAZIONE MESSAGGIO DI CHIMATA ALLO STESSO OGGETTO MESSAGGIO DI RISPOSTA AD UN ALTRO OGGETTO MESSAGGIO ASINCRONO ATTORE OGGETTO MESSAGGIO ATTIVITÀ DELL’OGGETTO MESSAGGIO RICORSIVO DIAGRAMMA DELLE SEQUENZE 65 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DELLE COLLABORAZIONI OGGETTO ATTORE AZIONE 3 AZIONE 1 NOME 1 MESSAGGIO NOME 3 AZIONE 2 NOME 2 • MOSTRA LA STRUTTURA INFORMATIVA CON CUI I VARI OGGETTI ED ATTORI COMUNICANO TRA DI LORO • NON RAPPRESENTA LA CRONOLOGIA DI TALE COMUNICAZIONE • SUI LINK VANNO INDICATI I MESSAGGI SCAMBIATI PER OGNI AZIONE DIAGRAMMA DELLE COLLABORAZIONI 66 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DEGLI OGGETTI CLASSE CLASSE ATTRIBUTI ATTRIBUTI OPERAZIONI OPERAZIONI OGGETTO 1 CLASSE OGGETTO 2 ATTRIBUTO DELLA ASSOCIAZIONE OPERAZZIONI OGGETTO 3 A PARTIRE DAL DIAGRAMMA DELLE CLASSI SI DERIVANO LE SINGOLE ISTANZE DEGLI OGGETTI CHE COSTITUISCONO IL SISTEMA (AD ES. DALLA CLASSE «MOTORI CC» SI POSSONO ISTANZIARE TUTTI I MOTORI IN CORRENTE CONTINUA PRESENTI NELL’IMPIANTO). DOCUMENTAZIONE DEL SOFTWARE DI CONTROLLO 67 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DEI COMPONENTI COMPONENTE [NOME PACKAGE] NOME COMPONENTE 1 [NOME PACKAGE] NOME COMPONENTE 2 [NOME PACKAGE] NOME COMPONENTE 3 RELAZIONE DI DIPENDENZA • FORNISCE UNA VISIONE STRUTTURALE DEL SISTEMA FUNZIONANTE • I COMPONENTI SONO INSIEMI DI OGGETTI RAGGRUPPATI PER FUNZIONALITÀ IN COMPONENTI, DISPOSITIVI/APPARATI E IMPIANTI/SOTTOSISTEMI • MOSTRA IN PARTICOLARE I COLLEGAMENTI TRA COMPONENTI 68 DIAGRAMMA DEI COMPONENTI PROGETTAZIONE DI UN SISTEMA COMPLESSO LO STANDARD DI PROGETTAZIONE ESA-PSS05 • SI TRATTA DI UNA SERIE DI NORME STANDARD DI SVILUPPO E DI INGEGNERIA DEL SOFTWARE • ORIGINARIAMENTE ERA STATO SVILUPPATO PER I SOLI PRODOTTI SOFTWARE DELL’AGENZIA SPAZIALE EUROPEA (ESA) • OGGI È LARGAMENTE UTILIZZATO ANCHE DALLE COMPAGNIE PRIVATE • PERMETTE UNA GESTIONE ED UN CONTROLLO COMPLETO E FUNZIONALE DI TUTTE LE FASI DI SVILUPPO • REGOLAMENTA LA PROGETTAZIONE DI TUTTI I COMPONENTI E DI TUTTE LE INTERFACCE DEL SISTEMA SOFTWARE LO STANDARD DI PROGETTAZIONE ESA-PSS05 69 PROGETTAZIONE DI UN SISTEMA COMPLESSO LO STANDARD DI PROGETTAZIONE ESA-PSS05 • Guide to applying the ESA Software Engineering Standards to small software projects; • Guide to the Software Engineering Standards • Guide to the user requirements definition phase • Guide to the software requirements definition phase • Guide to the software architectural design phase • Guide to the software detailed design and production phase • Guide to the software transfer phase • Guide to the software operations and maintenance phase • Guide to software project management • Guide to software configuration management • Guide to software verification and validation • Guide to software quality assurance LO STANDARD DI PROGETTAZIONE ESA-PSS05 - GUIDE 70 PROGETTAZIONE DI UN SISTEMA COMPLESSO LA NORMATIVA ESA SI ARTICOLA NELLA SEGUENTI FASI: FASE 1: REQUIREMENTS CAPTURE PROCESS FASE 2: ANALYSIS & DESIGN FASE 3: REALIZZAZIONE E PROVE PER LA VALIDAZIONE NORMATIVA ESA PER LA PROGETTAZIONE 71 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 1: REQUIREMENTS CAPTURE PROCESS • INFORMAZIONI SU STRUTTURA E FUNZIONAMENTO • INFORMAZIONI SULL’ INTEGRAZIONE CON SISTEMI GIÀ ESISTENTI • INFORMAZIONI SULLE PRESTAZIONI DESIDERATE • INFORMAZIONI SULLA QUALITÀ DESIDERATA • INFORMAZIONI SUI TEMPI DI CONSEGNA • INFORMAZIONI SUI MOMENTI E SULLE MODALITÀ DI VERIFICA INDIVIDUAZIONE DEI REQUISITI 72 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 2: ANALYSIS & DESIGN 1) 2) 3) 4) 5) DEFINIZIONE ATTIVITÀ (ACTIVITY DIAGRAM) ANALISI DEL SISTEMA (CLASS DIAGRAM) COMPRENSIONE DELL’UTILIZZO (USE CASES DIAGRAM) ANALISI TRANSIZIONI DI STATO (STATE CHART DIAGRAM) INTERAZIONE TRA OGGETTI (SEQUENCE&COLLABORATION DIAGRAM) 6) INTEGRAZIONE CON SISTEMI PRE-ESISTENTI (DISTRIBUTION DIAGRAM) 7) DEFINIZIONE SINGOLI ELEMENTI (OBJECTS DIAGRAM) 8) DEFINIZIONE DEI COMPONENTI (COMPONENT DIAGRAM) IN OGNI FASE NON BISOGNA MAI PERDERE IL CONTATTO CON IL CLIENTE! RELAZIONI & VERIFICHE (DOCUMENTATE!!!) ANALISI E PROGETTAZIONE 73 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASE 3: REALIZAZIONE E PROVE PER LA VALIDAZIONE QUESTE FASI COMPRENDONO: - LA REALIZZAZIONE DEI SINGOLI SISTEMI - LE PROVE SINGOLE DEI SISTEMI REALIZZATI - L’INTEGRAZIONE TRA DI LORO E CON SISTEMI ESISTENTI - LE PROVE INTEGRATE, PER VERIFICARE IL FUNZIONAMENTO DEL SISTEMA COMPLESSIVO REALIZZAZIONE E PROVE DI VALIDAZIONE 74 PROGETTAZIONE DI UN SISTEMA COMPLESSO DEFINIZIONE DELLE FINALITÀ E DELLE PRESTAZIONI MESSA IN ESERCIZIO ACCETTAZIONE MODELLO FUNZIONALE DELLA NUOVA REALIZZAZIONE PROVE DI FUNZIONALITÀ INTEGRAZIONE DELLA NUOVA REALIZZAZIONE ARCHITETTURA DELLA NUOVA REALIZZAZIONE PROVE DI FUNZIONALITÀ INTEGRAZIONE IN SOTTOSISTEMI REALTÀ VIRTUALE DELLA NUOVA REALIZZAZIONE PROVE DI FUNZIONALITÀ REALIZZAZIONE DELLE PARTI IN SOFTWARE INTEGRAZIONE DELLE PARTI HARDWARE E SOFTWARE REALIZZAZIONE DELLE PARTI IN HARDWARE PROCEDURA SISTEMATICA DI PROGETTAZIONE 75 PROGETTAZIONE DI UN SISTEMA COMPLESSO DIAGRAMMA DELLE ATTIVITÀ DIAGRAMMA DEI CASI D’USO UML DIAGRAMMA DEGLI OGGETTI UML UML DIAGRAMMA DELLE COLLABORAZIONI UML DEFINIZIONE DELLE FINALITÀ E DELLE PRESTAZIONI MESSA IN ESERCIZIO ACCETTAZIONE MODELLO FUNZIONALE DELLA NUOVA REALIZZAZIONE DIAGRAMMA DEGLI STATI UML DIAGRAMMA DELLE CLASSI UML PROVE DI FUNZIONALITÀ INTEGRAZIONE DELLA NUOVA REALIZZAZIONE ARCHITETTURA DELLA NUOVA REALIZZAZIONE PROVE DI FUNZIONALITÀ REALTÀ VIRTUALE DELLA NUOVA REALIZZAZIONE PROVE DI FUNZIONALITÀ REALIZZAZIONE DELLE PARTI IN SOFTWARE DIAGRAMMA DELLE DISTRIBUZIONI UML INTEGRAZIONE IN SOTTOSISTEMI INTEGRAZIONE DELLE PARTI HARDWARE E SOFTWARE DIAGRAMMA DEI COMPONENTI UML REALIZZAZIONE DELLE PARTI IN HARDWARE DIAGRAMMA DELLE SEQUENZE UML DOCUMENTAZIONE DELLA PROGETTAZIONE 76 MODELLAZIONE UMLDI UN SISTEMA COMPLESSO PROGETTAZIONE LIVELLO CONCETTUALE LIVELLO FISICO REQUISITI FUNZIONALI UTILIZZAZIONE INGEGNERE GESTIONALE UTENTE FINALE FUNZIONALITÀ CASO D’USO PROGRAMMI PER IL FUNZIONAMENTO LA GESTIONE UNA APPLICAZIONE VISTA DALL’UTENTE PROGETTAZIONE REALIZZAZIONE INGEGNERE DI SISTEMA INTEGRATORE DI SISTEMA COMPORTAMENTO PRESTAZIONI PUNTI DI VISTA INSTALLAZIONE COLLAUDO 77 PROGETTAZIONE UN SISTEMA COMPLESSO APPROCCIO OBJECTDI ORIENTED DISPOSITIVO DI CONTROLLO TRAPANO PANNELLO DI CONTROLLO COMANDO MOVIMENTO TRAPANO RETE DI COMUNICAZIONE TRA I DISPOSITIVI DI CONTROLLO ESEMPIO DI APPARATO COMANDO POSIZIONE SLITTA DISPOSITIVO DI CONTROLLO SLITTA 78 PROGETTAZIONE UN SISTEMA COMPLESSO APPROCCIO OBJECTDI ORIENTED LA LAVORAZIONE PUÒ INIZIARE IL PEZZO È CARICATO SULLA SLITTA IL TRAPANO PUÒ INIZIARE LA LAVORAZIONE IL TRAPANO È ALLONTANATO DAL PEZZO IL PEZZO È PORTATO SOTTO IL TRAPANO IL TRAPANO EFFETTUA IL TRAPANO HA CONCLUSO LA LAVORAZIONE LA LAVORAZIONE IL PEZZO È SCARICATO DALLA SLITTA FASI DELLA LAVORAZIONE LA LAVORAZIONE È CONCLUSA 79 PROGETTAZIONE UN SISTEMA COMPLESSO APPROCCIO OBJECTDI ORIENTED CICLO DI LAVORO INIZIO CICLO FINE CICLO MOVIMENTO PEZZO 1. IL PEZZO DA LAVORARE POSIZIONATO SULLA SLITTA MOVIMENTO SLITTA 2. LA SLITTA VIENE POSIZIONATA SOTTO IL TRAPANO MOVIMENTO TRAPANO 3. VIENE ABBASSATO IL TRAPANO LAVORAZIONE 4. VIENE AVVIATA LA LAVORAZIONE MOVIMENTO TRAPANO 5. TERMINATA LA LAVORAZIONE, TRAPANO VIENE SOLLEVATO MOVIMENTO SLITTA 6. ILTRAPANO VIENE FERMATO MOVIMENTO PEZZO 7. VIENE MOVIMENTATA LA SLITTA PER SCARICARE IL PEZZO ESEMPIO DI APPARATO VIENE IL 80 PROGETTAZIONE DI UN SISTEMA COMPLESSO APPROCCIO OBJECT ORIENTED PANNELLO DI CONTROLLO COMUNICAZIONE DATI DISPOSITIVO DI CONTROLLO TRAPANO COMANDO MOVIMENTO TRAPANO SENSORI COMANDO POSIZIONE SLITTA ALTO MOVIMENTO PEZZO MOVIMENTO TRAPANO CARICA BASSO SENSORI RETE DI COMUNICAZIONE TRA I DISPOSITIVI DI CONTROLLO ESEMPIO DI APPARATO PRONTO ATTESA COMUNICAZIONE DATI DISPOSITIVO DI CONTROLLO SLITTA 81 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE UNITA’ DI FORATURA AUTOMATICA CONTROLLO SLITTA <<INCLUDE>> SETUP LAVORAZIONE PROGETTISTA NORMALE FUNZIONAMENTO OPERATORE/ IMPIANTO <<INCLUDE>> CONTROLLO TRAPANO ARRESTA SISTEMA <<INCLUDE>> <<INCLUDE>> MANUTENZIONE GESTIONE ALLARMI OPERATORE <<INCLUDE>> <<INCLUDE>> OPERATORE RIAVVIA SISTEMA DIAGRAMMA DEI CASI D’USO 82 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE UNITÀ DI FORATURA + ESEGUI LAVORAZIONE () + TRASLA () + RUOTA () COLLABORA CON - POSIZIONE - OPERATIVITÀ SLITTA COLLABORA CON TRAPANO - POSIZIONE - OPERATIVITÀ + TRASLA () + RUOTA () CONTROLLORE - ATTESA - CONTROLLO + INVIA SEGNALE () + RICEVE SEGNALE () DIAGRAMMA DELLE CLASSI 83 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE DIAGRAMMA DELLE CLASSI 84 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE CONTROLLO TRAPANO CONTROLLO SLITTA UNITÀ DI FORATURA TRAPANO DIAGRAMMA DEGLI OGGETTI SLITTA 85 PROGETTAZIONE DI UN SISTEMA COMPLESSO OPERATORE CONTROLLO SLITTA 1: INIZIA SLITTA CONTROLLO TRAPANO TRAPANO 2: CARICA PEZZO 3: CARICATO 4: A SINISTRA 5: PRONTO 6: PEZZO IN POSIZIONE 7: INIZIO CICLO DI LAVORAZIONE ? 8: AVVIARE TRAPANO 9: ABBASSA 10: LAVORAZIONE DIAGRAMMA DELLE SEQUENZE 86 PROGETTAZIONE UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE APPROCCIO OBJECTDI ORIENTED OPERATORE CONTROLLO SLITTA SLITTA CONTROLLO TRAPANO TRAPANO 11: SOLLEVA 12 : IN ALTO 13: FINE LAVORAZIONE 14: A DESTRA 15 : IN ATTESA 16 : SCARICA 17 : SCARICATO 18: FINITO DIAGRAMMA DELLE SEQUENZE 87 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE APPROCCIO OBJECT ORIENTED LAVORAZIONE INIZIO SLITTA IN ATTESA SCARICA SLITTA IN ATTESA CARICA FINE SLITTA IN PRONTO CICLO TRAPANO TRAPANO ALTO FERMO DIAGRAMMA DI STATO TRAPANO ALTO ROTAZIONE TRAPANO BASSO LAVORAZIONE 88 PROGETTAZIONE DI UN SISTEMA COMPLESSO APPROCCIO OBJECT ORIENTED OPERATORE SLITTA TRAPANO INIZIO CICLO AZIONA COMANDO SLITTA CARICAMENTO PEZZO SLITTA A SINISTRA AZIONA COMANDO TRAPANO AVVIAMENTO TRAPANO TRAPANO IN BASSO LAVORAZIONE DIAGRAMMA DELLE ATTIVITA’ 89 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE APPROCCIO OBJECT ORIENTED OPERATORE SLITTA TRAPANO TRAPANO IN ALTO TRAPANO FERMO SLITTA A DESTRA SCARICA IL PEZZO FINE CICLO DIAGRAMMA DELLE ATTIVITA’ 90 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE NODO 1 CONTROLLO SLITTA NODO 2 RETE DI COMUNICAZIONE DATI SLITTA DIAGRAMMA DI DISTRIBUZIONE CONTROLLO TRAPANO TRAPANO 91 PROGETTAZIONE MODELLAZIONE UMLDI UN SISTEMA COMPLESSO UML IN SINTESI UML È COMPLESSO E VA ADATTATO ALLE ESIGENZE DEI PROGETTISTI E AL CONTESTO DEL PROGETTO PRENDENDO IN CONSIDERAZIONE I SEGUENTI FATTORI: SETTORE DI ATTIVITÀ TIPOLOGIA DI PROGETTO ESIGENZE DI CONFORMITÀ A NORME COMUNICAZIONE CON COMMITTENTI E FORNITORI COMPOSIZIONE E DISTRIBUZIONE DEL GRUPPO DI LAVORO UML IN SINTESI 92 PROGETTAZIONE MODELLAZIONE UMLDI UN SISTEMA COMPLESSO UML IN SINTESI UML NON SUGGERISCE NÉ PRESCRIVE UNA SEQUENZA DI REALIZZAZIONE DEI DIVERSI DIAGRAMMI UML OFFRE UN’AMPIA GAMMA DI POSSIBILI MODALITÀ DI UTILIZZO TRA LE QUALI I PROGETTISTI SONO LIBERI DI SCEGLIERE NON TUTTI I DIAGRAMMI SONO UGUALMENTE UTILI IN OGNI CIRCOSTANZA IN OGNI APPLICAZIONE BISOGNA INDIVIDUARE QUALI DIAGRAMMI SONO EFFETTIVAMENTE NECESSARI PER LA REALIZZAZIONE DEL MODELLO UML IN SINTESI 93 PROGETTAZIONE DI UN SISTEMA COMPLESSO CONCLUSIONI LE METODOLOGIE DI PROGETTO ORIENTATE AGLI OGGETTI SONO STATE ADOTTATE CON SUCCESSO NELL’AUTOMAZIONE INDUSTRIALE PER FAR FRONTE ALLE SEGUENTI ESIGENZE: • RIDURRE I TEMPI CHE INTERCORRONO TRA LA PROGETTAZIONE E LA REALIZZAZIONE DI UN SISTEMA • SVILUPPARE ARCHITETTURE SOFTWARE AD OGGETTI, CHE OFFRONO MAGGIORI POSSIBILITÀ DI INTEGRAZIONE TRA SISTEMI ETEROGENEI • REALIZZARE SISTEMI DI PRODUZIONE, IMPIANTI ED APPARATI CON STRUTTURE MODULARI CHE PERMETTONO: UNA SEMPLICE CONFIGURAZIONE DEL SISTEMA UNA MANUTENZIONE PIÙ RAPIDA ED ECONOMICA LA POSSIBILITÀ DI RICONFIGURAZIONE LA POSSIBILITÀ DI INSERIMENTO DI NUOVE UNITÀ CONCLUSIONI 94 PROGETTAZIONE DI UN SISTEMA COMPLESSO L’ ESISTENZA DEGLI STANDARD IEC E ISA FORNISCE LE LINEE GUIDA PER LA PROGETTAZIONE DI ARCHITETTURE SOFTWARE ORIENTATE AGLI OGGETTI PROGETTARE SISTEMI CON STRUTTURA NON CONFORME AGLI STANDARD SI RIVELA UN APPROCCIO PERDENTE, PERCHÈ PORTA ALLA REALIZZAZIONE DI SOLUZIONI PROPRIETARIE SENZA POSSIBILITÀ DI INTEGRAZIONE CON ALTRI SISTEMI E NON RIUTILIZZABILI, QUINDI PIÙ COSTOSE CONCLUSIONI 95