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
Scarica

Nucleo Tematico #2 - Dipartimento di Informatica e Sistemistica