Software Architecture - Laboratorio modulo I (2007/2008)

Course Not running, not visible

Course code
Name of lecturer
Luca Vigano'
Number of ECTS credits allocated
Other available courses
Academic sector
Language of instruction
1° Q dal Oct 3, 2007 al Dec 4, 2007.
Web page

To show the organization of the course that includes this module, follow this link * Course organization

Lesson timetable

Learning outcomes

The course introduces the design and development of software systems. Via the development and implementation of prototypical concrete software projects, the students will learn a number of advanced techniques for the development of object-oriented software systems.


The course covers the motivation and benefits of design patterns for object-oriented programming.
After an introduction to design patterns, the course will consider a number of example problems in order to provide a detailed analysis of the software development process and the application of design patterns (in particular, patterns such as Strategy, Observer, State, Adapter, and Abstract Factory). The examples will also provide a means to focus on the definition and use of the main principles of object-oriented programming.

The use of Java for the programming projects will allow students to gather the experience required to apply design patterns.

Reference books
Author Title Publisher Year ISBN Note
E. Gamma, R. Helm, R. Johnson, J. Vlissides Design Patterns: elements of reusable Object-Oriented Software (Edizione 1) Addison-Wesley 1995 Versione italiana: Design Patterns, Addison-Wesley, 2002
E. Freeman, E. Freeman Head First - Design Patterns (Edizione 1) O'Reilly 2004
Martin Fowler UML distilled (3rd ed.) (Edizione 3) Pearson Education 2003 Versione italiana: UML Distilled, Terza Edizione, Pearson Education Italia, 2004

Assessment methods and criteria

The examination consists of the completion of a number of projects, which the students can carry out in small groups (of 3 o 4 students).

With the successful completion of these projects, the students obtain 1 credit, which will be added to the 4 credits of the first module of the Software Architecture Course.