Manutenzione del software. Porfirio Tramontana Manutenzione e Reverse Engineering 1
|
|
- Eleonora Gianni
- 8 anni fa
- Visualizzazioni
Transcript
1 Manutenzione del software Porfirio Tramontana Manutenzione e Reverse Engineering 1
2 Riferimenti Ian Sommerville, Ingegneria del Software, 8a ed. Capitolo 21 Porfirio Tramontana Manutenzione e Reverse Engineering 2
3 Generalità La manutenzione del software è il processo di modifica di un prodotto software dopo il suo rilascio in esercizio per eliminare malfunzionamenti migliorare prestazioni o altri attributi di qualità adattarlo a modifiche dell ambiente operativo Il termine manutenzione del software (o evoluzione del software) include spesso anche estensioni delle funzionalità originarie per soddisfare nuovi bisogni degli utenti 70 % del budget software è speso in manutenzione 75% del personale software svolge attività di manutenzione Porfirio Tramontana Manutenzione e Reverse Engineering 3
4 Leggi dell evoluzione del software Basate sull osservazione di un S.O. IBM su 4 cicli di versioni maggiori Lehman e Belady, 1976 I legge: Cambiamento continuo un programma utilizzato in un ambiente del mondo reale deve cambiare, oppure diventa progressivamente meno utile in quell ambiente II legge: Entropia crescente Man mano che un programma cambia, la sua struttura degrada e la dimensione cresce, con il risultato di una complessità crescente Risorse addizionali sono richieste per preservarne la semantica e semplificarne la struttura Porfirio Tramontana Manutenzione e Reverse Engineering 4
5 Classi di manutenzione Manutenzione correttiva Modifiche per correggere difetti Manutenzione adattativa Modifiche per adattare il software a cambiamenti dell ambiente operativo (hardware, software di base, interfacce, organizzazione, legislazione, ecc.) Manutenzione perfettiva Estensione dei requisiti funzionali, o migliorie di requisiti non funzionali in risposta a richieste dell utente Manutenzione preventiva Modifiche che rendono più semplici le correzioni, gli adattamenti e le migliorie Porfirio Tramontana Manutenzione e Reverse Engineering 5
6 Distribuzione dello sforzo di manutenzione Adattativa 25% Correttiva 21% Preventiva 4% Perfettiva 50% Porfirio Tramontana Manutenzione e Reverse Engineering 6
7 Problemi della manutenzione In gran parte dipendono dalla mancanza di controllo e disciplina nelle fasi di analisi e progetto del CVS Alcuni fattori tecnici: difficoltà nel comprendere un programma scritto da altri mancanza di documentazione completa/ consistente software non progettato per modifiche future difficoltà nel tradurre una richiesta di modifica di funzionamento del sistema in una modifica del software valutazione dell impatto di ciascuna modifica sull intero sistema la gestione della configurazione del software la necessità di ritestare il sistema dopo le modifiche Porfirio Tramontana Manutenzione e Reverse Engineering 7
8 Modelli di processo per la manutenzione del software Modello di riparazione veloce (Quick-fix model) modifiche al codice in termini di patches ( pezze ) veloce ed economico sul breve termine degradazione delle struttura documentazione modificata a posteriori Modello di miglioramento iterativo (iterative-enhancement model) valutazione preventiva dell impatto della modifica decisione se lavorare su componenti esistenti o sviluppare nuove componenti preserva la struttura lento e costoso sul breve termine documentazione modificata in anticipo Porfirio Tramontana Manutenzione e Reverse Engineering 8
9 Il processo di manutenzione secondo lo Standard IEEE 1219, 1993 Problem/ Modification Identification and Classification Analysis Design Acceptance Testing Regression/ SystemTesting Implementation Porfirio Tramontana Manutenzione e Reverse Engineering 9
10 Problemi della manutenzione d urgenza In molti casi si ricorre comunque alla manutenzione d urgenza Se un difetto serio deve essere riparato; Se modifiche dell ambiente causano effetti collaterali imprevisti; Se è necessario l adeguamento urgente a seguito di un cambiamento delle regole di business In questo caso si possono anticipare il più possibile le fasi di implementazione del cambiamento Ma la qualità complessiva del software si ridurrà Potrebbe essere utile un successivo intervento di aggiornamento della documentazione e/o di miglioramento della qualità del software Reengineering Porfirio Tramontana Manutenzione e Reverse Engineering 10
11 Reengineering La reingegnerizzazione (reengineering) di un sistema software è un attività nella quale si vuole migliorare la qualità di un software esistente, allo scopo di rendere più semplici gli interventi di manutenzione. Essa può comprendere: Ristrutturazione e riscrittura di parte del software (o anche di tutto), senza modificare l insieme di funzionalità che esso realizza Ridocumentazione e aggiornamento della documentazione La ridocumentazione, implicando la comprensione del software da reingegnerizzare, è una operazione preliminare necessaria alla ristrutturazione e alla riscrittura del software Porfirio Tramontana Manutenzione e Reverse Engineering 11
12 Refactoring Refactoring is the art of improving the design of existing code. Refactoring provides us with ways to recognize problematic code and gives us recipes for improving it. [William C. Wake] A change to the system that leaves its behavior unchanged, but enhances some non-functional quality - simplicity, flexibility, understandability,... [Kent Beck] The process of changing a software system in such a way that it does not alter the external behavior of the code, yet improves its internal structure [Fowler] Porfirio Tramontana Manutenzione e Reverse Engineering 12
13 Esempi di Refactoring Net Beans Refactoring Eclipse Refactoring Porfirio Tramontana Manutenzione e Reverse Engineering 13
14 Risorse per il refactoring Alcune risorse riguardanti il refactoring: Esempi pratici di refactoring actoring.ppt Per divertirsi: un torneo sulla realizzazione di strumenti di refactoring Un azienda che si occupa di reverse engineering di codice sorgente, refactoring, etc. html?home=refactoring Porfirio Tramontana Manutenzione e Reverse Engineering 14
15 Un possibile Processo di reengineering Original program Program documentation Modularised program Original data Reverse engineering Source code translation Program modularisation Data re-engineering Program structure improvement Structured program Re-engineered data Porfirio Tramontana Manutenzione e Reverse Engineering 15
16 Attività del processo di reengineering Source code translation Conversione (eventuale) del codice verso il nuovo linguaggio target Reverse engineering Comprensione del programma con generazione di documentazione Program structure improvement Refactoring automatico allo scopo di migliorare la comprensibilità del programma Program modularisation Refactoring che punta ad aumentare la modularizzazione (e di conseguenza la qualità) del codice Data reengineering Ristrutturazione dei dati allo scopo di migliorare la qualità dei dati (rendere l accesso più veloce, eliminare ridondanze e problemi di normalizzazione, etc.) Porfirio Tramontana Manutenzione e Reverse Engineering 16
17 Reverse Engineering Il Reverse Engineering (RE) è un insieme di teorie, modelli, metodi, tecniche e tecnologie per: il progetto e l implementazione di processi di estrazione ed astrazione di informazioni da componenti di un sistema software esistente e la produzione di nuovi componenti ad un livello di astrazione maggiore e consistenti con quelli di partenza; l aggiunta ai componenti prodotti di conoscenza ed esperienza che non può essere ricostruita direttamente ed automaticamente dai componenti analizzati Porfirio Tramontana Manutenzione e Reverse Engineering 17
18 Problemi indecibili nel Reverse Engineering non è possibile, a partire dal solo codice, astrarre il progetto dal quale esso è stato prodotto ma non è invece indecidibile il problema di astrarre un progetto coerente con il codice; non è possibile, a partire dal solo programma oggetto, astrarre il programma sorgente dal quale esso è stato prodotto ma non è invece indecidibile il problema di astrarre un programma sorgente che generi il dato programma oggetto. Le decisioni di progetto si perdono nei pozzi neri del software! Per ricostruirle occorre l aggiunta di conoscenza da parte dell ingegnere del software (il processo di RE non è automatizzabile completamente) Porfirio Tramontana Manutenzione e Reverse Engineering 18
19 Scopi del Reverse Engineering Individuare i componenti del software e le relazioni esistenti tra essi; Creare rappresentazioni del prodotto ad un più alto livello di astrazione; Comprendere e descrivere le funzioni svolte dal prodotto stesso e le modalità con cui esse sono state implementate. Si distinguono fasi di: Estrazione Analisi statica del codice, allo scopo di produrre una documentazione consistente del codice analizzato. Particolarmente utili sono quelli strumenti in grado di estrarre informazioni da un codice sorgente qualsiasi, nota che sia la grammatica del linguaggio di programmazione (ad esempio JavaCC) Astrazione Si esaminano le informazioni estratte e si cercano di astrarre diagrammi ad un più alto livello di astrazione (es.: diagrammi di progetto, architetturali, del dominio dei dati) I processi di astrazione non sono completamente automatizzabili poichè necessitano di conoscenza ed esperienza umana. Porfirio Tramontana Manutenzione e Reverse Engineering 19
20 Il problema dei Legacy Systems Un sistema legacy ( ereditato ) é spesso vecchio (10 anni o più di vita); É di grandi dimensioni (centinania di migliaia di linee di codice) É scritto in assembler o in un linguaggio di vecchia generazione É stato probabilmente sviluppato prima che si diffondessero I moderni principi dell ingegneria del software La manutenzione é stata svolta in modo da seguire le modifiche nei requisiti, aumentando così l entropia (il disordine) del sistema La manutenzione risulta ormai difficile e costosa Realizza funzionalità cruciali e irrinunciabili per l organizzazione Contiene anni di esperienza accumulata nell ambito del dominio specifico del problema Porfirio Tramontana Manutenzione e Reverse Engineering 20
21 La gestione dei Sistemi Legacy: due decenni di strategie Coyle, IEEE Software 2000 Migrazione verso architetture client- server a due livelli Migrazione verso architetture a tre livelli Integrazione in piattaforme OO attraverso wrappers Integrazione nel mondo del WWW Porfirio Tramontana Manutenzione e Reverse Engineering 21
22 Il problema Un sistema legacy obbliga il management a cercare soluzioni e strategie di manutenzione vincenti! Svariate alternative disponibili: Eliminazione del sistema e sviluppo di un nuovo sistema Recupero dei componenti più preziosi del sistema, sostituendo i restanti con prodotti preconfezionati (COTS) Eliminazione dei componenti ormai inutili, del codice obsoleto e dei dati morti Congelamento del sistema as is, e riutilizzo mediante tecniche di wrapping Manutenzione Ordinaria Manutenzione Preventiva (re-documentation, restructuring o reengineering) Migrazione Porfirio Tramontana Manutenzione e Reverse Engineering 22
23 Come decidere? Occorre valutare il sistema sia da una prospettiva Economica che Tecnica. Prospettiva Economica (Business Value): L azienda ha realmente bisogno del sistema? Prospettiva Tecnica: Qual è la qualità del software applicativo, e del suo ambiente di utilizzo (software che hardware)? Porfirio Tramontana Manutenzione e Reverse Engineering 23
24 System quality and business value Analysis Porfirio Tramontana Manutenzione e Reverse Engineering 24
25 Legacy system categories 1. Low quality, low business value Dovrebbe essere abbandonato 2. Low-quality, high-business value Realizza funzionali importante ma è costoso mantenerlo. Dovrebbe essere reingegnerizzato in modo da rendere le future (necessarie) operazioni di manutenzione più agevoli ed efficaci (cioè finire nel quarto caso) 3. High-quality, low-business value Si può decidere sia di abbandonarlo (in quanto poco importante), sia di rimpiazzarlo con COTS (se realizza qualcosa di generale, indipendente dal dominio specifico) oppure mantenerlo (dato che i costi di manutenzione saranno limitati) 4. High-quality, high business value Su di esso si eseguono le operazioni di manutenzione In questo modo, però, la qualità diventerà via via più bassa, fino a finire nel secondo caso Porfirio Tramontana Manutenzione e Reverse Engineering 25
Manutenzione del software
del software Generalità Leggi dell evoluzione del software Classi di manutenzione Legacy systems Modelli di processo per la manutenzione 1 Generalità La manutenzione del software è il processo di modifica
DettagliIngegneria del Software
Ingegneria del Software Introduzione e Concetti Fondamentali Porfirio Tramontana, 2009 Corso di Ingegneria del Software Slide 1 Riferimenti Ian Sommerville, Ingegneria del Software, Capitolo 1 Porfirio
DettagliProcesso parte IV. Cambiamenti del software. Evoluzione del software. Modello a spirale dell evoluzione del software
Cambiamenti del software Processo parte IV Leggere Cap. 21 Sommerville, Sez. 7.5 Ghezzi et al. Sono inevitabili: gli errori devono essere corretti emergono nuovi requisiti funzionali non-funzionali l ambiente
DettagliManutenzione e Reverse Engineering. Ingegneria del Software 2 Manutenzione e Reverse Engineering 1
Manutenzione e Reverse Engineering Ingegneria del Software 2 Manutenzione e Reverse Engineering 1 Riferimenti Sommerville, Ingegneria del Software, 8a ed., Capitolo 21 Ulteriori Letture Raccomandate Grady
DettagliEsami. Ingegneria del Software. Obiettivi del corso. Sir Tony Hoare s suggestion. There are two ways of constructing a software design.
Ingegneria del Software Materiale, link utili, avvisi http://www.dmi.unict.it/~tramonta/se Libri consigliati Sommerville. Software Engineering, 6th ed. Addison-Wesley Pressman. Principi di Ingegneria del
DettagliCorso di Laurea Magistrale in Ingegneria Informatica Curriculum in IT Management. Ingegneria del Software II (IS2)
Corso di Laurea Magistrale in Ingegneria Informatica Curriculum in IT Management Ingegneria del Software II (IS2) a.a. 2017/18 Ingegneria del Software 2 - Introduzione 1 Docente Ing. Porfirio Tramontana
DettagliGestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
DettagliCorso di Ingegneria del Software. Modelli di produzione del software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Le fasi - Manutenzione e Gestione Figura: (waterfall model) Le fasi - Manutenzione e Gestione Manutenzione del software:
DettagliMateriale didattico. Sommario
Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliIngegneria del Software 2010
Ingegneria del Software 2010 Materiale, link utili, avvisi http://www.dmi.unict.it/~tramonta/se Forum su SDAI http://www.sdai.unict.it leggere gli avvisi partecipare alle discussioni fare domande Lezioni
DettagliIntroduzione. Sommario. Il software. Definizione di Ingegneria del software
Sommario Introduzione Leggere Cap. 1 Ghezzi et al. Definizione Nascita dell ingegneria del software Ruolo Relazione con altre discipline Introduzione 2 Il software Il software e` definito come: i programmi,
DettagliSTRUMENTI PER LA MISURA SU CODICE ACTIONSCRIPT SVILUPPATI CON JAVACC
tesi di laurea STRUMENTI PER LA MISURA SU CODICE ACTIONSCRIPT SVILUPPATI CON JAVACC Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Matteo Luongo Matr. 534/802 IL REVERSE ENGINEERING
Dettagli3. Ciclo di Vita e Processi di Sviluppo
3. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 3. Ciclo di Vita e Processi di
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_2 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A2_2 V3.4 Processi Modelli di processi di sviluppo software (cicli di
DettagliAllegato 1 Descrizione profili professionali
Servizio di progettazione, analisi, sviluppo, manutenzione adeguativa, correttiva ed evolutiva di sistemi informativi su piattaforma IBM Websphere BPM - CIG Z2C2542018 Allegato 1 Descrizione profili professionali
DettagliEvoluzione e manutenzione
Evoluzione e manutenzione Una definizione La manutenzione del sw è la modifica di un prodotto sw dopo la consegna per correggere difetti, migliorare le prestazioni o altri attributi, o per adattare il
DettagliIntroduzione. Contenuti da Cap. 1 Ghezzi et al.
Introduzione Contenuti da Cap. 1 Ghezzi et al. Sommario l Definizione l Nascita dell ingegneria del software l Ruolo l Relazione con altre discipline 2 Il software l Il software e` definito come: i programmi,
DettagliEvoluzione e manutenzione
Evoluzione e manutenzione Una definizione La manutenzione del sw è la modifica di un prodotto sw dopo la consegna per correggere difetti, migliorare le prestazioni o altri attributi, o per adattare il
Dettagli.lo standard ISO 12207 I PROCESSI SOFTWARE. ..l organizzazione gerarchica dei processi. articolazione del modello. Ingegneria del Software
I PROCESSI SOFTWARE I CVS descrivono solo una parte delle molteplici attività connesse al software E possibile definire una vista ad alto livello di astrazione di queste attività, un modello capace di
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT. Paolo Salvaneschi B1_1 V1.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi B1_1 V1.1 Strumenti software Il contenuto del documento è liberamente
DettagliUML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13
UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliPIANO DI LAVORO DEL DOCENTE. Docente: Giuliana Pederzoli Classe: 3 A Indirizzo: SIA Disciplina: INFORMATICA Ore di lezione settimanali : 4
Ministero dell Istruzione dell Università e della Ricerca ISTITUTO TECNICO COMMERCIALE STATALE ABBA - BALLINI Via Tirandi n. 3-25128 BRESCIA www.abba-ballini.gov.it tel. 030/307332-393363 - fax 030/303379
DettagliDiagrammi dei package. All aumentare delle dimensioni dei sistemi sw, diviene difficile comprendere e modificare gli stessi
Diagrammi dei package All aumentare delle dimensioni dei sistemi sw, diviene difficile comprendere e modificare gli stessi Package = meccanismo di raggruppamento di più classi (o, in teoria, anche di altri
DettagliVerifica e Validazione del Software
Verifica e Validazione del Software Testing processes Ingegneria del Software 2 Testing Processes 1 Riferimenti Ian Sommerville, Ingegneria del Software, capitoli 22-23-24 (più dettagliato sui processi)
DettagliREGIONE BASILICATA PROCEDURA APERTA (AI SENSI DEL D.LGS.163/2006 E S.M.I.)
PROCEDURA APERTA (AI SENSI DEL D.LGS.163/2006 E S.M.I.) PER L ACQUISIZIONE DEL SERVIZIO EVOLUTIVO E DI ASSISTENZA SPECIALISTICA DEL SISTEMA INFORMATIVO DI MONITORAGGIO DEGLI INVESTIMENTI PUBBLICI DELLA
DettagliIngegneria del Software 2014
Ingegneria del Software 2014 Materiale, link utili, avvisi http://www.dmi.unict.it/~tramonta/se Forum http://forum.informatica.unict.it leggere gli avvisi partecipare alle discussioni fare domande E. Tramontana
DettagliCODESYS Test Manager: Incrementare la qualità del software con unità di test CODESYS Users' Conference 2014, Fabio Filipponi
: Incrementare la qualità del software con unità di test CODESYS Users' Conference 2014, Fabio Filipponi CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Introduzione 2 Introduzione al
DettagliAutomatic generation of test cases
Tecniche Automatiche per la Correttezza del Software 2016/2017 Automatic generation of test cases Prof. Salvatore La Torre Alessandro Sacco Overview Testing Manual Testing vs Automated Testing Generazione
DettagliAnalisi e specifica dei requisiti
Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non
DettagliIntroduzione alla Programmazione. Giselda De Vita
Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:
Dettagli14. Verifica e Validazione
14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dell utente? Introdurremo i concetti di verifica e validazione Descriveremo le fasi del processo di testing Parleremo
DettagliEvoluzione e manutenzione
Evoluzione e manutenzione Una definizione La manutenzione del sw è la modifica di un prodotto sw dopo la consegna per correggere difetti, migliorare le prestazioni o altri attributi, o per adattare il
DettagliRealizzazione di un software per la gestione di apparecchiature biomedicali Anno Accademico 2010/2011
tesi di laurea Realizzazione di un software per la gestione di apparecchiature biomedicali Anno Accademico 2010/2011 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Francesco Gargiulo candidato
DettagliMetriche basate sulla LOC
Metriche basate sulla LOC Errori per KLOC Difetti per KLOC Pagine di documentazione per KLOC Errori per mese/uomo Errori per ore di revisione LOC per mese/uomo $ per pagine di documentazione Metriche funzionali
DettagliMATERIALI PER LA DISCUSSIONE
SETTORE TECNOLOGICO MATERIALI PER LA DISCUSSIONE ISTITUTO TECNICO INDIRIZZO ARTICOLAZIONE TELECOMUNICAZIONI INFORMATICA E TELECOMUNICAZIONI ESITI DI APPRENDIMENTO Regolamento, Art. 5 comma 1 Nota: Le Competenze,
DettagliTecniche di automazione del testing: applicazione ad un caso di studio reale
tesi di laurea Tecniche di automazione del testing: applicazione ad un caso di studio reale Anno Accademico 2005-2006 relatore Ch.mo prof. Porfirio Tramontana correlatore Sig. Mario Polverino candidato
DettagliAPPENDICE 4 AL CAPITOLATO TECNICO
APPENDICE 4 AL CAPITOLATO TECNICO Descrizione dei profili professionali INDICE 1 PROFILI PROFESSIONALI RICHIESTI 3 1.1 CAPO PROGETTO 3 1.2 ANALISTA FUNZIONALE 4 1.3 ANALISTA PROGRAMMATORE 5 1.4 PROGRAMMATORE
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliIS Corso di Ingegneria del Software 1
Contenuti Analisi dei requisiti L attività di analisi Lo studio di fattibilità L analisi dei requisiti 2001 Corso di Ingegneria del Software Specifica dei requisiti V. Ambriola, G.A. Cignoni C. Montenegro,
DettagliIl ciclo di vita del software
Contenuti Il ciclo di vita del software 2001-2009 Corso di Ingegneria del Software V. Ambriola, G.A. Cignoni, C. Montangero, L. Semini Con aggiornamenti di: T. Vardanega (UniPD) Il modello a spirale Il
DettagliVerifica e Validazione del Software
Verifica e Validazione del Software Testing processes 1 Riferimenti Ian Sommerville, Ingegneria del Software, capitoli 22-23-24 (più dettagliato sui processi) Pressman, Principi di Ingegneria del Software,
DettagliLaboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività
Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Valentina Presutti (A-L) Riccardo Solmi (M-Z) Definizione del problema Modello di un dominio Si vuole
DettagliL uso delle tecnologie informatiche per il trattamento dell informazione e della comunicazione archivistica
L uso delle tecnologie informatiche per il trattamento dell informazione e della comunicazione archivistica Archivio di Stato di Perugia Scuola di Archivistica, Paleografia e Diplomatica 15 gennaio 2013
DettagliI Processi di Manutenzione del Software
I Processi di Manutenzione del Software AR Fasolino- Ing.Software II- Processi di Manutenzione 1 Riferimenti Sommerville, Ingegneria del Software, 8a ed., Capitolo 21 Ulteriori Letture Raccomandate Grady
DettagliIngegneria del Software
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A1_3 V2.4 Ingegneria del Software Il corpus di conoscenze Il contenuto del documento è liberamente utilizzabile dagli
DettagliREPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA
REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA SETTORE ECONOMICO PROFESSIONALE 1 Servizi di informatica Processo Sviluppo e gestione di prodotti e servizi informatici Sequenza di
DettagliUnified Modeling Language (UML)
Unified Modeling Language (UML) È una famiglia di notazioni grafiche che si basano su un singolo meta-modello Serve per definire, progettare, realizzare e documentare sistemi sw (in particolare quelli
DettagliMATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari
A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere
DettagliCiclo di vita per lo sviluppo di software sicuro
Ciclo di vita per lo sviluppo di software sicuro (a cura di Roberto Ugolini Postecom Spa) Security Service Unit Documento pubblico Le motivazioni del cambiamento 1/3 2 Aumentare il livello di sicurezza
DettagliIntroduzione al corso
Luca Cabibbo Ingegneria del Software Ingegneria del software: Introduzione al corso Dispensa IDS 0 ottobre 2008 1 Ingegneria e Ingegneria del software Ingegneria gli ingegneri fanno funzionare le cose,
DettagliVerifica e Validazione del Software
Verifica e Validazione del Software Testing processes Ingegneria del Software 2 Testing Processes 1 Riferimenti Ian Sommerville, Ingegneria del Software, capitoli 22-23-24 (più dettagliato sui processi)
DettagliStrumenti per l automazione del testing di applicazioni web Javascript-based
tesi di laurea Strumenti per l automazione del testing di applicazioni web Javascript-based Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana 1 candidato Salvatore Agnello Matr. 41/2612
DettagliModelli di processo. Marina Zanella - Ingegneria del Software Processo 1
Modelli di processo Ciclo di vita di un prodotto sw = tutte le fasi che accompagnano tale prodotto dal concepimento dell idea dello stesso fino al suo ritiro Modello di processo = tentativo di organizzare
DettagliCosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
DettagliREPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA
REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA QUALIFICAZIONE PROFESSIONALE Denominazione qualificazione Analista programmatore 5 Settore Economico Professionale Area di Attività
DettagliIngegneria del Software
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A1_3 V3.3 Ingegneria del Software Il corpus di conoscenze Il contenuto
DettagliWelding procedure and qualification management
Welding procedure and qualification management SOFTWARE DI GESTIONE DELLA SALDATURA WELDEYE "La saldatura è una delle poche professioni in cui il livello di competenza viene valutato ogni sei mesi. Il
DettagliMigrazione Automazione. Premere Invio per continuare
Migrazione Automazione Premere Invio per continuare La migrazione da SIMATIC S5 a SIMATIC S7 che proponiamo può essere organizzata con il minimo impatto sul fermo macchina e sulle procedure operative di
DettagliProgetto ARS01_00917 OK-INSAID Operational Knowledge from Insights and An 703,520 PON R&I Capofila. Durata (mesi) 30 Data Inizio 01/07/2018
Progetto ARS01_00917 OK-INSAID Operational Knowledge from Insights and An Capofila Engineering Ingegneria Informatica S.p.A. Durata (mesi) 30 Data Inizio 01/07/2018 Costo Progetto Quota CALEF (K ) 703,520
DettagliMoviri e DevOps: Case Studies. Un approccio concreto al DevOps per accelerare dialogo e risultati tra IT Operations e Quality Assurance
Moviri e DevOps: Case Studies Un approccio concreto al DevOps per accelerare dialogo e risultati tra IT Operations e Quality Assurance Settembre 2013 Case Study 1: IT Operations Department Contesto Il
DettagliAnalisi e Progettazione del Software
Analisi e Progettazione del Software La Metodologia di Riferimento: Introduzione versione 1.0 del 16/03/2003 G. Mecca Università della Basilicata mecca@unibas.it La Metodologia di Riferimento >> Sommario
DettagliRefactoring. Refactoring. Perché Fare Refactoring. Refactoring
Per passare dalla versione 0.2 alla versione 0.9 è stato usata la tecnica di Estrai Metodo La versione 1.2, eliminando due attributi, previene eventuali effetti collaterali (ovvero non voluti) di altre
DettagliLe iniziative Consip a supporto
1 Le iniziative Consip a supporto del Piano Triennale per l informatica nella PA Palermo, 12 giugno 2018 2 Servizi Professionali e di Supporto ICT Procedura ristretta in 5 lotti (geografici e per tipologia
DettagliSyllabus Start rev. 1.03
Syllabus Start rev. 1.03 Modulo 1 Concetti di base della qualità e della soddisfazione del cliente Il seguente Syllabus è relativo al Modulo 1 di EQDL Start, Concetti di base della qualità e della soddisfazione
DettagliProgrammazione con Java
Programmazione con Java Realtà e sistemi informatici Scopo dell informatica Studiare e produrre tecnologie, tecniche e metodi per rappresentare il mondo reale mediante dati, informazioni e conoscenza che
DettagliStandardizzazione dei processi Istat
Standardizzazione dei processi produttivi @ Istat Mauro Bruno Istituto Nazionale di Statistica - Istat Outline Il contesto L Enterprise Architecture (EA) come strumento di supporto alla standardizzazione
DettagliTrasformazione dell'it Service Management: IBM - ServiceNow
Trasformazione dell'it Service Management: IBM - ServiceNow Martino Bedani GTS Mobility Services Associate Partner Segrate, 8 marzo 2017 Strategia IBM «Right to Left» High Nessun Problema Risoluzione automatica
DettagliSistemi ICT per il Business Networking
Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Il Software Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 Introduzione Codice sorgente Codice
DettagliIngegneria del Software
Ingegneria del Software Analisi e Specifica dei Requisisti Analisi e Specifica dei Requisisti Scopi dell Attività: Definizione di funzioni, vincoli, prestazioni, interfacce e qualsiasi altra caratteristica
DettagliIngegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
DettagliCorso di Ingegneria del Software
Corso di Paolo Bottoni Introduzione allo Unified Process Alcuni lucidi sono tratti dal materiale di supporto a UML2 and the Unified Process, di Arlow e Neustadt Clear View Training 2010 v2.6 Obiettivi
DettagliPiano di Testing. Fontolan Federico Giacomazzi Andrea Yoshida Kotono Rosada Fabio
Piano di Testing Fontolan Federico 854230 Giacomazzi Andrea 854522 Yoshida Kotono 853696 Rosada Fabio 851772 February 3, 2017 Indice 1 Introduzione 2 2 Requisiti 2 3 Fase e gerarchia di Test 3 3.1 Unit
DettagliCAPITOLATO SPECIALE D'APPALTO PER L ACQUISIZIONE DI SERVIZI DI SVILUPPO SOFTWARE A SUPPORTO DELLA PRODUZIONE AZIENDALE IN.VA. S.P.A.
PER L ACQUISIZIONE DI SERVIZI DI SVILUPPO SOFTWARE A SUPPORTO DELLA PRODUZIONE AZIENDALE IN.VA. S.P.A. VERS. DOC. 1.00 DEL 08/06/2016 1. Contesto INVA ha, al suo interno, una direzione preposta allo sviluppo
DettagliProgetto TaleteWeb. Ing. Gregorio Paccone Amministratore Unico - Healthcare Engineering Services srl
Progetto TaleteWeb Realizzazione di un modello organizzativo-informatico per la gestione dei processi delle Strutture di assistenza territoriale extra ospedaliera In conformità ai requisiti di accreditamento
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Strumenti di Sviluppo: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliConfiguration Change Release Management
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A6_3 V1.0 Configuration Change Release Management Il contenuto del documento
DettagliCorso di Ingegneria del Software. Concetti Introduttivi
Concetti Introduttivi Che cos è il software? Non solo programmi (sequenze di istruzioni di elaborazione), ma un insieme di artifatti Programmi ed istruzioni Documentazione Dati Definizione IEEE (Institute
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_3 V2.1. Gestione
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A6_3 V2.1 Gestione Gestione delle versioni, configurazioni e modifiche Il contenuto del documento è liberamente utilizzabile
DettagliPROGRAMMAZIONE DIDATTICA DISCIPLINARE
Pag. 1 di 8 PROGRAMMAZIONE DIDATTICA DISCIPLINARE Disciplina TECNOLOGIE INFORMATICHE LAB. a.s. 2016/2017 Classi: 1 a - Sez. A, B, C, D, E, F, G, H, P INDIRIZZO: TRASPORTI E LOGISTICA Prof.ssa Ibba Paola
DettagliInformatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven
Tesi di laurea in Informatica Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven Relatore Ch.mo Prof. Giuseppe Trautteur Candidato Gioacchino Del
DettagliIBM - IT Service Management 1
IBM - IT Service 1 IBM - IT Service 2 L IT si trasforma e richiede un modello operativo orientato ai Servizi IT Centro di Costo Operations Governance & CRM CRM IT - Azienda Strategy Organization Financial
DettagliCorso di Ingegneria del Software. Modelli di produzione del software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 2.3 Modelli evolutivi 2.4 Comparazione dei modelli 2.5 Modelli
DettagliLa gestione per processi nella Pubblica Amministrazione locale: il caso delle Unioni territoriali intercomunali
UNIVERSITÀ DEGLI STUDI DI UDINE Dipartimento Politecnico di Ingegneria e Architettura Corso di Laurea Magistrale in Ingegneria Gestionale Tesi di Laurea Magistrale La gestione per processi nella Pubblica
DettagliCorso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque
Dettagli2. Finalità generali previste dalle indicazioni nazionali
2. Finalità generali previste dalle indicazioni nazionali Le Linee Guida ministeriali per i curricola del Secondo biennio dell Istituto Tecnico Tecnologico, Indirizzo Informatica e Telecomunicazioni -
DettagliMeccatronica? Flavio Corradini CF3000 Engineering & Electronics Group
Meccanica + Elettronica = Meccatronica? Flavio Corradini CF3000 Engineering & Electronics Group 1 Automotive Electronics Nautical Electronics 2 Dispositivi Meccatronici =? Dispositivi in cui sono integrati
DettagliPresentazione dei dati di telecontrollo su interfaccia georeferenziata: il territorio a colpo d occhio. Ing. Giuliano Ceseri ID&A Srl
Presentazione dei dati di telecontrollo su interfaccia georeferenziata: il territorio a colpo d occhio Ing. Giuliano Ceseri ID&A Srl Forum Telecontrollo Reti Acqua Gas ed Elettriche Roma 14-15 ottobre
DettagliCapitolo 7. Ingegneria del Software. Mauro Giacomini Pearson Addison-Wesley. All rights reserved
Capitolo 7 Ingegneria del Software Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 7: Ingegneria del Software 7.1 Disciplina dell ingegneria del Software 7.2 Il ciclo di vita
DettagliGestione della Configurazione. Porfirio Tramontana - Ingegneria del Software Gestione della Configurazione 1
Gestione della Configurazione Porfirio Tramontana - Ingegneria del Software Gestione della Configurazione 1 Riferimenti Sommerville, Capitolo 29 G.A. Di Lucca, Slide del corso di Gestione dei Sistemi Software,
DettagliWelding Procedure and Qualification Management SOFTWARE DI GESTIONE DELLA SALDATURA WELDEYE
Welding Procedure and Qualification Management SOFTWARE DI GESTIONE DELLA SALDATURA WELDEYE 15.01.2018 Welding Procedure and Qualification Management GESTIONE EFFICIENTE DELLE PROCEDURE DI SALDATURA, DEL
DettagliStudio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti
tesi di laurea Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti Anno Accademico 2005/2006 relatore Ch.mo Prof. Stefano Russo correlatore Ing. Generoso Paolillo candidato
DettagliPIANO DI LAVORO DEL DOCENTE. Docente: Giuliana Pederzoli Classe: 3 A Indirizzo: SIA Disciplina: INFORMATICA Ore di lezione settimanali : 4
Ministero dell Istruzione dell Università e della Ricerca ISTITUTO TECNICO COMMERCIALE STATALE ABBA - BALLINI Via Tirandi n. 3-25128 BRESCIA www.abba-ballini.gov.it tel. 030/307332-393363 - fax 030/303379
DettagliApplicazione software per la classificazione, guidata da query Xpath, di pagine equivalenti ai fini del testing
tesi di laurea Applicazione software per la classificazione, guidata da query Xpath, di pagine Anno Accademico 2007/2008 relatore Ch.mo prof. Anna Rita Fasolino correlatore Ch.mo prof. Porfirio Tramontana
DettagliUML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009
UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata
DettagliProcessi iterativi. Marina Zanella - Ingegneria del Software RUP 1
Processi iterativi L inizio delle iterazioni è quasi sempre preceduto da una fase esplorativa di definizione dei requisiti globali del sistema a un livello di astrazione molto elevato: questo passo è necessario
DettagliDESCRIZIONE PROFILI PROFESSIONALI
AVVISO DI INDAGINE DI MERCATO finalizzato alla raccolta di manifestazione di interesse per la partecipazione a una procedura negoziata per l affidamento del Servizio di Progettazione, analisi, sviluppo,
DettagliYour mission, our passion
Your mission, our passion Corporate Profile Reggio Emilia, ottobre 2016 Il Gruppo Il Gruppo Movin log scarl Logistics & Recruitment Iso 9001 Member Cooperatives Service Delivery Standard Quality Ma Standard
Dettagli[1] Customer Relationship Marketing (Management)
Corsi di marketing relazionale e analisi del comportamento dei consumatori standard e personalizzati: [1] Customer Relationship Marketing (Management), [2] Consumer Behavior Analysis, [3] Customer Satisfaction
DettagliMDD Tools in CSI Piemonte: industrializzazione dello sviluppo e progetto open source
: industrializzazione dello sviluppo e progetto open source Paolo Arvati CSI Piemonte Direzione Tecnica / Architetture e Tecnologie CSI-Piemonte l informatica per i servizi pubblici siamo una delle principali
Dettagli