Architecture logicielle : Fondamentaux
Quels sont les buts de la formation ?
Programme de la formation
Comprendre l'architecture logicielle
Processus de développement logiciel, intégration continue
Architecture logicielle : définition, représentations (composants, relations, interactions)
Acteurs du projet, l'architecture applicative dans le cycle de vie d'un projet
L'architecture logicielle dans un contexte Agile
Facteurs de choix d'une architecture
Vue architecturale : notion, types de liens, exemples
Documentation de l'architecture logicielle : Dossier d'Architecture Technique, Guide du design de composants
Problématiques de packaging/déploiement
Atelier : construction d'une trame pour un dossier d'architecture technique
Découvrir les styles architecturaux
Notion de style, guide
Panorama des styles architecturaux :
- Architecture en appels et retours
- Architecture en couches
- Architecture centrée sur les données
- Architecture en flot de données
- Architecture orientée objets
- Architecture orientée agents
Maîtriser les critères de qualité logicielle
Attributs de qualité
Scénarios de mesure et représentation graphique
Qualité logicielle dans une approche agile
Atelier : Choix d'attributs de qualité, stratégie de mesure et actions à prévoir
Choisir un tactique architecturale
Notion de tactique architecturale
Tactiques orientées utilisateur : performances, utilisabilité, ...
Tactiques orientées développeur : testabilité, modifiabilité, ...
Atelier : Choix de tactiques en rapport avec les attributs de qualité choisis
Apprendre les composants et technologies disponibles
Middleware requête/réponse, asynchrones
Architectures basées sur les composants : JavaEE ou autre
Architectures multi-niveaux : clustering et répartition de charge
Applications riches (Rich Internet Applications)
Applications mobiles : natif vs hybride
Infrastructure Cloud : IaaS vs PaaS vs SaaS
Architecture Orientée Services (SOA), REST
Définition de l'architecture
ESB
Architectures RESTFul
Protocole SOAP vs Architecture REST
Microservices
Web Services Message Router vs Enterprise Service Bus
Concevoir et évaluer une architecture
Modèles d'analyse d'une architecture
Conception d'une architecture
Évaluation d'une architecture
Modélisation UML d'une architecture :
- Analyse fonctionnelle et diagrammes de cas d'utilisation
- Diagrammes de composants et de structure composite
- Diagrammes de déploiement
Atelier : Finalisation du Dossier d'Architecture Technique.