Costruzione del Software: Arte o Scienza?



Documenti analoghi
Fondamenti di Informatica. Allievi Automatici A.A Nozioni di Base

Strumenti e metodi di ausilio didattico per i dislessici

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Indice. pagina 2 di 10

L insegnamento del Laboratorio di Fisica. Alcune considerazioni didattiche

RICERCA ATTIVA del LAVORO

Object Oriented Software Design

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

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

PROGETTAZIONE DISCIPLINARE DI DIPARTIMENTO

CHE COS E UN ARTICOLO SCIENTIFICO

INSEGNANTE NORMALE. mi devo occupare in prima persona e nella mia attività di alunni disabili

Codifica binaria dei numeri relativi

La mediazione sociale di comunità

Copyright 2009 lalineabiancastudio Copenhagen Berlino Roma Siracusa

Brand Il primo corso per gli imprenditori che vogliono imparare l arma segreta del Brand Positioning Introduzione

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Apprendere la matematica: dal problema al modello e dal modello all astrazione

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Modulo 1. Concetti di base della Tecnologia dell Informazione ( Parte 1.1)

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Dalla Business Idea al Business Plan - 1 -

Lezione 1 Organizzazione, organi e relazioni

Indicazioni per l insegnante

. Numeri. .Raggruppa menti per 5,10,50, Simboli numerici. . Contatore analogico. . Il posto dei numeri

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Chi sono. Progettista di Formazione. Giudice di Gara dal Giudice di Partenza Nazionale dal 1981

La ricerca empirica in educazione

Il concetto di informatica. Bogdan Maris ( )

Il Master in Didattica delle Scienze per Insegnanti di Scuola Primaria dell Università di Torino

