Académique Documents
Professionnel Documents
Culture Documents
574.0884
574/4994
Llementi di Inormatica e Reti di Calcolatori 20
!oIifecnico
di MiIono
I modeIIi deI cicIo di vifo
I modeIIi deI cicIo di vifo
N Modelli tradizionali
- Modello code-and-ix`
- Modello a cascata
N Modelli a piu asi
- Modello prototipale
- Modello a consegna incrementale
N Modello a spirale ,metamodello,
Llementi di Inormatica e Reti di Calcolatori 21
!oIifecnico
di MiIono
I modeIIi deI cicIo di vifo deI soffwore:
I modeIIi deI cicIo di vifo deI soffwore:
!erch
!erch
N Spezzare il progetto in parti per:
- Pianiicare
Cosa bisogna are dopo
- umentare la isibilita del processo
Quale processo stiamo seguendo
- Gestire il processo di siluppo
Stiamo seguendo i piani
- Ripartire il laoro
Chi dee solgere il dato compito
Llementi di Inormatica e Reti di Calcolatori 22
!oIifecnico
di MiIono
II modeIIo "Code ond II modeIIo "Code ond Fix Fix" "
(ovvero, "Soffwore fhrough (ovvero, "Soffwore fhrough Choos Choos") ")
N Passi del processo:
- Scrii il codice
- Correggi e migliora
- Ripeti ino a che il risultato e soddisacente...
- ... o ingestibile
N Caratteristiche del modello code-and-ix`
- datto se: lo siluppatore coincide con l`utente dell`applicazione ,non sono
necessari requisiti espliciti,, il ciclo e bree ,non e necessaria pianiicazione,,
i requisiti di qualita sono bassi ,correggi quando necessario,
- ltamente instabile: la struttura del sotware si deteriora con il tempo o
collassa al crescere della complessita
Llementi di Inormatica e Reti di Calcolatori 23
!oIifecnico
di MiIono
Superore
Superore
iI
iI
modeIIo
modeIIo
"code ond fix"
"code ond fix"
N Utenti distinti dagli siluppatori
- Problema: non costruire il sistema sbagliato
- ero, necessita di analizzare attentamente i requisiti: attiita diersa da
progetto e implementazione
N Scala e complessita ~ necessita dello siluppo di gruppo
- Necessaria una struttura organizzatia di coordinamento
- Necessario gestire le comunicazioni
- Necessarie asi di progetto e test
N Necessita di predicibilita ~ occorre pianiicare
N Requisiti di qualita ~ serono asi di eriica
Llementi di Inormatica e Reti di Calcolatori 24
!oIifecnico
di MiIono
II modeIIo o coscofo
II modeIIo o coscofo
N Ispirato dai cicli di siluppo di prodotti industriali
,specialmente aeronautici,
N Modello basato su documentazione
- lasi di siluppo identiicate dal completamento di
documentazione
- Retroazioni ,eedback, e aanzamenti tramite documenti
N Lsistono dierse arianti
Llementi di Inormatica e Reti di Calcolatori 25
!oIifecnico
di MiIono
II modeIIo o coscofo (esempio)
II modeIIo o coscofo (esempio)
studio di
fattibilit
analisi dei
requisiti
progettazione
programmazione e
test di unit
test di integrazione
e di sistema
manutenzione
Ogni passaggio identificato daI
compIetamento di un documento,
che "governa" Ia fase successiva
Llementi di Inormatica e Reti di Calcolatori 26
!oIifecnico
di MiIono
Sfudio di foffibiIif
Sfudio di foffibiIif
N Valutazione di costi e beneici di un`applicazione
- L` richiesta una decisione sull`opportunita di proseguire o una
scelta tra progetti alternatii
- Idealmente richiede di completare analisi e progetto, ma si
scontra con la disponibilita limitata di risorse
- 1ermina con la deinizione del problema, l`identiicazione di
soluzioni alternatie ed una prima alutazione di risorse, costi,
pianiicazione
Llementi di Inormatica e Reti di Calcolatori 2
!oIifecnico
di MiIono
AnoIisi dei requisifi
AnoIisi dei requisifi
N Dee produrre la descrizione di cio che il sotware
dorebbe are
- Requisiti dell`utente: puo essere diiso tra analisi del problema
e analisi della soluzione
- Litare di considerare il come` prima di passare alla ase di
progetto
- Dee essere comprensibile all`utente, cioe dee aere una
componente inormale
- Dee essere precisa, completa, non-ambigua, modiicabile, per
quanto possibile
- Dee includere il piano per il test di accettazione e quello per il
test di sistema
Llementi di Inormatica e Reti di Calcolatori 28
!oIifecnico
di MiIono
!rogeffo;ione
!rogeffo;ione
N Puo essere diisa in progetto architetturale e progetto di
dettaglio
N Produce diagrammi ,semi, ormali e descrizione testuale
che deiniscono struttura e unzionalita del sotware, per
poter ripartire il laoro di implementazione tra i singoli
programmatori
N Lsistono molti stili, metodologie e notazioni
Llementi di Inormatica e Reti di Calcolatori 29
!oIifecnico
di MiIono
!rogrommo;ione e fesf di unif
!rogrommo;ione e fesf di unif
N Programmatori indiiduali producono unita ,moduli, che
saranno poi assemblati in sottosistemi che costituiscono
il sistema inale
N Include test di unita e debugging
N Puo includere ispezione del codice
N Spesso include molto codice aggiuntio ,scaolding`,
- d esempio stub per moduli mancanti
Llementi di Inormatica e Reti di Calcolatori 30
!oIifecnico
di MiIono
Tesf di infegro;ione e di sisfemo
Tesf di infegro;ione e di sisfemo
N ssemblaggio di unita in sottostrutture di dimensione
crescente
N Procede secondo un piano di costruzione, tipicamente
bottom up`
N Il test di sottosistema e seguito da test di sistema ,ala e
beta test,
- Puo coinolgere gruppi di test indipendenti
Llementi di Inormatica e Reti di Calcolatori 31
!oIifecnico
di MiIono
Monufen;ione
Monufen;ione
N Lsistono dierse orme di manutenzione
- avvteviove correttira: correzione di errori
- avvteviove aaattatira: modiiche per ar ronte a cambiamenti
nell`ambiente
- avvteviove erfettira: aggiunta di nuoe unzionalita
N Rapporto tipico tra le derse tipologie di manutenzione:
- Manutenzione correttia: 20
- Manutenzione adattatia: 20
- Manutenzione perettia: 50
Llementi di Inormatica e Reti di Calcolatori 32
!oIifecnico
di MiIono
Disfribu;ione fipico deIIo sfor;o
Disfribu;ione fipico deIIo sfor;o
N Dati ricaati da 125 progetti all`interno di lP
- 18 nalisi e speciica dei requisiti
- 19 Progettazione
- 34 Codiica
- 29 1est
- Variazione tipica nell`ordine del 10
Llementi di Inormatica e Reti di Calcolatori 33
!oIifecnico
di MiIono
Corofferisfiche deI modeIIo o coscofo
Corofferisfiche deI modeIIo o coscofo
N Iterazioni limitate
- e ersioni piu semplici sono puramente sequenziali, nelle
ersioni piu realistiche ci sono interazioni e correzioni, ma il
modello e principalmente sequenziale
- Valido a posteriori o per la contrattazione ,i ricicli sono
ineitabili,
N 1ecnica di siluppo big bang`
- Si parte dal nulla
- Si termina con la consegna dell`intero prodotto
Llementi di Inormatica e Reti di Calcolatori 34
!oIifecnico
di MiIono
Corofferisfiche deI modeIIo o coscofo
Corofferisfiche deI modeIIo o coscofo
31472,
706:7020398
850.1.,943
574/:.9
574.088
NApproccio a
scatola nera
Llementi di Inormatica e Reti di Calcolatori 35
!oIifecnico
di MiIono
Mecessif di moggiore frosporen;o
Mecessif di moggiore frosporen;o
N Maggiore trasparenza signiica:
- Controlli di correttezza anticipati...
- ... attraerso l`uso di eedback
espliciti
- Maggiore lessibilita
31472,
706:7020398
850.1.,943
574/:.9
574.088
Llementi di Inormatica e Reti di Calcolatori 36
!oIifecnico
di MiIono
Verifico e
Verifico e
voIido;ione
voIido;ione
',/,430
Stiamo realizzando il
prodotto previsto
'071.,
Stiamo procedendo in
maniera corretta?
31472,
706:7020398
850.1.,943
574/:.9
Llementi di Inormatica e Reti di Calcolatori 3
!oIifecnico
di MiIono
II modeIIo
II modeIIo
profofipoIe
profofipoIe
N Caratteristiche:
- Ciclo di ita iteratio
- Il prototipo inito costituisce l`output di una iterazione
- Prototipo throw-away
Il prototipo non eole ma iene buttato ia` al termine della
iterazione
- Prototipo eolutio
Il prototipo costruito durante l`iterazione n, costituisce l`input
dell`iterazione n-1
Llementi di Inormatica e Reti di Calcolatori 38
!oIifecnico
di MiIono
II modeIIo o consegno incremenfoIe
II modeIIo o consegno incremenfoIe
N Siluppo e consegna incrementali
- Possono ripetere l`intero ciclo a cascata per ogni iterazione
N biettii:
- Soddisacimento del cliente
- Migliorare i requisiti attraerso eedback
- Migliorare la isibilita del processo con momenti di eriica
,milestones, piu requenti
Llementi di Inormatica e Reti di Calcolatori 39
!oIifecnico
di MiIono
ModeIIi diversi ~
ModeIIi diversi ~
diversi
diversi
modi di "dividere"
modi di "dividere"
iI Iovoro
iI Iovoro
N Diisione per unzionalita -
consegna alla ine
%0254
%
0
2
5
4
Consegna
Incrementale
Llementi di Inormatica e Reti di Calcolatori 40
!oIifecnico
di MiIono
II modeIIo o spiroIe
II modeIIo o spiroIe
N Si tratta di un metamodello piu che di un ero e proprio
modello
N Si basa su una attiita di alutazione dei rischi e di
pianiicazione del processo in-linea`
eterminazione obiettivi,
alternative e vincoli
I
III
II
VI
Valutazione alternative,
identificazione e risoluzione rischi
Pianificazione fase
successiva
Sviluppo e verifica del prossimo
livello del prodotto
Llementi di Inormatica e Reti di Calcolatori 41
!oIifecnico
di MiIono
In ogni ifero;ione deIIo spiroIe
In ogni ifero;ione deIIo spiroIe
N Deinire il problema
- determinare obiettii ,qualita richieste,
- identiicare alternatie e rischi
N nalisi dei rischi
- determinare rischi
- acquisire inormazione ,tipicamente con prototipi,
N Siluppo e eriica del prodotto di liello successio
- puo essere solo alcune asi ,requisiti, progetto,..,
N Pianiicare la ase successia
Llementi di Inormatica e Reti di Calcolatori 42
!oIifecnico
di MiIono
ScegIiere un modeIIo di processo
ScegIiere un modeIIo di processo
N Non esiste il modello migliore
- Dipende da molti attori, incluso esperienza
dell`organizzazione in un particolare dominio applicatio
N Grossi gruppi e grossi progetti richiedono processi piu
elaborati
N Rischi molto alti e poca esperienza richiedono piu
iterazioni
Llementi di Inormatica e Reti di Calcolatori 43
!oIifecnico
di MiIono
II processo soffwore: oIcuni mifi do
II processo soffwore: oIcuni mifi do
sfofore
sfofore
N Mito:
Se siamo in ritardo possiamo recuperare aumentando le
risorse allocate per il progetto
N Realta:
ggiungere risorse ad un progetto in ritardo lo ritarda
ulteriormente ,Brooks,
Llementi di Inormatica e Reti di Calcolatori 44
!oIifecnico
di MiIono
II processo soffwore: oIcuni mifi do
II processo soffwore: oIcuni mifi do
sfofore
sfofore
N Mito:
Per gestire i cambiamenti nei requisiti e suiciente
sruttare la lessibilita del sotware
N Realta:
Gestire i cambiamenti nei requisiti mantenendo il
controllo del processo e del prodotto e la piu grande
sida dell`ingegneria del sotware
Llementi di Inormatica e Reti di Calcolatori 45
!oIifecnico
di MiIono
II processo soffwore: oIcuni mifi do
II processo soffwore: oIcuni mifi do
sfofore
sfofore
N Mito:
Una olta rilasciata l`applicazione il compito del
programmatore si e concluso
N Realta:
ggi si producono amiglie di prodotti`
a manutenzione ha un costo medio pari al 50
dell`intero progetto
Llementi di Inormatica e Reti di Calcolatori 46
!oIifecnico
di MiIono
QuoIif inferne vs. quoIif esferne
QuoIif inferne vs. quoIif esferne
N "vaita e.terve: e qualita percepibili da un osseratore
esterno che guardi il processo,prodotto come una
scatola nera
N "vaita ivterve: e qualita che possono essere osserate
solo esaminando la struttura interna del
processo,prodotto
N Il raggiungimento delle qualita esterne e l`obiettio di
ogni azienda che siluppi sotware
N 1ale obiettio puo essere raggiunto solo ponendo
attenzione alle qualita interne
Llementi di Inormatica e Reti di Calcolatori 4
!oIifecnico
di MiIono
QuoIif deI processo vs. quoIif deI
QuoIif deI processo vs. quoIif deI
prodoffo
prodoffo
N Perch interessarsi alla qualita del processo:
- Perch un processo di qualita e un processo eicente e
ripetibile che permette di produrre nei tempi e nei costi stabiliti
- Ma anche perch il processo e lo strumento` attraero il quale
si realizza il prodotto
e qualita ,interne ed esterne, del prodotto si ottengono solo
controllando le qualita ,interne ed esterne, del processo
Llementi di Inormatica e Reti di Calcolatori 48
!oIifecnico
di MiIono
QuoIif
QuoIif
deI prodoffo
deI prodoffo
N Correttezza
N idabilita ,reliability,
N Robustezza
N Sicurezza ,saety,
N Prestazioni
N Usabilita
N ltre proprieta
Llementi di Inormatica e Reti di Calcolatori 49
!oIifecnico
di MiIono
Correffe;;o
Correffe;;o
N Un sotware e corretto se rispetta la propria speciica
- Pria di signiicato senza una speciica ormale del prodotto
N a correttezza assoluta e praticamente impossibile da
eriicare
- Pochi domini applicatii sono stati studiati suicientemente a
ondo da permettere la speciica completa e rigorosa di un
problema
- a eriica ormale di correttezza e raramente un obiettio
cost-eectie per un sistema complesso
N pprossimazioni sono spesso diicili da deinire e
misurare
- Per esempio numero di dietti per 1000 linee di codice
Llementi di Inormatica e Reti di Calcolatori 50
!oIifecnico
di MiIono
AffidobiIif
AffidobiIif
N Un sotware e aidabile se ha buone probabilita di unzionare
correttamente
N `aidabilita e una proprieta quantiicabile: 1empo medio tra
malunzionamenti successii
- Descrie il comportamento, non il prodotto:
pochi dietti alta aidabilita
N Si tratta di una proprieta comunque relatia ad una speciica
- Spesso piu semplice da eriicare rispetto alla correttezza
N Relatia ad un proilo d`uso
- Spesso diicile da ottenere in anticipo
- Lsempio: aidabilita rispetto al problema 2000
Llementi di Inormatica e Reti di Calcolatori 51
!oIifecnico
di MiIono
corretto ma non sicuro n
robusto: specifica inadeguata
AffidobiIif e correffe;;o
AffidobiIif e correffe;;o
affidabiIe
corretto
robusto
sicuro
affidabile ma non
corretto:
condizioni di
errore poco
frequenti
Llementi di Inormatica e Reti di Calcolatori 52
!oIifecnico
di MiIono
Esempi di offidobiIif
Esempi di offidobiIif
N idabilita di una centrale teleonica
- Ben deinita: minuti di non-unzionamento all`anno
- Basata su proili utente chiari, noti, ben deiniti
N idabilita di un word processor
- Malunzionamenti per ora
per sessione
per documento
- Proili utente mal deiniti e poco accessibili
Llementi di Inormatica e Reti di Calcolatori 53
!oIifecnico
di MiIono
Pobusfe;;o
Pobusfe;;o
N Un sotware e robusto se ha comportamenti accettabile in
condizioni non preiste
- Si a oltre la correttezza
N Si tratta di una proprieta tanto della speciica quanto
dell`implementazione
- a speciica di un sistema robusto deinisce anche il comportamento in
situazioni anomale
- `implementazione rispetta tale speciica
N L` una proprieta ortogonale all`aidabilita
- Si a rierimento a situazioni anomale
N Si a rierimento a comportamenti parziali:
- degrado progressio delle prestazioni
Llementi di Inormatica e Reti di Calcolatori 54
!oIifecnico
di MiIono
MoIfun;ionomenfi e robusfe;;o
MoIfun;ionomenfi e robusfe;;o
N Lentuali allimenti non pregiudicano necessariamente la
robustezza
- d esempio nel caso di allimenti parziali accettabili
Lsempio: impossibilita di eettuare nuoe chiamate in caso di centrale
satura
- Ma anche in certi casi di allimenti completi, se si eitano
situazioni a rischio
Il sistema potrebbe non ornire alcuna unzionalita utile...
... ma portandosi in uno stato sicuro
- Lsempio: il motore si spegne in caso di allimento del test di autodiagnostica
Llementi di Inormatica e Reti di Calcolatori 55
!oIifecnico
di MiIono
Sicure;;o (
Sicure;;o (
sofefy
sofefy
)
)
N Un sistema e sicuro se preiene l`accadere di situazioni
pericolose` o comunque non accettabili
N Si tratta di una proprieta in negatio`
- Si indicano le situazioni pericolose che deono essere eitate
- ero gli stati nei quali il sistema non dee mai entrare
N Puo dipendere da aidabilita e correttezza, ma puo
anche essere in conlitto con queste
Llementi di Inormatica e Reti di Calcolatori 56
!oIifecnico
di MiIono
Sicure;;o e offidobiIif
Sicure;;o e offidobiIif
N Mutuamente dipendenti quando la sicurezza dipende
dalla continuita di unzionamento ,eentualmente
degradato,
- Lsempio: il pilota automatico di un aereoplano
N Indipendenti ,o addirittura in conlitto, quando il
unzionamento corretto` non contribuisce alla
sicurezza
- Lsempi
utomobile in panne
Siluro che non esplode
Llementi di Inormatica e Reti di Calcolatori 5
!oIifecnico
di MiIono
!erch proprief negofive7
!erch proprief negofive7
N e speciiche sono spesso incomplete
- In generale speciiche complete possono escludere
comportamenti pericolosi...
- ... ma e diicile scriere siatte speciiche
- Una speciica ridondante ma semplice, che includa
esplicitamente l`indicazione degli stati da eitare, puo rendere
piu acile la eriica di proprieta critiche
N Implementazioni imperette
- Piu un applicazione e complessa e critica, piu la sua speciica e
complessa, piu e acile che l`implementazione sia soggetta ad
errori
- L` utile aere un`indicazione esplicita delle situazioni da eitare
Llementi di Inormatica e Reti di Calcolatori 58
!oIifecnico
di MiIono
sicuro ma non corretto:
sono tollerati errori non
gravi
Pobusfe;;o e sicure;;o
Pobusfe;;o e sicure;;o
affidabile
corretto
robusto
sicuro
robusto ma non
sicuro: pu
capitare un errore
catastrofico
Llementi di Inormatica e Reti di Calcolatori 59
!oIifecnico
di MiIono
Esempi di proprief di sicure;;o per
Esempi di proprief di sicure;;o per
oppIico;ioni "non crifiche"
oppIico;ioni "non crifiche"
N Interprete di un linguaggio ,esempio Jaa,
- Proibire ingressi,uscite non sicuri
Per esempio preenire la possibilita di iolare un irewall
N Programma tp
- Proibire la possibilita di accesso esterno a ile di conigurazione critici
- Per esempio impossibilita di lettura del ile .netrc
N Sistemi operatii
- Proibire crash di sistema anche a ronte di errori nelle applicazioni
- Per esempio mediante meccanismi di protezione della memoria nei sistemi
operatii
- Il caso atipico di windoze
Llementi di Inormatica e Reti di Calcolatori 60
!oIifecnico
di MiIono
Esempio: semoforo
Esempio: semoforo
correttezza e affidabilit:
permettere il passaggio del
traffico secondo regole
stabilite
robustezza e sicurezza:
fornire prestazioni
degradate in caso di
necessit, ad esempio
evitare sempre verde in
conflitto.
ontroI
Llementi di Inormatica e Reti di Calcolatori 61
!oIifecnico
di MiIono
!roprief:
!roprief:
esempio
esempio
N Robustezza di un wordprocessor
- Indicare cosa dee essere incluso nella speciica
- Indicare quali proprieta negatie deono essere speciicate
Llementi di Inormatica e Reti di Calcolatori 62
!oIifecnico
di MiIono
!ossibiIe soIu;ione
!ossibiIe soIu;ione
N Nella speciica dobbiamo includere
- Comportamento quando il ile system e pieno, la memoria e
esaurita,...
- Comportamento accettabile in risposta ad un errore dell`utente
- Ripristino del sistema dopo un guasto
N Proprieta negatie
- Non entrare mai in uno stato ulnerabile in caso di guasto
grae ,crash non risolibile,
Llementi di Inormatica e Reti di Calcolatori 63
!oIifecnico
di MiIono
!resfo;ioni
!resfo;ioni
N Si indica con tale proprieta la capacita di una
applicazione di are un uso eicente delle risorse
- Memoria, tempo di esecuzione, banda trasmissia, ...
N Puo esere misurata empiricamente...
- Sul prodotto inito ma anche attraerso simulazioni su un
modello
N ... o eriicata ormalmente
- nalisi di complessita
N Inluenza la scalabilita del sistema
N Puo inluire sull`usabilita del sistema
Llementi di Inormatica e Reti di Calcolatori 64
!oIifecnico
di MiIono
UsobiIif
UsobiIif
N Si indica con tale proprieta la acilita con cui l`utente tipo
puo usare l`applicazione
N Si parla di applicazioni user riendly`
N Importante deinire chi sia l`utente tipo
- Se l`utente tipo e il manager del sistema, la acilita di
istallazione dienta un aspetto critico
N Diicile da alutare in maniera oggettia
N Dipende ortemente dall`interaccia dell`applicazione
- Ma anche da altri attori quali aidabilita e prestazioni
Llementi di Inormatica e Reti di Calcolatori 65
!oIifecnico
di MiIono
AIfre proprief deI prodoffo (inferne)
AIfre proprief deI prodoffo (inferne)
N Veriicabilita
N Manutenibilita
N Riusabilita
N Comprensibilita
N Portabilita
N Interoperabilita
Llementi di Inormatica e Reti di Calcolatori 66
!oIifecnico
di MiIono
QuoIif deI processo
QuoIif deI processo
N Produttiita
N Ripetibilita
N iello di automazione
N ...
Llementi di Inormatica e Reti di Calcolatori 6
!oIifecnico
di MiIono
!roduffivif
!roduffivif
N Come misurarla:
- In generale:
quantita` prodotta,sorzo
- In particolare per il sotware:
Sorzo: mesi uomo ,man month,
Quantita prodotta
- inee di codice
- Punti unzione
N Importante: Persone e tempo non sono interscambiabili
- egge di Brooks: ggiungere personale a un progetto in
ritardo accresce il ritardo`
Llementi di Inormatica e Reti di Calcolatori 68
!oIifecnico
di MiIono
!roduffivif: quoIche dofo
!roduffivif: quoIche dofo
N Su 135 progetti di siluppo eettuati da lP ,escludendo
la ase di speciica dei requisiti,: 350 NCSS,pm
- NCSS: Non Comment Source Statement
- pm: person month
N Ma...
- Lstrema ariabilita tra siluppatori diersi ,ino al 500 di
dierenza,
- Lstrema ariabilita per progetti in dierenti settori applicatii e
per moduli diersi della stessa applicazione
- Lstrema ariabilita in unzione delle dinamiche di gruppo
Llementi di Inormatica e Reti di Calcolatori 69
!oIifecnico
di MiIono
PipefibiIif
PipefibiIif
Free DownIoad
Llementi di Inormatica e Reti di Calcolatori 2
!oIifecnico
di MiIono
Soffwore
Soffwore
proprieforio
proprieforio
N Il suo utilizzo, la ridistribuzione o modiica sono proibiti
o richiedono un permesso o sono sottoposti a tali incoli
che in pratica non si possono are liberamente.
N Il sotware chiuso rappresenta la maggior parte del
sotware proprietario e non rende disponibile il codice
sorgente
N ll`interno del sotware proprietario troano posto
anche i programmi shareware
- L` possibile redistribuire il programma ma per il continuare ad
usarlo e necessario pagare una licenza
Llementi di Inormatica e Reti di Calcolatori 3
!oIifecnico
di MiIono
Open Source
Open Source
N Il codice sorgente dee essere disponibile
N Il termine pen Source` indica un sotware la cui licenza
preede la possibilita per tutti gli utilizzatori di ottenere il codice
sorgente
N Questo da la possibilita a tutti gli siluppatori di migliorare il
sotware
N a collaborazione di molti siluppatori permette ad un programma
di eolere in modo piu eloce rispetto al caso di un ristretto team
di programmatori
N Possiamo diidere il sotware open source in
- Sotware di pubblico dominio
- Sotware con permesso d`autore copylet
Llementi di Inormatica e Reti di Calcolatori 4
!oIifecnico
di MiIono
Open source e soffwore
Open source e soffwore
Iibero
Iibero
N Non sono la stessa cosa, rappresentano due correnti ilosoiche
dierse pur coesistendo su molti aspetti speciici
N pen source e una metodologia di siluppo
- 1rae dalla condiisione del codice sorgente beneici pratici
N Il sotware libero e un moimento sociale
- Il sotware libero e una questione di liberta non di soluzione di siluppo
ottimale o di prezzo
- iberta di eseguire il programma, per qualsiasi scopo
- iberta di studiare come unziona il programma e adattarlo alle proprie
necessita
- iberta di ridistribuire copie in modo da aiutare il prossimo
- iberta di migliorare il programma e distribuirne pubblicamente i
miglioramenti, in modo tale che tutta la comunita ne tragga beneicio
Llementi di Inormatica e Reti di Calcolatori 5
!oIifecnico
di MiIono
!ubbIico
!ubbIico
dominio
dominio
N Di solito si usa il termine pubblico dominio` come
sinonimo di libero` ma in realta ha un signiicato
giuridico preciso
N L un particolare sotware prio di diritto di autore ,prio
di copyright,
N Signiica che il programma e modiicabile e
redistribuibile imponendo anche incoli sul suo utilizzo
N Quindi un sotware puo nascere come pubblico dominio
ed essere modiicato e redistribuito a pagamento
N L il caso di un noto serer graico linux ,X11,
Llementi di Inormatica e Reti di Calcolatori 6
!oIifecnico
di MiIono
!ermesso
!ermesso
d'oufore
d'oufore
(
(
copyIeff
copyIeff
)
)
N ll sotware con permesso d'autore ,copylet, e sotware libero le
cui condizioni di distribuzione non permettono ai ridistributori di
porre alcuna restrizione addizionale all'atto di ridistribuire o
modiicare il sotware. Questo signiica che ogni copia del
sotware, anche se modiicata, dee essere sotware libero.
N Un esempio di copylet e la licenza GP ,General Public icence,
utilizzata dalla maggior parte delle comunita open source
N Copylet e un gioco di parole
- copyright tende a tutelare il diritto d'autore, anche attraerso limitazioni
all'accesso della conoscenza, mentre il copylet intende tutelare il piu
generale diritto della collettiita a ruire dei prodotti
Llementi di Inormatica e Reti di Calcolatori
!oIifecnico
di MiIono
Free downIood
Free downIood
N Il sotware liberamente scaricabile non appartiene
necessariamente ad una categoria precisa tra quelle iste
N Spesso anche il codice proprietario puo essere scaricato
ed adoperato ,ad esempio i ari plug-in per internet
explorer che permettono di edere animazioni,
N Si usa il termine lreeware per indicare questo tipo di
sotware che puo essere liberamente scaricato e
redistribuito ma non modiicato
N Un ulteriore categoria e rappresentata dal sotware
semilibero che puo essere utilizzato redistribuito e
modiicato ma non per ini di lucro