Description

Comprendre le métier et le modéliser est un pré-requis pour concevoir et implémenter avec succès un logiciel. La validation du métier et du logiciel est en outre un facteur clé d'efficacité. Cette formation vous apprendra les concepts et vous les fera pratiquer afin de réussir la modélisation de votre métier et sa traduction en logiciel à travers l'activité de conception.


Contenu

Fondamentaux de modélisation

  • Aspect statique et dynamique d'un modèle
  • Typologie de systèmes
  • Les éléments fondamentaux d’un modèle objet
  • Les modèles associés aux méthodes, les processus des méthodes et leurs paradigmes
  • Le contexte d’un modèle

Le langage de modélisation

  • Comment modéliser graphiquement ou textuellement ?

L’essentiel dans UML

  • Exposition des notions essentielles issues du langage de modélisation UML

Gestion de la complexité avec des modèles

  • Qu’est ce que la complexité ?
  • Comment gérer la complexité d’un système par la modélisation ?
  • Utilisation de niveaux d’abstraction

L’outillage pour modéliser

  • Du papier/crayon au modeleur logiciel complet

L'ubiquitous language

  • L'ubiquitous language

Eléments de construction

  • Repositories, Factory, Services, Entity, Value Object, Module, Aggregates, Domain Event
  • Exercice de mise en œuvre des Modules, Entity et Value objects et Aggregates, Domain Event

La modélisation Agile

  • Principes d’organisation favorisant l’efficacité de l’activité de conception avec des modèles.

Les règles de gestion

  • Comment les décrire ? Comment les tester ?

Les patterns d'analyse

  • Typologie des patterns d'analyse : Accountability, Observations et Mesures,

Valider le modèle et le logiciel

  • Des exigences aux user stories
  • Des user stories aux scénarios
  • Des scénarios aux tests
  • Des scénarios pour valider le modèle ET le logiciel
  • Notions de Tests-Driven-Design etTest-Driven-Development
  • Outillage

L'activité de conception

  • La conception et le développement : deux activités corrélés, des niveaux d'abstraction différents

Concepts permettant la réalisation d'un logiciel testable et maintenable

  • Gestion des dépendances
  • Gestion des états
  • Séparation des responsabilité
  • Encapsulation et interface
  • Protection des variations (open/closed principle)
  • Intention-revealing interface
  • Standalone classes
  • Side-Effect free function
  • Assertions
  • Conceptual contours
  • Closure on operations
  • SOLID
  • Loi de Demeter
  • Principes de substitution de liskov
  • Concepts issu du paradigme fonctionnel - structures de données, combinator functions

Modélisation du système logiciel

  • Présentation de l’architecture en couches
  • Fonctionnement Interne du logiciel : aspect structurel et comportemental
  • Fonctionnement Externe du logiciel : comportement, aspect visuel des écrans, interactions

Le refactoring

  • Techniques et utilisation dans le cadre de l'activité de conception

Intégrer les technologies courantes de l'entreprise avec une approche dirigée par le métier

  • Isoler les aspects techniques des aspects métiers
  • Architecture Orientée Service (SOA) et bus de services d'entreprises avec approche dirigée par le métier
  • Mise en oeuvre des frameworks courant : Spring, Frameworks de persistance (Hibernate)

Intégrer le logiciel dans le système d'information, intégrer les équipes entre-elles

  • Notion de contexte du modèle
  • Comment intégrer différents modèles ?
  • Mapping de contexte
  • Typologie des relations entre systèmes et équipes

Concepts Avancés

  • Aspect stratégique de l'effort de conception
  • Le coeur du domaine et les domaines supports
  • Les domaines génériques : les progiciels
  • Elément de qualité d'une conception

Objectifs

  • Comment modéliser le métier ? Intégrer les règles de gestion dans le modèle ?
  • Comment bien spécifier le besoin et les fonctions pour faciliter la conception du logiciel ?
  • Comment isoler les aspects métiers du logiciel et les aspects techniques ?
  • Comment gérer la complexité d'un métier d'envergure et du logiciel associé ?
  • Comment intégrer l'agilité dans l'activité de conception ?
  • Comment valider la conception ?
  • L'activité de conception et de développement - quelles sont leur différences ? comment les intégrer au mieux ?

Public

  • Développeur,
  • Architecte,
  • Analyste,
  • Chef de projet.

Pré-requis:

  • Connaissance en modélisation et conception objet.

Durée Tarif Lieu
4 jours nous consulter Montpellier

Théorie : 50% Pratique : 50%

[haut]