Post on 22-Feb-2019
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Corso di Ingegneria del Softwarea.a. 2009/2010
Modelli di produzione del software
Mario Vacca
mario.vacca1@istruzione.it
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
A risk driven model
Il modello a spirale, a differenza degli altri, tiene conto dei rischi.Il modello a spirale e guidato dai rischi - Il modello a cascata eguidato dalla documentazione.
Il rischio e un evento imprevisto che puo causare problemi o difficolta.Esempio: Stiamo usando un compilatore per un nuovo linguaggio. C’e ilrischio che il compilatore sia difettoso.I rischi sono conseguenza di informazioni insufficienti. Si risolvonoacquisendo maggiori informazioni per ridurre l’incertezza
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
A risk driven model
Il modello a spirale, a differenza degli altri, tiene conto dei rischi.Il modello a spirale e guidato dai rischi - Il modello a cascata eguidato dalla documentazione.
Il rischio e un evento imprevisto che puo causare problemi o difficolta.Esempio: Stiamo usando un compilatore per un nuovo linguaggio. C’e ilrischio che il compilatore sia difettoso.I rischi sono conseguenza di informazioni insufficienti. Si risolvonoacquisendo maggiori informazioni per ridurre l’incertezza
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
The top ten risks 1/2
I Personnel Shortfalls
Staffing with top talent; job matching; team-building; morale building;cross-training; pre-scheduling key people.
I Unrealistic Schedules and Budgets
Detailed, multi-source cost & schedule estimation; design to cost; incrementaldevelopment; software reuse; req. scrubbing.
I Developing the wrong software functions
Organizational analysis; mission analysis; operational concept formulation; usersurveys; prototyping; early users’ manuals.
I Developing the wrong user interface
Prototyping; scenarios; task analysis.
I Gold-plating
Requirements scrubbing; prototyping; cost-benefit analysis; design to cost
Barry W. Boehm: A Spiral Model of Software Development and Enhancement. IEEE Computer
21(5), (1988), pag. 70.
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
The top ten risks 2/2
I Continuing stream of requirements changes
High change threshold; information-hiding; incremental development (deferchanges to later increments).
I Shortfalls in externally-furnished components
Benchmarking; inspections; reference checking; compatibility analysis.
I Shortfalls in externally-performed tasks
Reference-checking; pre-award audits; award-fee contracts; competitive design orprototyping; team-building.
I Real-time performance shortfalls
Simulation; benchmarking; modeling; prototyping; instrumentation; tuning.
I Straining computer science capabilities
Technical analysis; cost-benefit analysis; prototyping; ref. checking.
Barry W. Boehm: A Spiral Model of Software Development and Enhancement. IEEE Computer
21(5), (1988), pag. 70.
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Modelli evolutiviIl modello a spirale - Esempio - (TRW-SPS)
Round 0: Feasibility study – Very Basic.I Objectives: Significantly increase software productivity.
I Constraints: Costs; within context of TRW culture.
I Alternatives:
Change in management (project organization, policy)
Change in personnel (incentives, training)
Change in technology (tools, workstations, method, reuse)
Change in facilities (offices, communication)
I Risks: May be no high-leverage improvements.
I Risk resolution: Internal surveys, cost models,literature search
I Risk resolution results: Some alternatives infeasible (single maxi-computersecurity); significant gains can result (double in 5 yers).
I Plan for next phase: 6 part-time for 6 months (12MM); more analysis; developoperations.
I Commitment: Fund next phase.
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
Esempio - (TRW-SPS)
Round 1: Concept of Operations – More detailI Objectives: Double software productivity in 5 years
I Constraints: $10,000 per person investment; preference for TRW products(LAN).
I Alternatives: Change in office, communication, terminals, tools, CPU.
I Risks: May miss high-leverage options, LAN price/performance, workstationcosts.
I Risk resolution: Extensive surveys, LAN benchmarking, workstation pricing.
I Risk resolution results: Operations concept: private offices, TRW LAN, privateterminals, VAX, defer OS/tools selection.
I Plan for next phase: Partition effort into SDE (Software DevelopmentEnvironment), facilities, and management; develop prototype SDE.
I Commitment Develop SDE, and use it. Form a representative steering group.
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
Esempio - (TRW-SPS)
Round 2: Top-level requirements spec. – More detail yetI Objectives: User-friendly system; integrated tools; project and personnel support.
I Constraints: Customer-deliverable SDE, reliability.
I Alternatives: Change in OS, host target, workstations.
I Risks: Mismatch needs and priorities, user-unfriendly system, Unix performance,workstation compatibility.
I Risk resolution: Survey of Unix-using organizations; workstation study.
I Risk resolution results: Use Unix based interfaces; use tools to support earlyphases.
I Plan for next phase: Tools: SREM (Software Requirements EngineeringMethodology), RTT (Requirements Traceability Tool), PDL (Ada ProgramDesign Language); front end: support tools; LAN: equipment, facilities.
I Commitment: Proceed with plans.
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
Vantaggi e risultati
I Realistico per sistemi software di grandi dimensioni
I Il software cresce di pari passo con il processo e quindi cliente esviluppatore possono meglio valutare i rischi e reagire
I Usa la prototipizzazione (ad ogni stadio) per minimizzare i rischi
I La strategia a passi del modello a cascata e integrata in un processoiterativo che la rendono piu realistica
I Esige la vautazione dei rischi tecnici ad ogni stadio del progetto
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Il modello a spirale
Il modello a spirale - Svantaggi
I Applicazione problematica se il budget e fisso(E necessario riconsiderare i costi ad ogni evoluzione della spirale)
I Richiede competenze per la valutazione dei rischi
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Comparazione dei modelli
Modelli di produzione del software
Sommario
1. Concetti di base
2. Modelli del ciclo vita del software
2.1 Modello a cascata2.2 Modelli incrementali2.3 Modelli evolutivi2.4 Comparazione dei modelli
2.5 Modelli agili
3. Il processo di produzione del software
4. Bibliografia
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Comparazione dei modelli
Comparazione dei modelli
I Modello a cascataRischioso per sviluppare sistemi su cui non si hanno buonecompetenze sul dominio applicativo e di business.Basso rischio per sviluppare sistemi su cui si hanno conoscenzepregresse sufficienti.
I Modello incrementale/prototipalePoco rischioso per sviluppare nuovi sistemi.Altamente rischioso se richiesto un forte controllo del processo (eantieconomico documentare eccessivamente le attivita svolte a causadella loro dinamicita).
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Comparazione dei modelli
Comparazione dei modelli
Quale processo di sviluppo seguire?
Il processo che si adotta dipende dal software che si sta realizzando
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Comparazione dei modelli
Comparazione dei modelliCome selezionare un modello
I Tolleranza del modello ai rischi del progetto.
I Livello di conoscenza del SLC da parte dei tecnici.
I Grado di stabilita dei requisiti e probabilita che ulteriori requisiti siaggiungano in corso d’opera.
I Budget e limiti di tempo, grado di flessibilita concesso allapianificazione.
I Compatibilita del modello con la organizzazione della societa.
I Disponibilita di tools a supporto del modello.
I Esperienze pregresse del management nel gestire il modelloorganizzativo.
I Considerare la frequenza dei change
I La frequenza delle richieste di modifica (ai requisiti, alle specifiche) euno dei driver da usare per scegliere quale modello di sviluppo usarein un progetto.
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Comparazione dei modelli
Comparazione dei modelli
Cascata
Incrementale
Prototipo
Spirale
RAD
Complessità del progetto
media
alta
media
alta
media
Comprensione dei requisiti
specifica
specifica/
vaga
vaga
vaga
specifica
Volatilità dei requisiti
bassa
bassa
alta
media
bassa
Tecnologia del prodotto
esistente
esistente/
nuova
nuova
nuova
nuova
Risk management
no
no
si
si
no
Schedule constraints
medi
alti
bassi/medi
medi
alti
Conoscenza del dominio del problema
alta
media/
alta
bassa
bassa
alta
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Comparazione dei modelli
Modelli di produzione del software
Sommario
1. Concetti di base
2. Modelli di produzione del software
2.1 Modello a cascata2.2 Modelli incrementali2.3 Modelli evolutivi2.4 Comparazione dei modelli2.5 Modelli agili
3. Il processo di produzione del software
4. Bibliografia
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Bibliografia
Modelli di produzione del software
Sommario
1. Concetti di base
2. Modelli del ciclo vita del software
2.1 Modello a cascata2.2 Modelli incrementali2.3 Modelli evolutivi2.4 Comparazione dei modelli2.5 Modelli agili
3. Bibliografia
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Bibliografia
Bibliografia
Riferimenti bibliografici - Generali
1. R. Pressman “Ingegneria del software” Mc Graw Hill Italia, 5aedizione, 2007, capitoli 3 (par. 3.3 e 3.4)
2. P. Jalote “A Concise Introduction to Software Engineering”Springer, 2008, capitolo 2.
Corso di Ingegneria del Software a.a. 2009/2010 Modelli di produzione del software
Bibliografia
Bibliografia
Riferimenti bibliografici - Specifici
1. Barry W. Boehm “A Spiral Model of Software Development andEnhancement” IEEE Computer 21(5), p. 61-72, 1988.
2. Barry W. Boehm, J. F. Elwell, A. B. Pyster, E. Don Stuckle, R. D.Williams: The TRW Software Productivity System. ICSE 1982:148-156
3. C. Larman, V. R. Basili “Iterative and Incremental Development: ABrief History.” IEEE Computer 36(6): 47-56, 2003.