Corrado Aaron Visaggio Research Centre on Software Technology - RCOST University of Sannio Benevento, Italy

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corrado Aaron Visaggio visaggio@unisannio.it, Research Centre on Software Technology - RCOST University of Sannio Benevento, Italy"

Transcript

1 Test Driven Development in action Corrado Aaron Visaggio Research Centre on Software Technology - RCOST University of Sannio Benevento, Italy Corrado Aaron Visaggio 1 Agile Manifesto L Agile Manifesto (agilemanifesto.org). descrive i principi guida che orientano lo sviluppo degli Agile Methods: Individui ed iterazioni piuttosto che processi e strumenti; Software funzionante piuttosto che documentazione onnicomprensiva. Collaborazione del committente piuttosto che negoziazione del contratto. Rispondere al cambiamento piuttosto che seguire un piano. Corrado Aaron Visaggio 2

2 Agile Manifesto L Agile Manifesto (agilemanifesto.org). descrive i principi guida che orientano lo sviluppo degli Agile Methods: Individui ed iterazioni piuttosto che processi e strumenti; Software funzionante piuttosto che documentazione onnicomprensiva. Collaborazione del committente Scrum piuttosto che negoziazione del contratto. Rispondere al cambiamento piuttosto che seguire un piano. Crystal Corrado Aaron Visaggio 3 extreme Progamming: the r-evolution XP nasce da un idea di Kent Beck [Beck, 2000]. La sua prima applicazione è stata in Daimler Chrysler, nel progetto C3, un progetto di gestione stipendi. I valori di XP: Comunicazione. Semplicità. Feedback. Coraggio. Corrado Aaron Visaggio 4

3 XP: the 12 practices Planning Game. Pianificazione delle iterazioni successive, tramite gli stand up meeting. Scrittura delle story card. Small releases. Devono essere rilasciate piccole versioni funzionanti del software. Metaphor. Il team di progetto deve avere una visione chiara e precisa degli elementi architetturali e delle relazioni che vi intercorrono. Simple design. Il progetto del sistema deve essere semplice. Corrado Aaron Visaggio 5...XP: the 12 practices... Testing. La codifica deve seguire la scrittura degli unit test. Refactoring [Fowler, 2000]. Pair programming. Collective Ownership. Chiunque può modificare qualunque porzione di codice. Continuous Integration. Integrazione dei prodotti delle singole coppie nella Code Base. 40-Hour week. Corrado Aaron Visaggio 6

4 ...XP: the 12 practices On site customer. Il committente partecipa allo sviluppo del sistema. Coding Standards. La codifica deve seguire standard molto precisi. Corrado Aaron Visaggio 7 XP: il processo Corrado Aaron Visaggio 8

5 Definition (1/2) The test aspect TDD means that the tests for programming units [in Object Oriented Programming unit means a class method] drive the code writing. The programmer writes the test prior to the code to be tested. The programmer changes the code according to the results of the tests: the code rises from the tests ( results) In usual unit test the programmer writes the code as first and then (writes and) executes the tests. Corrado Aaron Visaggio 9 The driven aspect Definition (2/2) The goal of TDD is write clean code that works: TDD should avoid duplication in the code code is changed only when the test fails. TDD should drives the decisions to make about the design, including interface and code of each method. TDD is not a technique for testing, but for developing. The development aspect TDD is a practice of code development, it is not a process: it can be used in larger processes together with other practices. Tests produced during tdd is relevant part of the product s set and shouldn t be thrown away. Corrado Aaron Visaggio 10

6 The process of TDD start Write class interfaces Write the tests Execute the tests Write/change the code Go to the next class No Did the tests fail? Yes Corrado Aaron Visaggio 11 The Process of Testing After Coding (TAC) start Write class interfaces Write/change the code Write the tests Execute the tests Drivers+stub Go to the next class Did Yes the tests fail? No Corrado Aaron Visaggio 12

7 The Example The Use Case Story: to write a program that should calculate the sum and the difference of two integers and should return the results. Corrado Aaron Visaggio 13 TDD: first step Step 1. Let s write the interfaces of the class write a rough version of the methods body, too. public class MathsOperation { int result; public integer add (integer int1; integer int2) {result= int1+int2;} public integer difference (integer int1; integer int2) {result=int1-int2;} public integer getresult() {} } Corrado Aaron Visaggio 14

8 TDD: second & third step Step 2. Let s write the test code MathsOperation calc= new clalc(); assertequals(4; calc.add(0,4)); assertequals(4; calc.add(4,0)); assertequals(4; calc.add(2,2)); assertequals(4; calc.add(2,2)); assertequals(2*integer.max_value; calc.add(integer.max_value, Integer.MAX_VALUE)); assertequals (4; calc.add(2,2)); assertequals (0; calc.difference(2,2)); assertequals (1; calc.difference(2,3)); //now I d like to have the result of the last sum assertequals(4; calc.getresult()); Step 3. Let s execute the test code look the bar is RED: something went wrong, go to the Corrado Aaron Visaggio 15 code and change it! Corrado Aaron Visaggio 16

