Modèle de conception

Documents pareils
Ingénierie des Modèles. Méta-modélisation

Les diagrammes de modélisation

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Chapitre I : le langage UML et le processus unifié

IFT2255 : Génie logiciel

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Cours en ligne Développement Java pour le web

Générer du code à partir d une description de haut niveau

Université de Bangui. Modélisons en UML

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

RTDS G3. Emmanuel Gaudin

UML (Paquetage) Unified Modeling Language

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

Cours de Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel

Business Process Modeling (BPM)

Description de la formation

Etat de l art sur le développement logiciel dirigé par les modèles.

Spécification et transformation de langages de points de vue des systèmes répartis ouverts

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Diagramme de classes

BES WEBDEVELOPER ACTIVITÉ RÔLE

Diagrammes de Package, de déploiement et de composants UML

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Mémoire Master M2 MIAGE

MDA (Model Driven Architecture) principes et états de l art.

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

CC30 Certificat de compétence Conception, développement et animation de sites Web

Conception, architecture et urbanisation des systèmes d information

Université Mohamed Khider Biskra. Faculté des sciences exactes et des sciences de la nature et de la vie. Département d Informatique.

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique

MEMOIRE. Présenté à L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTÈRE INFORMATIQUE NTSID. Par.

Business Process Execution Language

Architecture Reconfigurable Hétérogène à Gestion Hiérarchique Distribuée pour la Reconfiguration et la Prise de Décision

RAPPORT DE CONCEPTION UML :

Architecture Orientée Service, JSON et API REST

Méthodes de développement

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Méthodologies de développement de logiciels de gestion

Analyse,, Conception des Systèmes Informatiques

Modélisation des processus métiers et standardisation

Développement d un interpréteur OCL pour une machine virtuelle UML.

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Urbanisation de système d'information. PLM 4 (Product Lifecycle Management) Préoccupation d'assurance qualité Processus et Procédures

Rational Unified Process

Le moteur de workflow JBPM

L approche Model-Driven Architecture, crédible pour développer un progiciel de

