Vous êtes sur la page 1sur 77

Lo SviIuppo deI Soffwore:

Lo SviIuppo deI Soffwore:


Do Arfe o Scien;o
Do Arfe o Scien;o
Politecnico di Milano
lacolta del Design - Boisa
Pro. Gianpaolo Cugola
Dipartimento di Llettronica e Inormazione
cugolaelet.polimi.it
http:,,home.dei.polimi.it,cugola
Llementi di Inormatica e Reti di Calcolatori 2
!oIifecnico
di MiIono
Sommorio
Sommorio
N o siluppo del sotware: un`analisi storica
N Ingegneria del sotware: una deinizione
N e problematiche legate alla moderna attiita di siluppo
del sotware
N I modelli del ciclo di ita del sotware
N I attori di qualita del sotware
N Il modello open-source
Llementi di Inormatica e Reti di Calcolatori 3
!oIifecnico
di MiIono
Lo sviIuppo deI soffwore: un'onoIisi sforico
Lo sviIuppo deI soffwore: un'onoIisi sforico
N nni `50 - `60: il sotware come arte
- Il computer come macchina di calcolo
- Utenti Siluppatori
Matematici, isici, chimici, ingegneri
- Strumenti di programmazione semplici
- Ciclo di ita delle applicazioni estremamente bree
N nni `0: il sotware come artigianato
- I costi del hardware diminuiscono
- I computer si diondono in ambito industriale e dientano
macchine per la gestione dell`inormazione
- Si diondono i centri LDP ,Llectronic Data Processing, e le
prime Sotware louse`
Llementi di Inormatica e Reti di Calcolatori 4
!oIifecnico
di MiIono
Lo sviIuppo deI soffwore: un'onoIisi sforico
Lo sviIuppo deI soffwore: un'onoIisi sforico
N nni `80: il sotware come industria
- I costi del hardware continuano a calare
- Nascono e si diondono le reti di calcolatori
- e applicazioni dientano distribuite`
- a complessita cresce: la crisi del sotware`
N nni `90: il sotware come motore della societa
- I PC si diondono in tutte le case
- Si apre l`era di Internet
- Il sotware dienta il motore della societa
- I passi aanti nel dominare la complessita del sotware si
rielano spesso insuicienti
Llementi di Inormatica e Reti di Calcolatori 5
!oIifecnico
di MiIono
II soffwore oggi
II soffwore oggi
N gni moderno prodotto e basato sul sotware
- Il sotware permette ad un calcolatore di essere qualche cosa
piu di un semplice ammasso di erraglia...
- ... ma anche al ostro cellulare di unzionare
N a maggior parte delle industrie moderne non
potrebbero unzionare senza il sotware
N Il sotware ha permesso lo siluppo di nuoi prodotti e
serizi ,e.g., il web, il commercio elettronico, ...,
N a nostra societa ,e la nostra industria, non puo piu are
a meno del sotware
Llementi di Inormatica e Reti di Calcolatori 6
!oIifecnico
di MiIono
"
"
Soffwore" e "sviIuppo soffwore"
Soffwore" e "sviIuppo soffwore"
N Il sotware non e solo l`eseguibile di un programma
N Ne, tanto meno, il solo codice sorgente
N Sotware: Insieme di arteatti legati ad un particolare
prodotto sotware
- Include sorgente, eseguibile, documentazione utente,
documentazione tecnica, documenti di analisi e progetto, casi
di test, makeile, ...
N Siluppo sotware: ttiita il cui compito e l`analisi, la
progettazione, lo siluppo, il deployment e la
manutenzione di un prodotto sotware
Llementi di Inormatica e Reti di Calcolatori
!oIifecnico
di MiIono
L'ingegnerio deI soffwore
L'ingegnerio deI soffwore
N Con il termine Ingegneria del Sotware si indica quella
branca della scienza il cui compito e la gestione
dell`attiita di siluppo del sotware secondo criteri
ingegneristici
N Systematic approach to deelopment, operation,
maintenance, deployment, retirement o sotware
|ILLL Standard Glossary o Sotware Lngineering|
N Methodological and managerial discipline concerning the
systematic production and maintenance o sotware
products that are deeloped and maintained within
anticipated and controlled time and cost limits
|D. lairley|
Llementi di Inormatica e Reti di Calcolatori 8
!oIifecnico
di MiIono
Ingegnerio deI soffwore vs. ingegnerio
Ingegnerio deI soffwore vs. ingegnerio
frodi;ionoIe
frodi;ionoIe
N Molti punti in comune
- Il sotware e un prodotto simile a tutti gli altri
- Come tale il suo siluppo dee essere gestito con approccio
ingegneristico
N Ma anche numerose dierenze
- Il sotware presenta numerose peculiarita rispetto ai prodotti
tradizionali
- Come tale non e banale deriare le tecniche dell`ingegneria del
sotware a partire dalle tecniche impiegate nell`ingegneria
tradizionale
Llementi di Inormatica e Reti di Calcolatori 9
!oIifecnico
di MiIono
Ingegnerio deI soffwore vs. ingegnerio
Ingegnerio deI soffwore vs. ingegnerio
frodi;ionoIe
frodi;ionoIe
N Un ponte, per quanto si tratti di un prodotto
estremamente grande e complesso, iene usualmente
prodotto nei tempi e nei costi stabiliti
N Circa il 30 dei progetti di siluppo sotware non
arriano a compimento
N Circa il 50 dei progetti di siluppo del sotware costano
piu del doppio di quanto stimato in origine
- Senza considerare i costi derianti dalle mancate opportunita
derianti dalla non disponibilita del sotware nei tempi
prestabiliti
Llementi di Inormatica e Reti di Calcolatori 10
!oIifecnico
di MiIono
Ingegnerio frodi;ionoIe
Ingegnerio frodi;ionoIe
N Lstrema attenzione alla ase di progetto
- Siluppo di progetti estremamente dettagliati
- Utilizzati per creare modelli ormali ,matematici, sui quale solgere test
preliminari
- Progetti alternatii possono essere conrontati acendo ricorso a modelli
ormali
N Il progetto e congelato prima di passare alla successia ase di
siluppo
- Il committente non ha alcuna possibilita di ariare i requisiti del prodotto
durante il suo siluppo
N Vengono seguite procedure standard per lo siluppo
N Viene posta molta attenzione all`analisi di eentuali allimenti
Llementi di Inormatica e Reti di Calcolatori 11
!oIifecnico
di MiIono
Ingegnerio deI soffwore: differen;e
Ingegnerio deI soffwore: differen;e
N Il sotware e oggi un prodotto chiae per lo solgimento
di tutte le pratiche aziendali
N 1ali pratiche deono poter ariare continuamente per
seguire le esigenze del mercato
N I tempi di siluppo di una applicazione sono troppo
lunghi per poter deinire a priori i requisiti
dell`applicazione
- Cio non darebbe suiciente lessibilita al committente
N I requisiti di una applicazione sotware deono poter
cambiare ino a pochi mesi prima del rilascio deinitio
Llementi di Inormatica e Reti di Calcolatori 12
!oIifecnico
di MiIono
Ingegnerio deI soffwore: differen;e
Ingegnerio deI soffwore: differen;e
N `ingegneria ciile e una scienza nata insieme all`uomo,
l`ingegneria del sotware ha pochi decenni di ita
- Mancano teorie che consentano lo siluppo di modelli del
sotware capaci di consentire la eriica delle caratteristiche
dell`applicazione prima di iniziare lo siluppo ero e proprio
- Non esistono metodologie consolidate che possano guidare il
processo di siluppo del sotware
N Raramente i dietti delle applicazioni sotware engono
analizzati con suiciente attenzione da eitare che si
ripresentino
Llementi di Inormatica e Reti di Calcolatori 13
!oIifecnico
di MiIono
Soffwore vs. Hordwore
Soffwore vs. Hordwore
N Sotware e hardware due realta proondamente dierse
- Il sotware si siluppa` non si abbrica`
- Il sotware non ha usura`
- Il sotware e un prodotto estremamente malleabile
Il sotware: un prodotto dalla manutenzione` ininita
N e lezioni proenienti dall`ingegneria tradizionale sono
spesso inutili
Llementi di Inormatica e Reti di Calcolatori 14
!oIifecnico
di MiIono
Soffwore vs. Hordwore
Soffwore vs. Hordwore
Tempo
F
r
e
q
u
e
n
z
a

d
e
i

g
u
a
s
t
i
~Mortalit infantile
Usura
Tempo
F
r
e
q
u
e
n
z
a

d
e
i

g
u
a
s
t
i
Tempo
F
r
e
q
u
e
n
z
a

d
e
i

g
u
a
s
t
i
Modifiche
Hardware
Software
caso ideale
Software
caso reale
Llementi di Inormatica e Reti di Calcolatori 15
!oIifecnico
di MiIono
Lo
Lo
sviIuppo
sviIuppo
soffwore:
soffwore:
Un'offivif
Un'offivif
creofivo
creofivo
N o siluppo del sotware e dierente dalla produzione di massa
- e automobili sono abbricate una per una. Il sotware iene siluppato una
olta per tutte e replicato a costi trascurabili
N `attiita di siluppo del sotware e essenzialmente un`attiita di
progettazione cooperatia
- o siluppatore non e un operaio ma un progettista
- a sua abilita e creatiita sono ondamentali per il successo aziendale
N a conoscenza delle tecniche, degli strumenti e delle tecnologie e
solo una precondizione per essere un buon siluppatore ma non
garantisce il successo
N o stesso ale a liello aziendale
Llementi di Inormatica e Reti di Calcolatori 16
!oIifecnico
di MiIono
Lo
Lo
sviIuppo
sviIuppo
soffwore:
soffwore:
Un'offivif
Un'offivif
cooperofivo
cooperofivo
N gni sotware non banale e oggi siluppato da un
gruppo piu o meno grande di siluppatori
N Sempre piu spesso i progetti di siluppo coinolgono
numerosi attori distribuiti in dierse localita
N spetti chiae:
- Cooperazione e collaborazione
- Pianiicazione e controllo
N Diersi tipi di problemi:
- 1ecnici
- rganizzatii
- Sociologici
Llementi di Inormatica e Reti di Calcolatori 1
!oIifecnico
di MiIono
Lo
Lo
sviIuppo
sviIuppo
soffwore:
soffwore:
Uno
Uno
sfido
sfido
economico
economico
N Il mercato dei prodotti sotware dienta ogni giorno piu
complesso
N lattori chiae
- 1ime to market
- Customers` satisaction
- Integrazione, interoperabilita, aderenza a standard di mercato
- Sicurezza e robustezza
- Usabilita
- ...
Llementi di Inormatica e Reti di Calcolatori 18
!oIifecnico
di MiIono
Muovi
Muovi
modeIIi
modeIIi
di
di
business
business
N pen source: Il codice sorgente e pubblico. 1utti possono contribuire allo
siluppo. L.g., inux
N Community sourcing: Il proprietario del codice permette ad altri di contribuiri.
L.g., Sun
N pplication Serice Proiding: Il sotware gira` sulla macchina del ornitore.
Gli utenti pagano per usarlo inece di acquistarlo. L.g., mySP.com
N lreeware and pro ersions: Una ersione light` del sotware e distribuita
gratuitamente. a ersione proessionale dee essere acquistata. L.g., RealPlayer
N Shareware: Il sotware e distribuito gratuitamente in proa. gli utenti deono
pagare se decidono di usarlo oltre il periodo di proa. L.g.,\inZIP
N dware: Il sotware e gratuito. `interaccia mostra dei banner` pubblicitari il
cui contenuto iene tipicamentre aggiornato ia rete. L.g., Crystal l1P 2000
Llementi di Inormatica e Reti di Calcolatori 19
!oIifecnico
di MiIono
Soffwore:
Soffwore:
prodoffo
prodoffo
e
e
processo
processo
N biettio dell`IdS e siluppare sistemi sotware con le desiderate
caratteristiche di qualita: CS
N Il processo sotware e lo strumento con il quale otteniamo tale
obiettio: CML
- a qualita del processo inluenza direttamente la qualita del prodotto
Difficie e .bagiato ivtere..ar.i
aea qvaita ae roaotto
a qve.to vvto.
eciavevte ve ca.o
ae !!!!
Lungo Iinleio piocesso
- Si aggiunge quaIila aI piodollo
- Si conlioIIa Ia quaIila deI piodollo

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

N Si indica con tale termine la acilita con cui il processo


puo essere ripetuto per lo siluppo di un dierso
prodotto...
N ... con adeguate garanzie di mantenimento di altre
proprieta quali la produttiita
N `adozione di un modello di processo ben deinito e
standardizzato all`interno dell`intera organizzazione ,per
tutti i progetti, e spesso un attore critico di successo
Llementi di Inormatica e Reti di Calcolatori 0
!oIifecnico
di MiIono
LiveIIo di oufomo;ione
LiveIIo di oufomo;ione
N Percentuale di attiita automatizzate all`interno del
processo...
N ... o percentuale di prodotto` ottenuta per automazione
N ttenuta tramite l`uso di strumenti di supporto allo
siluppo...
N ... ma anche di metodologie di siluppo che aumentino la
possibilita di eettuare operazioni critiche in maniera
automatica
Llementi di Inormatica e Reti di Calcolatori 1
!oIifecnico
di MiIono
Cofegorie
Cofegorie
di
di
soffwore
soffwore
$oftware
Open source / Libero
PubbIico dominio
Proprietario
hiuso
$oftware con Iicenza
!
!

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

Vous aimerez peut-être aussi