09032 - Software Engineering

Academic Year 2021/2022

  • Docente: Stefano Rizzi
  • Credits: 6
  • SSD: ING-INF/05
  • Language: Italian
  • Teaching Mode: Traditional lectures
  • Campus: Cesena
  • Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)

Learning outcomes

The course aims at providing the basic concepts related to software engineering, and the tools and techniques for analysis and design of software systems. Particular relevance will be given to the methods enforcing correct use of object-oriented technologies.

Course contents

Requirements

A prior knowledge and understanding of programming languages and algorithms, and of the object-oriented paradigm is required to attend with profit this course. These notions are normally achieved by giving an exam of Programming, Algorithms and Data Structures, and OO Programming.

Fluent spoken and written Italian is a necessary pre-requisite: all lectures and tutorials, and all study material will be in Italian.

Course Contents

  1. The lifecycle of software systems:
    • phases and activities;
    • requirement analysis, design, implementation.
  2. Object-oriented analysis and design:
    • the object-oriented paradigm (abstraction, information hiding, inheritance, polymorphism, delegation);
    • designing object-oriented systems.
  3. The UML language:
    • use case diagrams;
    • class and object diagrams;
    • sequence diagrams;
    • collaboration diagrams;
    • state diagrams;
    • activity diagrams;
    • component diagrams;
    • deployment diagrams.
  4. Basics of user interface design
  5. Software engineering:
    • design principles and quality criteria;
    • evaluation;
    • prototyping;
    • production;
    • testing;
    • certification;
    • maintenance.

Readings/Bibliography

  • Slides.
Recommended readings:
  • J. Arlow, I Neustadt. UML e Unified Process. McGraw-Hill, 2003.
  • S. Bennett, J. Skelton, K. Lunn. Introduzione a UML. McGraw-Hill, 2002.
  • A. Binato, A. Fuggetta, L. Sfardini. Ingegneria del Software. Pearson, 2006.
  • G. Booch, J. Rumbaugh, I. Jacobson. The UML user guide. Addison Wesley, 1999.
  • M. Candolfini, M. Cassiani, M. Musu, C. Zavalloni. CRM: elementi di progettazione e prototipazione di un CRM con UML. Gruppo Editoriale INFOMEDIA, 2003.
  • J. Conallen. Applicazioni web con UML. Pearson, 2003.
  • M. Fowler. UML distilled. Pearson, 2004.
  • C. Ghezzi, M. Jazayeri, D. Mandrioli. Ingegneria del Software. Pearson, 2004.
  • M. Golfarelli, D. Maio, S. Rizzi. Ingegneria dei Sistemi Informativi: Lezioni ed esercizi di Modellazione dei Requisiti. Esculapio, 2000.
  • L. Maciaszek. Sviluppo di sistemi informativi con UML. Addison-Wesley, 2002.
  • R. Pressman. Principi di Ingegneria del Software. McGraw-Hill, 2008.
  • 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
  • Team exercises using virtual collaborative whiteboards
  • Self-evaluations

Assessment methods

Exams will be done either in presence or online, depending on the sanitary conditions and on the prescriptions given by the administration. In the online case, the Zoom and EOL platforms will be used. In both cases, the test will consist of a 60-minutes written test; no books or notes can be accessed during the test. The test includes a design section, that requires to solve a requirement analysis and modeling problem with UML, and a theoretical section based on a few quizzes on all the course contents. To pass the test, the student must achieve a sufficiency on both the design and the theoretical sections. Further details will be given during the lessons and in the "notes" field of AlmaEsami.

The maximum evaluation score is 30/30. To attend the exam, each student must sign up via AlmaEsami within a deadline. Those who cannot sign up must immediately communicate the problem to the teaching secretariat. Deciding whether to allow them to attend the exam or not is up to the teacher. Once the test results have been published, each student has one week to decide if (s)he wants to accept the grade or not. In case s(he) decides to refuse the grade, s(he) has to write an email to the teacher.

Teaching tools

  • Downloadable didactic material
  • Piattaforma Teams per la didattica a distanza
  • Piattaforma Miro per le esercitazioni

Office hours

See the website of Stefano Rizzi

SDGs

Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.