UML (Diagramme de classes) Unified Modeling Language

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Information utiles. webpage : Google+ : digiusto/

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Vérifica(on et Valida(on de Business Process. Ang Chen et Levi Lúcio

Méthodes de développement. Analyse des exigences (spécification)

Génie Logiciel Avancé Cours 3 Le modèle à objets

Modélisation et réalisation d un processus d ingénierie du logiciel

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Vers l'ordinateur quantique

Spécifications du logiciel. Mise à jour : 24 février 2011 Nombre total de pages : 7

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

OASIS Date de publication

Le Guide Pratique des Processus Métiers

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Programme de la 1ère année

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Meta Object Facility. Plan

Eclipse et ses plugins de modélisation (EMF GEF GMF). Entrée en matière. par. Jacques Barzic. Avertissement

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Programme de formation

COMMUNICATION DE LA COMMISSION RELATIVE A LA METHODOLOGIE D ANALYSE DES AIDES D ETAT LIEES A DES COUTS ECHOUES

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Prise en compte des ressources dans les composants logiciels parallèles

Automatisation de l administration système

Annexe : La Programmation Informatique

COW, un service de support d'exécution de scénarios pédagogiques

BPEL Orchestration de Web Services

Table des matières Sources

Fiche méthodologique Rédiger un cahier des charges

E.I.S : Un outil performant pour I'analyse du risque en Assurance

Conception de circuits numériques et architecture des ordinateurs

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Catalogue de Pattern pour le CSCW

Transcription:

Les modèles dans UP

Modèle de conception Dans UP, le modèle de conception affine la description du système : - d'un point de vue structurel : on complète les diagrammes de classe et de paquetage. - d'un point de vue fonctionnel : on détaille le fonctionnement du système avec des diagrammes d'interaction (séquences, communication) et des diagrammes d'états et d'activités. Il est construit à partir des modèles de cas d'utilisation et d'analyse. Le modèle de conception va compléter le modèle d'analyse en spécifiant les détails structurels et comportementaux.

Diagramme d'état Un diagramme d'état permet de décrire sous forme d'un automate déterministe à états finis toute la vie d'un objet (pas seulement un scénario partiel). état initial état transition état final

Diagramme d'état : transition Syntaxe d'une transition : [trigger ["," trigger]] ["[" garde "]"] ["/" action] Le trigger déclenche le franchissement de la transition si la garde est vérifiée et l'action est déclenchée. Le trigger peut être un appel de méthode (synchrone ou non) ou un événément (temps écoulé, valeurs d'attributs atteintes, ). Exemples :

Diagramme d'état : choix Il est possible de regrouper les transitions déclenchées par un même événement : point de choix point de choix avec valeur

Diagramme d'état : activités (1/2) Il est possible de spécifier des activités internes à l'état. action réalisée lors de l'entrée dans l'état action réalisée dans l'état suite à un événement action réalisée tant qu'on est dans l'état action réalisée lors de la sortie de l'état

Diagramme d'état : activités (2/2) Une activité interne à un état peut être : - réalisée systématiquement à l'entrée dans l'état : entry / <activité> - réalisée systématiquement à la sortie de l'état : exit / <activité> - réalisée tout au long de l'état : do / <activité> - réalisée sur événement : on <événement> / <activité> Une activité est décrite comme une transition avec trigger, garde et action. Contrairement à une action sur transition, une activité s'interrompt si une transition sortante est franchie.

Diagramme d'état : états composites (1/5) Il est possible d'imbriquer un diagramme d'états dans un état composite pour en détailler l'évolution interne. l'entrée dans l'état composite fait passer dans l'état initial de l'état interne la sortie de l'état composite fait quitter l'état interne dans lequel se trouve l'objet à ce moment

Diagramme d'état : états composites (2/5) Il peut y avoir des transitions entre états internes et externes d'un état composite. transition automatique quand l'état final de l'état composite est atteint (non recommandé)

Diagramme d'état : états composites (3/5) On peut faire apparaître explicitement les points d'entrée et de sortie des états composites. point d'entrée point de sortie

Diagramme d'état : états composites (4/5) L'imbrication des états composites peut se faire sur plus de deux niveaux.

Diagramme d'état : états composites (5/5) Il est possible d'indiquer qu'un état est composite, sans détailler la composition (ou en la détaillant dans un autre diagramme). état composite

Diagramme d'état : états concurrents (1/4) Des états internes peuvent être simultanés, l'état composite est alors décrit par des sous-automates concurrents.

Diagramme d'état : états concurrents (2/4) Des transitions peuvent lier un état interne concurrent à un état externe.

Diagramme d'état : états concurrents (3/4) Si la transition de sortie est automatique, elle est franchie quand tous les états finaux internes sont atteints. PROBLEME : une page peut ne transition automatique quand pas être imprimée! les états finaux de l'état composite sont atteints

Diagramme d'état : états concurrents (4/4) Synchronisation des entrées et sorties d'états concurrents : les fork et join ne sont franchis que lorsque toutes les transitions entrantes ont été franchies. fork pas de trigger ni de garde sur les flèches entrante d'un join pas de trigger ni de garde sur les flèches sortantes d'un fork join

Diagramme d'état : états avec historique Un état composite avec historique conserve la mémoire du dernier état interne où il s'est trouvé. la première entrée dans l'état se fait sur l'état initial, les suivantes sur le dernier état mémorisé état initial marqué d'un H Si l'état initial est marqué d'un H*, il y a sauvegarde de toute la configuration interne de l'état composite (par exemple dans le cas d'un état concurrrent).

Diagramme d'activités Les diagrammes d'activités permettent de représenter le fonctionnement complet du système (ou d'une partie du système), décomposé en activités (actions). état initial merge état final point de choix activité Les diagrammes d'activités permettent aussi de décrire les cas d'utilisation avant que les classes et la structure du programme soit fixée.

Diagramme d'activités : synchronisation Synchronisation des flux : les fork et join ne sont franchis que lorsque toutes les activités entrantes sont terminées. fork Il est possible qu'une activité n'aboutisse pas sans arrêter pour autant le workflow. join

Diagramme d'activités : fin de flux Il est possible d'indiquer la fin d'un flux d'activités, qui n'est pas bloquante pour les autres branches de flux. C'est utile pour la synchronisation de flux parallèles. flux finaux

Diagramme d'activités : acteurs et activités Il peut être utile de découper un diagramme d'activités selon les acteurs responsables de chaque activité, ou selon les classes impliquées. acteurs

Diagramme d'activités : connecteur Il est possible de donner des noms aux flux pour faciliter la lecture des diagrammes. même flux

Diagramme d'activités : objets Des objets peuvent apparaître dans les diagrammes d'activités. objet nécessaire à une activité (input) objet devenu disponible suite à une activité objet produit par une activité (output)

Diagramme d'activités : paramètres d'activités Les paramètres d'une activité peuvent être spécifiés. paramètre d'entrée paramètre de sortie

Diagramme d'activités : expansion Une région d'expansion permet de faire répéter des activités sur des collections d'éléments. Les modes de répétition sont parallel, iterative ou stream (les objets en entrée et/ou sortie sont modifiés lors des activités). type de région liste en entrée limite de la région liste en sortie

Diagramme d'activités : types d'activités attente d'un événement temporel envoi d'un signal attente de réception d'un signal activité détaillée dans un autre diagramme interruption activité de type appel de méthode

Diagramme général d'interactions Le diagramme général d'interactions (interaction overview) décrit les flots d'interaction au niveau global. diagramme détaillé ailleurs contrainte temporelle

Les modèles dans UP

Modèle d'implémentation Dans UP, le modèle d'implémentation décrit l'architecture du système sous forme de composants. Un composant regroupe un ensemble de briques logicielles (classes en POO) présentant des fonctionnalités liées ou complémentaires et formant un module réutilisable. Un composant est souvent une librairie exécutable (dll, jar, ) partagée entre différentes applications et décrite par des interfaces.

Diagramme de composants Un diagramme de composants décrit des composants liés par des interfaces. interfaces requises composant interfaces fournies

port (point d'interaction) Diagramme de composants : composition connecteur

Les modèles dans UP

Modèle de déploiement Dans UP, le modèle de déploiement décrit la façon dont le logiciel sera déployé sur une infrastructure informatique. Le modèle de déploiement est spécifié essentiellement dans un diagramme de déploiement qui décrit : - les éléments matériels et logiciels sur lesquels sont déployés les artefacts (éléments logiciels produits par le développement du système) - les protocoles de communications entre éléments

Modèle de déploiement (1/2) communication entre éléments manifestation d'un composant par un artefact

Et ce n'est que le début...

Diagramme de profil Un diagramme de profil sert à définir des méta-modèles spécialisant UML. définis dans le méta-modèle spécialisation définition de valeurs spécifiques La spécification de contraintes à l'aide d'ocl (Object Constraint Language) permet d'obtenir des modèles vérifiables et formellement exploitables.

Métamodélisation (1/2) auto-descriptif M3 : méta-méta-modèle Classe Attribut... conforme à M2 : méta-modèle Classe Interface Association... M1 : modèle Planète Satellite... conforme à M0 : réalité conforme à

Métamodélisation (2/2) Cette hiérarchie n'est pas propre au développement objet : M3 : méta-méta-modèle XML métalangage BNF? M2 : méta-modèle DTD grammaire du langage de programmation conventions des plans d'architecture M1 : modèle données XML code du programme plan du bâtiment M0 : réalité entités décrite par les données XML programme tournant dans la machine bâtiment

Le MOF Source : OMG, MOF 2.5

Ingénierie des modèles L'ingénierie des modèles définit des outils et méthodes pour : - la modélisation et la méta-modélisation - la transformation de modèles - l'utilisation de modèles pour la conception et la production (automatique??) de logiciels les outils : UML, MOF, XMI (XML Metadata Interchange), OCL la méthodologie : MDA (Model Driven Architecture) L'ingénierie des modèles est appliquée dans l'ingénierie dirigée par les modèles (IDM), qui vise le développement d'applications par l'utilisation des outils et méthodes issues de l'ingénierie des modèles.