Il processo di produzione del SW. Sezione I: Introduzione, ciclo di vita del SW

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il processo di produzione del SW. Sezione I: Introduzione, ciclo di vita del SW"

Transcript

1 Il processo di produzione del SW Sezione I: Introduzione, ciclo di vita del SW

2 PRIMA PARTE Il processo di produzione del software I. Introduzione, ciclo di vita del SW II. Qualità, standard III. Test del SW IV. Project Management

3 I. Introduzione, ciclo di vita del SW I.1. Cos è l Ingegneria del Software I.2. Il prodotto I.3. Il processo I.4. Modelli per il ciclo di vita del software 3

4 I.1. COS È L INGEGNERIA DEL SOFTWARE Possibili definizioni Breve storia Crisi del SW 4

5 Possibili definizioni dell Ing. Del SW Creazione di software multiversione da parte di più operatori [Parnas, 1978] programmazione ing. SW Il settore dell informatica che si occupa di sistemi grandi e complessi, per la cui realizzazione servono unaopiùsquadre di ingegneri [Ghezzi, Jazayeri, Mandrioli, 2003] eliminazione difetti, potenziamento/modifica/eliminazione funzioni Applicazione di un approccio sistematico, disciplinato e quantificabile nello sviluppo, funzionamento e manutenzione del SW [IEEE Standard ] applicazione dell ingegneria al SW 5

6 Breve storia dell Ing. Del SW Albori dell informatica (~ ): problemi ben compresi e conosciuti (ad es., soluzione equazioni differenziali); spesso, programmatore = utente Diffusione dei computer (~ ): professione programmatore (programmatore utente necessità di specifiche); tipicamente, lavora da solo Grandi sistemi SW ( 1965): esempio: OS 360 (per IBM 360) difficoltà nell adattare le tecniche usate per lo sviluppo di piccoli programmi 6

7 Crisi del software La buona programmazione non basta I membri di un gruppo spendono più tempo per comunicare fra loro che per programmare Alcune persone possono abbandonare il progetto: influenza negativa sul lavoro altrui, trasferimento orale della conoscenza Cambiamento nei requisiti influenza su tutto il progetto Serviva un nuovo approccio! 7

8 Ingegneria del software Il termine nasce nel 1968 in una conferenza NATO. È la disciplina il cui scopo è dare un approccio sistemistico alla produzione, alla manutenzione ed alla evoluzione del prodotto software Si vuole usare lo stesso approccio degli altri settori dell ingegneria (civile, industriale) L ingegneria del software comprende: modelli astratti e teoria di base metriche metodi e processi di produzione e di test tecnologie e strumenti obiettivi da raggiungere (qualità del sw) sensibilità pratica 8

9 Ipotesi: Un problema temporaneo? I ritardi nella consegna e gli sforamenti del budget possono essere risolti con migliori: Realtà: strumenti (di analisi, sviluppo, ) tecniche di management No silver bullet [Brooks 1987] Problemi accidentali (risolti dagli strumenti) Problemi essenziali (non risolti dagli strumenti) Le applicazioni complesse non sono completamente comprese né dai clienti, né dagli sviluppatori Non si sa come stimare la difficoltà di un progetto e quanto tempo è necessario 9

10 Un esempio famoso Programma Guerre stellari (1985, presidenza Reagan). Si dimette Dave Parnas (uno dei massimi esperti di IS mondiali, responsabile informatica), Motivazione pubblica: le odierne conoscenze e tecnologie non sono in grado (e non lo saranno in breve tempo) in grado di affrontare problemi così complessi 10

11 Il futuro HW potente e a basso costo produzione di sistemi software sempre più complessi e difficili da gestire Spese mondiali per il SW: 1985: 140 G$ 2000: 800 G$ (PIL Italia 2000: 1074 G$) Si continuano a sviluppare strumenti metodologie 11

12 I IL PRODOTTO Definizioni Concetti generali Cenni storici I problemi dello sviluppo del software 12

13 Software: Definizioni Creazione dell intelletto che include programmi, strutture dati, documentazione. L esecuzione dei programmi realizza (sperabilmente) le funzionalità previste. Prodotto Software: Insieme completo di programmi, procedure e relativa documentazione, rilasciato ad un utente. Componente Software: Ogni parte identificabile di un prodotto software, sia in uno stadio intermedio del processo di sviluppo, che al termine di esso. 13

14 Classificazione delle applicazioni SW (1) Rispetto al flusso di esecuzione: Sequenziali (unico flusso di controllo) Concorrenti (necessità di sincronizzazione e comunicazione) Dipendenti dal tempo (come le concorrenti + vincoli temporali sulla velocità di esecuzione) 14

15 Classificazione delle applicazioni SW (2) Rispetto alla natura degli elementi: Realizzazione di funzioni Gestione di dati (sistemi informativi) Controllo (sincronizzazione e cooperazione) 15

16 Macroclassificazione delle applicazioni sw Sistemi operativi e software di sistema sw di servizio Real time software vincoli precisi sui tempi di risposta Sistemi informativi gestione patrimonio informativo di un azienda Software scientifico calcolo numerico/simbolico Software nascosto (embedded) semafori, ascensori, lavatrici, telefoni, ecc.. PC software 16

17 Caratteristiche del software Il SW è sviluppato (attività human intensive) e non costruito come un qualsiasi prodotto industriale (ad es., un monitor) ingegneria, e non fabbricazione È possibile modificare facilmente il prodotto senza modificare il progetto è frequente l abuso della flessibilità Il SW non si consuma Il SW non è (era) realizzato utilizzando componenti preesistenti 17

