Acquis d'apprentissage

  • Pouvoir maîtrise les aspects concurrents présents dans une architecture logicielle, en pouvant développer une application multi-threadé ou répartie
  • Pouvoir définir précisément les qualités non fonctionnelles d'une architecture logicielle
  • Comprendre le contexte d'un architecte logiciel afin de pouvoir opérer de manière efficiente
  • Pouvoir choisir les meilleurs tactiques pour mettre en oeuvre les qualités attendues d'un système logiciel
  • Connaître, comprendre, savoir choisir et appliquer le(s) meilleur(s) styles architecturaux pour un système d'information
  • Connaître, comprendre, savoir choisir et appliquer les meilleurs patrons de conception (Design Pattern) pour une application logicielle

Objectifs

Ce cours introduit des principes tant méthodologiques que technologiques pour appréhender l'élaboration de grands systèmes informatiques bâtis selon une architecture répondant aux exigences et en particuliers aux attributs de qualité.

Contenu

  • Presentation
  • Introduction
  • Engineering methods for software architectures
  • "Indoor" software architectures (design patterns)
  • Concurrency in software architectures.
  • Software Architecture Specific Modelling Languages
  • Architectural styles
  • "Outdoor" Software Architectures (pattern for distributed architectures)

Méthode d'évaluation

Examen écrit à livre fermé à l'exception des documents autorisés (ils sont alors explicitement communiqués aux étudiants). 

Si certaines compétences estimées indispensables ne sont pas acquises, la cote de l'examen peut être revue à la baisse (c-à-d <10/20) quand bien même la moyenne pondérée serait >= 10/20. Cette modalité d'évaluation est détaillée dans un document annexe.

La matière est celle vue ou indiquée lors du cours.

 

Sources, références et supports éventuels

Langue d'instruction

Français