Architecture Modulaire : 3 questions à Mario Cardinal
Mario Cardinal, architecte logiciel chez .net expertise présentera la session Comment améliorer la testabilité avec une architecture modulaire à l’Université du SI les 1er et 2 juillet prochains.
Nous lui avons posé 3 questions pour en savoir plus sur le contenu de sa session.
- L'architecture modulaire, n'est-ce pas un sujet un peu éculé ?
Au premier regard, cela peut sembler éculé. Depuis que l’informatique existe les théoriciens nous vantent les mérites de la modularité. Le véritable voyage de découverte ne consiste pas à chercher de nouveaux paysages mais à avoir de nouveaux yeux. Ce qui manque cruellement de nos jours c’est une démonstration de la pratique. Nous n'avons qu’à consulter la littérature sur le sujet pour s’en convaincre. Par exemple, la version 2.0 du « Application Architecture Guide » publiée par le groupe Pattern & Practices chez Microsoft explique en détail la nécessité de découper en couches pour produire une architecture de qualité. Seulement, en aucun cas, on nous explique comment concevoir et programmer l’interface visible de chaque couche. De même, on n’explique aucunement les pratiques pour réduire le couplage entre les modules; pratiques qui assurent de pouvoir tester d'une manière autonome (dans un banc d'essai) chacune des couches sans devoir assembler le système entier. Oui, l’architecture modulaire semble un sujet éculé mais, encore aujourd’hui, l’apprentissage en ce qui a trait à la conception modulaire est déficiente et celle-ci demeure un défi pour un grand nombre d’organisations.
- Quel est le rapport entre du code modulaire et une application ergonomique ?
Une des caractéristiques peu connue d’un module c’est que celui-ci doit pouvoir être testé dans un banc d'essai. Lorsque le module est la couche de présentation de l’application, le test du module dans un banc d’essai permet aux utilisateurs de valider (à peu de frais) l’ergonomie de l’application très tôt dans le projet. Ceci est d’autant plus vrai si on applique les techniques de conception dites descendantes « top-down ». Cette maquette réaliste de l’expérience utilisateur permet une rétroaction rapide avec le client. A peu de frais, avant même la conception du module métier et des modules d’accès aux données, au rythme des itérations l’équipe peut améliorer l’ergonomie de l’application et ainsi obtenir une expérience utilisateur optimale.
- Je n’aime pas Microsoft, je peux venir quand même ?
Tout à fait. Les principes de conception d’une architecture modulaire sont valables quel que soit le langage utilisé (C#, Java, Ruby, Python). Avec un minimum d’effort, vous pourrez transférer vos nouvelles connaissances acquises vers le langage et la plateforme de votre choix.