18 Prodotto industriale e prodotto software Prodotto Industriale Definito il progetto e il processo di produzione del bene si può delegare la produzione a strutture esterne senza influenzarne il risultato. I parametri e le tecniche usate per descrivere un prodotto sono consolidate, affidabili ed efficaci. Prodotto Software A partire da una specifica comune delegare la realizzazione a diversi soggetti porta alla realizzazione di prodotti totalmente diversi. La descrizione delle caratteristiche funzionali e di qualità del prodotto software rimane un problema aperto. 18

19 Prodotto industriale e prodotto software (2) Prodotto Industriale Sono possibili: economie di scala processi di produzione e distribuzione diversificati in funzione delle dimensioni del mercato a cui il prodotto si rivolge. Prodotto Software Non è distinguibile la produzione su piccola scala da quella su larga scala. Esiste una attività di revisione ed aggiornamento non comparabile con quella dei prodotti tradizionali. 19

20 Insieme di: persone, Processo di sviluppo del software: strutture organizzative, regole, politiche, procedure/attività, componenti software, metodologie, strumenti utilizzati o creati appositamente per concepire, sviluppare, mettere in servizio e innovare/estendere un prodotto software. 20

21 Prospettiva storica della produzione del software : prima era batch, distribuzione limitata, software customizzato : seconda era multiuser, Real-Time, Database, software prodotto : terza era sistemi distribuiti, hardware low-cost, mercato di massa : quarta era OO technologies, sistemi user friendly, Powerful PC 1995-oggi: quinta era internet, distributed computing, CORBA-DCOM, component-ware, J2EE 21

22 Esercizi/riflessioni Esistono altri fattori che differenziano il software da altri prodotti industriali? Perché il prodotto software si differenzia così tanto da altri prodotti industriali? 22

23 Prospettiva storica del costo sw / hw costo sw / costo hw

24 Prospettiva storica del costo del costo sw / costo hw 100 software sviluppo manutenzione ANDAMENTO DELLA LA SPESA PER IL SOFTWARE 24

25 Ripartizione del costo del software 15% 80% manutenzione sviluppo 20% 46% verifica e manutenzione e modifiche validazione dis. eanalisi codifica documentazione 20% 9% 10% % costo totale % costo di sviluppo RIPARTIZIONE DEI COSTI TRA MANUTENZIONE E SVILUPPO RIPARTIZIONE DEI COSTI DI SVILUPPO TRA: ANALISI, DISEGNO, CODIFICA, DOCUMENTAZIONE E VERIFICA 25

26 Deterioramento e guasti hw e sw % guasti hw % guasti sw (teoria) tempo tempo % guasti sw (comportamento osservato) Cambiamenti sw tempo 26

27 Problemi nello sviluppo del SW IBM survey, % dei sistemi costa più del previsto 68% non viene completato nel tempo previsto 88% deve essere riprogettato in maniera sostanziale Bureau of labour, 1997 Ogni 6 nuovi sistemi messi in linea, 2 cancellati Per sistemi di grandi dimensioni, sale a 3 In media la sottostima del tempo di completamento è del 50% 27

28 Alcuni famosi incidenti causati dal software Errore di programmazione Therac-25: macchina per la radioterapia ( ). Gestione SW della mutua esclusione errata. Ariane 6: missile ESA (1996). Eccezione lanciata (ADA) a causa di violazione di assunzioni non documentate. London Ambulance Service (1992). Errore di analisi Errore di management Perdita di chiamate, duplicazione di dispatching. 28

