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