9 TDD: fourth step (1/2) Step 4. Let s improve the code on the basis of the test feedback: assertequals(2*integer.max_value; calc.add(integer.max_value, Integer.MAX_VALUE)); The mistakes is due to the absence of the controls on the maximum value; the solution is to add a control in the method like that: if ((int1== Integer.MAX_VALUE) (int2== Integer.MAX_VALUE)) then System.out.println( Please, enter number smaller than ); Now, let s go on with tests; the bar is red again... Corrado Aaron Visaggio 17 TDD: fourth step (2/3) assertequals (1; calc.difference(2,3)); The mistakes is due to the absence of a controls on the inputs: the result must be an integer, so the order is important; the solution is to add a control in the method like that: if ((int1 < int2) then result= int2-int1; else int1-int2. The bar is yet RED... Corrado Aaron Visaggio 18

10 TDD: fourth step (3/3) assertequals(4; calc.getresult()); The mistakes suggests me that I need two variables for results: public class MathsOperation { int sumresult; int differenceresult; public integer add (integer int1; integer int2) {sumresult= int1+int2;} public integer difference (integer int1; integer int2) {differenceresult=int1-int2} public integer getsum() {return sumresult;} public integer getdifference() {return differenceresult;} } Finally the bar is GREEN everything is ok. Corrado Aaron Visaggio 19 TAC: first step First step: in TAC the phase of analysis is more accurate, the code should be written in a more precise way. public class MathsOperation { int sumresult; int differenceresult; public integer add (integer int1; integer int2) {sumresult= int1+int2;} public integer difference (integer int1; integer int2) {differenceresult=int1-int2} public integer getsumresult() {return sumresult;} public integer getdifferenceresult() {return differenceresult;} } Corrado Aaron Visaggio 20

11 TAC: the process After the code, the test bed should be written. The test bed will be a java class, with a main method and assertequals method. After having executed the tests, the developer should analyse all the test s results and make all the corrections together on the code. On the contrary, with tdd, the corrections were made incrementally. Corrado Aaron Visaggio 21 TAC: the test bed public class TestBed { public static void main(string[] args) { MathsOperation calc= new MathsOperation (); assertequals(4, calc.add(0,4)); assertequals(4, calc.add(4,0)); assertequals(4, calc.add(2,2)); assertequals(4, calc.add(2,2)); assertequals(2*integer.max_value, calc.add(integer.max_value, Integer.MAX_VALUE)); assertequals (4, calc.add(2,2)); assertequals (0, calc.difference(2,2)); assertequals (1, calc.difference(2,3)); // now I d like to have the result of the last sum assertequals(4, calc.getsumresult()); } public static boolean assertequals (int value1, int value2) { System.out.print("expected :" + value1 + " ; obtained: "+ value2); if (value1!= value2) { System.out.println(": Test Failed!"); return false;} else { System.out.println(": Test Succeded!"); return false; Corrado Aaron Visaggio 22 }}}

12 TAC: the test results expected :4 ; obtained: 4: Test Succeded! expected :4 ; obtained: 4: Test Succeded! expected :4 ; obtained: 4: Test Succeded! expected :4 ; obtained: 4: Test Succeded! expected :-2 ; obtained: -2: Test Succeded! [this is not correct, because the computer records -2 instead of 2*( )] expected :4 ; obtained: 4: Test Succeded! expected :0 ; obtained: 0: Test Succeded! expected :1 ; obtained: -1: Test Failed! expected :4 ; obtained: 4: Test Succeded! Corrado Aaron Visaggio 23 TAC: change the code The code is changed accordingly to the test s result. The code obtained will be the same obtained with the tdd. Corrado Aaron Visaggio 24

13 Test Driven Development links The home: JUnit org: JUnit tour: Corrado Aaron Visaggio 25 Corrado Aaron Visaggio 26

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Processi di Sviluppo Agile Origini dello Sviluppo Agile Proposta di un gruppo di sviluppatori che rilevava una serie di criticità degli approcci convenzionali: Troppa rigidità dei

Dettagli

Gestione dello sviluppo software Modelli Agili

Gestione dello sviluppo software Modelli Agili Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_3 V1.1 Gestione dello sviluppo software Modelli Agili Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

REGISTRATION GUIDE TO RESHELL SOFTWARE

REGISTRATION GUIDE TO RESHELL SOFTWARE REGISTRATION GUIDE TO RESHELL SOFTWARE INDEX: 1. GENERAL INFORMATION 2. REGISTRATION GUIDE 1. GENERAL INFORMATION This guide contains the correct procedure for entering the software page http://software.roenest.com/

Dettagli

Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013

Ingegneria del Software Testing. Corso di Ingegneria del Software Anno Accademico 2012/2013 Ingegneria del Software Testing Corso di Ingegneria del Software Anno Accademico 2012/2013 1 Definizione IEEE Software testing is the process of analyzing a software item to detect the differences between

Dettagli

metodologie metodologia una serie di linee guida per raggiungere certi obiettivi

metodologie metodologia una serie di linee guida per raggiungere certi obiettivi metodologie a.a. 2003-2004 1 metodologia una serie di linee guida per raggiungere certi obiettivi più formalmente: un processo da seguire documenti o altri elaborati da produrre usando linguaggi più o

Dettagli

Organizzazione della lezione. Extreme Programming (XP) Lezione 19 Extreme Programming e JUnit. JUnit. JUnit. Test-Driven Development

Organizzazione della lezione. Extreme Programming (XP) Lezione 19 Extreme Programming e JUnit. JUnit. JUnit. Test-Driven Development Organizzazione della lezione Lezione 19 Extreme Programming e JUnit Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di Salerno

Dettagli

WELCOME. Go to the link of the official University of Palermo web site www.unipa.it; Click on the box on the right side Login unico

WELCOME. Go to the link of the official University of Palermo web site www.unipa.it; Click on the box on the right side Login unico WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.

Dettagli

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti Sviluppo Agile [Cockburn 2002] Extreme Programming (XP) [Beck 2000] Sono più importanti auto-organizzazione, collaborazione, comunicazione tra membri del team e adattabilità del prodotto rispetto ad ordine

Dettagli

introduzione al corso di ingegneria del software

introduzione al corso di ingegneria del software introduzione al corso di ingegneria del software a.a. 2003-2004 contatti con i docenti Maurizio Pizzonia pizzonia@dia.uniroma3.it orario ricevimento: mercoledì 17:30 (presentarsi entro le 18:00) Valter

Dettagli

Tecnologia e Applicazioni Internet 2009/10

Tecnologia e Applicazioni Internet 2009/10 Tecnologia e Applicazioni Internet 2009/10 Lezione 0 - Test-Driven Development Matteo Vaccari http://matteo.vaccari.name/ vaccari@pobox.com Argomenti del corso Progettazione applicativa moderna Test unitario

Dettagli

Sviluppo software guidato dal testing. metodologie e strumenti

Sviluppo software guidato dal testing. metodologie e strumenti Sviluppo software guidato dal testing metodologie e strumenti Sommario Testing, software a oggetti Metodologie di sviluppo Test-Driven Development Customer Test-Driven Development Strumenti Open-Source:

Dettagli

Introduzione al TDD. Test Driven Development: Quando, Come, Perchè Facoltà di Ingegneria Pavia 27 Novembre 2015. Marco Fracassi Roberto Grandi

Introduzione al TDD. Test Driven Development: Quando, Come, Perchè Facoltà di Ingegneria Pavia 27 Novembre 2015. Marco Fracassi Roberto Grandi Introduzione al TDD Test Driven Development: Quando, Come, Perchè Facoltà di Ingegneria Pavia 27 Novembre 2015 Marco Fracassi Roberto Grandi Chi siamo? 8 team sviluppo in 7Pixel: Nautilus Nimbus -> Marco

Dettagli

U Corso di italiano, Lezione Quindici

U Corso di italiano, Lezione Quindici 1 U Corso di italiano, Lezione Quindici U Buongiorno, anche in questa lezione iniziamo con qualche dialogo formale M Good morning, in this lesson as well, let s start with some formal dialogues U Buongiorno,

Dettagli

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale M-Z A.A. 2005-06 USO DEL FRAMEWORK JUNIT

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO

UNIVERSITÀ DEGLI STUDI DI TORINO STEP BY STEP INSTRUCTIONS FOR COMPLETING THE ONLINE APPLICATION FORM Enter the Unito homepage www.unito.it and click on Login on the right side of the page. - Tel. +39 011 6704425 - e-mail internationalexchange@unito.it

Dettagli

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal Portale Materiali Grafiche Tamburini Documentazione utente italiano pag. 2 Grafiche Tamburini Materials Portal English user guide page 6 pag. 1 Introduzione Il Portale Materiali è il Sistema Web di Grafiche

Dettagli

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[p,q],a) regola(2,[b,x,a],w) regola(3,[h],c) regola(4,[a,n,q],v)

Dettagli

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK

College Algebra. Logarithms: Denitions and Domains. Dr. Nguyen November 9, Department of Mathematics UK College Algebra Logarithms: Denitions and Domains Dr. Nguyen nicholas.nguyen@uky.edu Department of Mathematics UK November 9, 2018 Agenda Logarithms and exponents Domains of logarithm functions Operations

Dettagli

Programmazione ad Oggetti. Programmazione ad Oggetti. JUnit è un ambiente di test per programmi Java. Sviluppato da Kent Beck

Programmazione ad Oggetti. Programmazione ad Oggetti. JUnit è un ambiente di test per programmi Java. Sviluppato da Kent Beck Test con Junit V 1.2 Marco Torchiano 2005 Test con JUnit JUnit è un ambiente di test per programmi Java Sviluppato da Kent Beck E un framework che offre tutte le funzionalità utili per il test E integrato

Dettagli

Constant Propagation. A More Complex Semilattice A Nondistributive Framework

Constant Propagation. A More Complex Semilattice A Nondistributive Framework Constant Propagation A More Complex Semilattice A Nondistributive Framework 1 The Point Instead of doing constant folding by RD s, we can maintain information about what constant, if any, a variable has

Dettagli

Downloading and Installing Software Socio TIS

Downloading and Installing Software Socio TIS Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and

Dettagli

Tecnologia e Applicazioni Internet 2011/12

Tecnologia e Applicazioni Internet 2011/12 Tecnologia e Applicazioni Internet 2011/12 Lezione 0 - Test-Driven Development Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it 1 Le vostre aspettative? 2 Argomenti Progettazione

Dettagli

Si ricorda che il pagamento è possibile solo tramite CARTE DI CREDITO del circuito VISA VBV (Verified By Visa) o MASTERCARD SECURECODE

Si ricorda che il pagamento è possibile solo tramite CARTE DI CREDITO del circuito VISA VBV (Verified By Visa) o MASTERCARD SECURECODE BENVENUTO WELCOME Dopo aver acconsentito al trattamento dati personali potrai accedere alla procedura di iscrizione online agli eventi messi a disposizione dal Gruppo Cinofilo Fiorentino. Ti consigliamo

Dettagli

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2.

Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Scuola Sec. SECONDO Grado Gara 2 IND - 15/16 ESERCIZIO 1 Si faccia riferimento all Allegato A - OPS 2016, problema ricorrente REGOLE E DEDUZIONI, pagina 2. Sono date le seguenti regole: regola(1,[a],b)

Dettagli

UML: Aggregazione. class A { int s; public void sets(int){ }; public int gets() { }; class B {A ob; public void usea() { }; }

UML: Aggregazione. class A { int s; public void sets(int){ }; public int gets() { }; class B {A ob; public void usea() { }; } UML: Aggregazione class A { int s; public void sets(int){ ; public int gets() { ; class B {A ob; public void usea() { ; Aggregation - Composition Use aggregation (has-a) when the lifecycle of the partecipating

Dettagli

User Guide Guglielmo SmartClient

User Guide Guglielmo SmartClient User Guide Guglielmo SmartClient User Guide - Guglielmo SmartClient Version: 1.0 Guglielmo All rights reserved. All trademarks and logos referenced herein belong to their respective companies. -2- 1. Introduction

Dettagli

Esercitazione di lunedì - TUTTE LE MATRICOLE -

Esercitazione di lunedì - TUTTE LE MATRICOLE - 1 Esercitazione di lunedì - TUTTE LE MATRICOLE - 2 Pre-esercitazione - Prova a fare il primo esercizio guidato in modo da riprendere le fila del discorso fatto a lezione su come strutturare un progetto.

Dettagli

Introduzione all Ingegneria del Software

Introduzione all Ingegneria del Software Introduzione all Ingegneria del Software Alessandro Martinelli alessandro.martinelli@unipv.it 10 Dicembre 2013 Introduzione all Ingegneria del Software Ingegneria del Software Modelli di Sviluppo del Software

Dettagli

CEDMEGA Rev 1.2 CONNECTION TUTORIAL

CEDMEGA Rev 1.2 CONNECTION TUTORIAL CEDMEGA Rev 1.2 CONNECTION TUTORIAL rev. 1.0 19/11/2015 1 www.cedelettronica.com Indice Power supply [Alimentazione]... 3 Programming [Programmazione]... 5 SD card insertion [Inserimento SD card]... 7

Dettagli

Finite Model Theory / Descriptive Complexity: bin

Finite Model Theory / Descriptive Complexity: bin , CMPSCI 601: Recall From Last Time Lecture 19 Finite Model Theory / Descriptive Compleity: Th: FO L DSPACE Fagin s Th: NP SO. bin is quantifier-free.!#"$&% ('*), 1 Space 0 1 ) % Time $ "$ $ $ "$ $.....

Dettagli

Progetto di Informatica III

Progetto di Informatica III Progetto di Informatica III Sviluppo Agile (Agile Software Development) Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Metodologia agile Agile Manifesto Che cos è l agilità

Dettagli

AIM OF THE LESSON: for the students to familiarise themselves with the language of cooking

AIM OF THE LESSON: for the students to familiarise themselves with the language of cooking Lesson 1 Gli Gnocchi Date N of students AIM OF THE LESSON: for the students to familiarise themselves with the language of cooking The following activities are based on "Communicative method" which encourages

Dettagli

extreme Programming in un curriculum universitario

extreme Programming in un curriculum universitario extreme Programming in un curriculum universitario Lars Bendix Department of Computer Science Lund Institute of Technology Sweden Università di Bologna, 18 giugno, 2002 Extreme Programming On-site customer

Dettagli

Guida all installazione del prodotto 4600 in configurazione plip

Guida all installazione del prodotto 4600 in configurazione plip Guida all installazione del prodotto 4600 in configurazione plip Premessa Questo prodotto è stato pensato e progettato, per poter essere installato, sia sulle vetture provviste di piattaforma CAN che su

Dettagli

TNCguide OEM Informativa sull introduzione di documentazione aggiuntiva nella TNCguide

TNCguide OEM Informativa sull introduzione di documentazione aggiuntiva nella TNCguide Newsletter Application 4/2007 OEM Informativa sull introduzione di documentazione aggiuntiva nella APPLICABILITÀ: CONTROLLO NUMERICO itnc 530 DA VERSIONE SOFTWARE 340 49x-03 REQUISITI HARDWARE: MC 420

Dettagli

CONFIGURATION MANUAL

CONFIGURATION MANUAL RELAY PROTOCOL CONFIGURATION TYPE CONFIGURATION MANUAL Copyright 2010 Data 18.06.2013 Rev. 1 Pag. 1 of 15 1. ENG General connection information for the IEC 61850 board 3 2. ENG Steps to retrieve and connect

Dettagli

REGISTRATION. Area Ricerca

REGISTRATION. Area Ricerca REGISTRATION Note: former students can skip the registration process and log in using their account (id123456) 1.1 HOW TO REGISTER: please, go to web page www.univr.it/applicationphd and select the item

Dettagli

Echi da Amsterdam. Titolo: Sintesi presentazioni Metodologia Agile. Sintesi del Leadership Meeting e dell EMEA Congress 2009. Relatore: Bruna Bergami

Echi da Amsterdam. Titolo: Sintesi presentazioni Metodologia Agile. Sintesi del Leadership Meeting e dell EMEA Congress 2009. Relatore: Bruna Bergami Echi da Amsterdam Sintesi del Leadership Meeting e dell EMEA Congress 2009 Titolo: Sintesi presentazioni Metodologia Agile Relatore: Bruna Bergami PMI NIC - Tutti i diritti riservati Milano, 19 Giugno

Dettagli

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem.

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem. CRWM CRWM (Web Content Relationship Management) has the main features for managing customer relationships from the first contact to after sales. The main functions of the application include: managing

Dettagli

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

Dettagli

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM ALLEGATO 2 FULL PROJECT FORM FORM 1 FORM 1 General information about the project PROJECT SCIENTIFIC COORDINATOR TITLE OF THE PROJECT (max 90 characters) TOTAL BUDGET OF THE PROJECT FUNDING REQUIRED TO

Dettagli

www.oktradesignal.com SANTE PELLEGRINO

www.oktradesignal.com SANTE PELLEGRINO www.oktradesignal.com SANTE PELLEGRINO Una semplice strategia per i traders intraday Simple strategy for intraday traders INTRADAY TRADER TIPI DI TRADERS TYPES OF TRADERS LAVORANO/OPERATE < 1 Day DAY TRADER

Dettagli

Corso di Ingegneria del Software. Introduzione al corso

Corso di Ingegneria del Software. Introduzione al corso Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it I periodi 1. Anni 50: Software Engineering come Hardware Engineering 2. Anni 60: Code&Fix 3. Anni 70: Il modello Waterfall

Dettagli

Introduzione all ambiente di sviluppo

Introduzione all ambiente di sviluppo Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio

Dettagli

WELCOME UNIPA REGISTRATION:

WELCOME UNIPA REGISTRATION: WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.

Dettagli

Customer Centric/Inquiry/E-bill. Tanya Enzminger

Customer Centric/Inquiry/E-bill. Tanya Enzminger Customer Centric/Inquiry/E-bill Tanya Enzminger Customer Centric E-bill On-line Electronic Billing system Real-time viewing of customer data including statement, payment, toll usage and other information

Dettagli

Stringhe. Prof. Lorenzo Porcelli

Stringhe. Prof. Lorenzo Porcelli Stringhe Prof. Lorenzo Porcelli definizione Una stringa è un vettore di caratteri terminato dal carattere nullo \0. Il carattere nullo finale permette di determinare la lunghezza della stringa. char vet[32];

Dettagli

BDM Motorola MC32xxx User Manual

BDM Motorola MC32xxx User Manual BDM Motorola MC32xxx User Manual FG Technology 1/14 BDM Motorola MC32xxx Indice Index Premessa / Premise..................................................................... 3 Il modulo EOBD2 / The EOBD2

Dettagli

Extreme programming e metodologie agili

Extreme programming e metodologie agili Extreme programming e metodologie agili Università degli Studi di Brescia, 8 Giugno 2007 Ing. Daniele Armanasco daniele@armanasco.it Ing. Emanuele DelBono emanuele@codiceplastico.com Enti organizzatori

Dettagli

Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition)

Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition) Canti Popolari delle Isole Eolie e di Altri Luoghi di Sicilia (Italian Edition) L. Lizio-Bruno Click here if your download doesn"t start automatically Canti Popolari delle Isole Eolie e di Altri Luoghi

Dettagli

Agile. mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software. Sviluppo Agile: metaprocesso

Agile. mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software. Sviluppo Agile: metaprocesso Agile mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software Sviluppo Agile: metaprocesso Molti progetti software falliscono Sì parte dagli anni 2000 Millennium

Dettagli

Esercizi Programming Contest

Esercizi Programming Contest Esercizi Programming Contest Alberto Montresor 22 maggio 2012 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Test di unità con JUnit4

Test di unità con JUnit4 Test di unità con JUnit4 Richiamo sul test di unità Il test d unità è una metodologia che permette di verificare il corretto funzionamento di singole unità di codice in determinate condizioni. Nel caso

Dettagli

Data Alignment and (Geo)Referencing (sometimes Registration process)

Data Alignment and (Geo)Referencing (sometimes Registration process) Data Alignment and (Geo)Referencing (sometimes Registration process) All data aquired from a scan position are refered to an intrinsic reference system (even if more than one scan has been performed) Data

Dettagli

SRT064 BTH SRT051 BTH SRT052 BTH

SRT064 BTH SRT051 BTH SRT052 BTH KIT FOR TRUCK BRAKE TESTERS SRT051 BTH SRT052 BTH OPERATOR S MANUAL SRT064BTH SRT051BTH SRT052BTH CONTENTS 1. INTRODUCTION...1 2. Description of SRT064BTH Kit...2 3. Description of SRT051BTH Kit...2 4.

Dettagli

THIS DOCUMENT WILL GUIDE YOU STEP BY STEP THROUGH THE DONATION PROCESS RELATED TO THE CROWDFUNDING CAMPAIGN MADE BY STANZE AL GENIO S HOUSE MUSEUM.

THIS DOCUMENT WILL GUIDE YOU STEP BY STEP THROUGH THE DONATION PROCESS RELATED TO THE CROWDFUNDING CAMPAIGN MADE BY STANZE AL GENIO S HOUSE MUSEUM. QUESTO DOCUMENTO TI GUIDA PASSO PASSO NELLA PROCEDURA DI DONAZIONE NELL AMBITO DELLA CAMPAGNA DI RACCOLTA FONDI PROMOSSA DALLA CASA MUSEO STANZE AL GENIO. THIS DOCUMENT WILL GUIDE YOU STEP BY STEP THROUGH

Dettagli

Object Oriented Programming: Inheritance

Object Oriented Programming: Inheritance Object Oriented Programming: Inheritance Shahram Rahatlou University of Rome La Sapienza Corso di Programmazione++ http://www.roma1.infn.it/cms/rahatlou/programmazione++/ Roma, 11 June 2007 Today s Lecture

Dettagli

Scritto da DEApress Lunedì 14 Aprile 2014 12:03 - Ultimo aggiornamento Martedì 26 Maggio 2015 09:34

Scritto da DEApress Lunedì 14 Aprile 2014 12:03 - Ultimo aggiornamento Martedì 26 Maggio 2015 09:34 This week I have been walking round San Marco and surrounding areas to find things that catch my eye to take pictures of. These pictures were of various things but majority included people. The reason

Dettagli

SOA!= OO. Andrea Saltarello Software Architect @ Managed Designs S.r.l. andrea.saltarello@manageddesigns.it http://blogs.ugidotnet.

SOA!= OO. Andrea Saltarello Software Architect @ Managed Designs S.r.l. andrea.saltarello@manageddesigns.it http://blogs.ugidotnet. SOA!= OO Andrea Saltarello Software Architect @ Managed Designs S.r.l. andrea.saltarello@manageddesigns.it http://blogs.ugidotnet.org/pape http://creativecommons.org/licenses/by-nc-nd/2.5/ Chi sono Solution

Dettagli

Single-rate three-color marker (srtcm)

Single-rate three-color marker (srtcm) 3. Markers Pag. 1 The Single Rate Three Color Marker (srtcm) can be used as component in a Diffserv traffic conditioner The srtcm meters a traffic stream and marks its packets according to three traffic

Dettagli

Le cellule staminali dell embrione: cosa possono fare Embryonic stem cells are exciting because they can make all the different types of cell in the

Le cellule staminali dell embrione: cosa possono fare Embryonic stem cells are exciting because they can make all the different types of cell in the 1 2 3 Le cellule staminali dell embrione: cosa possono fare Embryonic stem cells are exciting because they can make all the different types of cell in the body scientists say these cells are pluripotent.

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

START GIEMME. Via Naro, 71 Pomezia (Roma) - Tel 06.5401509 Fax 06.5401542 - www.giemmeitaly.it - mail: info@giemmeitaly.it

START GIEMME. Via Naro, 71 Pomezia (Roma) - Tel 06.5401509 Fax 06.5401542 - www.giemmeitaly.it - mail: info@giemmeitaly.it START GIEMME Via Naro, 71 Pomezia (Roma) - Tel 06.5401509 Fax 06.5401542 - www.giemmeitaly.it - mail: info@giemmeitaly.it CAMPIONARIO ROTOLI (CLICK SULLE ICONE PER LE INFORMAZIONI TECNICHE) SAMPLE ROLLS

Dettagli

Test Driven Development e Pair Programming

Test Driven Development e Pair Programming Test Driven Development e Pair Programming Università degli Studi di Bologna Dipartimento di Informatica Bologna 10-11 ottobre 2016 Marco Fracassi Roberto Grandi Chi siamo? In 7Pixel 8 team di sviluppo

Dettagli

Introduzione all Agile Software Development

Introduzione all Agile Software Development IBM Rational Software Development Conference 5RPDRWWREUH 0LODQR RWWREUH Introduzione all Agile Software Development 0DULDQJHOD2UPH Solution Architect IBM Rational Services PRUPH#LWLEPFRP 2008 IBM Corporation

Dettagli

Convegno Qualità Microbiologica dei Cosmetici: Aspetti Tecnici e Normativi Milano, 15 maggio Lucia Bonadonna Istituto Superiore di Sanità

Convegno Qualità Microbiologica dei Cosmetici: Aspetti Tecnici e Normativi Milano, 15 maggio Lucia Bonadonna Istituto Superiore di Sanità Convegno Qualità Microbiologica dei Cosmetici: Aspetti Tecnici e Normativi Milano, 15 maggio 2015 Lucia Bonadonna Istituto Superiore di Sanità REGOLAMENTO (CE) n. 1223/2009 DEL PARLAMENTO EUROPEO E DEL

Dettagli

Guida rapida di installazione

Guida rapida di installazione Configurazione 1) Collegare il Router Hamlet HRDSL108 Wireless ADSL2+ come mostrato in figura:. Router ADSL2+ Wireless Super G 108 Mbit Guida rapida di installazione Informiamo che il prodotto è stato

Dettagli

Guida alla configurazione Configuration Guide

Guida alla configurazione Configuration Guide Guida alla configurazione Configuration Guide Configurazione telecamere IP con DVR analogici, compatibili IP IP cameras configuration with analog DVR, IP compatible Menu principale: Fare clic con il pulsante

Dettagli

Pezzi da ritagliare, modellare e incollare nell ordine numerico indicato.

Pezzi da ritagliare, modellare e incollare nell ordine numerico indicato. La nuova Treddì Paper è un prodotto assolutamente innovativo rispetto ai classici Kit per il découpage 3D. Mentre i classici prodotti in commercio sono realizzati in cartoncino, la Treddì è in carta di

Dettagli

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013

Graphs: Cycles. Tecniche di Programmazione A.A. 2012/2013 Graphs: Cycles Tecniche di Programmazione Summary Definitions Algorithms 2 Definitions Graphs: Cycles Cycle A cycle of a graph, sometimes also called a circuit, is a subset of the edge set of that forms

Dettagli

A Solar Energy Storage Pilot Power Plant

A Solar Energy Storage Pilot Power Plant UNIONE DELLA A Solar Energy Storage Pilot Power Plant DELLA Project Main Goal Implement an open pilot plant devoted to make Concentrated Solar Energy both a programmable energy source and a distribution

Dettagli

INFORMAZIONE AGLI UTENTI DI APPARECCHIATURE DOMESTICHE O PROFESSIONALI

INFORMAZIONE AGLI UTENTI DI APPARECCHIATURE DOMESTICHE O PROFESSIONALI INFORMAZIONE AGLI UTENTI DI APPARECCHIATURE DOMESTICHE O PROFESSIONALI Ai sensi dell art. 13 del Decreto Legislativo 25 luglio 2005, n. 151 "Attuazione delle Direttive 2002/95/CE, 2002/96/CE e 2003/108/CE,

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

Dettagli

click studenti futuri Pag. 1

click studenti futuri Pag. 1 www.poliba.it click studenti futuri Pag. 1 click Portale degli Studenti ESSE3 Pag. 2 2. Enter Username and password 1. click Login If you want to applicate in English click here Pag. 3 1. click Segreteria

Dettagli

Temperatura di Lavoro / Working Temperature. Distanza di controllo/ Distance control

Temperatura di Lavoro / Working Temperature. Distanza di controllo/ Distance control Nauled Once upon a light Rev. 03/2018 cod. NC-T2.4-02 DIMMER LED CCT (TEMPERATURA DI COLORE REGOLABILE) CON TELECOMANDO TOUCH 2.4G RF (4 ZONE) / CCT (COLOR TEMPERATURE ADJUSTABLE) LED DIMMER WITH 2.4G

Dettagli

Gestione dello sviluppo software Modelli Agili

Gestione dello sviluppo software Modelli Agili Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_3 V1.2 Gestione dello sviluppo software Modelli Agili Il contenuto

Dettagli

Programmazione 2 - Marco Ronchetti. Fondamenti di Java. Fac.Scienze Università di Trento. Static

Programmazione 2 - Marco Ronchetti. Fondamenti di Java. Fac.Scienze Università di Trento. Static 1 Fondamenti di Java Static 2 Modificatori: static Variabili e metodi associati ad una Classe anziche ad un Oggetto sono definiti static. Le variabili statiche servono come singola variabile condivisa

Dettagli

Testing. Esempio. Esempio. Soluzione 1. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009. Come fare???

Testing. Esempio. Esempio. Soluzione 1. Fondamenti di Informatica T2 Modulo 2. Università di Bologna A.A. 2008/2009. Come fare??? Università degli Studi di Bologna Facoltà di Ingegneria Testing Prima di rilasciare una qualsiasi applicazione/librerie è buona norma effettuare una serie di test opportuni Fondamenti di Informatica T2

Dettagli

Capitolo 3 Sviluppo di Programmi Strutturati

Capitolo 3 Sviluppo di Programmi Strutturati Capitolo 3 Sviluppo di Programmi Strutturati Introduzione Strutture di controllo If Selection Statement If Else Selection Statement While Repetition Statement Ripetizione Counter-Controlled Uso di una

Dettagli

A review of some Java basics. Java pass-by-value and List<> references

A review of some Java basics. Java pass-by-value and List<> references A review of some Java basics Java pass-by-value and List references Java is always pass-by-value Java is always pass-by-value. Unfortunately, they decided to call the location of an object a reference.

Dettagli

Qui u ck c k PE P R E L

Qui u ck c k PE P R E L Quick PERL Why PERL??? Perl stands for practical extraction and report language Similar to shell script but lot easier and more powerful Easy availability All details available on web Basic Concepts Perl

Dettagli

Examples of chemical equivalence

Examples of chemical equivalence hemical equivalence Two spins are chemically equivalent if: There is a symmetry operation that exchange their positions, or There is a dynamic process between two or more energetically equivalent conformations

Dettagli

Prova finale di Ingegneria del software

Prova finale di Ingegneria del software Prova finale di Ingegneria del software Scaglione: Prof. San Pietro Andrea Romanoni: Francesco Visin: andrea.romanoni@polimi.it francesco.visin@polimi.it Italiano 2 Scaglioni di voto Scaglioni di voto

Dettagli

How to use the WPA2 encrypted connection

How to use the WPA2 encrypted connection How to use the WPA2 encrypted connection At every Alohawifi hotspot you can use the WPA2 Enterprise encrypted connection (the highest security standard for wireless networks nowadays available) simply

Dettagli

JUNIT. Angelo Gargantini Info 3 B 2011

JUNIT. Angelo Gargantini Info 3 B 2011 JUNIT Angelo Gargantini Info 3 B 2011 Unit testing alla XP JUnit è un framework per l automazione del testing di unità di programmi Java che si ispira al extreme Programming Ogni test contiene le asserzioni

Dettagli

nel mondo del caffè, che spinge in avanti i confini del possibile.

nel mondo del caffè, che spinge in avanti i confini del possibile. www.tabli.it C è una nel mondo del caffè, che spinge in avanti i confini del possibile. There is something new in the coffee world, which is extending the borders of the possible. www.tabli.it it's pure

Dettagli

CCTV DIVISION. Guida Alla Lettura del Numero Seriale, Codice Prodotto, Versione Firmware, Versione Software, Codice Libretto

CCTV DIVISION. Guida Alla Lettura del Numero Seriale, Codice Prodotto, Versione Firmware, Versione Software, Codice Libretto CCTV DIVISION Guida Alla Lettura del Numero Seriale, Codice Prodotto, Versione Firmware, Versione Software, Codice Libretto How to Get Serial Number, Firmware Version, Product Code, Software Version, User

Dettagli

Le command line di Java

Le command line di Java Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,

Dettagli

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software

Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Windows 7 Installazione interfaccia e software di controllo mediante PC Installing the PC communication interface and control software Contenuto del kit cod. 20046946: - Interfaccia PC-scheda (comprensiva

Dettagli

PROGETTO parte di Programma Strategico

PROGETTO parte di Programma Strategico ALLEGATO B1 PROGETTO parte di Programma Strategico FORM 1 FORM 1 General information about the project INSTITUTION PRESENTING THE STRATEGIC PROGRAM (DESTINATARIO ISTITUZIONALE PROPONENTE): TITLE OF THE

Dettagli

6.5 RNA Secondary Structure

6.5 RNA Secondary Structure 6.5 RNA Secondary Structure Struttura di una biomolecola Biomolecola: DNA, RNA Struttura primaria: descrizione esatta della sua composizione atomica e dei legami presenti fra gli atomi Struttura secondaria:

Dettagli

Fondamenti di Java. hashcode

Fondamenti di Java. hashcode Fondamenti di Java hashcode equals e hashcode Programmers should take note that any class that overrides the Object.equals method must also override the Object.hashCode method in order to satisfy the general

Dettagli

Test e collaudo del software Continuous Integration and Testing

Test e collaudo del software Continuous Integration and Testing Test e collaudo del software Continuous Integration and Testing Relatore Felice Del Mauro Roma, Cosa è la Continuous Integration A software development practice where members of a team integrate their

Dettagli

UNIVERSITÀ DEGLI STUDI DI TORINO. Instructions to apply for exams ONLINE Version 01 updated on 17/11/2014

UNIVERSITÀ DEGLI STUDI DI TORINO. Instructions to apply for exams ONLINE Version 01 updated on 17/11/2014 Instructions to apply for exams ONLINE Version 01 updated on 17/11/2014 Didactic offer Incoming students 2014/2015 can take exams of courses scheduled in the a.y. 2014/2015 and offered by the Department

Dettagli

Lesson 18 (B2) Future continuous. Forma

Lesson 18 (B2) Future continuous. Forma Forma affermativa sogg. + will ( ll) + be + forma in -ing interrogativa will + sogg. + be + forma in -ing? negativa sogg. + will not (won t) + be + forma in -ing interrogativo-negativa won t + sogg. +

Dettagli

Sezione 1 / Section 1. Elementi d identità: il marchio Elements of identity: the logo

Sezione 1 / Section 1. Elementi d identità: il marchio Elements of identity: the logo Sezione 1 / Section 1 2 Elementi d identità: il marchio Elements of identity: the logo Elements of identity: the logo Indice 2.01 Elementi d identità 2.02 Versioni declinabili 2.03 Versioni A e A1, a colori

Dettagli

COSMO. Screwdriving System equipped with Electronic Torque Control

COSMO. Screwdriving System equipped with Electronic Torque Control COSMO Screwdriving System equipped with Electronic Torque Control ELECTRONIC CONTROL UNIT COSMO 100 The new COSMO 100 electronic control unit is able to operate according to 7 screwing methods: 1. SIMPLE

Dettagli

Approcci agili per affrontare la sfida della complessità

Approcci agili per affrontare la sfida della complessità Approcci agili per affrontare la sfida della complessità Firenze, 6 marzo 2013 Consiglio Regionale della Toscana Evento organizzato dal Branch Toscana-Umbria del PMI NIC Walter Ginevri, PMP, PgMP, PMI-ACP

Dettagli

Posta elettronica per gli studenti Email for the students

Posta elettronica per gli studenti Email for the students http://www.uninettunouniverstiy.net Posta elettronica per gli studenti Email for the students Ver. 1.0 Ultimo aggiornamento (last update): 10/09/2008 13.47 Informazioni sul Documento / Information on the

Dettagli