29 Componenti sw e riusabilità Il concetto di componente software riusabile si va sempre più facendo strada. È strettamente collegato all analisi (ad es., in UML) e ai linguaggi (ad es., Java, C++, C#, Delphi) Object Oriented. Determina, fra l altro, un alto riuso di componenti, molto efficace in alcuni contesti (ad es., per la costruzione di interfacce grafiche -- Graphical User Interface o GUI). 29

30 I IL PROCESSO Il processo di produzione del sw Fasi essenziali 30

31 Il processo di produzione del software Nel corso degli anni, nel passaggio dalla visione artigianale alla visione industriale del software, si è compreso che il processo andava formalizzato attraverso: un insieme di fasi in cui decomporlo, un insieme di prodotti delle varie fasi, un insieme di metodi da adottare nelle varie fasi, un insieme di tecniche o modelli con cui descrivere i prodotti delle fasi. 31

32 Progetto Sviluppo Fasi essenziali del processo di produzione sw Manutenzione (sw esistente) correttiva (20%): risoluzione di errori adattativa (20%): cambiamenti/aggiunte di specifiche perfettiva (50%) migliorativa: req. non funzionali (spazio, tempo) evolutiva: req. funzionali secondari preventiva (10%) rendere più semplice la individuazione di errori tramite miglioramenti del codice (ristrutturazione, pulizia, ecc.) 32

33 Attività trasversali Controllo/gestione del progetto Revisioni tecniche del progetto Controllo di qualità Gestione della configurazione Gestione della documentazione Gestione della riusabilità Misure Gestione dei rischi 33

34 Elementi del processo di produzione del sw Insiemi di attività Scadenze Prodotti intermedi Controlli qualità Attività trasversali Gestione del progetto Metriche ecc. 34

35 Re-Engineering Lo sviluppo ex novo è solo uno degli aspetti dell Ingegneria del Software In questo caso si può parlare di forward engineering Se di un sistema esistente (mal documentato) si vuole creare una documentazione adeguata, si attua un processo di reverse engineering Per ricostruire un sistema ingegnerizzato a partire da un vecchio sistema inadeguato: Reverse Engineering + Forward Engineering = Re-Engineering 35

36 I.4. MODELLI PER IL CICLO DI VITA DEL SW Presentazione dei vari modelli Confronto 36

37 Modelli per il processo di produzione (ciclo di vita) del sw Sequenziale (cascata, classico) Prototipale Rapid Application Development (RAD) Modelli evolutivi Incrementale Spirale Sviluppo concorrente Extreme programming Tecniche e linguaggi di quarta generazione Modelli basati su metodi formali 37

38 Visione caotica del processo Definizione del problema Stato corrente Soluzione tecnica Integrazione 38

39 Visione caotica del processo (2) Stato corrente Sfida: gestire in maniera ragionevole questi stadi coesistenti 39

40 Processo a cascata (waterfall, Royce 1970) ANALISI DESIGN CODIFICA TEST MANUTENZIONE Ispirazione dall industria manufatturiera, reazione al code and fix 40

41 Fasi e prodotti del modello a cascata analisi descrizione di cosa si vuole realizzare definizione dei requisiti design progettazione del sistema (come si vuole realizzarlo) architettura e moduli codifica realizzazione in un linguaggio di programmazione sorgenti test verifica di aderenza, test di modulo e di integrazione documenti di test manutenzione gestione cambiamenti 41

42 Problemi del modello a cascata I progetti reali raramente seguono il flusso sequenziale proposto dal modello Spesso si verificano iterazioni È spesso difficile per il cliente dichiarare tutti i requisiti in modo esplicito. Il modello ha difficoltà a gestire la naturale incertezza che esiste all inizio di nuovi progetti 42

43 Problemi del modello a cascata (2) Il cliente deve avere pazienza, una versione funzionante del sistema non potrà essere disponibile se non nelle ultime fasi del ciclo di vita. Inoltre, scoprire un errore in questa fase può avere conseguenze disastrose. Il lavoro degli sviluppatori è inutilmente ritardato (il tempo di attesa complessiva può superare il tempo di lavoro!!!) 43

44 Modello prototipale Interazione con l utente Realizz. modifica prototipo Test del prototipo (con l utente) La prototipazione ha come obiettivo la realizzazione del prodotto software attraverso successive realizzazioni di prototipi: paper protoype, o mock-up, o prototipo freddo, solo interfaccia completezza e disambiguazione requisiti, manuale utente working prototype: implementa solo alcune funzioni breadboard: funzionalità critiche, senza interfaccia 44

45 Modello prototipale (2) Se il prototipo è working: lo si trasforma nel programma finale, oppure lo si butta Vantaggi: molto attraente, sia per il cliente sia per lo sviluppatore coinvolge maggiormente il cliente nella definizione delle specifiche, evita/riduce le incomprensioni Potenziali svantaggi: può evolvere in un sistema senza un progetto solido possibile spreco di risorse nel caso usa e getta tentazione di riutilizzare le scelte prototipali (o, addirittura il prototipo stesso) 45

46 Modello RAD (Rapid Application Development) Obiettivo: rapida (60-90 gg.) codifica (riuso/parallelismo) Ipotesi fondamentali (e limiti dell approccio): requisiti chiari la complessità è limitata (ad es., semplice sistema informativo), le prestazioni non sono critiche l applicazione si può decomporre in macrofunzioni realizzate da gruppi di lavoro diversi che operano in parallelo 46

47 Le cinque fasi: 1. Analisi dell azienda: Modello RAD (2) A che serve l informazione, da dove viene, dove va, a chi serve? 2. Analisi dei dati: Modellazione (ad es., con diagramma delle classi UML) 3. Analisi dei processi: Modellazione del ciclo di vita degli oggetti (come vengono creati, interrogati, modificati, cancellati) 4. Codifica: riuso, tramite componenti sw 4th generation techniques (4GT) 5. Test e messa in esercizio (alcune componenti sono già state testate) 47

48 Modello incrementale analisi progetto codifica test versione 1... analisi progetto codifica test Simile al prototipale ma: i prodotti intermedi sono funzionanti permette una più accurata progettazione e programmazione dell uso delle risorse versione n Prodotti Funzionanti 48

49 Modello incrementale (2) Esempio (editore di testi): 1. Gestione file, editing, stampa documenti (core) 2. Correzioni ortografiche 3. Formattazione pagina 49

50 Modello a spirale (Bohem, 1988) Raccolta dei requisiti iniziale 2) Planning 3) Risk analysis 1) Interazione con il cliente 4) Ingegnerizzazione 6) Valutazione da parte del cliente 5) Realizzazione e rilascio Primo prototipo 50

51 Gestione dei rischi Alcune tipologie di rischio: Personale inadeguato Scheduling sbagliato Budget non realistico Sviluppo del sistema sbagliato (validation: Are we building the right product?, vs. verification: Are we building the product right?, Bohem) Alti rischi possono provocare ritardi e costi imprevisti Meno informazione più rischi 51

52 Considerazioni sul modello a spirale Rappresenta una razionalizzazione del modello prototipale: Non termina con la consegna del prodotto Ammette che il processo sia dormiente Si presta alla gestione di progetti complessi Può essere significativo prevedere il numero delle iterazioni Può essere integrato con altri approcci (modello ad assemblaggio dei componenti) Sta acquistando sempre maggiore popolarità Alcuni CASE tool lo supportano Il cliente è spesso scettico ( converge? ) Recente evoluzione: modello ad assemblaggio di componenti 52

53 Modello ad assemblaggio di componenti Le fasi 4 e 5 del ciclo di vita a spirale vengono unificate, e comprendono la seguente sequenza di attività Identificazione dei componenti di interesse Ispezione dei componenti di libreria Realizzazione dei componenti non disponibili Estrazione dei componenti disponibili Inserimento dei nuovi componenti in libreria Realizzazione dell n-esima iterazione del sistema 53

54 Extreme Programming (XP) Approccio recente (1996) Obiettivi: Maggiore coinvolgimento del cliente (customer satisfaction) Rispondere ragionevolmente ai cambiamenti nei requisiti (anche quelli tardivi) Enfasi sul lavoro di gruppo (che può coinvolgere anche il cliente) Ridurre il numero di regole e di procedure (lightweight, o agile methodology) Forte enfasi sul test 54

