The aim of this course is to learn students how to design and realize software systems while considering software quality-related characteristics (ISO). As structural aspects are addressed in the previous course INFO641, the focus here is on the behavior of software systems. We address in particular non functional characteristics like maintainability and evolvability of software systems through design patterns. At the end of the course, students must be able to:
- analyse and design software behavior using UML (sequence, collaboration and state diagrams),
- design software while taking into account functional and non functional characteristics (ISO/CEI 9126, SquaRE),
- design and implement software behavior using suitable design patterns.
This course provides the fundamental concepts needed to understand
computer networks and the deployment of applications and distributed
systems. The course begins with an introduction to the archictecture of
the Internet and to the notions of application protocols. The transport
protocols will be presented as well as the structure of IP addressing.
The sockets interface will be presented as well as the notion of
middleware. Distributed algorithms will be introduced with concrete
application examples. This will provide the essential bases for
application deployment in networks and distributions.
- Enseignant (auteur): Salamatian Mohammad-Reza