1 / 22

Lezione 1. La disciplina dell’Ingegneria del Software, e il software come prodotto

Lezione 1. La disciplina dell’Ingegneria del Software, e il software come prodotto. [GJM91, Capp. 1, 2] [S2001, Cap. 1] La disciplina S. E. - generalità Caratteristiche del prodotto software. Requisiti di qualità in diverse aree applicative. Lezione 2. Il modello Waterfall e le sue fasi.

verlee
Download Presentation

Lezione 1. La disciplina dell’Ingegneria del Software, e il software come prodotto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lezione 1. La disciplina dell’Ingegneria del Software, e il software come prodotto • [GJM91, Capp. 1, 2] • [S2001, Cap. 1] • La disciplina S. E. - generalità • Caratteristiche del prodotto software. • Requisiti di qualità in diverse aree applicative

  2. Lezione 2.Il modello Waterfall e le sue fasi • [GJM91, Sez. 7.1], [S2001, Cap. 3], [TMcG93, Cap. 2 (#) fotocopia] • Modello code-and-fix • Processo di sviluppo: specifica, progetto e codifica, validazione, evoluzione • Le fasi del modello Waterfall. Fattibilità, requisiti, specifica, progetto, codifica, testing unitario, integrazione e test di sistema, verifica e validazione, manutenzione, evoluzione • Waterfall, variante STARTS (#) • Waterfall, variante ESA (#)

  3. Lezione 3.Altri modelli di processo software • [GJM91, Sez. 7.1], [S2001, Cap. 3], [TMcG93, Cap. 2], [BRJ99, App. C (°)] • Incremental delivery • Modello evolutivo • uso di prototipi • Modello formale-trasformazionale • Reuse • Extreme programming • Modelli ibridi e metamodello a spirale • Modello Unified (UML) (°) • Visibilità nei vari modelli • Supporto CASE

  4. Lezione 4. Analisi dei requisiti • [AC96, Cap. 1] • [S2001, Cap. 4, Sez. 4.1-4.2] • Requirements engineering • studio di fattibilità • comprensione del dominio, glossario • estrazione, definizione, specifica, ispezione dei requisiti • specifica formale e modelli astratti • requisiti funzionali e non-funzionali • Il documento dei requisiti • Viewpoints in generale

  5. Lezione 5. Viewpoints • [S95, Cap. 5] • Analisi dei requisiti • Viewpoint oriented analysis • Metodo VORD ed esempio ATM (Bancomat) • Validazione dei requisiti • Evoluzione dei requisiti • duraturi • volatili

  6. Lezione 6. Modelli astratti: DF, ER • [S95, Cap. 6] • [GJM91, Cap. 5] • Modelli astratti classificati secondo il loro orientamento a rappresentare dati/funzioni/controllo. • Modelli astratti per la fase dei requisiti: • Data-Flow diagrams • Entity-Relation diagrams

  7. Lezione 7. FSM e XFSM • [GJM91, sez. 5.5.2] • Finite State Machines - definizioni, applicabilita’, esempi • Prodotto di FSM • XFSM: Extended FSM • Reti di XFSM • Esempio: Dispatcher

  8. Lezione 8. Petri nets • [GJM91, Sez. 5.5] • [G87] • Condition-Event nets • Place-Transition nets • Token con valore • ESEMPI • Case study - Sistema di ascensori

  9. Lezione 9. Petri Net estese e Case Study • [GJM91, Sez. 5.5] • [G87] • Richiami di logica • Predicate-Transition (PrT-) nets [Genrich’87] • Time Petri Nets [Merlin] • ESEMPI • Case study - Sistema di ascensori

  10. Lezione 10. LOTOS - Introd. al linguaggio • [BB87] - Copia distribuita a lezione • [B88] (Lucidi) - Copia distribuita a lezione • Inquadramento • Tipi di dato astratti (ACT ONE) • I processi e le behaviour expression • Semantica operazionale degli operatori principali • action prefix, composizione parallela, sequenziale, disabling… • Basic LOTOS e Full LOTOS • Observational Equivalence • ESEMPIO: Daemon Game

  11. Lezione 11. Tre stili di specifica LOTOS • [Copia lucidi distribuita a lezione] • Stile state-oriented (due varianti) • Stile resource-oriented • Stile Constraint-Oriented • Esempio: Switching node (Al’s node)

  12. Lezione 12. Software Design • [S95, Cap. 12] • [FK92] • Strategie di design: functional decomposition e object-oriented design • Prospettiva storica e confronti • Structured design methods - process-oriented/data-oriented • Object-Oriented analysis and design • Design quality attributes • cohesion • coupling • adaptability

  13. Lezione 13. Architecture • [S95, Cap. 13] • 1. System structuring • repository-based • client server • abstract machines (layered architecture) • 2. Control policy models • centralised control • event driven systems • 3. Modular decomposition

  14. Lezione 13. UML - Classi e relazioni • [BRJ99, Capp. 4, 5] • Classi, attributi, operazioni, segnature, packages • Responsabilità • Criteri per la identificazione di classi • Relazioni • dependency • generalization - inheritance - classi e operazioni astratte • association • aggregation • composition • realization

  15. Lezione 14. UML - Diagrammi • [BRJ99, Capp. 7, 15, 16, 17, 18] • Five Views and nine Diagrams • Use cases • Use case diagrams • Interaction Diagrams

  16. Lezione 15. Statecharts, Activity Diagrams • [BRJ99, Capp. 19, 20, 21] • UML State diagrams e Statecharts • UML Activity diagrams

  17. Lezione 16. Verifica (I) • [S95, Cap. 22] • [GJM91, Cap. 6] • [R85, Cap. 6] • Articoli citati nelle diapositive, e appunti • Generalità; verification & validation • Algoritmi di analisi per modelli a stati finiti • Reachability analysis • limiti ed evoluzione • Algoritmi e complessità di problemi per reti di Petri • boudedness, reachability in P/T nets e Time PN’s • analisi degli invarianti

  18. Lezione 17. Verifica (II) • [GJM91, Cap. 6] • [BB87] • [P93] • appunti • 1. Verifica di equivalenze per algebre di processo • 2. Dimostrazione di correttezza di programmi • 3. Esecuzione simbolica

  19. Lezione 18. Testing • [S95, Cap. 22-23] • [GJM91, Sez. 6.3] • Generalità • Testing statistico vs. Defect testing • Top down-, bottom up-, thread-, back to back-, stress-testing. • Black box (functional) testing • White box (structural) testing • Path testing e metrica ‘cyclomatic complexity’

  20. Lezione 19. Pianificazione e stima dei costi • [S95, Cap. 29] • [GJM91, Sez. 8.2] • Composizione dei costi • Misure di produttività (LOC, FP) • Tecniche di stima dei costi di sviluppo software • Stima algoritmica dei costi • il modello COCOMO • Staffing

  21. Libri • [BRJ99] G. Booch, J. Rumbaugh, I. Jacobson, The Unified Modeling Language - UserGuide, Addison-Wesley, 1999. • [GJM91] C. Ghezzi, M. Jazayeri, D. Mandrioli, Fundamentals of software engineering, Prentice-Hall, 1991 • [S95] Ian Sommerville, Software Engineering - Fifth Edition, Addison-Wesley, 1995. • [AC96] V. Ambriola, G. A. Cignoni, Laboratorio di Programmazione, Jackson Libri, 1996. • [B95] F. P. Brooks, The mythical man-month - Essays on software engineering, 20th Anniversary edition, Addison-Wesley, 1995. • [F97] M. Fowler, UML Distilled, Addison-Wesley, 1997. • [GHJV95] E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns - Elements of reusable Object-Oriented Software, Addison-Wesley, 1995. • [P93] V. R. Pratt, ‘Logics of Programs’, in A. Ralston, E. D. Reilly (Eds.) Encyclopedia of Computer Science, IEEE Press, 1993. • [R85] W. Reisig, Petri Nets - An Introduction, EATCS Monographs on Theoretical Computer Science, Vol. 4, Springer-Verlag, 1985. • [TMcG93] R. H. Thayer, A. D. Mc Gettrick (eds.), Software Engineering, A European Perspective, IEEE Computer Society Press, 1993 (raccolta). - - - COPIA Cap. 2 CONSEGNATA A LEZIONE

  22. Articoli • [BB87] T. Bolognesi, E. Brinksma, 'Introduction to the ISO Specification Language LOTOS’, Computer Networks and ISDN Systems, Vol. 14, No. 1, pp. 25-59, North-Holland, 1987. Apparso anche in P. H. J. Van Eijk, C. A. Vissers, M. Diaz (editors), The Formal Description Technique LOTOS, North-Holland 1989. - - - COPIA CONSEGNATA A LEZIONE • [B88] T. Bolognesi, ‘Transparent LOTOS’ (LUCIDI), CNUCE, Tech. Rep. C88-40, 1988 - - - COPIA CONSEGNATA A LEZIONE • [FK92] Fichman and Kemerer, ‘Object-Oriented and Conventional Analysis & Design Methodologies - Comparison and Critique, IEEE Computer, Oct. 92] • [G87] H. J. Genrich, 'Predicate/Transition Nets', In: Brauer, W.; Reisig, W.; Rozenberg, G.: Lecture Notes in Computer Science, Vol. 254, pages 207-247. Springer-Verlag, 1987. • [H87] D. Harel, 'STATECHARTS: a Visual Formalism for Complex Systems', Science of Computer Programming, 8 (1987), pp. 231-274. • [R85] W. Reisig, Petri Nets - An Introduction, EATCS Monographs on Theoretical Computer Science, Vol. 4, Springer-Verlag, 1985.

More Related