55 Ciclo di vita: modello XP 55

56 Alcune regole di XP: codifica The customer is always available. Code must be written to agreed standards. Code the unit test first. All production code is pair programmed. Only one pair integrates code at a time. Integrate often. Use collective code ownership. Leave optimization till last. No overtime. 56

57 Il mondo open source: alcuni link Eric S. Raymond's Home Page Articolo The Cathedral and the Bazaar In italiano: Table of Contents: The Cathedral and the Bazaar The Mail Must Get Through The Importance of Having Users Release Early, Release Often How Many Eyeballs Tame Complexity When Is a Rose Not a Rose? Popclient becomes Fetchmail Fetchmail Grows Up A Few More Lessons from Fetchmail Necessary Preconditions for the Bazaar Style The Social Context of Open-Source Software On Management and the Maginot Line Epilog: Netscape Embraces the Bazaar 57

58 Tecniche e linguaggi di quarta generazione (4GT/4GL) Strumenti e linguaggi caratterizzati da un elevato livello di astrazione Linguaggi dichiarativi Formalismi/linguaggi grafici Generazione automatica del codice maggiore produttività 58

59 Un esempio Open Source: ArgoUML 59

60 Tecniche e linguaggi di quarta Potenziali svantaggi: generazione (2) Strumenti difficili da usare (difficoltà paragonabile ai linguaggi di programmazione convenzionali) Il codice generato potrebbe essere inefficiente La manutenzione è difficile L approccio sembra essere indicato per applicazioni di piccole dimensioni Non si risparmia tempo nell analisi, progetto e test 60

61 Metodi formali Formalismi rigorosi (logici/algebrici) per le fasi di specifica, sviluppo e verifica Non si basano sul linguaggio naturale (inerentemente ambiguo) Affrontano i problemi di ambiguità, vaghezza, incompletezza e inconsistenza delle specifiche Esistono linguaggi formali funzionanti (ad es. SMV, TLA, Alloy, Z, ) Riportiamo un esempio con una sintassi inventata 61

62 Metodi formali: esempio void Ordina(int a[], int n) // commento: ordina il vettore a, che ha n componenti tutte diverse tra // loro, in maniera crescente pre: I J (I 0 I n-1 J 0 J n-1 I J) a[i] a[j] post: //1. gli elementi del vettore risultante sono ordinati ( I (I > 0 I n-1 ) a[i] > a[i-1]) //2. gli elementi nel vett. risultante sono presenti nel vett. originario ( K (K 0 K n-1 ) L (L 0 L n-1 a[k] = pre(a[l]))) //3. gli elementi del vett. originario sono presenti nel vett.risultante ( R (R 0 R n-1 ) S (S 0 S n-1 pre(a[r]) = a[s])) 62

63 Metodi formali: esercizi 1. È possibile semplificare la specifica precedente? 2. Scrivere un specifica valida per il caso generale, ovvero il caso in cui non sia valida la precondizione che impone che tutti gli elementi del vettore sono distinti fra loro. 63

64 Metodi formali (2) Vantaggi: Permettono controlli formali sulle specifiche Permettono la verifica automatica di incompletezze e inconsistenze nelle specifiche Permettono la generazione automatica del codice Potenziali svantaggi: Difficili ad usarsi, richiedono personale specializzato Lenti nell utilizzo Non molto validi come forma di comunicazione con l utente 64

65 Metodi formali: sviluppi recenti Recentemente sono stati sviluppati strumenti e metodologie che risolvono, in parte, i problemi dei metodi formali, in particolare: Offrendo una migliore gestione dei processi di forward e backward engineering Garantendo un efficienza accettabile Offrendo utili metafore grafiche Un esempio è dato dal tool Alloy Analyzer (alloy.mit.edu), che fornisce, fra l altro, strumenti per l analisi di diagrammi delle classi UML 65

66 Un esempio in AlloyAnalyzer module alloyexamples/prog_sw_1/iiiappello_2005 // 1. encoding of UML class diagram // 1.a classes and associations // 1.b inverse associations // 1.c disjointness & completeness // 2. encoding of constraints // 3. verification of assertions // 1.a --EXAMPLE sig Visita { assistito: one Persona, medico: one Persona, indicazione: set Prescrizione } // 1.b --EXAMPLE fact reverseassistito { all p: Persona p.assistito.assistito = p } // 2. --EXAMPLE fact nomedicoassistito { // un medico non può mai visitare // se stesso all v: Visita v.medico!= v.assistito } Generato automaticamente 66