Documenti cartacei e digitali. Autenticità. Cosa si vuole garantire? Riservatezza. Integrità 11/12/2012. PA digitale: documenti e firme (I.

MESA PROJECT ITIS G. Cardano Pavia New Curriculum

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l Ambiente e il Territorio

FISPAL TRAINING ACADEMY. Powered by: Powered by:

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti

Certificazioni in ambiente OpenSource: da ECDL a GIS

I disturbi di apprendimento a scuola

Indicatori Obiettivi di apprendimento Contenuti e attività Competenze. L alunno utilizza il colore per differenziare e riconoscere gli oggetti.

Sistemi Web! per il turismo! - lezione 3 -

Algebra di Boole ed Elementi di Logica

la formazione finanziaria è il miglior investimento per il tuo domani

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB

Partenza Mercato Utente Idea Concetto Valutazione. Chi sono gli utenti target del tuo concetto di business?

PROGETTAZIONE MECCANICA DESIGN INDUSTRIALE OUTSOURCING RICERCA E SVILUPPO GRAFICA DOCUMENTAZIONE TECNICA STUDIO TECNICO

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

SISTEMI DI NUMERAZIONE E CODICI

Carlo Bartolomeo Novaro - Studio di Coaching. Executive Team & Business Coaching NPL Training

Programmazione educativo-didattica anno scolastico TECNOLOGIA CLASSE PRIMA PRIMARIA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE.

INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno

Informatica per la comunicazione" - lezione 13 -

Iniziative di CSR a favore delle imprese iscritte all Elenco Fornitori della Provincia di Milano

Automazione Industriale (scheduling+mms) scheduling+mms.

Marketing internazionale

SCUOLA PRIMARIA TEMPO PIENO F. BARACCA DI RONCHI

COMPETENZE 1 PERIODO DIDATTICO DEL 1 LIVELLO ASSE SCIENTIFICO-TECNOLOGICO - COMPETENZA

Le abilità necessarie per usufruire al meglio del potenziale educativo della scuola: quali sono? come costruirle? Come mantenerle?

da dove siamo venuti e dove vorremo andare

UNITÀ DI APPRENDIMENTO

Da dove nasce l idea dei video

FARMACIA. Coinvolgere e fare Gruppo: Tecnica di business

Appunti di Sistemi Elettronici

Contabilità ordinaria, semplificata e altri regimi contabili

Antivirus. Lezione 07. A cosa serve un antivirus

Master in Europrogettazione

STUDI SU MATERIALE GENETICO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

Gli aggiornamenti della normativa italiana e Il Codice dell Amministrazione digitale dlgs 82/05

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

TITOLO INIZIATIVA DESTINATARI LUOGO DURATA COSTO AMBITO TITOLO INIZIATIVA DESTINATARI LUOGO DURATA COSTO AMBITO

Management e coordinamento delle professioni sanitarie (MA-02)

Linee guida riguardanti la documentazione dell apprendimento

Con SIGNUM è possibile intervenire con diversi livelli di personalizzazione e controllo sui dati letti. In particolare SIGNUM può essere usato:

AREA MUSICA E TECNOLOGIA

Diagrammi di Interazione

Modelli di business capaci di reggere elevati volumi di traffico e clienti.

Ciclo di vita del software: Tipologie di software

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

Programmazione educativo-didattica didattica anno scolastico TECNOLOGIA CLASSE PRIMA PRIMARIA

REV. 2 DEL 25/05/2015 Assistenza Infermieristica, Fisioterapica e Socio-sanitaria. Vita Serena S.R.L. CODICE ETICO

L attenzione verso i collaboratori e la loro formazione, perché l azienda non cresce se i collaboratori restano indietro.

Soluzione dell esercizio del 2 Febbraio 2004

CUSTOMER SERVICE. Perché è così importante? Obiettivi e Strategie. info@gpstudios.it

outplacement Randstad Italia SpA - Outplacement Sede Legale Via Lepetit, 8/ Milano

LAVORO DI GRUPPO. Caratteristiche dei gruppi di lavoro transnazionali

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Fondamenti di Informatica II Corso (HA-ZZ) Introduzione al corso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

MANAGER SPORTIVI ASSOCIATI. Al fianco di chi ama la competizione ASSOCIAZIONI 10 / UOMOEMANAGER.IT

Corso di Laurea in Disegno Industriale

Esercizi su. Funzioni

Laboratorio di Informatica

ECDL Advanced. Il PROGRAMMA PER L UTENTE EVOLUTO DEL COMPUTER

PROMUOVERSI MEDIANTE INTERNET di Riccardo Polesel. 1. Promuovere il vostro business: scrivere e gestire i contenuti online» 15

IL SOFTWARE E LA SUA TUTELA

Linee Guida. La concretezza dell oggetto di lavoro

TECNOLOGIA SCUOLA PRIMARIA

Regole semplici per creare una buona presentazione

Transcript:

Costruzione del Software: Arte o Scienza? Alberto Coen-Porisini DICOM La presentazione Di cosa non parla Computer Art Stato della ricerca Di cosa parla Software Produzione del Software Perché il software non funziona (quasi) mai come dovrebbe

Software Cos è il Software? Le istruzioni che dicono a un calcolatore cosa deve fare (Enciclopedia Britannica) Le istruzioni e i dati presenti in un calcolatore Vi sono tante altre definizioni Software Costruire Software Programmare La lezione viene dalla fine degli anni 60 Programmatore vs Utente Nasce l Ingegneria del Software Il primo problema è capire cosa deve fare il software Troppo spesso non lo sa nessuno...

Software Peculiarità del Software Modificabilità (Malleabilità) E molto facile modificare il software Modificarlo bene è molto difficile Complessità Sistemi software hanno un numero elevatissimo di stati Invisibilità Difficoltà nell identificazione Difficoltà nel trasmettere le informazioni Mancanza di forme sintetiche di rappresentazione Produzione del Software Il processo produttivo del software Assenza del processo manifatturiero Progettazione Difficile distinguere tra Sviluppo Evoluzione

Produzione del Software La legge di F. Brook Aggiungere risorse umane ad un progetto in ritardo serve ad aumentare il ritardo La regola del 90-90 (Tom Cargill Bell Labs) Il 90% del codice richiede il 90% del tempo dedicato allo sviluppo. Il restante 10% del codice richiede il 90% del tempo Evoluzione del Software Legge di Zawinsky Ogni programma viene esteso finché non riesce a leggere la e-mail. I programmi che non possono essere estesi sono rimpiazzati da quelli che possono Sindrome della seconda versione Quando si progetta la seconda versione di un sistema semplice, elegante e ben funzionante si tende a costruire un sistema mostruoso (elefantiaco)

Arte o Scienza E un dibattito che va avanti da oltre 30 anni The Art of Computer Programming, D. Knuth Bibbia degli algoritmi Science of Computer Programming Rivista scientifica internazionale Sondaggio on-line propone Arte, la creatività è l asset principale (34%) Scienza, la logica è l asset pricipale (23%) Dipende dall individuo (23%) Dipende dall ambiente (20%) Arte o Scienza Definizione di Arte 1 attività umana basata sull abilità individuale, sullo studio, sull esperienza e su un complesso specifico di regole insieme delle regole e delle conoscenze tecniche necessarie per compiere una determinata attività 2 mestiere, professione 3 attività umana tesa a creare, per mezzo di forme, colori, parole, suoni, ecc., prodotti culturali a cui si riconosce un valore estetico.

Arte o Scienza Definizione di Scienza 1 insieme di conoscenze rigorosamente controllate e sistematicamente ordinate che consente di giungere a verità obiettive intorno a un determinato ordine di fenomeni o di concetti: s. pura, quella fine a se stessa; s. applicata, quella che ha per oggetto l applicazione pratica delle scoperte scientifiche s. sperimentale o positiva, quella le cui conoscenze sono fondate sull esperienza Arte o Scienza L informatica è sì una scienza ma la costruzione del software? Richiede abilità individuale Richiede studio ed esperienza E guidata da un complesso specifico di regole Richiede creatività Possiede dei canoni estetici (informali)

Arte o Scienza Non tutti gli informatici si occupano di costruzione di software Troppi costruttori di software non sono informatici Resta la creatività Manca la conoscenze delle regole Arte o Scienza La vera domanda è: Cosa dovrebbe essere la costruzione del software? Una disciplina ingegneristica aspetti creativi approccio rigoroso

Il funzionamento del software Esiste un ulteriore accezione del termine arte: pratica dell alchimia; magia, sortilegio Oggi far funzionare alcuni software è un arte magica Arte, Scienza (o Magia)? Alcune tecniche (di sviluppo) Voodoo programming L uso di tecniche proceduralizzate ma che uno non ha ben capito (si segue la ricetta) Black magic (programming) L uso di tecniche non documentate che nessuno capisce Deep magic (programming) L uso di una tecnica (arcana) basata su principi teorici sviluppati da un qualche mago Heavy Wizardry L uso di una tecnica basata su profonda conoscenza e/o esperienza di un ambiente di sviluppo specifico

Arte, Scienza (o Magia)? Alcune tecniche (di funzionamento) Rain dance Una sequenza di operazioni rituali eseguita su un computer per ottenere un determinato effetto Incantation Una sequenza di operazioni misteriose eseguite per ottenere il risultato voluto Casting the runes Operazioni svolte da un Guru e che funzionano solo perché le fa lui... Arte, Scienza (o Magia)? Le bibbie Old Testament Brian Kernighan, Dennis RitchieThe C Programming Language New Testament Brian Kernighan, Dennis RitchieThe C Programming Language, 2nd Ed. Wizard Book... Hal Abelson, Jerry Sussman, Julie Sussman Structure and Interpretation of Computer Programs