Objectifs
À l'issue de ce cours, les participants sauront :
§ Décrire le processus de développement logiciel orienté objet, y compris les méthodologies et les flux de travail orientés objet.
§ Identifier les exigences système en s'entretenant avec les personnes intéressées.
§ Analyser les exigences système pour déterminer les cas d'utilisation et le modèle du domaine du problème (modèle d'exigences).
§ Créer une architecture système (modèle d'architecture) prenant en charge les exigences non fonctionnelles et les contraintes de développement.
§ Créer une conception de système (modèle de solution) conforme aux exigences fonctionnelles
Public visé
Ce cours s'adresse aux architectes système, ingénieurs logiciels, analystes système et concepteurs responsables de la conception et de la création d'applications logicielles orientées objet.
Pré-requis
Pour tirer pleinement profit de ce cours, les participants doivent :
§ Comprendre les concepts et la méthodologie orientés objet
§ Avoir de bonnes notions générales de programmation, de préférence en langage de programmation Java
Comprendre les aspects fondamentaux du processus de développement des systèmes
Cours précédents
SL-275: Maîtrise de la programmation en langage Java (SL-275)
Cours suivants
SL-285: Atelier de programmation en langage
Java (SL-285)
SL-425: Architecture et conception d'applications J2EE (SL-425)
SL-500: Patterns J2EE (SL-500)
Contenu
Introduction au processus de développement d'un logiciel
§ Décrire le processus de développement logiciel orienté objet (OOSD)
§ Décrire comment la modélisation prend en charge le processus de développement logiciel orienté objet
§ Expliquer l'objectif, les activités et les artefacts des flux de travail OOSD suivants : collecte et analyse des besoins, architecture, conception, mise en oeuvre, essais et déploiement.
Examen de la technologie orientée objet
§ Décrire les effets des principes OO sur le processus de développement logiciel
§ Décrire les principes fondamentaux de l'orienté objet
Choix d'une méthodologie orientée objet
§ Expliquer les meilleures pratiques pour les méthodologies de développement logiciel orienté objet
§ Décrire les caractéristiques de plusieurs méthodologies courantes
§ Choisir la méthodologie qui convient le mieux à votre projet
Détermination de la vision du projet
§ Interroger les personnes concernées pour déterminer les besoins fonctionnels du système logiciel
§ Analyser les résultats de l'interview pour identifier les NFR, les risques et les contraintes
§ Préparer un document de vision du projet à partir de résultats des interviews et de l'analyse des risques
Recenser les besoins du système
§ Planifier le processus de recensement des besoins
§ Planifier les interviews des personnes concernées pour valider et redéfinir les FR et les NFR à partir de la vision du projet
§ Documenter le système dans les spécifications des besoins du système (SRS) à partir de toutes les sources de besoins,/li>
Création du diagramme initial des cas d'utilisation
§ Identifier et décrire les éléments essentiels d'un diagramme des cas d'utilisation dans le langage UML
§ Développer un diagramme des cas d'utilisation pour un système logiciel basé sur les SRS
§ Enregistrer des scénarios de cas d'utilisation pour des cas d'utilisation d'importance architecturale
Peaufinage du diagramme des cas d'utilisation
§ Documenter un cas d'utilisation et ses scénarios sous forme de cas d'utilisation
§ Reconnaître et documenter l'héritage de cas d'utilisation et d'acteurs
§ Reconnaître et documenter les dépendances des cas d'utilisation
§ Identifier les éléments essentiels d'un diagramme d'activité
§ Valider un cas d'utilisation à l'aide d'un diagramme d'activité
§ Identifier un ensemble d'abstractions clés candidates
§ Identifier les abstractions clés au moyen de l'analyse CRC
Construction du modèle du domaine du problème
§ Identifier les éléments essentiels dans un diagramme de classes UML
§ Construire un modèle de domaine en utilisant un diagramme de classes
§ Identifier les éléments essentiels dans un diagramme de d'objets UML
§ Valider le modèle de domaine avec un ou plusieurs diagrammes d'objets
Création d'un modèle d'analyse en utilisant l'analyse de la robustesse
§ Expliquer la fonction et les éléments du modèle de conception
§ Identifier les éléments essentiels dans un diagramme de collaboration UML
§ Créer un modèle de conception pour un cas d'utilisation en utilisant l'analyse de la robustesse
§ Identifier les éléments essentiels dans un diagramme de séquence UML
§ Générer une vue de diagramme de séquence du modèle de conception
Introduction aux concepts d'architecture fondamentaux
§ Justifier le besoin d'un rôle d'architecte
§ Faire une distinction entre architecture et conception
§ Décrire la méthodologie d'architecture SunTone
Exploration du workflow d'architecture
§ Décrire le workflow d'architecture
§ Décrire les diagrammes des vues d'architecture clés
§ Sélectionner le type d'architecture
§ Créer les artefacts du flux de travail en matière d'architecture
Création du modèle architectural pour les couches Client et Présentation
§ Explorer les interfaces utilisateur
§ Documenter une application d'interface graphique dans la couche Client du modèle d'architecture
§ Documenter une application de l'interface utilisateur Web (Web UI) dans la couche Présentation du modèle d'architecture
Création du modèle d'architecture pour la couche Métier
§ Explorer le traitement orienté objet distribué
§ Documenter la couche métier dans le modèle d'architecture
Création du modèle d'architecture pour les couches Ressource et Intégration
§ Documenter le mécanisme de persistance dans la couche Ressource du modèle d'architecture
§ Documenter le mécanisme d'intégration de persistance dans la couche Intégration du modèle d'architecture
Création du modèle de solution
§ Créer un modèle de solution pour une application d'interface utilisateur
§ Créer un modèle de solution pour une application d'interface Web
Peaufinage du modèle de domaine
§ Peaufiner les attributs du modèle de domaine
§ Peaufiner les relations du modèle de domaine
§ Peaufiner les méthodes du modèle de domaine
§ Déclarer les constructeurs du modèle de domaine
Application des Design Patterns au modèle de solution
§ Définir les éléments essentiel d'un pattern logiciel
§ Décrire le pattern Composite
§ Décrire le pattern Strategy
§ Décrire le pattern Observer
§ Décrire le pattern Factory Method
Modélisation d'état d'objet complexe en utilisant les diagrammes Statechart
§ Modéliser un état d'objet
§ Décrire des techniques de programmation d'état d'objet complexe