67 Un esempio in AlloyAnalyzer (cont.) assert noduevisitestessaprescrizione { // true assertion: // implied by cardinality constraints // due visite distinte non possono // avere prescrizioni in comune all v1, v2: Visita v1!= v2 => no v1.indicazione & v2.indicazione } check noduevisitestessaprescrizione for 2 Chiediamo la verifica di questa affermazione 67

68 Prodotto e processo: riassunto Il prodotto SW ed il relativo processo di produzione differiscono notevolmente da quelli di altri prodotti industriali Le tecnologie e le metodologie si evolvono rapidamente È necessaria una (auto)formazione continua, per restare aggiornati! 68

69 Qualità del Prodotto Software 69

70 Qualità esterne ed interne Qualità esterne: Sono le qualità visibili agli utenti del sistema Percepibili anche da chi non è specialista dell informatica Non richiedono l ispezione del codice sorgente Qualità interne: Sono le qualità che riguardano gli sviluppatori Valutabili da specialisti Richiedono la conoscenza della struttura del programma A volte la distinzione fra qualità esterne ed interne non è perfettamente marcata 70

71 Fattori di qualità del SW QUALITÀ ESTERNE Correttezza Affidabilità Robustezza Sicurezza Innocuità Usabilità Estendibilità Riusabilità Interoperabilità QUALITÀ INTERNE Efficienza Strutturazione Modularità Comprensibilità Verificabilità Manutenibilità Portabilità 71

72 Esercizio 3 Considerare le seguenti proprietà di un impianto Hi-Fi e stabilire quali di esse sono esterne e quali sono interne: 1. il tempo dedicato al collaudo; 2. la fedeltà sonora; 3. la probabilità di malfunzionamenti nel primo anno di utilizzazione; 4. la dimensione del trasformatore per l alimentazione; 5. l ergonomia dei comandi; 6. la linearità della risposta in frequenza. 72

73 Correttezza, Affidabilità, Robustezza, Innocuità, Sicurezza Correttezza: (fondamentale) il SW fa ciò per cui è stato progettato Affidabilità: si può fare affidamento (in senso statistico) sulle funzionalità del SW Robustezza: il SW ha un comportamento accettabile anche nel caso di situazioni non specificate Innocuità: il sistema NON entra in certi stati (pericolosi) Sicurezza: il SW garantisce la riservatezza nell accesso ai dati 73

74 Usabilità Enfasi sull utente Psicologia cognitiva Fattori fisici/ergonomici Mentalità dell utente Interfacce grafiche/visuali Viene, spesso, totalmente ignorata 74

75 Estendibilità Facilità con cui il SW può essere adattato a modifiche delle specifiche. Importantissima in grandi programmi Due princìpi per l estendibilità: Semplicità di progetto Decentralizzazione nell architettura del SW 75

76 Riusabilità Facilità con cui il SW può essere re-impiegato in applicazioni diverse da quella originaria Evita di reinventare soluzioni Richiede alta compatibilità Uso di librerie di componenti riutilizzabili Progetto del SW più generale possibile Documentazione Maggiore affidabilità 76

77 Interoperabilità Facilità di interazione con altri moduli al fine di svolgere un compito più complesso Problemi tecnologici e semantici Favorisce la riusabilità 77

78 Nota sulle qualità esterne Correttezza Estendibilità Riusabilità sono qualità chiave, fortemente favorite da un approccio orientato agli oggetti 78

79 Efficienza Si riferisce al peso che il software ha sulle risorse del sistema tempo di esecuzione utilizzo di memoria Teoria della complessità limiti asintotici caso medio caso peggiore Simulazioni (ad es., teoria delle reti di code) Legata alle prestazioni (quest ultime percepibili dall utente, quindi qualità esterne) 79

80 Strutturazione/Modularità Strutturazione Capacità del SW di riflettere con la sua struttura le caratteristiche del problema trattato e delle soluzioni adottate Modularità Grado di organizzazione del SW in parti ben specificate ed interagenti 80

81 Comprensibilità Capacità del SW di essere compreso e verificato anche da parte di chi non ha condotto il progetto si applica sia al software sia al processo facilitata da: strutturazione modularità la comprensibilità del software facilita: l analisi della correttezza la correzione di errori ilriuso 81

82 Verificabilità La possibilità di verificare che gli obiettivi proposti siano stati raggiunti È una caratteristica sia del processo sia del prodotto Facile: il codice soddisfa gli standard di codifica? Difficile: il codice fa ciò che deve fare? (vedi correttezza) 82

83 Manutenibilità/portabilità Manutenibilità: Facilità nell effettuare modifiche Portabilità: Possibilità di riusare codice sorgente linguaggi compilabili su più piattaforme macchine virtuali (html/java) 83

84 Nota sulle qualità interne Strutturazione Modularità sono caratteristiche di estremo interesse, favorite dall approccio orientato agli oggetti 84

85 Esercizio 4 Assimilando le qualità di un programma alle proprietà delle automobili, il fatto che i motori di un certo modello possono essere montati su diversi modelli di automobile a quali qualità fa riferimento? 85

86 Misura delle qualità Ogni qualità deve essere valutata attraverso alcune proprietà, misurabili in modo oggettivo e quantitativo, possedute dalle entità. Differenti entità possono essere collocate su una scala di valori in funzione dei livelli misurati per questi attributi. 86

87 Qualità in contrasto Non tutte le qualità possono essere massimizzate Alcune sono intrinsecamente in contrasto fra loro. Ad esempio: Usabilità e sicurezza Efficienza e portabilità È necessario scegliere un adeguato bilanciamento 87

88 Esercizio 5 Le qualità dei programmi non sono necessariamente indipendenti tra loro. Ad esempio, all aumentare della modularità aumenta in genere anche la leggibilità. Considerare due qualità alla volta e valutare il loro rapporto reciproco. 88

89 Tendenze nello sviluppo di applicazioni SW + Complessità delle informazioni da gestire + Progetti di dimensioni medio-grandi + Eterogeneità degli utenti - Durata media dei sistemi + Bisogno di interventi di manutenzione - Costi di produzione e tempi di produzione + Qualità del prodotto finito 89

90 Princìpi guida nello sviluppo del software Rigore e formalità Lo sviluppo del software è una attività creativa che va accompagnata da un approccio rigoroso (o addirittura formale) Possiamo realizzare prodotti affidabili, controllarne il costo, aumentare la fiducia nel loro corretto funzionamento. Separazione degli interessi Affrontare separatamente i diversi aspetti per dominare la complessità Modularità Realizzare la separazione degli interessi in due fasi: I singoli moduli vanno trattati separatamente I dettagli interni dei singoli moduli vanno trattati separatamente dalle relazioni inter-modulari 90

91 Princìpi guida nello sviluppo del software (2) Astrazione Identificare aspetti fondamentali ed ignorare i dettagli irrilevanti Anticipazione del cambiamento Per favorire l estendibilità e il riuso Generalità Ricerca si soluzioni generali Incrementalità: raggiungere l obiettivo attraverso passi successivi per anticipare feedback dell utente per facilitare verifiche di correttezza per predisporsi alla estendibilità e al riuso 91

Ciclo di vita del software

Ciclo di vita del software Ciclo di vita del software Nel corso degli anni, nel passaggio dalla visione artigianale alla visione industriale del software, si è compreso che il processo andava formalizzato attraverso: un insieme

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

12. Evoluzione del Software

12. Evoluzione del Software 12. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 12. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

Scienze del computer. Cliente. Funzioni del computer. Problema. Teorie. Ingegneria del Software. Strumenti e Tecniche per Risolvere il problema

Scienze del computer. Cliente. Funzioni del computer. Problema. Teorie. Ingegneria del Software. Strumenti e Tecniche per Risolvere il problema L ingegneria del SW è un campo della scienze del computer che si occupa della costruzione di sistemi software complessi che vengono sviluppati da equipe di ingegneri. Sistemi che devono essere in servizio

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Che cos è un prototipo? Perchè creare prototipi?

Che cos è un prototipo? Perchè creare prototipi? Il processo di progettazione requisiti analisi utenza design iterazione prototipazione implementazione e attivazione 1 2 Che cos è un? Perchè creare prototipi? Un modello approssimato o parziale del sistema

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari www.agile.diee.unica.

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari www.agile.diee.unica. Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite Agile Group DIEE, Università di Cagliari www.agile.diee.unica.it Agile Group Agile Group, gruppo di ricerca su Ingegneria del SW,

Dettagli

Ciclo di vita dimensionale

Ciclo di vita dimensionale aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Norme per l organizzazione - ISO serie 9000

Norme per l organizzazione - ISO serie 9000 Norme per l organizzazione - ISO serie 9000 Le norme cosiddette organizzative definiscono le caratteristiche ed i requisiti che sono stati definiti come necessari e qualificanti per le organizzazioni al

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

La progettazione centrata sull utente nei bandi di gara

La progettazione centrata sull utente nei bandi di gara Progetto PerformancePA Ambito A - Linea 1 - Una rete per la riforma della PA La progettazione centrata sull utente nei bandi di gara Autore: Maurizio Boscarol Creatore: Formez PA, Progetto Performance

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Redatto dalla Commissione per l elettronica, l informatica e la telematica

Dettagli

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi Project Management Modulo: Introduzione prof. ing. Guido Guizzi Definizione di Project Management Processo unico consistente in un insieme di attività coordinate con scadenze iniziali e finali, intraprese

Dettagli

leaders in engineering excellence

leaders in engineering excellence leaders in engineering excellence engineering excellence Il mondo di oggi, in rapida trasformazione, impone alle imprese di dotarsi di impianti e macchinari più affidabili e sicuri, e di più lunga durata.

Dettagli

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto) CORSO DI Gestione aziendale Facoltà di Ingegneria IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto) Carlo Noè Università Carlo Cattaneo Istituto di Tecnologie e-mail: cnoe@liuc.it 1 Il processo di

