Pratique de l`architecture logicielle

Transcription

Pratique de l`architecture logicielle
Pratique de l'architecture logicielle
FC2013 - 45 heures - 0 crédits
Formation courte spécialisée au centre Cnam de Lille
45 heures - 2ème semestre (Février à Juin 2014) - le samedi de 9 h à 12 h
Public concerné
Public visé : Toute personne souhaitant savoir comment construire et gérer une application, ou souhaitant renouveler ses compétences dans le
domaine.
Compétences requises : La difficulté du cours étant progressive, il convient à des personnes ayant un niveau débutant en programmation.
Objectifs pédagogiques / Compétences visées
Cette formation propose d'acquérir par la pratique, les connaissances et les compétences nécessaires à la construction d'un logiciel.
Organisation
Nombre de crédits ECTS : 0
Stages, projets, mémoire et condition de délivrance du diplôme
Enseignant : Olivier LEMAITRE
Tarif : Individuel : 530 € + 150 € frais de dossier (si nouvel auditeur)
Entreprise / DIF : 1 200 € net de taxe
Contact : Centre de Lille
8 boulevard Louis XIV - 59044 Lille Cedex
Tél : 03 20 29 86 68 - Fax 03 20 29 86 69
Email : [email protected]
Centres d'enseignement à
LILLE 03.20.29.86.68 - VALENCIENNES 03.27.51.77.61 - MAUBEUGE 03.27.51.11.55
BETHUNE 03.21.63.23.00 - DUNKERQUE 03.28.23.70.40
Tous nos programmes, notre actualité sur : http://www.cnam-npdc.org
Pratique de l'architecture logicielle
FC2013 - 45 heures - 0 crédits
Contenu de la formation
I.Connaitre les technologies
Technologies des composants
Un composant logiciel est ce qu'il y a de plus basique dans un logiciel. Nous pratiquerons ici ce qui permet de les créer et les gérer.
Les langages de programmation
Le cours abordera les langages procéduraux (C, ...), les langages déclaratifs (SQL, XSLT,...), les langages orientés objet (Java, C#, ...) et les
langages dynamiques (Groovy, Python, Ruby, ...).
Les « frameworks »
Le cours classera les principaux « frameworks » (Java EE, .Net, Tomcat, Spring, Rails,...) et en utilisera certains pour illustrer les points abordés ici.
Technologies des applications Web
Les technologies du Web sont devenues les principales technologies pour construire des applications. Leur connaissance est donc indispensable.
Les protocoles du web
Le cours introduira les protocoles SMTP, POP3 et détaillera les protocoles TCP/IP et HTTP, indispensables pour comprendre le fonctionnement du
Web.
Les composants du web
Nous aborderons ici l'interface homme/machine (HTML, JavaScript, AJAX), le traitement des requêtes http par les Servlet ou serveur de pages (JSP,
PHP).Mais aussi les problématiques de session, de persistance (SGBD) et de mapping objet/base relationnelle (Hibernate).
Technologies des échanges inter-applicatifs
Au fil de l'eau ou en temps réel les échanges inter-applicatifs permettent à une application de s'étendre.
Les protocoles d'échange
Le cours abordera deux types de protocoles : les protocoles asynchrones (FTP, JMS) et les protocoles synchrones (RPC, Services Web avec SOAP
ou REST). On introduira aussi la notion de middleware (EAI, ESB).
Les formats de messages
Le cours introduira différents formats (CSV, XML, JSON, ...). Il détaillera le format XML et la manière de le décrire (DTD, XSD), l'analyser (DOM, SAX)
et le transformer (XSLT, XPATH).
II.Structurer ses idées
Utiliser les « Patterns »
Ce vocabulaire est fondamental pour comprendre l'informatique actuelle. Le cours abordera donc les principaux « patterns » qui permettront
d'imaginer des solutions robustes et évolutives.
Les « patterns » architecturaux
Le cours détaillera les systèmes en Couches, le « Pipe and Filter » (architecture d'intégration), le « Broker » (architecture distribuée) et le MVC
(architecture interactive).
Les « patterns » de conception
Le cours abordera plusieurs de ces « patterns » (Template, Strategy, ...), en particulier le Proxy etl'Observateur qui seront utilisés à plusieurs reprises
durant le cours.
Les « patterns » d'échanges inter-applicatifs
Le cours détaillera le traducteur, le routeur, lepoint-à-point, le« publish/subscribe » etle« request/reply ».
Utiliser un langage pour modéliser
Le schéma reste le meilleur outil pour comprendre et/ou faire comprendre une architecture. Le cours présentera ici deux moyens pour y parvenir : soit
par l'utilisation d'un langage standard, soit par la définition de son propre langage.
Utiliser un langage standard
Le cours détaillera les diagrammes UML les plus utiles : le diagramme de classes, le diagramme de séquence.
Centres d'enseignement à
LILLE 03.20.29.86.68 - VALENCIENNES 03.27.51.77.61 - MAUBEUGE 03.27.51.11.55
BETHUNE 03.21.63.23.00 - DUNKERQUE 03.28.23.70.40
Tous nos programmes, notre actualité sur : http://www.cnam-npdc.org
Pratique de l'architecture logicielle
FC2013 - 45 heures - 0 crédits
Utiliser son propre langage de modélisation
Le cours expliquera comment créer son propre langage de modélisation.
III.Mettre en œuvre
Piloter le développement par les tests (TDD)
Le cours détaillera la pratique du TDD basée sur les outils de tests unitaires comme JUnit et montera son rôle fondamental dans l'agilité des logiciels.
Le cours introduira aussi une pratique directement associée : le remaniement du code ou « refactoring ».
Intégrer en continu
Le cours détaillera la pratique de l'intégration continue, qui permet de détecter très tôt les problèmes de conception et/ou d'architecture pour les
corriger plus facilement.
On détaillera trois outils : le gestionnaire de code source (SVN, Git, ...), le langage d'automatisation des « builds » (ANT, Maven, ...), le gestionnaire
d'intégration continue (CruiseControl, TeamCity, ...).
Centres d'enseignement à
LILLE 03.20.29.86.68 - VALENCIENNES 03.27.51.77.61 - MAUBEUGE 03.27.51.11.55
BETHUNE 03.21.63.23.00 - DUNKERQUE 03.28.23.70.40
Tous nos programmes, notre actualité sur : http://www.cnam-npdc.org