logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2017/2018
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 089184 - SOFTWARE ENGINEERING 2
Docente Di Nitto Elisabetta
Cfu 5.00 Tipo insegnamento Monodisciplinare

Corso di Studi Codice Piano di Studio preventivamente approvato Da (compreso) A (escluso) Insegnamento
Ing - Civ (Mag.)(ord. 270) - MI (495) GEOINFORMATICS ENGINEERING - INGEGNERIA GEOINFORMATICA*AZZZZ051267 - DATA BASES 2 AND SOFTWARE ENGINEERING 2
Ing Ind - Inf (Mag.)(ord. 270) - MI (473) AUTOMATION AND CONTROL ENGINEERING - INGEGNERIA DELL'AUTOMAZIONE*AM089184 - SOFTWARE ENGINEERING 2
Ing Ind - Inf (Mag.)(ord. 270) - MI (474) TELECOMMUNICATION ENGINEERING - INGEGNERIA DELLE TELECOMUNICAZIONI*AM089184 - SOFTWARE ENGINEERING 2
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AM089184 - SOFTWARE ENGINEERING 2

Programma dettagliato e risultati di apprendimento attesi

Aims

The goal of the course is to enable students to master the engineering methods and processes that are necessary to produce complex software with industrial strength quality. The course covers the software process and its organization, requirements, design methods and tools, specification, verification and validation. Each topic is treated both theoretically and practically.

 

Syllabus

The software process and standards

  • software lifecycle
  • project management and cost estimation
  • standards for process improvement: ISO9001, CMMI

Notations and specification methods: Alloy 

Problem definition: requirements engineering

  • importance of requirements
  • the Jackson-Zave approach (requirements, specification, domain)
  • Usage of Alloy and UML to support requirement modeling activities

Methods and technologies for product development

  • software architectures and architectural styles
  • middleware and software components: J2EE

Verification and validation

  • the verification process
  • analysis, reviews, walkthroughs
  • testing of functional and non-functional properties

 

Expected learning outcomes

Lectures and exercise sessions will allow students to learn how to:

  • Analyze and understand the goals, assumptions and requirements associated with a software system to be developed and model them formally
  • Define the architecture of a software system using proper styles and patterns
  • Identify and define the verification and validation activities needed for a certain software system
  • Estimate the size of a software system and the needed resources, identify risks and define mitigation actions

 

The project laboratory will allow students to learn how to:

  • Write a requirement specification document
  • Write a design specification document
  • Analyze software code written by others
  • Optionally, develop and test code fulfilling the design specification document.
  • Optionally, perform research on some specific aspect of software engineering developing some innovative solution or some empirical experiment.

 

The exam will allow students to learn how to:

  • Summarize and present the results achieved during the lectures, exercise sessions and project laboratory.

 

Laboratory activities

A project laboratory is integral part of the course. The objective of projects is to help students in applying the approaches and principles we teach in class. Projects will be assigned at the beginning of the semester. Project artifacts are expected to be released at fixed deadlines that will be defined by the time the project will be assigned. The evaluation of projects will be based on the produced artifacts and on a presentation. The project laboratory will include class discussions supervised by the course instructor and by some tutors. Some of the project laboratory activities will be optionally taken by the interested students. These concern the development and testing of a running implementation of the assigned project or the development of innovative research (either new tools, formal specifications or empirical experiments) concerning some aspects of software engineering that will be agreed with the instructor.

Students who cannot take the project laboratory in this semester can work at the project on their own in the next semester. In this case, no support by project tutors will be possible. 

 

Prerequisites

Students are required to know the principles and methods of object-oriented design, the basic notions of UML, testing, and configuration management.


Note Sulla Modalità di valutazione

A written exam at the end of the course and the projects developed in the laboratory part of the course. These projects will be presented to the instructor at the end of the course.

Those students who will develop the optional parts of the project will be evaluated only on the basis of their work on the project.


Bibliografia
Risorsa bibliografica obbligatoriaHans van Vliet, Software Engineering: Principles and Practice, 3rd Edition, Editore: Wiley, Anno edizione: 2008, ISBN: 978-0-470-03146-9
Note:

Available also as e-book with ISBN 978EUDTE00263

Risorsa bibliografica obbligatoriaCourse website https://beep.metid.polimi.it
Note:

If for any reason you are not included in the official list of course students, you may not been able to access the course material. In this case, I can grant you access provided that you request it through the site.

Risorsa bibliografica obbligatoriaCarlo Ghezzi, Mehdi Jarayeri, Dino Mandrioli, Fundamentals of Software Engineering, Editore: Prentice-Hall, Anno edizione: 2002, ISBN: 0133056996

Mix Forme Didattiche
Tipo Forma Didattica Ore didattiche
lezione
24.0
esercitazione
16.0
laboratorio informatico
0.0
laboratorio sperimentale
0.0
progetto
0.0
laboratorio di progetto
24.0

Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua Inglese
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese
schedaincarico v. 1.6.5 / 1.6.5
Area Servizi ICT
19/09/2020