Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.
LES NOMBRES PREMIERS ET COMPOSÉS
Génie Logiciel 2 Julie Dugdale
Classe : …………… Nom : …………………………………… Date : ………………..
Reconnaissance de la parole
Les Prepositions.
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
Les 3 dimensio ns de la morale et de léthique (activité)
Projet n°4 : Objecteering
JXDVDTEK – Une DVDthèque en Java et XML
Le Modèle Logique de Données
Architecture de réseaux
Autorisations Utilisation eCATT
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
1 Introduction à l'Efficacité des Systèmes de Production Session du 17 Mars 2006 HEI.
Introduction à la POO: Les classes vs les objets
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Cours Systèmes logiques
Développement d’applications web
PAFI Référentiel de données par Sonia Watts DGIF (Direction de la gestion et de linformation forestière) 27 octobre 2010 et 3 novembre 2010.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
le profil UML en temps réel MARTE
Analyse et Conception orientée objet
Initiation à la conception de systèmes d'information
Réalisée par :Samira RAHALI
Principes de persistance dans les applications orienté objet
Configuration de Windows Server 2008 Active Directory
Vers la conception objet
Académie de Créteil - B.C Quest-ce quune Inscription 1)1 action + 1 stagiaire + 1 client 2)Parcours individuel (avec son Prix de Vente) 3)Un financement.
Patterns et maintenabilité dans lindustrie : un cas concret Christophe Saint-Marcel Silicomp Ingénierie.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
SYSTEMES D’INFORMATION
Développement d’application web
La Saint-Valentin Par Matt Maxwell.
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Représentation des systèmes dynamiques dans l’espace d’état
Programmation concurrente
Notre calendrier français MARS 2014
COURS DE PROGRAMMATION ORIENTEE OBJET :
C'est pour bientôt.....
Veuillez trouver ci-joint
Initiation à la conception des systèmes d'informations
Le diagramme de séquences
Portée, arrimages et intervenants Évolution des méthodes
Patrons de conceptions de créations
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
CALENDRIER-PLAYBOY 2020.
USAM BRIDGE H O W E L L -CLASSIQUE
9 paires séries de 3 étuis ( n° 1 à 27 )
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
1 Nestlé – Optifibre Zones administrables via le back-office.
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Power AMC-Rational Rational Rose, Étude comparative
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
Machines à états finis.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Nouvelles Technologies Internet & Mobile
Transcription de la présentation:

Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories et de classes.

Design Quand tout est suffisamment spécifié, on peut passer au concerne le domaine de la solution on s’occupe des aspects liés à l’implémentation : définition correcte des hiérarchies de classes, ajout de packages logiques et de classes réutilisées, ajout de classes permettant une implémentation correcte de certaines notions (collections, persistance, etc.) On factorise ou on réutilise...

On choisit un ou des langages d’implémentation et on introduit des packages de « bas niveau ».

Attention : Respecter Faible Couplage entre les classes métier et les classes d’interface utilisateur Les classes métier, telles que les classes Formation, Session, etc., ne doivent pas directement dépendre de la nature des classes d’interface utilisateur. Il est, par exemple, hors de question d’y trouver des méthodes d’affichage dépendant d’une ou l’autre technologie. Ceci enfreindrait le pattern Faible Couplage puisqu’il faudrait toujours ajouter les classes d’interface utilisateur pour pouvoir utiliser les classes métier, ce qui est un non sens. Le respect de ce pattern est directement visible dans le diagramme de packages à travers le sens des dépendances.

Attention : respecter « Faible Couplage » entre les classes métier et les classes d ’interface utilisateur La logique d’affichage dépendra donc des classes d’interface utilisateur (présentation des données) et pas des classes métiers. Celles-ci seront “interrogées” pour effectuer l’affichage des informations utiles à un moment de l’application. Dans la foulée, on renforce ainsi le pattern Forte Cohésion  !

On introduit des packages de classes de « bas niveau » : par exemple

On reflète la présence des nouvelles classes dans les diagrammes de séquences...

On reflète la présence des nouvelles classes dans les diagrammes de classes et de packages...

On reflète la présence des nouvelles classes dans les diagrammes de classes et de packages... Mais… Un œil averti remarquera immédiatement que nous avons ainsi porté atteinte à Forte Cohésion, puisqu’il faudra maintenant ajouter à nos classes métier la capacité de gérer le sauvetage vers une base de données. Ceci entraînera l’ajout de méthodes avec du code SQL dans les classes métiers. Une autre solution consisterait à créer une classe ou un groupe de classes encapsulant les requêtes SQL et tous les traitements associés (gestion des verrous, des transactions, des exceptions et erreurs, etc…). Ceci renforcerait la cohésion de nos classes métiers, dont on exclurait les aspects de “ plomberie ” SQL, pour se concentrer sur leur rôle fondamental. Cette solution permet aussi de concentrer les problèmes liées aux bases de données dans quelques classes qui peuvent ainsi être maintenues par des spécialistes. Il faut toujours considérer le rapport BENEFICE / EFFORT ...

On s’attache ensuite à l’aspect physique de l’application en commençant par les diagrammes des composants

On s’attache ensuite à l’aspect physique de l’application en commençant par les diagrammes des composants

On complète la vue physique par le diagramme de déploiement ...

Modélisons les données permanentes Avec UML !!! Table -> Classe Tuple -> Instances Attributs -> Attributs Nous allons réaliser un simple modèle des données, sans passer par un modèle « conceptuel », objet ou autre.

Modélisons les données permanentes

Interaction entre les use-cases (=processus) et les données permanentes

Prototypage et « Round trip Engineering » Modélisation Génération Analyse du code

Les architectures logicielles « multi-niveaux » (et leurs patterns) MVC, Document/View, EventListener, Contrôleur... Autre façon de voir ... Interface utilisateur Contrôleur Objet métier

Modélisons le logiciel de contrôle d’un système de lecture de bar-codes par une Machines à Etats Finis (FSM)

États + événements + transitions (+…) Outil de spécification formelle. Qu ’est-ce qu ’une machine à états finis ? États + événements + transitions (+…) Outil de spécification formelle.

Notre machine « Pilotage du Lecteur de BarCode »

APPROCHE GENERALE DE LA METHODE Vues et modèles multiples

On affiche ce que l ’on veut Diagramme des classes On affiche ce que l ’on veut Différents stéréotypes...

Diagramme des classes

De l’agrégation... La relation d’agrégation par valeur indique que la durée de vie de l’objet contenu est conditionnée par la durée de vie du contenant. Ce type de contenance sera généralement implémenté via une variable qui sera une instance de la classe contenue. Toutefois, il est possible de rencontrer une autre approche. Une relation “ aggregate by value ” peut se traduire par ‘une référence à’ aussi bien que par ‘un pointeur vers’ l’instance contenue. Ceci implique une restriction dans la façon de gérer la variable contenue : elle doit être détruite, et probablement construite, avec la variable la contenant. Cette approche relève plutôt d’une discipline de programmation.

Association entre classes Classes association ou associatives Association ternaire

Associations avec contraintes Associations avec qualificateur

Machines à Etats Finis et Diagrammes d’états

Diagrammes d’états : un lecteur de carte

Diagrammes d ’états : les actions et les activités

La communication entre FSM

Forme complète d ’une transition

On spécifie que l’état doit avoir une mémoire (historique) Diagrammes d’états : un état se souvient ... On spécifie que l’état doit avoir une mémoire (historique)