PROGETTAZIONE DI UN SISTEMA COMPLESSO PROGRAMMA DI AUTOMAZIONE 2 1. APPROCCI ALLA PROGETTAZIONE DI UN SISTEMA CONTROLLATO COMPLESSO 2. MOVIMENTAZIONE CONTROLLATA ELEMENTI DI CINEMATICA 3. MOTORE ELETTRICI PER LA MIVIMENTAZIONE CONTROLLATA 4. MOTORI A CORRENTE CONTINUA 5. MOTORI A CORRENTE ALTERNATA 6. AZIONAMENTI CON MOTORE ASINCRONO 7. AZIONAMENTI CON MOTORE BRUSHLESS 8. MOTORI A PASSO 9. AZIONAMENTI MULTIASSE 10.MODALITÀ DI CONTROLLO INNOVATIVE 11.MECCATRONICA 12.APPROCCIO OBJECT ORIENTED 13.LINGUAGGI OBJECT ORIENTED 14.IL LINGUAGGIO UML 15.UML E NORME IEC PROGRAMMA DEL CORSO 1 Dipartimento di Informatica e Sistemistica Procedure di Progettazione e di Documentazione per il Controllo di Sistemi Complessi Alessandro DE CARLI Anno Accademico 2006-07 In collaborazione con Eleonora LUCIANI, Andrea FIASCHETTI, Stefano ANDREOZZI 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 3 PROGETTAZIONE DI UN SISTEMA COMPLESSO ORGANIZZAZIONE DEL LAVORO Tradizionale Innovativa FONDAMENTA VALORE DI BENI MATERIALI QUALITÀ DEI SERVIZI TECNOLOGIE CONVENZIONALI BASATE SULLA MECCANICA, L’ELETTROTECNICA, ……… GRUPPI FINANZIARI ISTITUZIONALIZZATI RENDIMENTO DI CAPITALI A PRESTITO VALORE DI BENI MATERIALI ED IMMATERIALI CAPITALE INVESTIMENTI NUOVE PROSPETTIVE OCCUPAZIONALI TECNOLOGIE INNOVATIVE CONCENTRATE SULL’INFORMATICA DIPENDENTI COMPETENZE E PROFESSIONALITÀ DEI DIPENDENTI 4 PROGETTAZIONE DI UN SISTEMA COMPLESSO REDDITIVITÀ BASSA PERCHÉ COLLEGATA AL VALORE DEI BENI MATERIALI ELEVATA PERCHÉ COLLEGATA AL VALORE AGGIUNTO CONOSCENZE IN CONTINUA EVOLUZIONE CONSOLIDATE BASATE SUL CONTINUO AGGIORNAMENTO BASATE SUL RICORDO BASATE SULL’UTILIZZAZIONE ISTITUZIONALIZZATE REALIZZAZIONI SOSTANZIALMENTE CONSERVATIVE MIGLIORAMENTI MARGINALI NUOVE PROSPETTIVE OCCUPAZIONALI APERTE ALL’INNOVAZIONE ORIENTATE AL CAMBIAMENTO 5 PROGETTAZIONE DI UN SISTEMA COMPLESSO Organizzazione Organizzazione Tradizionale per GRUPPI Innovativa per COMPETENZE CRISTALLIZZATA IN VIA DI EVOLUZIONE SUDDIVISIONE DEL LAVORO ASSEGNAZIONE IN GRUPPI COORDINATI INDIVIDUALE DEL LAVORO CONOSCENZE DI BASE COMUNI E COMPETENZE COMPETENZE INDIVIDUALI SPECIFICHE DIVERSIFICATE DIVERSIFICATE FIDUCIA RECIPROCA ASSOLUTA VERIFICATA MA NON VERIFICATA CONTINUAMENTE SUL CAMPO MEMORIA DISTRIBUITA IN MEMORIA CONTINUOCOLLETTIVA AGGIORNAMENTO TACITA E RADICATA DOMINIO DI CONOSCENZE IN CONTINUA DOMINIO DIEVOLUZIONE CONOSCENZE RIGIDO NUOVE PROSPETTIVE OCCUPAZIONALI 6 PROGETTAZIONE DI UN SISTEMA COMPLESSO LE FASI DELL’APPRENDIMENTO CONOSCENZA COMPRENSIONE CAPACITÀ DI APPLICARE CAPACITÀ DI ANALISI CAPACITÀ DI SINTESI CAPACITÀ DI VALUTARE APPRENDIMENTO 7 PROGETTAZIONE DI UN SISTEMA COMPLESSO GESTIONE DEL PROGETTO COORDINAMENTO DEI RISULTATI SUDDIVISIONE DELLE COMPETENZA DA PARTE DEI MEMBRI DEL GRUPPO APPRENDIMENTO DELLA BASE DI CONOSCENZE DA PARTE DEL GRUPPO RICERCA E SELEZIONE DELLE PERSONE CHE FORMANO IL GRUPPO DI PROGETTAZIONE RICERCA E SELEZIONE DELLE INFORMAZIONI PROGETTAZIONE DI UN SISTEMA COMPLESSO 8 PROGETTAZIONE DI UN SISTEMA COMPLESSO IMPATTO DELLA NUOVA ORGANIZZAZIONE DELL’ECONOMIA E DELLE COMPETENZE IN ITALIA NON SONO DIFFUSE E ISTITUZIONALIZZATE: IL MERCATO L’ AMPIEZZA LE BASI FINANZIARIO INDUSTRIALE TECNOLOGICHE INGLESE. TEDESCA. FRANCESI. LA CULTURA INFORMATICA SCANDINAVA. LA FLESSIBILITÀ DI LAVORO OLANDESE. LA CAPACITÀ DI REALIZZAZIONE INNOVATIVA GIAPPONESE. L’IMPRENDITORIALITÀ STATUNITENSE. LA CAPACITÀ DI RIPRODURRE, REALIZZARE E COMMERCIALIZZARE PRODOTTI INNOVATIVI DEI CINESI. IL SISTEMA UNIVERSITARIO E QUELLO PRODUTTIVO SONO ANCORA TRA I PIÙ ARRETRATI E QUELLO AMMINISTRATIVO E LEGISLATIVO TRA I PIÙ RIGIDI. MOLTO È LASCIATO ALLA RESPONSABILITÀ DI ALCUNI DOCENTI, DI ALCUNI IMPRENDITORI NONCHÉ ALLA INIZIATIVA DEI DISCENTI!!! IMPATTO DELLA NUOVA ORGANIZZAZIONE 9 PROGETTAZIONE DI UN SISTEMA COMPLESSO Richieste dei “cacciatori di teste” Corretto impiego della lingua italiana e padronanza dell’inglese parlato e scritto Buona presenza Dinamismo Spirito di iniziativa e di sacrificio Interessi collaterali ed esperienze all’estero Predisposizione ai contatti umani Determinazione e serietà Conoscenza degli strumenti informatici più in uso (pacchetto office, internet, ecc.) Solida formazione nelle materie di base dell’ingegneria Padronanza di un settore specifico FORMAZIONE CULTURALE DELL’ESPERTO 10 PROGETTAZIONE DI UN SISTEMA COMPLESSO PROGETTAZIONE DEFINIZIONE: Impegno temporaneo intrapreso allo scopo di creare un prodotto, un servizio o un risultato. “TEMPORANEO” SIGNIFICA CHE HA UN INIZIO E UNA FINE. LA FINE SI RAGGIUNGE QUANDO VENGONO OTTENUTI GLI OBIETTIVI PREPOSTI, OPPURE QUANDO È EVIDENTE CHE SARÀ IMPOSSIBILE RAGGIUNGERLI OVVERO QUANDO IL PROGETTO NON È PIÙ NECESSARIO O VIENE CHIUSO. - NON SIGNIFICA DI BREVE DURATA - NON E’ UN’ATTIVITA’ RIPETITIVA E CICLICA IL RISULTATO DI UN PROGETTO DEVE ESSERE UN PRODOTTO MISURABILE E VERIFICABILE. FORMAZIONE CULTURALE DELL’ESPERTO 11 PROGETTAZIONE DI UN SISTEMA COMPLESSO APPROCCIO CONVENZIONALE alle nuove realizzazioni COMMITTENTE FINALITÀ DESIDERATE PROGETTAZIONE REALIZZAZIONE DEL PROGETTO MESSA IN ESERCIZIO VERIFICA DELLE FINALITÀ DESIDERARE E ACCETTAZIONE DELLE PRESTAZIONI APPROCCIO CONVENZIONALE COSTO ELEVATO MODIFICHE 12 PROGETTAZIONE DI UN SISTEMA COMPLESSO APPROCCIO INNOVATIVO alle nuove realizzazioni COMMITTENTE FUNZIONALITÀ PRESTAZIONI PROGETTAZIONE REALIZZAZIONE DEL PROGETTO IN REALTÀ VIRTUALE VERIFICA DELLA FUNZIONALITÀ E DELLE PRESTAZIONI COSTO BASSO MODIFICHE ESSENZIALI REALIZZAZIONE DEL PROGETTO MODIFICATO COSTO LIMITATO MESSA IN ESERCIZIO VALIDAZIONE DELLA FUNZIONALITÀ E DELLE PRESTAZIONI APPROCCIO INNOVATIVO MODIFICHE MARGINALI 13 PROGETTAZIONE DI UN SISTEMA COMPLESSO Approccio ad una NUOVA REALIZZAZIONE RICHIESTE DEL COMMITTENTE DAMMI Quello che ti chiedo!! Subito!! Al costo minimo!! VOGLIO una soluzione non sperimentale innovativa esclusiva facile da usare di elevata qualità Voglio guadagnare tantissimo e subito!!! RICHIESTE DELL’UTENTE FINALE Voglio essere soddisfatto!! 14 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’obbiettivo prefissato comportamento del sistema complessivo differente da quello previsto e desiderato anche se ogni singolo sottosistema è stato realizzato correttamente. incremento in quantità e 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 specificare le funzionalità richieste; - tendenza ad affidarsi a metodologie empiriche e 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. 15 PROBLEMI SALIENTI DELLA PROGETTAZIONE PROGETTAZIONE DI UN SISTEMA COMPLESSO aumento della complessità nella progettazione. metodologia che favorisca il riutilizzo e l’individuazione degli errori nelle prime fasi del progetto L’attività di progettazione deve essere definita rigorosamente: - chiaramente comprensibile - sottoposta a verifica di validità durante lo svolgimento condivisione dei componenti e verifiche di progetto prima della realizzazione di prototipi. ATTUALE SCENARIO 16 PROGETTAZIONE DI UN SISTEMA COMPLESSO BASSO LIVELLO ASTRAZIONE ALTO LIVELLO ASTRAZIONE RIUTILIZZAZIONE PIÙ EFFICACE PER LA RIDUZIONE DEI COSTI E DEL TEMPO DI SVILUPPO DI UNA REALIZZAZIONE POCHISSIME DIFFERENZE FRA I VARI ASPETTI DELLA PROGETTAZIONE MINIME VARIAZIONI NELLE SPECIFICHE POSSONO PORTARE AD IMPLEMENTAZIONI MOLTO DIFFERENZIATE 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 FUNZIONI (CIASCUNA DELLE QUALI ASSOCIATA ALLA PROPRIA IMPLEMENTAZIONE HARDWARE E SOFTWARE) CHE POSSA ESSERE UTILIZZATA PER TUTTI I NUOVI PROGETTI. ASTRAZIONE: PRO E CONTRO 17 PROGETTAZIONE DI UN SISTEMA COMPLESSO FORMAZIONE CULTURALE IN AUTOMAZIONE INDUSTRIALE DI UN PROGETTISTA MODALITÀ DI CONTROLLO RETI DI COMUNICAZIONE STRUMENTAZIONE DEL SISTEMA CONTROLLATO ARCHITETTURA AUTOMAZIONE INDUSTRIALE CONOSCENZA APPROFONDITA DEL FUNZIONAMENTO E DEL COMPORTAMENTO DEL SISTEMA DA CONTROLLARE FISICA - CHIMICA - MECCANICA ELETTROTECNICA - ELETTRONICA - INFORMATICA SCIENZE DI BASE DELL’INGEGNERIA FORMAZONE CULTURALE 18 PROGETTAZIONE DI UN SISTEMA COMPLESSO Competenze STRUMENTAZIONE TECNOLOGIE: Meccanica Chimica MODALITÀ DI CONTROLLO Controllo manuale Controllo automatico Applicato a: Vincoli Elettrotecnica Controllori locali Coordinamento Supervisione Elettronica Informatica Gestione Esercizio COMPETENZE PER LA REALIZZ. DI UN SISTEMA DI CONTROLLO 19 PROGETTAZIONE DI UN SISTEMA COMPLESSO Utente finale Esperti (per la realizzazione del sistema controllato) Analisi dei Requisiti Funzionali Standardizzazione Documentazione Progettazione delle Specifiche Funzionali PROGETTAZIONE DI UN SISTEMA DI PRODUZIONE 20 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 RAGGIUNTE O POSSEDUTE 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 21 PROGETTAZIONE DI UN SISTEMA COMPLESSO DEFINIZIONE DELLE PRESTAZIONI RICHIESTE DALL’UTENTE FINALE TRACCIABILITÀ E STORIA DEI CAMBIAMENTI DEFINIZIONE DELLE RISORSE NECESSARIE PER LA REALIZZAZIONE DEL PROGETTO CONOSCENZE DI BASE PER LA PROGETTAZIONE E PER LA OTTIMIZZAZIONE DEL PROGETTO SUDDIVISIONE DEL LAVORO DI PROGETTAZIONE IN GRUPPI DOCUMENTAZIONE DEGLI ASPETTI SALIENTI DEL SISTEMA IN TERMINI NON STRETTAMENTE TECNICI IN MODO CHE POSSA ESSERE UTILIZZATO DALLE PERSONE COINVOLTE ELENCO DELLE ATTIVITÀ CHE IL SISTEMA DEVE SVOLGERE APPROCCIO LOGICO ED ECONOMICO AI CAMBIAMENTI ORGANIZZAZIONE DELLE PROVE E DELLE METRICHE DI VALUTAZIONE PER IL RICONOSCIMENTO DEL LAVORO SVOLTO ANCHE DURANTE LO SVILUPPO DEL PROGETTO ORGANIZZAZIONE CONTRATTUALE EVIDENTE E CHIARA RUOLO DEI REQUISITI DEL SISTEMA DA PROGETTARE 22 PROGETTAZIONE DI UN SISTEMA COMPLESSO I REQUISITI UTENTE DEFINISCONO LE PRESTAZIONI CHE L’UTENTE FINALE DESIDERA DAL SISTEMA. I REQUISITI DI SISTEMA DESCRIVONO LE FUNZIONALITÀ NECESSARIE PER OTTENERE LE PRESTAZIONI DESIDERATE. REQUISITI UTENTE REQUISITI SISTEMA Definiscono ciò che l’utente finale desidera ottenere Definiscono le attività del sistema Documentati dall’utente finale Descrizione del sistema Organizzati per obiettivi Definiti nel linguaggio utilizzato dall’utente finale Definiti dal progettista Descrizione “ ad oggetti” Organizzati in forma gerarchica Definiti nel linguaggio usato dai progettisti REQUISITI UTENTE E REQUISITI SISTEMA 23 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 DEFINIZIONE DEI REQUISITI 24 PROGETTAZIONE DI UN SISTEMA COMPLESSO REQUISITI FUNZIONALI LEGAME FRA LE VARIABILI: •DI INTERVENTO •INTERNE •CONTROLLATE REQUISITI NON FUNZIONALI PRESTAZIONI AFFIDABILITÀ ROBUSTEZZA ADATTATIVITÀ TOLLERANZA AI GUASTI SICUREZZA COSTO TESTABILITÀ MANUTENIBILITÀ RIUSABILITÀ DOCUMENTAZIONE REQUISITI: POSSIBILE CLASSIFICAZIONE COMPORTAMENTO DURANTE IL FUNZIONAMENTO DURANTE LA PROGETTAZIONE 25 PROGETTAZIONE DI UN SISTEMA COMPLESSO AFFIDABILITÀ (RELIABILITY): capacità di un’unità produttiva di compiere la funzione richiesta, in condizioni stabilite e per un determinato intervallo di tempo. DISPONIBILITÀ (AVAILABILITY): capacità di un prodotto di essere in grado si 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. MANUTENIBILITÀ (MAINTAINABILITY): probabilità che per una data unità produttiva, utilizzata in condizioni di impiego stabilite, possa essere svolta, durante un intervallo di tempo stabilito, una data azione di manutenzione attiva, attuata secondo condizioni stabilite, e con l’impiego delle procedure e dei mezzi prescritti. SICUREZZA (SAFETY): assenza di livelli intollerabili di rischio di danno. A queste proprietà si debbono in generale aggiungere altri fattori: Economici: costi di progetto, produzione, manutenzione; Sociali: impatto del sistema sul livello di vita del cittadino e sul mondo del lavoro; Ambientali: impatto ecologico dei prodotti: deve far parte dell’analisi dei rischi del prodotto; Politici 26 FATTORI NELLA STESURA DEI REQUISITI PROBLEMICONSIDERATI EMERGENTI PROGETTAZIONE DI UN SISTEMA COMPLESSO PROPRIETÀ DEI REQUISITI •Globali (contemplanti l’intero sistema) •Corretti (possibilità, rispondenza a norme) •Completi (frasi e termini di senso compiuto) •Chiari (non ambiguità) •Consistenti (nessun conflitto tra requisiti) •Modificabili (possibilità di aggiornamento) Verificabili (criteri oggettivi e metriche precise) •Tracciabili (identificazione univoca) •Fattibili (limiti temporali e di budget) •Minimali (non ridondanza e necessità) PROPRIETÀ DEI REQUISITI PROBLEMI EMERGENTI 27 PROGETTAZIONE DI UN SISTEMA COMPLESSO Requisiti per la realizzazione di un sistema controllato E’ fondamentale la conoscenza approfondita delle modalità di funzionamento del sistema da controllare. E’ richiesta la conoscenza delle modalità di controllo applicate ai vari livelli del sistema controllato. REALIZZAZIONE DI UN SISTEMA DI AUTOMAZIONE 28 PROGETTAZIONE DI UN SISTEMA COMPLESSO Applicazioni senza teoria Teoria senza applicazioni Secondo il Secondo il principio: “purché funzioni e assicuri i margini di convenienza economica, tutto va bene” principio: “Una volta formulato il problema, definito il modello e soddisfatte le ipotesi, si dimostra che …” Applicazione della teoria a problemi significativi e teoria mirata alle applicazioni Secondo il principio: “Migliorare la qualità delle prestazioni mediante l’applicazione e l’estensione della teoria a problemi concreti” APPROCCI ALLA APPLICAZIONE DELLE METODOLOGIE 29 PROGETTAZIONE DI UN SISTEMA COMPLESSO È molto diffusa l’opinione che basandosi solo sull’empirismo e sull’esperienza si possa rendere funzionante un sistema controllato una volta installata la strumentazione Ciò continua a far credere che una preparazione metodologica adeguata non risulti di concreta utilità, anche perché gli impianti sono stati realizzati in modo che possano funzionare anche senza un sistema di automazione adeguato. Ciò porta a non tenere conto dei benefici che potrebbero essere ottenuti applicando modalità di controllo adeguate, ossia prendendo in considerazione congiuntamente la realizzazione e il controllo. APPROCCIO ALLE METODOLOGIE 30 PROGETTAZIONE DI UN SISTEMA COMPLESSO Influenza delle INTERAZIONI SISTEMA DA CONTROLLARE MODALITÀ DI CONTROLLO Dimensionato senza tenere conto della modalità di controllo. Empiriche Sistematiche Convenzionali Dimensionato in funzione della modalità di controllo. Emergenti Innovative INFLUENZA DELLE INTERAZIONI PRESTAZIONI Si accettano quelle che si riescono ad ottenere. Vengono imposte tramite le modalità di controllo in modo: Rigido Flessibile 31 PROGETTAZIONE DI UN SISTEMA COMPLESSO REALIZZAZIONE Analisi del sistema da controllare Progettazione del sistema da controllare Realizzazione di impianti e apparati Accettazione in fabbrica dei componenti Accettazione nel sistema di produzione Progettazione del sistema di controllo Realizzazione del sistema di controllo Collaudo delle prestazioni del sistema controllato Gestione delle modifiche ORGANIZZAZIONE DELLA REALIZZAZIONE 32 PROGETTAZIONE DI UN SISTEMA COMPLESSO OBIETTIVI PROVE DI ACCETTAZIONE VINCOLI SULLA STRUTTURA SULLE APPARECCHIATURE SPECIFICHE ARCHITETTURA FUNZIONALE PROGETTAZIONE ARCHITETTURA DI IMPIANTO PROVE DI FUNZIONALITÀ PROVE PARZIALI SUI COMPONENTI REALIZZAZIONE EARLY STATE MANAGEMENT PROBLEMI EMERGENTI 33 PROGETTAZIONE DI UN SISTEMA COMPLESSO Suddivisione delle attività • Attività principali • Trasferimento delle informazioni • Revisioni • Principali obiettivi Definizione delle Esigenze: • Finalità e prestazioni richieste dal committente • Architettura del sistema controllato • Progettazione delle singole parti • Assemblaggio e prove di validazione • Modalità di utilizzazione • Messa in esercizio • Documentazione ORGANIZZAZIONE DELLA PROGETTAZIONE 34 PROGETTAZIONE DI UN SISTEMA COMPLESSO Definizione delle finalità richieste dal committente Definizione delle prestazioni desiderate Progettazione dell’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 35 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 36 PROGETTAZIONE DI UN SISTEMA COMPLESSO VERIFICA E VALIDAZIONE DEFINIZIONE ESIGENZE UTENTE PROVE PER L’ACCETTAZIONE DEFINIZIONE ESIGENZE SOFTWARE VERIFICA E VALIDAZIONE PROVE SUL SISTEMA COMPLETO PROGETTAZIONE DELLA ARCHITETTURA VERIFICA VALIDAZIONE PROGETTAZIONE DETTAGLIATA PROVE SULLA INTEGRAZIONE DEI MODULI PROVE SU OGNI MODULO PRODUZIONE DEL CODICE PIANIFICAZIONE DELLA GESTIONE DEL SOFTWARE 37 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 domande su quel sistema. Tipi di modello: MODELLO MENTALE MODELLO VERBALE Espresso a parole - Es: “onestà” 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 38 PROGETTAZIONE DI UN SISTEMA COMPLESSO Un modello costituisce una rappresentazione astratta di un sistema (fisico o concettuale). E’ utilizzato dal progettista come uno strumento per effettuare un prima verifica della validità delle proprie attività. Un modello può essere di tipo Funzionale Comportamentale Strutturale Affinché un modello possa essere valido è opportuno che risulti: Eseguibile con un programma di calcolo Facilmente giustificabile Facilmente comprensibile Affidabile PROCEDURA DI MODELLAZIONE 39 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 CONTROLLO E DELLA puòTEMPORIZZAZIONE essere riutilizzato Modello strutturale MODELLO FISICO DESCRIZIONECome IN OGGETTI, MODULI E LINEE DI COMUNICAZIONE è stato realizzato MODELLO DI UN SISTEMA 40 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 41 PROGETTAZIONE DI UN SISTEMA COMPLESSO La simulazione è un esperimento operato su un modello. Motivazioni - Esperimenti sul sistema reale costosi o pericolosi; - Sistema reale (ancora) 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 42 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 43 PROGETTAZIONE DI UN SISTEMA COMPLESSO Modelli e Simulazione: PERICOLI Innamorarsi del modello: dimenticare che il modello non appartiene al mondo reale. METODI DILINEARE IDENTIFICAZIONE DEI CONROLLO NON DISACCOPPIANTE PARAMETRI DI UN MODELLO RICORSIVO DI UN MOTORE ASINCRONO “effetto Pigmalione” Forzare la realtà ad avere lo stesso comportamento del modello. SISTEMA DA CONTROLLARE SOVRADIMENSIONATO PER POTER APPLICARE UN REGOLATORE PI “effetto letto di Procuste” Dimenticare il livello di accuratezza del modello: semplificare troppo le premesse. MODELLI E SIMULAZIONE: PERICOLI 44 PROGETTAZIONE DI UN SISTEMA COMPLESSO Esperti di dominio Formulazione Modello Verifica Consistenza Verifica Formale Consistenza Implementazione Altro modello Consistenza RUOLO DEL MODELLO NELLA PROGETTAZIONE 45 PROGETTAZIONE DI UN SISTEMA COMPLESSO Strumento di supporto per la verifica di un modello Linguaggio di modellazione dei requisiti Modello dei requisiti Vincoli formali VERIFICA DI UN MODELLO 46 PROGETTAZIONE DI UN SISTEMA COMPLESSO Il linguaggio UML Strumento indiscusso per rappresentare In forma grafica • Programmi software; • Realizzazioni hardware; • Sistemi organizzativi • Gli aspetti di maggiore interesse mediante modelli standard. Struttura del linguaggio UML Differenti modelli grafici per rappresentare gli aspetti significativi collegati alla struttura e alle condizioni operative dei vari modelli Limitato numero simboli grafici per sviluppare i vari modelli UML Possibilità espandere la capacità di rappresentazione dei singoli modelli Vari software di supporto ad UML disponibili in rete IL LINGUAGGIO UML 47 PROGETTAZIONE DI UN SISTEMA COMPLESSO Il linguaggio UML • • • • • Non proprietario Impiega pochi simboli standardizzati Per forward & reverse engineering Orientato agli oggetti Permette di descrivere dettagliatamente un sistema per quanto riguarda: La struttura La modalità di funzionamento I collegamenti con l’esterno IL LINGUAGGIO UML 48 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à Un oggetto UML mostra: •L’utilizzazione •Il funzionamento •La realizzazione •La manutenzione •La qualità •L’ubicazione MOTIVAZIONE DELLA RAPPRESENTAZIONE AD OGGETTI 49 PROGETTAZIONE DI UN SISTEMA COMPLESSO Modelli utilizzati per la progettazione Modelli secondo blocchi funzionali Modello del sistema, suddiviso in blocchi funzionali Modelli di applicazione Comunicanti. Modello di un determinato Modelli di utilizzazione Funzionalità e prestazioni offerte all’ utilizzatore. Modelli di un dispositivo Modello di elemento singolo con funzionalità propria. MODELLI PER LA PROGETTAZIONE sistema con una determinata funzionalità. Modelli di una risorsa Modello di un componente/ apparecchiatura/ impianto. 50 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 51 PROGETTAZIONE DI UN SISTEMA COMPLESSO Uso dei diagrammi UML Definizione delle attività: attraverso colloqui con l’utilizzatore vengono analizzate in modo dettagliato le attività fondamentali del sistema, definendo un diagramma delle attività. Analisi del sistema: vengono definiti gli attributi e le operazioni delle varie classi che compongono il sistema, per realizzare un diagramma delle classi. Correlazione tra i sistemi: vengono identificate le relazioni di dipendenza tra i vari sistemi attraverso la realizzazione di un diagramma di distribuzione. Presentazione dei risultati: terminata la raccolta delle informazioni vengono presentati i risultati delle analisi all’utilizzatore. 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 52 ILPROGETTAZIONE LINGUAGGIO UML DI UN SISTEMA COMPLESSO 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. 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. Analisi dell’integrazione del sistema con sistemi preesistenti: si sviluppa un diagramma di distribuzione per definire l’ integrazione con i sistemi preesistenti o con altri sistemi con i quali è necessario cooperare. Definizione degli oggetti: dall’analisi del diagramma delle classi viene generato il diagramma degli oggetti. Definizione dei componenti: vengono visualizzati i componenti del sistema e le loro dipendenze, realizzando un diagramma dei componenti. USO DEI DIAGRAMMI 53 un sistema complesso ILprogettazione LINGUAGGIOdiUML 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 Prove del codice Costruzione dell’ interfaccia utente e collegamento al codice: una volta che è a disposizione il sistema funzionante e completo con l’ interfaccia utente Installazione del sistema completo sull’ hardware appropriato 15 USO DEI DIAGRAMMI Prove sul sistema installato 54 PROGETTAZIONE DI UN SISTEMA COMPLESSO Diagramma delle attività Attività Utile: • Per modellare e sincronizzare le attività svolte dal sistema. • Per indicare le variabili di attivazione. Fork Attività 1 Barra di sincronizzazione Percorso Decisionale No ? Si Attività 2 Attività 3 Transizione Utilizza barre di sincronizzazione e blocchi logico-decisionali per visualizzare il flusso delle informazioni. Usa i fork/join per i processi paralleli: un join si supera solo quando tutti i processi che vi confluiscono sono pronti. DIAGRAMMA DELLE ATTIVITÀ Attività 4 Percorsi Concorrenti Attività 5 Join • Le attività sono ordinate verticalmente in base all’og-getto che ha la responsabi-lità di portarle avanti (linee di divisione = swimlines). 55 PROGETTAZIONE DI UN SISTEMA COMPLESSO Diagramma delle classi Descrizione orientata agli oggetti del sistema. Ogni classe è caratterizzata da nome - attributi - operazioni Per ogni attributo viene indicato il livello di accesso pubblico protetto - privato Le classi sono collegate tra loro tramite le “associazioni” e la “molteplicità delle associazioni”. Non viene fatto riferimento agli eventi di sincronizzazione ma solo alla struttura. DIAGRAMMA DELLE CLASSI CLASSE ATTRIBUTI ASSOCIAZIONI Oggetto 1 0… ٭ 0…1 1 …٭ 0… ٭ 0…1 1 …٭ 0…y x…1 Y …٭ 0…y x…1 Y …٭ Possibili associazioni CLASSE ATTRIBUTI ASSOCIAZIONI Oggetto 2 ASSOCIAZIONE AGGREGAZIONE COMPOSIZIONE REALIZZAZIONE EREDITARIETÀ Ogni classe è inoltre corredata da una specifica di funzionalità, di prestazioni, di funzionamento normale (schema di base), di funzionamento anomalo (estensioni). 56 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 cubo. Il cubo può avere capacità di elaborazione o fungere solo da collegamento con una interfaccia. I nodi sono in genere collegati da associazioni rappresentanti un link fisico. DIAGRAMMA DELLE DISTRIBUZIONI NOME NOME Nodo 57 PROGETTAZIONE DI UN SISTEMA COMPLESSO Diagramma dei casi d’uso ATTORE CASO D’USO Interazioni tra sistema ed entità esterne (cioè gli utilizzatori, detti attori). Quindi 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 58 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. NOME 2 Stato iniziale VARIABILI CARATTERIZZANTI LO STATO ATTIVITÀ Evento / condizione / azione NOME 2 È in grado di mostrare attività parallele. Si basa sul concetto di evento. DIAGRAMMA DEGLI STATI VARIABILI CARATTERIZZANTI LO STATO ATTIVITÀ Stato finale 59 PROGETTAZIONE DI UN SISTEMA COMPLESSO Diagramma delle sequenze Sequenza temporale delle interazioni che si stabiliscono tra i vari oggetti componenti il sistema. L’asse verticale rappresenta il tempo. L’asse orizzontale gli oggetti e gli attori. Possono essere quindi rappresentate anche le durate di ogni singola iterazione. Messaggio di chiamata Ad un altro oggetto Messaggio di risposta Ad un altro oggetto Messaggio Oggetto Attore Messaggio di chiamata Allo stesso oggetto Attività dell’oggetto Messaggio di risposta Allo stesso oggetto Messaggio asincrono DIAGRAMMA DELLE SEQUENZE Messaggio ricorsivo 60 PROGETTAZIONE DI UN SISTEMA COMPLESSO Diagramma delle collaborazioni Oggetto AZIONE 1 Attore Messaggio Nome 1 AZIONE 3 Nome 3 AZIONE 2 Nome 2 Mostra il modo in cui vari oggetti ed attori comunicano tra di loro. Gli oggetti sono rappresentati da un quadrato. Non rappresenta la cronologia di tale comunicazione. Sul link va indicato il messaggio scambiato. DIAGRAMMA DELLE COLLABORAZIONI 61 PROGETTAZIONE DI UN SISTEMA COMPLESSO Diagramma degli oggetti CLASSE CLASSE ATTRIBUTI ATTRIBUTI OPERAZIONI OGGETTO 1 OPERAZIONI CLASSE OGGETTO 2 ATTRIBUTO DELLA ASSOCIAZIONE OPERAZZIONI OGGETTO 3 Si tratta di diagrammi sostanzialmente analoghi ai diagrammi delle classi (si ricavano infatti da essi), con la differenza che rappresentano le istanze vere e proprie di tali classi cioè oggetti reali costituiti come istanza di una classe. DOCUMENTAZIONE DEL SOFTWARE DI CONTROLLO 62 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 temporale e strutturale del sistema funzionante. Mostra in particolare i collegamenti tra componenti. È lecito raggruppare più componenti in un unico insieme (apparato). DIAGRAMMA DEI COMPONENTI 63 PROGETTAZIONE DI UN SISTEMA COMPLESSO Lo standard di progettazione ESA-PSS05 • serie di norme standard di sviluppo e di ingegneria del software • originariamente 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 il progettazione di tutti i componenti e di tutte le interfacce del sistema software LO STANDARD DI PROGETTAZIONE ESA-PSS05 64 PROGETTAZIONE DI UN SISTEMA COMPLESSO La normativa ESA si articola nella seguenti fasi: FASE 1: requirements capture process FASI 2 & 3: analysis & design FASI 4 & 5: realizzazione e prove per la validazione NORMATIVA ESA PER LA PROGETTAZIONE 65 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 INOLTRE, PER OGNI MODULO SI RISCONTRA: • ALTA COESIONE • BASSO ACCOPPIAMENTO DIPENDENTI DAGLI ACCORDI CON IL CLIENTE • INTERFACCIAMENTO ESPLICITO • RISERVATEZZA DELLE INFORMAZIONI INDIVIDUAZIONE DEI REQUISITI 66 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASI 2 & 3: ANALYSIS & DESIGN 1) 2) 3) 4) 5) 6) DEFINIZIONE ATTIVITÀ (ACTIVITY DIAGRAM) ANALISI SISTEMA (CLASS DIAGRAM) CORRELAZIONE TRA SISTEMI (DISTRIBUTION DIAGRAM) COMPRENSIONE UTILIZZO (USE CASES DIAGRAM) ANALISI TRANSIZIONI DI STATO (STATE CHART DIAGRAM) INTERAZIONE TRA OGGETTI (SEQUENCE&COLLABORATION DIAGRAM) 7) INTEGRAZIONE CON SISTEMI PRE-ESISTENTI (DISTRIBUTION DIAGRAM) 8) DEFINIZIONE OGGETTI (OBJECTS DIAGRAM) 9) DEFINIZIONE COMPONENTI (COMPONENT DIAGRAM) IN OGNI FASE NON BISOGNA MAI PERDERE IL CONTATTO CON IL CLIENTE! RELAZIONI & VERIFICHE ANALISI E PROGETTAZIONE 67 PROGETTAZIONE DI UN SISTEMA COMPLESSO FASI 4 & 5: REALIZAZIONE E PROVE PER LA VALIDAZIONE QUESTE FASI COMPRENDONO: - LA REALIZZAZIONE DEI SINGOLI SISTEMI LE PROVE DEI SINGOLI SISTEMI REALIZZATI L’INTEGRAZIONE TRA DI LORO E CON SISTEMI ESISTENTI LE PROVE DI INTEGRAZIONE, PER VERIFICARE IL FUNZIONAMENTO DEL SISTEMA COMPLESSIVO SONO PARTICOLARMENTE IMPORTANTI IN QUANTO DANNO GRANDI INFORMAZIONI AL CLIENTE SULLA QUALITÀ E SULLA QUANTITÀ DEL LAVORO SVOLTO. CONSENTONO DI . . . TIRARE LE SOMME! REALIZZAZIONE E PROVE DI VALIDAZIONE 68 PROGETTAZIONE DI UN SISTEMA COMPLESSO LO STANDARD ESA PSS-05 SI INTERFACCIA TOTALMENTE CON IL CICLO DI SVILUPPO UML UML PUÒ QUINDI ESSERE EFFICACEMENTE UTILIZZATO NELLA PROGETTAZIONE ESA PSS-05 UNIFIED MODELLING LANGUAGE USER REQUIREMENTS DEFINITION FASE 1: REQUIREMENTS CAPTURE PROCESS SOFTWARE REQUIREMENTS DEFINITION ARCHITECTURAL DESIGN PHASE FASE 2: ANALYSIS FASE 3: DESIGN DETAILED DESIGN & PRODUCTION FASE 3: DESIGN TRASFER & TESTS FASI 4 & 5: REALIZZAZIONE PROVE DI VALIDAZIONE OPERATION & MAINTENACE NORME ESA E UML 69 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 70 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 DIAGRAMMA DELLE SEQUENZE UML INTEGRAZIONE IN SOTTOSISTEMI INTEGRAZIONE DELLE PARTI HARDWARE E SOFTWARE DIAGRAMMA DEI COMPONENTI UML REALIZZAZIONE DELLE PARTI IN HARDWARE ESA PSS-05 DOCUMENTAZIONE DEL SOFTWARE DOCUMENTAZIONE DELLA PROGETTAZIONE 71 PROGETTAZIONE MODELLAZIONE UMLDI UN SISTEMA COMPLESSO LIVELLO CONCETTUALE LIVELLO FISICO REQUISITI FUNZIONALI REALIZZAZIONE UTENTE FINALE FUNZIONALITÀ CASO D’USO PROGRAMMI PER IL FUNZIONAMENTO LA GESTIONE UNA APPLICAZIONE VISTA DELL’UTENTE ATTIVITÀ DA SVOLGERE INTEGRATORE DI SISTEMA COMPORTAMENTO PRESTAZIONI PUNTI DI VISTA UTILIZZAZIONE INGEGNERIA DI SISTEMA ISTALLAZIONE COMUNICAZIONE 72 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 73 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 74 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 75 PROGETTAZIONE UN SISTEMA COMPLESSO APPROCCIO OBJECTDI 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 76 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 77 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 78 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE DIAGRAMMA DELLE CLASSI 79 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE CONTROLLO TRAPANO CONTROLLO SLITTA UNITÀ DI FORATURA TRAPANO DIAGRAMMA DEGLI OGGETTI SLITTA 80 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 81 ESEMPIO MODELLAZIONE PROGETTAZIONE UNUML SISTEMA COMPLESSO 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 82 ESEMPIO MODELLAZIONE PROGETTAZIONE UNUML SISTEMA COMPLESSO APPROCCIO OBJECTDI 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 83 PROGETTAZIONE UN SISTEMA COMPLESSO APPROCCIO OBJECTDI 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 ATTIVITÀ 84 ESEMPIO MODELLAZIONE PROGETTAZIONE UNUML SISTEMA COMPLESSO APPROCCIO OBJECTDI ORIENTED OPERATORE SLITTA TRAPANO TRAPANO IN ALTO TRAPANO FERMO SLITTA A DESTRA SCARICA IL PEZZO FINE CICLO DIAGRAMMA DELLE ATTIVITÀ 85 PROGETTAZIONE DI UNUML SISTEMA COMPLESSO ESEMPIO MODELLAZIONE NODO 1 CONTROLLO SLITTA NODO 2 RETE DI COMUNICAZIONE DATI SLITTA DIAGRAMMA DI DISTRIBUZIONE CONTROLLO TRAPANO TRAPANO 86 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 87 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 88 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 89 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 90 PROGETTAZIONE DI UN SISTEMA COMPLESSO “The tendency in evolution is toward greater and greater specialization. Man's society is an ecology that forces adaptation to it. Continued complexity makes it impossible for us to know anything outside our own personal field.” Philip K. Dick “Lingvo internacia de la venontaj generacioj estos sole kaj nepre nur lingvo arta.” Ludoviko Zamenhof “Below every tangled hierarchy lies an inviolate level.” Douglas Hofstadter “A discipline that does not lead to a compassionate practice may be said to have failed.” Robert Fripp CONCLUSIONI 91 PROGETTAZIONE DI UN SISTEMA COMPLESSO QUANDO NOÈ COSTRUÌ L’ARCA, ANCORA NON PIOVEVA DICEVA L’UOMO CON LA CLAVA: “DEVO FARE LA GUERRA, NON HO TEMPO PER CONOSCERE LE NUOVE TECNOLOGIE” E MORÌ INCENERITO DA UN MISSILE CONCLUSIONI 92