Skip to content
Lausanne, Suisse, février 2014
Lausanne, Suisse, février 2014
Sur cette page

Architecture logicielle

XXX

<p>L'activité <i>« I402A Architecture logicielle »</i>, destinée aux
étudiants en première année de master ingénieur industriel en informatique à
l'<a href="https://www.vinci.be/fr-be/ecam">ECAM Brussels Engineering
School</a> (ECAM), concerne l'<b>architecture des systèmes logiciels</b>.
Le cours commence par l'architecture du code avec les design patterns, les
bad smells et les métriques permettant d'en évaluer la qualité, continue
ensuite avec les styles architecturaux, pour terminer avec la notion de
qualité logicielle, à un niveau plus global.</p>

<p>J'ai commencé à donner ce cours en 2014 et je suis actuellement en train
de le donner pour la sixième fois. Le cours est donné en anglais, mais
tout le matériel est disponible en français et
<a href="/teaching/ecam/softarch/">en anglais</a>.</p>


<h2>Documents</h2>

<ul>
  <li>Informations générales sur le cours</li>
  <li>
  <a href="/files/ecam/general/ECAM-Evaluation-Par-Competence-Slides.pdf">
  Évaluation par les compétences <img src="/images/pdf.png" width="16"
  height="16" alt="PDF"></a></li>
  <li>Grille de compétences à acquérir</li>
</ul>


<h2>Théorie</h2>

<ul>
  <li>Séance 1 : Modèles d'architecture d'un système logiciel</li>

  <li>Séance 2 : Application de design patterns orienté-objet</li>

  <li>Séance 3 : Élimination de bad smells</li>

  <li>Séance 4 : Métrique et évaluation de code</li>

  <li>Séance 5 : Paradigmes de programmation</li>

  <li>Séance 6 : Design patterns logiciel</li>

  <li>Séance 7 : Architecture orientée-interaction</li>

  <li>Séance 8 : Architecture distribuée</li>

  <li>Séance 9 : Architecture orientée-services</li>

  <li>Séance 10 : Architecture orientée-données</li>

  <li>Séance 11 : Cloud computing et *aaS</li>

  <li>Séance 12 : Architecture micro-kernel</li>

  <li>Séance 13 : Micro-services et architecture serverless</li>

  <li>Séance 14 : The Pragmatic Programmer</li>

  <li>Séance 15 : Évaluation de la qualité logicielle</li>
</ul>


<h2>Pratique</h2>

<ul>
  <li>Travail : Découvrir et analyser un design pattern</li>
  <li>Travail : Découvrir et analyser l'architecture d'un projet open
  source</li>
</ul>


<h2>Ressources</h2>

<h3>Livres de référence</h3>

<ul>
  <li>Nick Rozanski et Eóin Woods. (2011). Software Systems Architecture:
  Working With Stakeholders Using Viewpoints and Perspectives (2ème
  édition). <small>(ISBN : 978-0-321-71833-4)</small></li>
  <li>Len Bass, Paul Clements et Rick Kazman. (2012). Software Architecture
  in Practice (3ème édition). Addison-Wesley.
  <small>(ISBN : 978-0-321-81573-6)</small></li>
  <li>Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides. (1994).
  Design Patterns: Elements of Reusable Object-Oriented Software.
  Addison-Wesley. <small>(ISBN : 978-0-201-63361-0)</small></li>
  <li>Martin Fowler, Kent Beck, John Brant, William Opdyke et Don Roberts.
  (2002). Refactoring: Improving the Design of Existing Code.
  Addison-Wesley. <small>(ISBN : 978-0-201-48567-7)</small></li>
  <li>Andrew Hunt et David Thomas. (1999). The Pragmatic Programmer: From
  Journeyman to Master. Addison-Wesley.
  <small>(ISBN : 978-0-201-61622-4)</small></li>
</ul>

<h3>Autres livres</h3>

<ul>
  <li>Ian Gorton. (2014). Essential Software Architecture (2ème édition).
  Springer. <small>(ISBN : 978-3-642-43531-7)</small></li>
  <li>Mark Richards. (2015). Software Architecture Patterns: Understanding
  Common Architecture Patterns and When to Use Them. O'Reilly.
  <small>(ISBN : 978-1-491-92424-2)</small></li>
  <li>Richard Monson-Haefel. (2009). 97 Things Every Software Architect
  Should Know. O'Reilly. <small>(ISBN : 978-0-596-52269-8)</small></li>
  <li>Amy Brown et Greg Wilson. (2012). The Architecture Of Open Source
  Applications: Elegance, Evolution, and a Few Fearless Hacks. Lulu.com.
  <small>(ISBN : 978-1-257-63801-7)</small></li>
  <li>Amy Brown et Greg Wilson. (2008). The Architecture Of Open Source
  Applications: Volume II: Structure, Scale, and a Few More Fearless Hacks.
  Lulu.com. <small>(ISBN : 978-1-105-57181-7)</small></li>
</ul>

<h3>Références scientifiques</h3>

<ul>
  <li>Anubha Sharma, Manoj Kumar et Sonali Agarwal. A Complete Survey on
  Software Architectural Styles and Patterns. Dans <i>Procedia Computer
  Science</i>, 70, 16-28, 2015.</li>
  <li>Rikard Land. A Brief Survey of Software Architecture. Rapport
  interne. Mälardalen Real-Time Research Center (MRTC), Février 2002.</li>
</ul>