logo-polimi
Loading...
Risorse bibliografiche
Risorsa bibliografica obbligatoria
Risorsa bibliografica facoltativa
Scheda Riassuntiva
Anno Accademico 2020/2021
Scuola Scuola di Ingegneria Industriale e dell'Informazione
Insegnamento 054443 - SOFTWARE ENGINEERING 2
Docente Di Nitto Elisabetta
Cfu 5.00 Tipo insegnamento Monodisciplinare
Didattica innovativa L'insegnamento prevede  2.0  CFU erogati con Didattica Innovativa come segue:
  • Cotutela con mondo esterno
  • Blended Learning & Flipped Classroom

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*AZZZZ052532 - SOFTWARE ENGINEERING 2
089184 - SOFTWARE ENGINEERING 2
054443 - SOFTWARE ENGINEERING 2
Ing Ind - Inf (Mag.)(ord. 270) - MI (263) MUSIC AND ACOUSTIC ENGINEERING*AM054443 - SOFTWARE ENGINEERING 2
Ing Ind - Inf (Mag.)(ord. 270) - MI (474) TELECOMMUNICATION ENGINEERING - INGEGNERIA DELLE TELECOMUNICAZIONI*AM054443 - SOFTWARE ENGINEERING 2
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA*AM054443 - SOFTWARE ENGINEERING 2

Obiettivi dell'insegnamento

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. Through the course, the flipped class teaching method will be exploited to allow students to acquire a good level of autonomy in learning new topics.


Risultati di apprendimento attesi

Dublin Descriptors

Expected learning outcomes

Knowledge and understanding

Students will learn how to:

- Identify the phases of software development and the specific activities associated with each phase

- Understand an Alloy specification

- Analyze software code written by others

- Identify architectural styles and patterns

Applying knowledge and understanding

Given specific project cases, students will be able to:

- Detail the corresponding requirements

- Identify, analyze and comment on specific architectural choices

- Apply the theory to assess the availability of a software architecture

- Test code fulfilling the corresponding specification documents

- Write software components in JEE

Making judgements

Given a relatively complex problem, students will be able to:

- Analyze and understand the goals, assumptions and requirements associated with that problem and model them

- Define the architecture of the corresponding software system using proper styles and patterns

- Identify and define the needed verification and validation activities

- Estimate the size of the system and the resources needed for its development, identify risks and define mitigation actions

Communication

Students will learn to:

- Write a requirement specification document

- Write a design specification document

Discuss with the other colleagues during project labs

Lifelong learning skills

learning how to develop a realistic project

- Students choosing to focus on the research project will learn how to conduct a research activity on some specific aspect of software engineering, developing some innovative solution or some empirical experiment.

 


Argomenti trattati

The software process

  • Software lifecycle
  • Project management and cost estimation

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 and validation process
  • Analysis, reviews and walkthroughs techniques
  • The various facets of testing

 

The flipped class method will be exploited to help students in learning part of the topics related to requirement engineering and how to apply them in practical contexts.

Project laboratory activities can be optionally taken by interested students. These concern the requirement analysis and design of a realistic project, possibly followed by the development and testing of a running implementation of the assigned project, or the development of innovative research (new tools, formal specifications or empirical experiments) concerning some aspects of software engineering that will be agreed with the instructor.


Prerequisiti

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


Modalità di valutazione

The assessment will be based on a written exam to be taken in the exam sessions defined by the school and covering all aspects in the syllabus. The exam is open book. It will assign up to 32 points. 30 cum laude will be assigned when the total score is equal to or higher than 31.

Optionally, the written exam can be -- partially or totally -- replaced by a project. The objective of the project is to help students in applying the approaches and principles that are taught in class. Projects will be assigned at the beginning of the semester. The release of the Requirement Analysis and Specification Document as well as the Design Document for the project will replace half of the written exam; it will assign up to 16 points and it will be considered sufficient when the score will be equal of higher than 9.  Additionally, students willing to provide a complete implementation and testing for their project or willing to participate to some research projects that will be proposed during the course will replace the written exam entirely. 

The following table provides a detailed overview of the elements that will be considered in the various assessment activities.

 

Type of assessment

Description

Dublin descriptor

Written test

Solution of numerical problems:

- Computation of availability estimates for - a software architecture

- Cost and effort estimation

- Software testing and analysis exercises

Exercises focusing on design aspects:

- Definition of the Alloy model for a given problem

- Definition of the high level architecture for a software system

- Definition of code fragments in JEE to fulfill specific requirements

- Definition of a test plan and/or of a project plan for a specific software

1,2

 

 

 

 

1, 2, 3, 4, 5

Assessment of laboratorial artefacts

Assessment of the design and experimental work developed by students, either individually or in groups, as part of the project

2, 3, 4, 5

Oral presentation

Assessment of the project presentation

2, 3, 4, 5

 


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

Software utilizzato
Nessun software richiesto

Forme didattiche
Tipo Forma Didattica Ore di attività svolte in aula
(hh:mm)
Ore di studio autonome
(hh:mm)
Lezione
30:00
40:00
Esercitazione
20:00
20:00
Laboratorio Informatico
0:00
15:00
Laboratorio Sperimentale
0:00
0:00
Laboratorio Di Progetto
0:00
0:00
Totale 50:00 75:00

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.8 / 1.6.8
Area Servizi ICT
22/09/2021