09032 - Software Engineering

Academic Year 2010/2011

  • Docente: Stefano Rizzi
  • Credits: 6
  • SSD: ING-INF/05
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Cesena
  • Corso: Second cycle degree programme (LM) in Computer Science and Information Technology (cod. 8030)

Learning outcomes

After attending the course, the student owns specialised skills about software engineering, as well as a picture of the most advanced formalisms and tools for requirement modeling and design.

Course contents

  1. Software engineering:
  • Design principles and quality criteria
  • Evaluation
  • Prototyping
  • Production
  • Testing
  • Certification
  • Maintenance
  • Design patterns
  • Unified Process
  • User interfaces
  • Functional modeling:
    • Data Flow Diagrams
    • SADT
    • Decision trees and tables
  • Dynamic modeling:
    • Finite state automata
    • Harel automata
    • Petri nets

    Readings/Bibliography

    • Slides.
    • M. Golfarelli, D. Maio, S. Rizzi. Ingegneria dei Sistemi Informativi: Lezioni ed esercizi di Modellazione dei Requisiti. Esculapio, 2000
    Recommended readings:
    • J. Arlow, I. Neustadt. UML e Unified Process. McGraw-Hill, 2003.
    • A. Binato, A. Fuggetta, L. Sfardini. Ingegneria del Software. Pearson, 2006.
    • E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns. Addison-Wesley, 2002.
    • C. Ghezzi, M. Jazayeri, D. Mandrioli. Ingegneria del Software. Pearson, 2004.
    • C. Larman. Applicare UML e i pattern. Pearson, 2004.
    • W. Zuser, S. Biffl, T. Grechenig, M. Kohle. Ingegneria del software con UML e Unified Process. McGraw-Hill, 2004.

    Teaching methods

    • Lessons and exercises in the classroom
    • Seminars from enterprise consultants
    • Self-evaluations

    Assessment methods

    • Written examination: modeling of dynamic-functional requirements, testing, analysis/synthesis of Petri nets
    • Oral examination on theoretical contents

    Teaching tools

    Downloadable didactic material

    Office hours

    See the website of Stefano Rizzi