L'objectif de ce cours est d'apprendre à concevoir et réaliser un système logiciel en tenant compte de propriétés non fonctionnelles telles que la maintenabilité ou sa capacité à évoluer. Les aspects statiques ayant été abordés dans le module INFO641 selon une approche objet, l'accent est mis ici sur les aspects dynamiques du système, i.e. son comportement.

  • Analyse et conception des aspects dynamique avec UML (diagrammes de séquences, de collaboration et d'états-transitions)
  • Attributs qualité des produits logiciels (Normes ISO/CEI 9126, SquaRE)
  • Patrons de conception pour des produits logiciels évolutifs

 


 

 Ce cours donne les concepts fondamentaux nécessaires à la compréhension des réseaux informatique et aux déploiement des applications et systèmes réparties. Le cours débutera par une introduction à l'architecture de l'Internet et aux notions de protocoles applicatifs. Il présentera ensuite les protocoles de transport ainsi que la structure de l'adressage IP. L'interface sockets sera présentée ainsi que la notion de middleware. L'algorithmique répartie sera introduite par des examples concrets d'applications.  Ceci fournira les bases essentielles au déploiement d'application en réseau et réparties. 

  

 

Ce cours à pour but d'apprendre, par la manipulation, la gestion des flux de données. La manipulation de grands flux de données nécessite la maîtrise des entrées sorties, de la programmation réseau et de la programmation concurrente.