Dettagli

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica INGEGNERIA DEL SOFTWARE Prof. Paolo Salvaneschi 1 Obiettivi Scopi del corso: - Fornire gli elementi di base della disciplina,

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org)

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org) L o JAPS: una soluzione Agile Walter Ambu http://www.japsportal.org 1 Lo sviluppo del software Mercato fortemente competitivo ed in continua evoluzione (velocità di Internet) Clienti sempre più esigenti

Dettagli

ADEGUATEZZA O ADEGUAMENTO DEL SOFTWARE PRÊT-À-PORTER ALLE ESIGENZE DEGLI UTENTI PROF. FABIO A. SCHREIBER POLITECNICO DI MILANO

ADEGUATEZZA O ADEGUAMENTO DEL SOFTWARE PRÊT-À-PORTER ALLE ESIGENZE DEGLI UTENTI PROF. FABIO A. SCHREIBER POLITECNICO DI MILANO ADEGUATEZZA O ADEGUAMENTO DEL SOFTWARE PRÊT-À-PORTER ALLE ESIGENZE DEGLI UTENTI PROF. FABIO A. SCHREIBER POLITECNICO DI MILANO SCHEMA DELLA PRESENTAZIONE EVOLUZIONE DEI RAPPORTI TRA FORNITORE E CLIENTE

Dettagli

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività Schemi di scomposizione delle attività Gestione parte IIC Work Breakdown Structures (WBS) Struttura ad albero: radice: attività principale i nodi figli rappresentano la scomposizione del nodo padre le

Dettagli

ARTICOLO TECNICO Smart-MED-Parks: il Software

ARTICOLO TECNICO Smart-MED-Parks: il Software ARTICOLO TECNICO Smart-MED-Parks: il Software Introduzione Da Febbraio 2013, data di lancio del progetto Smart-MED-Parks, sono state realizzate un insieme di azioni al fine di: - Aumentare il livello di

Dettagli

La valutazione economico-tecnica del software contabile

La valutazione economico-tecnica del software contabile La valutazione economico-tecnica del software contabile fino a qualche tempo fa... hardware assorbe la maggiore quota dell investimento software predisposto internamente obiettivi nella valutazione degli

Dettagli

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1 Introduzione Il software e l ingegneria del software Marina Mongiello Ingegneria del software 1 Sommario Il software L ingegneria del software Fasi del ciclo di vita del software Pianificazione di sistema

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ SERVIZI DI PROJECT MANAGEMENT CENTRATE I VOSTRI OBIETTIVI LA MISSIONE In qualità di clienti Rockwell Automation, potete contare

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Configuration Management

Configuration Management Configuration Management Obiettivi Obiettivo del Configuration Management è di fornire un modello logico dell infrastruttura informatica identificando, controllando, mantenendo e verificando le versioni

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

7. Architetture Software

