ingegneria del software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione testi...
TRANSCRIPT
![Page 1: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/1.jpg)
Ingegneria del Software(2018-2019)
Laurea Triennale in Informatica
Prof. Paolo CiancariniEmail: [email protected]
Telegram: @PaoloCi
![Page 2: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/2.jpg)
Creare software è difficile
• È difficile progettarlo• È difficile scriverlo• È difficile leggerlo o descriverlo• È difficile modificarlo• È difficile misurarlo• È difficile decidere se è fatto bene
![Page 3: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/3.jpg)
Scopo del corso
Presentare e sperimentare metodi e strumenti di • analisi, • modellazione, • progettazione, e • misura
di prodotti, componenti e sistemi software…con particolare riguardo ai metodi agili
![Page 4: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/4.jpg)
Una storia veraIl mio volo era in attesa di decollare quando il comandante fece un annuncio. “Abbiamo un problema con l’aria condizionata. Su questo aereo il condizionatore controlla i livelli di ossigeno e dobbiamo essere sicuri che funzioni prima del decollo. Abbiamo provato a fare restart del condizionatore ma non funziona. Proviamo adesso a fare restart dell’intero aereo. Questi aerei moderni sono tutti controllati a software, e dunque non sono molto affidabili”Il pilota spense tutto l’aereo e poi lo riaccese – ovvero fece reboot dell’aereo. Partimmo e tutto andò bene. Fui molto contento di scendere da questo particolare volo
![Page 5: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/5.jpg)
Saliresti su un
aereo di cui hai scritto il
software?
![Page 6: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/6.jpg)
Come sviluppi il tuo sw?
• Come un falegname? Come un esploratore? Come uno scienziato? Come un archeologo? Come un architetto? Come un mercante?
• "During software design, I'm an architect. When I'm designing the user interface, I'm an artist. During construction, I'm a craftsman. And during unit testing, I'm one mean son of a bitch!"
![Page 7: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/7.jpg)
O come …
• Roberto Bolle• Uma Thurman and John Travolta• The Rockettes
![Page 8: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/8.jpg)
Come ti piace programmare?
• Da solo?• In coppia?• In team?
![Page 9: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/9.jpg)
Legge di Eagleson
Any code of your own that you haven'tlooked at for six or more months might aswell have been written by someone else
![Page 10: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/10.jpg)
Legge di Conway
Le organizzazioni che progettano swsono indotte a generare design che sono copie delle strutture di
comunicazione di tali organizzazioni
![Page 11: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/11.jpg)
Alcune domande
• Come si progetta un prodotto software?• Quali strumenti sono disponibili per chi
costruisce prodotti software?• Quanto costa costruire il software?• Come si valuta la qualità del software?
![Page 12: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/12.jpg)
Processodi sviluppo
Requisitidel software
Strumentie metodi
Qualitàdel software
Gestionedel progetto
Designdel software
Testingdel software
Costruzionedel software
Gestione delle configurazioni
Evoluzionedel software
Ingegneriadel software
![Page 13: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/13.jpg)
Corsi correlati
Prequel (prerequisiti):• Programmazione, Sistemi operativiSequel (nella laurea magistrale):• Architetture software
![Page 14: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/14.jpg)
Agenda• Gli standard di produzione del software• Il ciclo di vita dei prodotti software• I metodi agili• L’analisi dei requisiti• La progettazione del software• La modellazione del software con UML• Gestione di progetti software• Controllare e misurare la qualità del software• L’evoluzione del software
![Page 15: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/15.jpg)
Tempi del corso
Da settembre a dicembreLezioni settimanali:• Lunedi ore 14.30 aula Ercolani 2• Martedi ore 8.30 aula Ercolani 2• Mercoledi ore 15 aula Tonelli
![Page 16: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/16.jpg)
Alcuni strumenti
• Facebook, twitter, mailing list, telegram• Strumenti per modellare con UML• Powerpoint – o equivalente
![Page 17: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/17.jpg)
Materiale didattico
Testi:• Larman, Applicare UML e i pattern, 4ed., Pearson, 2016• slide presentate a lezione
Testi aggiuntivi:Pressman, Principi di Ingegneria del Software, 2010Sommerville, Ingegneria del software, 2017Bruegge, Object oriented software engineering using UML, patterns, and Java, 2013
![Page 18: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/18.jpg)
Canali di conversazione
Gruppo fb: Corso Ingegneria del software UniBo
Gruppo Telegram: UniBoSWE
Sito web:www.cs.unibo.it/~cianca/wwwpages/LabIdSw.html
Mailing list: swe at lists.cs.unibo.it
![Page 19: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/19.jpg)
Modalità di esameEsame:
scritto (+ orale a richiesta)presentazione su argomento concordato
Voto: 65% scritto, 35% presentazione (formato pwp o equivalente), Bonus per attività in classe
Valore dell�esame: 6 CFU
![Page 20: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/20.jpg)
Argomento formato e consegna della presentazione
• Argomento a scelta dello studente, ma da concordare con me entro la fine delle lezioni (prima settimana di dicembre)
• Scegliere un articolo �recente� (= in stampa dal 2015 a oggi) tratto dalle riviste internazionali di ricerca su Ingegneria del Software– IEEE Transactions on Software Engineering
• http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32• ACM Transactions on Software Engineering and Methodology
https://dl.acm.org/citation.cfm?id=J790
• Formato: powerpoint o equivalente• Consegna per email a me con subject [presentazione IdSw]
due giorni prima dell’esame scritto
![Page 21: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/21.jpg)
Attività in classe• Test a risposte chiuse, senza voto ma con bonus finale• Per ottenere il bonus bisogna partecipare a più della
metà dei test (di solito ne preparo almeno sette, quindi occorre partecipare almeno a quattro)
• La partecipazione ai test dà diritto ad un �bonus� da 1 a 4 punti che viene aggiunto al voto finale
• Il bonus è concesso solo se si fa l’esame nei primi due appelli, a gennaio/febbraio
![Page 22: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/22.jpg)
Importante
• Questo corso si supera facilmente seguendo le lezioni; è difficile da superare se non si frequentano le lezioni
• Copiare (i compiti scritti, le relazioni) è vietato e quando si viene scoperti l’esame viene annullato e diventa impossibile da superare
![Page 23: Ingegneria del Software - cs.unibo.itcs.unibo.it/cianca/ · •slide presentate a lezione Testi aggiuntivi: Pressman, Principi di Ingegneria del Software, 2010 Sommerville, Ingegneria](https://reader031.vdocuments.site/reader031/viewer/2022021605/5c66708e09d3f2f91c8c4270/html5/thumbnails/23.jpg)
Domande?
Legge di Paolo:L’unica domanda stupida
è quella che non si fa