You are here: Home » Study Plan » Subject

Sciences

Subject: METODOLOGIE DI SVILUPPO SOFTWARE (A.A. 2020/2021)

master degree course in COMPUTER SCIENCE

Course year 1
CFU 6
Teaching units Unit Metodologie di sviluppo software
Information Technology (lesson)
  • TAF: Compulsory subjects, characteristic of the class SSD: ING-INF/05 CFU: 6
Teachers: Giacomo CABRI
Exam type oral
Evaluation final vote
Teaching language Italiano
Contents download pdf download

Teachers

Giacomo CABRI

Overview

The goals of the course are
- To present the software development models and the concepts of project management
- To present some examples of methodologies
- To present the architectural pattern
- To present the principles of software testing

Admission requirements

Knowledge of the software modelling languages

Course contents

Models of software development
- Waterfall model
- Evolutive model
- Incremental model
- Spiral model
- Examples of methodologies
Agile methodologies
- Agile principles and techniques
- Examples of agile methodologies
Techniques of project estimation
- COCOMO
- Putnam
- PERT/CPM
Design pattern
- Creational patterns
- Structural patterns
- Behavioral patterns

Teaching methods

Lessons supported by slides about theory and class exercises to apply the theory. The non-attending students can access the lesson slides and the exercise material. Lectures and exercise could be proposed in distance learning due to COVID19 situation.

Assessment methods

The exam will be an oral discussion to verify the understanding of the course contents and the skill of applying the techniques of project estimation. Exams could be online depending on the COVID19 situation.

Learning outcomes

Knowledge and understanding
Students will know the methodologies and patterns to develop software systems
Students will know the techniques to estimate the software project.

Applying knowledge and understanding
Students will have the skill to apply methodologies to design, develop and test software applications.

Making judgments
The student will have the ability to evaluate the technologies and the methodologies most suitable to avery context, deciding among different alternatives.

Communication skills
The student will have the skill to communicate the technological choices.

Learning skills
Students will have the skill to:
- evaluate his/her own level in connection with the state of the art of the development methodologies;
- understand the missing skills to tackle the proposed work;
- make continuous training to fill the gaps and to keep updated;
- exploit the appropriate sources;
- face new problems with a scientific and methodological approach.

Readings

Dispense a cura del docente.
Libri consigliati:
- C. Ghezzi, D. Mandrioli, M. Jazayeri. Ingegneria del Software (2/Ed.). Pearson Education Italia
- E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns. Pearson
- Eric Freeman, Elisabeth Robson. Head First Design Patterns. O'Reilly Media
- Ian Sommerville. Ingegneria del software. Pearson