7. Architetture Software 7. Architetture Software progettare la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 20 Scopo della fase di design

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

INDICOD-ECR Istituto per le imprese di beni di consumo

INDICOD-ECR Istituto per le imprese di beni di consumo INDICOD-ECR Istituto per le imprese di beni di consumo GLOBAL SCORECARD Uno strumento di autovalutazione, linguaggio e concetti comuni Versione base - Entry Level Introduzione Introduzione La Global Scorecard

Dettagli

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico Strumenti Processo parte VII Leggere Cap. 9 Ghezzi et al. Strumenti software che assistono gli ingegneri del software in tutte le fasi del progetto; in particolare progettazione codifica test Evoluzione

Dettagli

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le

Dettagli

Ibpm è lo strumento per la gestione dei processi, dalla modellazione, all esecuzione, al monitoraggio.

Ibpm è lo strumento per la gestione dei processi, dalla modellazione, all esecuzione, al monitoraggio. L applicazione sviluppata da Ibimec si propone di dare una copertura informatica per quelle attività che vengono svolte al di fuori del sistema informatico gestionale dell azienda, ma indispensabili per

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:

IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE: IL MARKETING E QUELLA FUNZIONE D IMPRESA CHE:! definisce i bisogni e i desideri insoddisfatti! ne definisce l ampiezza! determina quali mercati obiettivo l impresa può meglio servire! definisce i prodotti

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard Quality gate Nei punti chiave del processo di sviluppo del software, viene integrato un insieme di quality gate per monitorare la qualità del prodotto intermedio prima che quest ultimo possa passare al

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

ALLEGATO H VALUTAZIONE DELLA PERFORMANCE INDIVIDUALE DEI DIPENDENTI COMUNE DI CINISI Prov. Palermo

ALLEGATO H VALUTAZIONE DELLA PERFORMANCE INDIVIDUALE DEI DIPENDENTI COMUNE DI CINISI Prov. Palermo SCHEDA di 3 II Fattore di Valutazione: Comportamenti professionali e organizzativi e competenze Anno Settore Servizio Dipendente Categoria Profilo professionale Responsabilità assegnate DECLARATORIA DELLA

Dettagli

Attività federale di marketing

Attività federale di marketing Attività federale di marketing Gestione e certificazione delle sponsorizzazioni Il Feedback Web Nel piano di sviluppo della propria attività di marketing, la FIS ha adottato il sistema Feedback Web realizzato

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

Dettagli

Progettazione dei Sistemi di Produzione

Progettazione dei Sistemi di Produzione Progettazione dei Sistemi di Produzione Progettazione La progettazione è un processo iterativo che permette di definire le specifiche di implementazione per passare dall idea di un sistema alla sua realizzazione

Dettagli

Che cos è un prototipo? Prototipazione. Perchè creare prototipi? Insidie. I processi corrono in parallelo

Che cos è un prototipo? Prototipazione. Perchè creare prototipi? Insidie. I processi corrono in parallelo Che cos è un? Prototipazione Un modello approssimato o parziale del sistema che vogliamo sviluppare che simula o esegue alcune funzioni del sistema finale, realizzato allo scopo di valutarne le caratteristiche

Dettagli

Incident Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Incident Management. Obiettivi. Definizioni. Responsabilità. Attività. Input Incident Management Obiettivi Obiettivo dell Incident Management e di ripristinare le normali operazioni di servizio nel piu breve tempo possibbile e con il minimo impatto sul business, garantendo il mantenimento

Dettagli

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE Design Flow Prof. Luigi Raffo Dipartimento di ingegneria elettrica ed elettronica Università di Cagliari Flusso di progetto classico su silicio

Dettagli

GENERALITÀ SULLA CUSTOMER SATISFACTION

GENERALITÀ SULLA CUSTOMER SATISFACTION GENERALITÀ SULLA CUSTOMER SATISFACTION Giuseppe Cicconi IL MODELLO DI GENERAZIONE DELLA CUSTOMER SATISFACTION Caratteristica dell'offerta Funzionalita' "Immagine - esperienze passate con l azienda Valore

Dettagli

PASSAGGIO ALLA ISO 9000:2000 LA GESTIONE DELLE PICCOLE AZIENDE IN OTTICA VISION

PASSAGGIO ALLA ISO 9000:2000 LA GESTIONE DELLE PICCOLE AZIENDE IN OTTICA VISION PASSAGGIO ALLA ISO 9000:2000 LA GESTIONE DELLE PICCOLE AZIENDE IN OTTICA VISION PIETRO REMONTI 1 2 APPROCCIO BASATO SUI PROCESSI UN RISULTATO DESIDERATO È OTTENUTO IN MODO PIÙ EFFICACE SE RISORSE E ATTIVITÀ

Dettagli

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

UML e (R)UP (an overview)

UML e (R)UP (an overview) Lo sviluppo di sistemi OO UML e (R)UP (an overview) http://www.rational.com http://www.omg.org 1 Riassumento UML E un insieme di notazioni diagrammatiche che, utilizzate congiuntamente, consentono di descrivere/modellare

Dettagli

Allegato 2 Modello offerta tecnica

Allegato 2 Modello offerta tecnica Allegato 2 Modello offerta tecnica Allegato 2 Pagina 1 Sommario 1 PREMESSA... 3 1.1 Scopo del documento... 3 2 Architettura del nuovo sistema (Paragrafo 5 del capitolato)... 3 2.1 Requisiti generali della

Dettagli

Appendice III. Competenza e definizione della competenza

Appendice III. Competenza e definizione della competenza Appendice III. Competenza e definizione della competenza Competenze degli psicologi Lo scopo complessivo dell esercizio della professione di psicologo è di sviluppare e applicare i principi, le conoscenze,

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

La gestione della qualità nelle aziende aerospaziali

