This course introduces the basic techniques for designing complex software systems.
Place and time of the Software design oral tests of January 2012
The oral tests of Software design for January will take place at the Computer science department according to the following schedule: Wednesday 12/01, 9:30, sala riunioni secondo piano; Friday 27/01, 9:30, aula 6.
Place and time of the Software design oral tests of October 2011
The oral tests of Software design for October will take place at the Computer science department according to the following schedule: Wednesday 12/10, 14:30, aula 5; Monday 24/10, 10:30, aula 6.
Office hours canceled
Regular office hour are canceled until next semester; students can arrange an appointment via e-mail.
Place and time of the Software design oral tests of July 2011
The oral tests of Software design for July will take place on Thursday 14/7 at 10:30 in aula 6 at the Computer science department.
Place and time of the Software design oral tests of June 2011
The oral tests of Software design for June will take place at the Computer science department according to the following schedule: Monday 20/6, 10:30, aula 6; Thursday 23/6, 10:30, sala riunioni secondo piano; Friday 24/6, 10:30, aula 6.
Evaluation of the Software design course
The course evaluation will take place in the first part of the lecture of May, 5th.
Schedule change for the Software design lesson on 14/4
The Software design class of 14/4 will start on 13:00.
Suspension of the Software design lesson
The Software design class of 4/4 is canceled
Beginning of the spring semester
According to a decision of the Computer Science teaching committee, classes will start from March, 7th.
Lectures are in italian.
Lectures will take place at the Computer science department, according to the following schedule:
|Tuesday||9:30 - 11:30||aula alfa|
|Thursday||12:30 - 14:30||aula beta|
Any change to the schedule will be announced in class and published in paragraph News of this page.
It is possible contact the teacher by e-mail, taking care to read in advance the guide prepared by Prof. Sebastiano Vigna and clearly specifying in the message the course name and the academic year. In particular, students are encouraged to always use their academic address (i.e. based on the domain
studenti.unimi.it) signing with name and student ID number and recalling that the response time may vary depending on the teacher commitments.
The part on software engineering refers to the textbook: Eric J. Braude, Michael E. Bernstein, Software Engineering -- Modern Approaches, Second Edition, Wiley, 2011 (ISBN 978-0-471-69208-9).
The part on design patterns is based on: Eric Freeman, Elisabeth Freeman, Head First -- Design Patterns, O'Reilly, 2004 (ISBN 0-596-00712-4).
The introduced development tools are described in the JUnit tutorial, in chapter 2 and chapter 4 (up to section «Advanced Merging» excluded) of the book Version Control with Subversion, as well as in tutorials Hg Init and An Introduction to the UNIX Make Utility.
The course explains the topics listed in the lecture calendar, covering the textbook contents in chapters 1 to 9.
|22/03/2011||Object oriented design and unit tests|
|24/03/2011||Software life cycle|
|29/03/2011||Singleton and simple factory|
|19/04/2011||Change control and version control|
|12/05/2011||Façade and decorator|
|16/06/2011||GWT and Model-View-Presenter|
The exam consists in an oral test.