La gestione della qualità nelle aziende aerospaziali M Premessa La AS 9100 è una norma ampiamente adottata in campo aeronautico ed aerospaziale dalle maggiori aziende mondiali del settore, per la definizione, l utilizzo ed il controllo dei sistemi di gestione

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING

Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING Implementazione ed Attuazione di Progetti per il Miglioramento del Servizi Sanitari ANCONA 19 E 20 OTTOBRE 2012 Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING Consiste nel destrutturare

Dettagli

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Il presente materiale didattico costituisce parte integrante del percorso formativo

Dettagli

1 La politica aziendale

1 La politica aziendale 1 La Direzione Aziendale dell Impresa Pizzarotti & C. S.p.A. al livello più elevato promuove la cultura della Qualità, poiché crede che la qualità delle realizzazioni dell Impresa sia raggiungibile solo

Dettagli

LA VALUTAZIONE DELLE RISORSE UMANE NEI SISTEMI DI SVILUPPO E GESTIONE AZIENDALE

LA VALUTAZIONE DELLE RISORSE UMANE NEI SISTEMI DI SVILUPPO E GESTIONE AZIENDALE LA VALUTAZIONE DELLE RISORSE UMANE NEI SISTEMI DI SVILUPPO E GESTIONE AZIENDALE Schema legami fra strumenti di gestione r.u. e strategie/obiettivi aziendali ECOSISTEMA AMBIENTALE AZIENDALE Economico; Politico;

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Dettagli

Il controllo dei rischi operativi in concreto: profili di criticità e relazione con gli altri rischi aziendali

Il controllo dei rischi operativi in concreto: profili di criticità e relazione con gli altri rischi aziendali La gestione dei rischi operativi e degli altri rischi Il controllo dei rischi operativi in concreto: profili di criticità e relazione con gli altri rischi aziendali Mario Seghelini 26 giugno 2012 - Milano

Dettagli

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 12. Progettazione Dipartimento di Informatica Università di Pisa A.A. 2014/15 progettare prima di produrre Tipico della produzione industriale sul tavolo da disegno si usa la gomma,

Dettagli

Ingegneria del Software (Ing.Informatica Nuovo Ord.) Canale M-Z / A.A Marco Cadoli

Ingegneria del Software (Ing.Informatica Nuovo Ord.) Canale M-Z / A.A Marco Cadoli Ingegneria del Software (Ing.Informatica Nuovo Ord.) Canale M-Z / A.A. 2005-06 Marco Cadoli Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica www.dis.uniroma1.it/~cadoli PRIMA PARTE

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

CLUSIT. Commissione di studio Certificazioni di Sicurezza Informatica. Linea guida per l analisi di rischio. Codice doc.

CLUSIT. Commissione di studio Certificazioni di Sicurezza Informatica. Linea guida per l analisi di rischio. Codice doc. CLUSIT Commissione di studio Certificazioni di Sicurezza Informatica Linea guida per l analisi di rischio Codice doc.to: CS_CERT/SC1/T3 Stato: Draft 1 2 INDICE 1. Introduzione....4 2. Scopo della presente

Dettagli

L asset più importante, l investimento più remunerativo? La governance, è tempo di investire nel «governance budget»

L asset più importante, l investimento più remunerativo? La governance, è tempo di investire nel «governance budget» Authorized and regulated by the Financial Services Authority L asset più importante, l investimento più remunerativo? La governance, è tempo di investire nel «governance budget» Il processo di investimento

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

Dettagli

Area Marketing. Approfondimento

Area Marketing. Approfondimento Area Marketing Approfondimento CUSTOMER SATISFACTION COME RILEVARE IL LIVELLO DI SODDISFAZIONE DEI CLIENTI (CUSTOMER SATISFACTION) Rilevare la soddisfazione dei clienti non è difficile se si dispone di

Dettagli

la possibilità di usufruire di un sistema di gestione documentale.

la possibilità di usufruire di un sistema di gestione documentale. UTAX propone ai propri clienti una vasta gamma di prodotti in grado di soddisfare tutte le svariate richieste che ogni giorno vengono sottoposte ad agenti e rivenditori. Elevata affidabilità, facilità

Dettagli

Il software: natura e qualità

Il software: natura e qualità Sommario Il software: natura e qualità Leggere Cap. 2 Ghezzi et al. Natura e peculiarità del software Classificazione delle qualità del software Qualità del prodotto e del processo Qualità interne ed esterne

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

EasyPLAST. Siamo riusciti a trasferire in EasyPLAST tutte le informazioni e le procedure che prima erano gestite con fogli excel

EasyPLAST. Siamo riusciti a trasferire in EasyPLAST tutte le informazioni e le procedure che prima erano gestite con fogli excel Abbiamo completamente eliminato i costi di personalizzazione e di continuo sviluppo per cercare di adattare un prodotto software orizzontale e generalista alle problematiche del nostro settore Un software

Dettagli

REALIZZARE UN BUSINESS PLAN

REALIZZARE UN BUSINESS PLAN Idee e metodologie per la direzione d impresa Ottobre 2003 Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. REALIZZARE UN

Dettagli

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione.

Diventa fondamentale che si verifichi una vera e propria rivoluzione copernicana, al fine di porre al centro il cliente e la sua piena soddisfazione. ISO 9001 Con la sigla ISO 9001 si intende lo standard di riferimento internazionalmente riconosciuto per la Gestione della Qualità, che rappresenta quindi un precetto universale applicabile all interno

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

LA LOGISTICA INTEGRATA

LA LOGISTICA INTEGRATA dell Università degli Studi di Parma LA LOGISTICA INTEGRATA Obiettivo: rispondere ad alcuni interrogativi di fondo Come si è sviluppata la logistica in questi ultimi anni? Quali ulteriori sviluppi sono

Dettagli