Etude de Cas SI d ’un bureau d ’étude Hydraulique

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Distance inter-locuteur
1 Modéliser Ou comment RE-présenter sa connaissance.
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
6 — Aperçu du processus unifié
Génie Logiciel 2 Julie Dugdale
Julie Dugdale Génie Logiciel 2 Julie Dugdale
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Les cas d’utilisation (use cases)
UML - Présentation.
Le Modèle Logique de Données
Architecture de réseaux
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
UML (Unified Modeling Langage)
Système de gestion de bases de données. Modélisation des traitements
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Présentation SysML (Systems Modeling Language ) est basé sur UML et remplace la modélisation de classes et d'objets par la modélisation de blocs pour un.
Le Modèle Dynamique 1. EADS Matra Datavision - Confidentiel
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Les Cas d’utilisation.
Analyse et Conception des Systèmes d’Informations
Présentation générale
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.
Static modeling, Thu G. Falquet, L. Nerima.
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.
Outils pour la modélisation des systèmes distribués
Management des systèmes d’information Conclusion
SYSTEMES D’INFORMATION
Logiciel gratuit à télécharger à cette adresse :
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
UML (2) Modèle dynamique le diagramme de séquence
Sensibilisation a la modelisation
UML Séquence 3 : (Diagramme d’activités)
L’approche MAD* Par Sabrina Dubé-Morneau
Les fondements constitutionnels
Langage de modélisation graphique de systèmes
Interoperabilité des SI - Urbanisation
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Modélisation Objet UML avec Rational Rose 2000
ANALYSE METHODE & OUTILS
Paradigmes des Langages de Programmation
UML - Présentation.
Sysml et le domaine de l’architecture et construction
Discussion autour du référentiel
Annexe Résultats provinciaux comparés à la moyenne canadienne
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Les principes de la modélisation de systèmes
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
Le diagramme d’états-transitions
La Modélisation Orientée Objet Concevoir un programme : modélisation du problème à résoudre Notion de programme : machine de Turing Pouvoir d’expression.
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Algorithmique et programmation (1)‏
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Bureau d’études Présentation du sujet Organisation des projets Version 1 8 octobre 2004.
1 A llier R elations et O bjets pour M odéliser Projet Sherpa INRIA Rhône-Alpes Visite Schneider 15/09/99.
GENIE LOGICIEL Détermination du périmètre cible d’une application
Unified Modeling Langage
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
2 Processus de conception de BD
Unified Modeling Language
Nouvelles Technologies Internet & Mobile
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

Etude de Cas SI d ’un bureau d ’étude Hydraulique UNESP/FEG/DEE 02/04/2017 Etude de Cas SI d ’un bureau d ’étude Hydraulique Michel TOLLENAERE professeur laboratoire GILCO Dominique RIEU Professeur laboratoire LSR/équipe SIGMA Eric BLANCO Maître de Conférence laboratoire GILCO Khadidja GREBICI doctorante laboratoires GILCO / LSR. ã (c) JCFJ

Conception de Systèmes d ’Information UNESP/FEG/DEE 02/04/2017 Conception de Systèmes d ’Information Cours : Systèmes d ’Information Michel TOLLENEAR Dominique RIEU. ã (c) JCFJ

Notion de modèle Qu’est ce qu’un modèle ? (Minsky 1968) Observateur UNESP/FEG/DEE 02/04/2017 Notion de modèle Qu’est ce qu’un modèle ? (Minsky 1968) A* est un modèle de A pour un observateur O ssi A* aide O à répondre aux questions qu’il se pose sur A. Observateur Modèle Système observé Où sont construites les ailes ? ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 notions de base: objet, acteur, collaboration, activité, Evénements, scénarios, états… Objet: entité d ’un monde réel ou virtuel, capable de sauvegarder un état (une information) et qui offre des opérations (un comportement) pour observer ou modifier cet état. Acteur: classe d ’utilisateur du système, personne physique ou morale, entité fonctionnelle ou organisationnelle. Activité: opération interruptible exécutée durant un état zone d ’activités Collaboration: interaction entre objets collaborants. Relation: dépendance entre entités. Paquetage: partition du modèle. Cas d ’utilisation: manière dont les acteurs utilisent le système. la notion d ’objet regroupe les structures de données et traitement. ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 notions de base: objet, acteur, collaboration, activité, Evénements, scénarios, états… Un événement est un stimuli externe visible, avec ses réponses. On commence la modélisation dynamique par l'extraction d'un résumé des séquences d'événements ; pour chaque objet il faut établir un diagramme d'états avec les événements entrants et sortants et qui montre les interactions entre objets. On n'établit pas d'algorithme, ce qui relève de l'implantation, si l'événement n'est pas externe. Ces diagrammes sont essentiels pour les systèmes interactifs, contrairement aux systèmes statiques comme les Bases de Données. Il faut aussi noter qu'ils ne sont pas suffisants pour les systèmes temps réel. Un scénario est une séquence type d'événements, il permet de décrire les interactions courantes pour l'extraction des événements et l'identification des objets cibles. Le suivi des séquences et des états permet d'établir les diagrammes d'états et de les comparer afin d'obtenir la correspondance événement-objet. L'ensemble des diagrammes d'état définit le modèle dynamique. Un état est une abstraction des valeurs des attributs et des liens d'un objet. Ces valeurs sont groupées selon les propriétés qui affectent le comportement de l'objet. Il faut établir, pour chaque objet non trivial un diagramme d'états qui décrit ses événements d'entrées et de sortie. Un scénario correspond à un chemin dans un tel diagramme. Pour ce faire il faut considérer un objet unique et ses interactions type, ce qui définit un chemin constitué d'un ensemble d'arcs étiquetés par les événements d'une colonne du suivi. L'intervalle entre deux événements correspond à une activité continue ou qui prend du temps ; c'est un état, représenté par un noeud et auquel on peut donner un nom si nécessaire. La modification d'un état par un événement donne lieu à une transition. ACTIVITE CHOMAGE Plus de 60 ans Perte d ’emploi recrutement RETRAITE EXEMPLE ã (c) JCFJ

Axes de modélisation d ’un système UNESP/FEG/DEE 02/04/2017 Axes de modélisation d ’un système Statique (ce que le système EST) diagramme de classes diagramme d’objets diagramme de composants diagramme de déploiement Dynamique (comment le système EVOLUE) Fonctionnel (ce que le système FAIT) diagramme de séquence diagramme de collaboration diagramme d’états-transitions diagramme d’activités diagramme de cas d’utilisation diagramme de collaboration diagramme FAST ã (c) JCFJ

Révision UML UML: Définition UML: Bibliographie et sites. UML: Genèse UNESP/FEG/DEE 02/04/2017 Révision UML UML: Définition UML: Bibliographie et sites. UML: Genèse pourquoi UML? UML, modèles et diagrammes, parcours général Les Données : diagramme de classes - structure statique Organiser les documents : les packages Analyser par les Cas d’Utilisation Compléments sur les langages et concepts ã (c) JCFJ

analyse et conception orientée objet une notation UNESP/FEG/DEE 02/04/2017 langage semi formel analyse et conception orientée objet une notation une méthode: « the Unified Software Development Process outils : rational Rose, objecteering... ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 Bibliographie « MODELISATION OBJET AVEC UML » P.Muller N.Gaertner, Editions Eyrolles - mars 2000 « UML EN Action : de l’analyse des besoins à la conception en Java » P.Roques F.Vallée, Editions Eyrolles - février 2000 «Advanced Object-Oriented Analysis & Design Using UML», Odell J., SIGS Publications, 1997. « UML DISTILLED : A Brief Guide to the Standard Object Modeling Language » M.Fowler K.Scott, Addison & Wesley - août 1999 « LE GUIDE DE L’UTILISATEUR UML » G.Booch I.Jacobson J.Rumbaugh, Editions Eyrolles - février 2000 « LE PROCESSUS UNIFIE DE DEVELOPPEMENT LOGICIEL » I.Jacobson G.Booch J.Rumbaugh, Editions Eyrolles - juin 2000. « UML POUR L’ANALYSE D’UN S.I. : Le cahier des charges du maître d'ouvrage » C.Morley J.Hugues B.Leblanc, Dunod - février 2000 « Business Modeling with UML : Business Patterns at work » H.Eriksson M.Penker Wiley & Sons - janvier 2000 « Concevoir des application Web avec UML » , J.Conallen, Eyrolles, sept 2000 ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 Bibliographie « Unified Modeling Langage Reference Manual », J.Rumbaugh I.Jacobson G.Booch, Addison-Wesley, 1998. « UML en Action », Pascal Rocques, Vallée F , Eyrolles, 2000. ã (c) JCFJ

Des sites... Des sites en français Des sites industriels UNESP/FEG/DEE 02/04/2017 Des sites... Des sites en français //www.uml.crespim.uha.fr/ (site de mulhouse) //free.uml.fr/ Des sites industriels //www.rational.com/uml //www.objexion.com/ //www.softeam.fr/ Des livres sur UML répertoriés par //www.eyrolles.fr/php.informatique/Ouvrages/liste_ouvrages ã (c) JCFJ

Genèse d’UML Révision Révision Mineur Novembre : Acceptation UNESP/FEG/DEE 02/04/2017 Genèse d’UML Révision UML 2.0 2002 Révision Mineur UML 1.4 2000 UML 1.3 UML 1.2 1999 1998 Novembre : Acceptation Septembre : soumission final Janvier : soumission OMG UML 1.1 UML 1.0 1997 1997 UML 0.9 1996 80-90: apparition de plusieurs méthodes : Méthodes systémiques et des méthodes cartésiennes, capacité à modéliser des objets complexes. OOA: Objects Oriented Analysis (Peter Coad & Edward Yourdon). OMT: Objects Modeling Technique (James Rumbaugh). «  objet acteurs: qui requièrent des opérations mais n ’en offrent pas. objets serveurs: qui offrent des opérations mais n ’en requièrent pas. objets agents: qui offrent et requièrent des opérations. » Jacobson: objets entités, objets interfaces, objets contrôleurs. OOM: Merise Object: A.Rochfeld,…Y.Tabourier,…D.Nanci.. 90-95:+ de 50 méthodes orientées objet. 95: premières version UML 97: standardisation OMG (Object Management Groupe) 2000: UML 1.4 2002: UML2.0 Spécification sur internet Méthode unifiée 0.8 1995 Autres Méthodes OOAD Booch OMT Rumbaugh... OOSE Jacobson... Partenaires ã (c) JCFJ

Pourquoi UML ? Besoin d’un Langage de Modélisation UNESP/FEG/DEE 02/04/2017 Pourquoi UML ? Besoin d’un Langage de Modélisation notation claire des diagrammes de modèles variés/points de vue flexibilité unificateur Besoin d’un Processus de Modélisation (dirigé par les cas d’utilisation) modèles et vues intégrant l’architecture itératif et incrémental non standard mais à ADAPTER... Pour Documenter les besoins l’architecture la conception le codage, les tests.... Dans X Environnements de systèmes à support logiciels : SI de l’entreprise Systèmes bancaires, financiers Télécoms, transports Aérospatiale, scientifique Électronique, médical Services Web ã (c) JCFJ

UML, Modèles et Diagrammes Parcours Général UNESP/FEG/DEE 02/04/2017 UML, Modèles et Diagrammes Parcours Général ã (c) JCFJ

Un Modèle = Un point de vue sur le système UNESP/FEG/DEE 02/04/2017 Un Modèle = Un point de vue sur le système Modèle de Classes qui capture la structure statique Modèle des Cas d’Utilisation – Use Case, UC – qui décrit les besoins, les fonctions Modèle d’Interaction qui représente les scénarios et les flots de messages Modèle des États qui exprime le comportement dynamique des objets, classes... Modèle de Réalisation qui montre des unités de travail Modèle de Déploiement qui précise la répartition des processus Descriptions abstraites pour capturer la sémantique d’un système les modèles sont regardés et manipulés au moyen de vues graphiques, véritables projections... à chaque vue correspond un ou plusieurs diagrammes… 2 catégories de modèles : - Modèles dynamiques: décrit l ’évolution et comportement des objets et modification des états des objets suite aux réceptions de messages . -Modèle d ’objets: décrit la structure et les liens statiques , montre les objets et leurs liens. ã (c) JCFJ 9

Diagrammes ã Diagrammes Classes Objets Séquence Collaboration UNESP/FEG/DEE 02/04/2017 Diagrammes Diagrammes Classes Objets Séquence Collaboration Activités Cas d'Utilisation États-Transitions Composants Déploiement ã (c) JCFJ

ã lien d’héritage : «est un diagramme», UNESP/FEG/DEE Diagrammes 02/04/2017 lien d’héritage : «est un diagramme», chacun est une spécialisation de la classe diagramme Diagrammes Classes Objets Séquence Collaboration Activités Cas d'Utilisation États-Transitions Composants Déploiement Un diagramme est un « langage graphique » de phrases traduisant entre les concepts « éléments du vocabulaire du diagramme », icônifiés aux nœuds des relations matérialisées par des arcs du graphe, écrits avec un forme particulière. L’ensemble donne la syntaxe, graphique du langage associé ã (c) JCFJ

Aspects structurels statiques UNESP/FEG/DEE Diagrammes 02/04/2017 Diagrammes Classes Objets Séquence Collaboration Activités Cas d'Utilisation États-Transitions Composants Déploiement Ce que le système EST Aspects structurels statiques diagramme de classes : classes et relations statiques diagramme des objets : objets et liens Aspects fonctionnels et dynamiques diagramme de cas d’utilisation : acteurs et utilisation du système Ce que le système FAIT ã (c) JCFJ

UNESP/FEG/DEE Diagrammes 02/04/2017 Diagrammes Classes Objets Séquence Collaboration Activités Cas d'Utilisation États-Transitions Composants Déploiement Aspects dynamiques diagramme de séquence : vision temporelle des interactions diagramme de collaboration : vision spatiale des interactions diagramme d’états-transitions : comportement des objets diagramme d’activités : flot de contrôle interne aux opérations comment le système EVOLUE ã (c) JCFJ

UNESP/FEG/DEE Diagrammes 02/04/2017 Diagrammes Classes Objets Séquence Collaboration Activités Cas d'Utilisation États-Transitions Composants Déploiement Aspects implantation diagramme de composants : codage diagramme de déploiement : implantation, distribution Les diagrammes des classes physiques participant aussi à cette description ã (c) JCFJ

Organiser les documents, Les Packages UNESP/FEG/DEE 02/04/2017 Organiser les documents, Les Packages ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 Structurer : Package Unité de stockage d’un ensemble d’informations variées ayant trait à une même unité d’information pour l’application modélisée. Appliqué selon plusieurs points de vue : Pkg-projet Pkg-exigences Pkg-analyse Pkg-maintenance Pkg-conception «trace» Pkg-réalisation «realise» package exigences package analyse package conception package réalisation package maintenance Packetage veut dire partition du modèle. Vue cycle de développement ã (c) JCFJ

UNESP/FEG/DEE Structurer : Package 02/04/2017 Graphisme Chaque package peut avoir divers modèles (UC, Classes, textes, ….) lesquels constituent une unité de documentation pour le niveau auquel on se trouve…. Analyse Conception Réalisation ã (c) JCFJ

Analyser par les Cas d’Utilisation, Cas d’Utilisation, UNESP/FEG/DEE 02/04/2017 Analyser par les Cas d’Utilisation, Cas d’Utilisation, Scénarios : Collaborations et Séquences ã (c) JCFJ

Diagrammes de Cas d’Utilisation UNESP/FEG/DEE 02/04/2017 Diagrammes de Cas d’Utilisation Un CU est : une réponse à la question « dans quel cas tel acteur utilise-t-il le système?. C ’est un ensemble d ’interactions entre acteur et système. une technique d ’expression des besoins mise en œuvre par Ivar Jacobson (objectory). une manière spécifique d’utiliser un système représenté dans un diagramme de CU faisant référence aux acteurs, i.e: « choses » externes au système qui communiquent avec ce dernier (principaux, secondaires, matériels ou non) et aux relations (communication, utilisation, extension) de propriétés : - exclusivité les uns des autres, le système est dans une situation donnée pour un acteur donné et à un instant donné. - couverture d ’une utilisation complète depuis la connexion jusqu ’à la déconnexion. L’analyse d’un cas d’utilisation par des scénarios : Diagrammes de Collaboration (modèles organisationnels) Diagrammes de Séquence (modèles chronologiques) pour des regroupements et la mise en évidence des objets et des cas d’utilisation Communication entre acteurs et cas: dans un diagramme de cas d ’utilisation l ’accent est mis sur le rôle et non pas sur le type réel des objets en relation avec le système. Il est quelque fois judicieux d ’indiquer les informations (qui deviendront des objets dans le développement) échangées entre acteurs et système, par rapport au cas. Il est possible d ’utiliser des mécanismes communs tels que les étiquettes, contraintes ou notes. ã (c) JCFJ

Modéliser le comportement d’un : UNESP/FEG/DEE Diagrammes de Cas d’Utilisation 02/04/2017 Modéliser le comportement d’un : élément, système, sous-système, classe. Un acteur fait avec le système qui lui offre ce service : « un client fait un virement » Ce que fait l’élément et NON Comment il le fait « généralise » Identification Client Virement <<include>> Client distant Virement minitel ã (c) JCFJ

Exemple1 : Réserver sur un vol à une date donnée UNESP/FEG/DEE Diagrammes de Cas d’Utilisation 02/04/2017 Exemple1 : Réserver sur un vol à une date donnée Le client interroge le système, soit en passant dans une agence, soit par un système télé-informatique (minitel ou internet) pour s’assurer de pouvoir faire la réservation souhaitée. La réservation peut concerner un déplacement de passagers (un ou plusieurs) ou une demande de transport de fret. Une solution réalisable étant trouvée, il enregistre la réservation (nom des passagers ou volumes et caractéristiques du fret) et paye par le moyen adapté à l’environnement (liquide, chèque, carte de crédit). Le ou les billets correspondants lui sont délivrés (directement, à l’agence, par la poste, par mise à disposition à l’aéroport pour télépayement ou aussi par impression de bons de transports sur connexion internet. une note est attachée à tout UC, pour définir son rôle et son contenu Client Réserver ã (c) JCFJ

Exemple 1 – Requirements UNESP/FEG/DEE Diagrammes de Cas d’Utilisation 02/04/2017 Exemple 1 – Requirements (Système) RESERVER Interroger au guichet Interroger possibilité-vol Interroger par le net Généralisation/spécialisation selon les « modes d ’accès » Client Vue analyse des besoins : un acteur, le client Le diagramme d’UC du package RESERVER, décompose l ’UC RESERVER ã (c) JCFJ

ã Vue analyse des besoins UNESP/FEG/DEE Diagrammes de Cas d’Utilisation – Exemple 1 : Requirements 02/04/2017 (Système) RESERVER Interroger au guichet Interroger possibilité-vol Interroger par le net enregistrer réservation Client Vue analyse des besoins ã (c) JCFJ

ã Spécialisation par l’objet du transport Vue analyse des besoins UNESP/FEG/DEE Diagrammes de Cas d’Utilisation – Exemple 1 : Requirements 02/04/2017 (Système) RESERVER Interroger au guichet Interroger possibilité-vol Interroger par le net Spécialisation par l’objet du transport enregistrer réservation enregistrer fret Client enregistrer passagers Vue analyse des besoins ã (c) JCFJ

ã Vue analyse des besoins UNESP/FEG/DEE Diagrammes de Cas d’Utilisation – Exemple 1 : Requirements 02/04/2017 (Système) RESERVER Interroger au guichet Interroger possibilité-vol Interroger par le net enregistrer réservation enregistrer fret Client payer enregistrer passagers Vue analyse des besoins ã (c) JCFJ

ã Vue analyse des besoins les liens d’activation du système UNESP/FEG/DEE Diagrammes de Cas d’Utilisation – Exemple 1 : Requirements 02/04/2017 (Système) RESERVER Interroger au guichet Interroger possibilité-vol Interroger par le net enregistrer réservation enregistrer fret Client payer enregistrer passagers obtenir billets Vue analyse des besoins les liens d’activation du système ã (c) JCFJ

Vue Analyse (raffinement) UNESP/FEG/DEE Diagrammes de Cas d’Utilisation 02/04/2017 Exemple 1 – Analyse (Système) RESERVER Interroger au guichet Généralisation/spécialisation selon les « modes d ’accès » Interroger possibilité-vol Gestionnaire des vols Interroger par le net Gestion interface Sous-systèmes externes Client Vue Analyse (raffinement) spécification ã (c) JCFJ

ã Spécialisation par l’objet du transport Vue Analyse UNESP/FEG/DEE Diagrammes de Cas d’Utilisation – Exemple 1 : Analyse 02/04/2017 (Système) RESERVER Interroger au guichet Interroger possibilité-vol Gestionnaire des vols Interroger par le net Spécialisation par l’objet du transport Gestion interface enregistrer fret enregistrer réservation enregistrer passagers Client Vue Analyse ã (c) JCFJ

ã Vue Analyse Diagrammes de Cas d’Utilisation – Exemple 1 : Analyse UNESP/FEG/DEE Diagrammes de Cas d’Utilisation – Exemple 1 : Analyse 02/04/2017 (Système) RESERVER Interroger au guichet Interroger possibilité-vol Gestionnaire des vols Interroger par le net Gestion interface enregistrer fret enregistrer réservation enregistrer passagers payer Gestionnaire financier Client Vue Analyse ã (c) JCFJ

ã des acteurs secondaire des acteurs secondaires principal Vue Analyse UNESP/FEG/DEE Diagrammes de Cas d’Utilisation – Exemple 1 : Analyse 02/04/2017 (Système) RESERVER Interroger au guichet des acteurs Interroger possibilité-vol Gestionnaire des vols Interroger par le net secondaire Gestion interface enregistrer fret des acteurs secondaires enregistrer réservation enregistrer passagers principal payer Gestionnaire financier Client obtenir billets Vue Analyse ã (c) JCFJ

Extension : Systèmes Évolutifs UNESP/FEG/DEE Diagrammes de Cas d’Utilisation 02/04/2017 Extension : Systèmes Évolutifs Interroger possibilité-vol Consulter les promotions Interroger par le net <<extend>> relation d’extension : une évolution demandée avec indication de l’endroit où elle vient s’insérer extension points : commande complémentaire - les bonnes occases- après rechercher un vol. ã (c) JCFJ

Système de Réservation UNESP/FEG/DEE Diagrammes de Cas d’Utilisation 02/04/2017 Exemple 1 – Conception Système de Réservation ss-système Gérer-réservation Télé-système Agence <<realize>> <<include>> Valider la commande <<include>> Réserver Agent-réservation Enregistrer <<include>> demande <<include>> Client Éditer billet Gérer Enregistrer Enregistrer paiements passager fret ã (c) JCFJ

Relations dans les Diagrammes d’UC UNESP/FEG/DEE Diagrammes de Cas d’Utilisation 02/04/2017 Relations dans les Diagrammes d’UC Pas de Composition-Décomposition: (pour le raffinement) mais un UC se décrit en détail à travers un package associé à l ’UC à détailler et décrit par des diagrammes d’UC définissant le contenu du package. Inclusion « include »: (pour la réutilisation) A inclut B & l’utilise  relation de dépendance entre UC d’un même diagramme; l’UC, inclus, peut être réutilisé dans d’autres diagrammes ; (exemple type : Réserver, Éditer billet) Extension « extend »: (pour l’extensibilité) B étend A, en ...  relation de dépendance entre UC d’un même diagramme; l’UC, qui « étend », doit avoir un point d’insertion dans l’UC « étendu » ; (exemple : « Consulter les promotions ») Généralisation : (pour les mécanismes d’héritages et de versions) relation hiérarchique (une spécialisation assure la fonction de l’UC parent) qui permet d’avoir plusieurs environnements pour le même objectif. (exemple : Interroger possibilité-vol et Interroger par le net…) Lorsque la description textuelle fait apparaître des interactions communes à plusieurs cas. Pour éviter la ré-écriture. Cas d'utilisation A Cas d'utilisation B <<include>> Permettre d ’étendre les interactions et donc les fonctionnalités décrites par les interactions typique d ’une situation optionnelle. Cas d'utilisation B Cas d'utilisation A <<extend>> Les relations entre cas d ’utilisation: ce sont des relations entre ensembles d ’interaction et ne représentent pas une décomposition fonctionnelle c ’est juste pour organiser les interactions. Sans oublier entre les niveaux les dépendances de « trace » ou « réalisation »... ã (c) JCFJ

Diagrammes d’Interaction UNESP/FEG/DEE 02/04/2017 Diagrammes d’Interaction Ensemble des objets, acteurs, systèmes qui collaborent pour contribuer à la réalisation d’un U.C. A l’expression d’une collaboration est associé un diagramme de collaboration qui met en évidence les parties de système, acteurs et objets collaborants Deux Types : Collaboration ou Séquences ã (c) JCFJ

Diagrammes de Collaboration UNESP/FEG/DEE 02/04/2017 Diagrammes de Collaboration Modéliser les Flux de Contrôle Utilisé pour décrire des scénarios du modèle : formes de séquences des vies relationnelles des objets Utilisé pour décrire les interactions entre objets ensembles de messages échangés entre les objets, liens créés par ces échanges et leurs successions et/ou alternatives messages (orientés), flux de données Syntaxe d’un OBJET joël:ETUDIANT Collaboration englobe 2 types de construction : un contexte composé d ’une description de la structure statique des objets et une interaction représenté par une séquence de messages échangés par les objets. Ces diagrammes expriment à la fois le contexte d ’un groupe d ’objets (à travers les objets et les liens) et les interactions entre ces objets (par la représentation des messages). Les diagrammes de collaboration sont des extensions des diagrammes d ’objets. Ces diagrammes montrent des cas particuliers des comportements au sein d ’un cas d ’utilisation. objet, nommé 1-objet pas de classe associée 1-objet: :ETUDIANT l ’objet, nommé Joël de la classe ETUDIANT un objet anonyme de la classe étudiant ã (c) JCFJ

Un Use Case est un « classifier », unité de regroupement, de Scénarios UNESP/FEG/DEE Diagrammes de Collaboration 02/04/2017 f : Gestionnaire financier b : Billets 7: éditer réservation c : Client r : Réserve 8: demander billet : Gestion interface 1: demander réservation 2: réserve 3: réservation possible 4: évaluer réservation 5: afficher prix à payer 6: payer 9: m à dispo-billet Exemple : Ce scénario traduit ce qui se passe quand tout est OK  à étudier, les autres cas : pas de “vol” et pas de “place” Dans ce modèle, on ne se préoccupe pas de l’aspect “gestion d’interface-client”, serveur d’agence ou de télécommunication, gestionnaire du dialogue, qui serait seul à communiquer avec les sous-systèmes du système de réservation. C’est ici une vue purement “fonctionnelle” Séquencement chronologique sans notion d’écoulement de temps Message action : Verbe Chaque message crée un lien entre les objets, une relation entre leurs classes Un Use Case est un « classifier », unité de regroupement, de Scénarios ã (c) JCFJ

Exprimer une alternative : UNESP/FEG/DEE Diagrammes de Collaboration 02/04/2017 Exprimer une alternative : 1 : demander réservation c : Client r : Réserve 2.0 [choix = OK]: confirme-réservation 2.0 [non(choix = OK)]: propose-alternatives 2.1 [non(choix = OK)]: choisir-alternative 2.2 [non(choix= OK)] : confirme-alternative Même numéro de séquence de l’action suivie d’une condition. Pour la cohérence du modèle, il faut que les conditions soient exclusives et totalement définies, mais rien dans les outils ne valide cela, pour l’instant Pour la lisibilité, il est souvent opportun de multiplier les modèles descriptifs chacun d’une situation, càd d’un scénario pour le cas « normal » et les exceptions ã (c) JCFJ

Modéliser les Flux de Contrôle selon le Temps UNESP/FEG/DEE 02/04/2017 Diagramme de Séquence Modéliser les Flux de Contrôle selon le Temps Utilisé pour modéliser des scénarios du modèle entre des objets Utilisé pour décrire les interaction entre objets selon un point de vue temporel : ensembles d’opérations échangées entre les objets, liens, messages (orientés) séquencement chronologique avec la notion de “vie de l’objet” écoulement du temps vertical/échange de message horizontal avec du parallélisme d’existence, des alternatives ... Deux utilisations : documentation des cas d’utilisation (événements, ...) représentation précise des interactions entre objets (messages, ...) Messages synchrones, asynchrones, délai de transmission, contraintes temporelles... Création, destruction d’objets / durée d’activation d’un objet / boucles, conditionnelles Utilisé aussi pour documenter la dynamique des processus au niveau de la conception physique du système Pas de contexte d ’objets. Pas de distinction entre le flot de contrôle et le flot de données. Le diagramme de séquences est un diagramme d ’interaction qui montre des cas particuliers de comportement au sein d ’un cas d ’utilisation (comme le diagramme de collaboration). Pour les utilisations du diagramme de séquences: - diagramme de haut niveau sans détailler les messages, ils sont exprimés en langage naturel - diagramme détaillé; usage informatique, toute forme de communication: appel à procédure, événement discret, signal entre flot d ’exécution. Message synchrone: l ’émetteur est bloqué, il doit attendre la réponse du destinataire message asynchrone: l ’émetteur n ’est pas bloqué. Délai de transmission: délai de propagation. Contrainte temporelle: lorsque la propagation d ’un message prend un temps significatif par rapport à la dynamique du système , les instants d ’émission et de réception de messages sont matérialisés par un couple (nom, nom prime). ã (c) JCFJ

ã :Unobjet :autreobjet :Unobjet Message asynchrone création UNESP/FEG/DEE Diagrammes de Séquence 02/04/2017 :Unobjet :autreobjet Message asynchrone Retour explicite :Unobjet :autreobjet X création destruction :Unobjet :autreobjet Message synchrone Retour implicite ã (c) JCFJ

Un dual du diagramme de collaboration avec insistance sur le temps UNESP/FEG/DEE Diagrammes de Séquence 02/04/2017 Exemple : c : Client r : Réserve f : Gestionnaire financier b : Billets : Gestion interface demander billet éditer réservation demander réservation réserve réservation possible évaluer réservation afficher prix à payer payer m à dispo-billet Un dual du diagramme de collaboration avec insistance sur le temps ã (c) JCFJ

Syntaxe Entête des colonnes : Message : deux types UNESP/FEG/DEE Diagrammes de Séquence 02/04/2017 Syntaxe Entête des colonnes : Objets Acteur, si il est acteur de l’UC dont le DS est un scénario (rattachement) Message : deux types message synchrone : A attend la réponse de B message asynchrone : A envoie un signal et ne s’en occupe plus Alternatives entre les mêmes objets A B ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 Diagrammes de Classes – Données Classes, Attributs, Opérations, Associations, Agrégation, Composition, Héritage ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 Classes - Propriétés Les classes : ensemble d’objets ayant les mêmes attributs, les mêmes opérations, les mêmes relations et la même sémantique Représentation graphiques Vol numVol hdep har définir-périodes() définit la desserte d’une ligne (ville de départ, ville d’arrivée) selon un horaire donné nom de classe (unique) attributs, typés ou non, simples ou multiples, avec valeur initiale éventuelle opérations() avec ou sans leurs paramètres Responsabilités : représentées comme une note ou dans la doc de la classe Une classe peut être présentée sans ses attributs e/ou sans ses opérations. ã (c) JCFJ

Classes - Instances Donc, il faut « classer », càd, UNESP/FEG/DEE 02/04/2017 Classes - Instances « instancie » Grenoble-Paris1 :VOL GREPA01 5h37 6h41 Paris-Grenoble1 :VOL PAGRE01 7H15 8H20 Vol numVol hdep har définir-périodes() Une classe = un type + un conteneur d’objets de ce type Donc, il faut « classer », càd, reconnaître les familles d’éléments, « ensembles » cohérents leur rôle, « responsabilité » les données associées « attributs » les actions que font les éléments « actifs » les actions que l’on fait sur les éléments « passifs » les « signaux » qu’ils envoient les « opérations » ã (c) JCFJ

Responsabilités Utiliser en phase d’analyse de besoins UNESP/FEG/DEE Diagrammes de Classes 02/04/2017 Responsabilités Utiliser en phase d’analyse de besoins pour décrire le rôle des objets de la classe par rapport à l’environnement pour se concentrer sur le « pourquoi » avant d’aborder les structures : attributs mettre en évidence les relations fonctionnelles pour l’utilisateur Concerne particulièrement les «objets clients» un badge, identifie une des personnes autorisées un lecteur, veille & détecte la présentation d’un badge et en lit le code informe le système de contrôle et affiche le résultat du contrôle … Exemple Contrôle d’Access ã (c) JCFJ

Propriétés Statiques - Attributs UNESP/FEG/DEE Diagrammes de Classes 02/04/2017 Propriétés Statiques - Attributs Concernent la structure des données Une syntaxe [visibilité] nom [multiplicité] [ : type ][= valeur-initiale] [ {chaîne-propriété} ] Trois valeurs de visibilité : +, public (visible de toute classe), #, protégé (visible dans la classe et ses sous-classes), -, privé (visible dans la classe uniquement), ã (c) JCFJ

Propriétés Dynamiques - Opérations UNESP/FEG/DEE Diagrammes de Classes 02/04/2017 Propriétés Dynamiques - Opérations Une syntaxe et quelques propriétés [visibilité] nom [ (liste-paramètre) ] [ : type-retour ] [ {chaîne-propriété} ] Des propriétés de contrôle de flots dynamiques : sequential : coordination extérieure pour que les appels soient séquentiels (1à1) guarded : contrôle d’intégrité sémantique, pas d’appels concurrents sur les gardes concurrent ã (c) JCFJ

UNESP/FEG/DEE Diagrammes de Classes 02/04/2017 Exemples Étudiant nom : String numéro : Integer = 0 age : Integer grade ajouter(Nom : String) : void s-inscrire() : Boolean Sport nom ajouter() invalider() Inscription date : Date Formation : cycle d’étude auquel les étudiants peuvent s’inscrire dans le cadre de l’institution que l’on gère. Créée ou invalidée par l’administration après habilitation Archivée pour l’historique de la vie de l’établissement Lors de la création d’une classe, donner sa definition comme une Note ou avec la Documentation de la Classe Formation nom : String ajouter(nom : String) : void valider(nom : String) : void Note Les opérations de création d’un objet sont implicites car « standard ». ã (c) JCFJ

Une classe « interface » est une UNESP/FEG/DEE Diagrammes de Classes 02/04/2017 Variétés Spécifiques «stéréotype» : type de méta-classe qui sert de «définition de type» pour une famille de classe <<boundary>>, <<control>>, <<entity>>... «interface» : associée à une classe, elle décrit un comportement visible  Ne contient que des opérations (un type de stéréotype) POSterminal I-Store Store storeId : Integer POSlist : list create() login() find() getPOStotals() updateStoreTotals() get() <<uses>> Une classe « interface » est une Classe abstraire. Autre représentation ã (c) JCFJ

UNESP/FEG/DEE Diagrammes de Classes 02/04/2017 Les Relations Lien entre les objets ou les classes qui crée des dépendances fortes entre les classes du diagramme Trois types de liens de base, statiques, structurants : association agrégation, composition héritage Aussi, des liens de dépendance, plus faibles concernant la conception/réalisation du modèle de base  ce sont les dépendances : « réalise » entre classe et une interface « réalise » entre des composants logiciels et une classe « trace » entre classe « utilisateur » issue de l’analyse et classe « composant » qui est le résultat de la conception du logiciel ã (c) JCFJ

Associations ! ã Rôle (pas nécessairement des deux côtes) UNESP/FEG/DEE Diagrammes de Classes – Les Relations 02/04/2017 Associations Rôle (pas nécessairement des deux côtes) Nom de la association (en italique) > Comment lire l’association Étudiant nom : String numéro : Integer = 0 age : Integer grade ajouter(Nom : String) : void s-inscrire() : Boolean Formation ajouter() valider() 1..4 1..n Inscription > +inscrits Cardinalités (inversées) ! La formation à laquelle l’étudiant est inscrit ne figure pas en « doublon » dans les attributs de Étudiant  C’est la relation qui traduit la propriété. ã (c) JCFJ

UNESP/FEG/DEE Diagrammes de Classes – Les Relations – Association 02/04/2017 Classe Associative Étudiant nom : String numéro : Integer = 0 age : Integer grade ajouter(Nom : String) : void s-inscrire() : Boolean Formation ajouter() valider() 1..4 1..n Inscription > +inscrits Inscription date : Date Action pour un étudiant de s’inscrire à une formation de l’établissement, créé et daté par la scolarité lors de cette inscription. Archivé pour l’historique de la vie de l’étudiant Classe associative : un objet de la classe est identifié par le « couple » d’objets liés par l’association ã (c) JCFJ

Généralisation-Spécialisation UNESP/FEG/DEE Diagrammes de Classes – Les Relations 02/04/2017 Généralisation-Spécialisation Généralisation : plus général… super-classe sous-classe (hérite de) Spécialisation : plus spécial Généraliser : factoriser attributs, opérations, contraintes Spécialiser : extension COHERENTE…au sens ensembliste... Instance-Vol associerAvion() Instance-Pass res1 res2 réserver1() réserver2() Instance-Fret fret reserver-fret() Héritage Polymorphisme ã (c) JCFJ

UNESP/FEG/DEE Diagrammes de Classes – Les Relations – Généralisation-Spécialisation 02/04/2017 Héritage Multiple ã (c) JCFJ

UNESP/FEG/DEE Diagrammes de Classes – Les Relations – Généralisation-Spécialisation 02/04/2017 « Classe Abstraite » Classe, regroupant des propriétés communes à ses sous-classes Pas d’instances propres, sert juste à la « factorisation », « abstraction » Personne nom : String prénom : String n-insee : Integer adresse : String identifier() Employe salaire : Double indice : Double Etudiant n-inscription : Integer Nom en italique ã (c) JCFJ

Quelques Considérations UNESP/FEG/DEE Diagrammes de Classes – Les Relations – Généralisation-Spécialisation 02/04/2017 Quelques Considérations Sens : « est un » , « est une sorte de » , « est de la famille des » Propriétés : non réflexive : A n’hérite pas de lui-même ; il EST lui-même non-symétrique : B sous-classe de A, interdit A sous-classe de B (pas de cycle) transitive : C sous classe de B, B sous-classe de A => C sous-classe de A A A A B B C ã (c) JCFJ

composition = agrégation forte UNESP/FEG/DEE Diagrammes de Classes – Les Relations 02/04/2017 Agrégation Type de relation orientée, du tout vers les parties Forte : Composition Un module appartient à une seule filière (et disparaît avec elle) composition = agrégation forte pas de partage mort simultanée Tout Partie Faible : Agrégation Les modules sont partagés par plusieurs filières ã (c) JCFJ

Dépendances Réalisation La dépendance « type de dépendance » UNESP/FEG/DEE Diagrammes de Classes 02/04/2017 Dépendances Réalisation La dépendance « type de dépendance » bind , entre des classes paramétrées et les paramètres effectifs derive, attribut dérivé : âge dérivé de date-de naissance friend, visibilité du but par la source instanceOf, instantiate pour des relations classe/objet powertype dans une relation enfants d’un même parent refine par raffinement d’abstraction de classe (analyse...implémente) ã (c) JCFJ

UNESP/FEG/DEE 02/04/2017 Dynamique des Classes Diagramme d’ État-Transition, Diagramme d’Activités. ã (c) JCFJ

Diagrammes d’États-Transitions UNESP/FEG/DEE 02/04/2017 Diagrammes d’États-Transitions Automates d’états finis de type State Charts de Harel (visual Formalism for complexe systems, Sciences of Computer Programming vol 8). Exprime contraintes dynamiques Abstraction des comportements possibles des objets d’une classe (le plus souvent...) d’un U.C. d’un système Un état est caractérisé par une notion de durée et de stabilité Automates déterministes avec un état initial et des états finaux Transitions déclenchées par des événements avec conditions, actions et activités Décomposition disjonctive et composition conjonctive d’états Historique Etat initial Etat intermédiaire Etat final ACTIVITE CHOMAGE Plus de 60 ans Perte d ’emploi recrutement RETRAITE Un objet peut être décrit de manière formelle en terme d ’état et d ’événements à l ’aide d ’un automate. Un objet qui ne possède pas de comportement réactif est un objet considéré restant dans le même état et sa classe ne possède pas d ’automate. Pour représenter un automate, le formalisme UML s ’inspire des States Chartes (Harel, 1987, State Sharts: A visual Formalism for complexe systems, Sciences of Computer Programming vol 8). Un automate est une abstraction des comportements possibles. Comme les classes pour la structure statique. Les automates et les scénarios sont complémentaires: les scénarios se représentent par une collaboration entre objets.Quant à la forme de l ’interaction entre les objets collaborants dans un scénario est déterminée par les états respectifs des objets. L ’automate spécifie le comportement d ’une collaboration. Les automates sont utilisés pour décrire le comportement de groupes d ’objets (un automates peut représenter un composite ou même un cas d ’utilisation). ã (c) JCFJ

Exemple 1 ã Diagramme d’États-Transition pour la Classe Station-Lavage UNESP/FEG/DEE Diagrammes d’États-Transition 02/04/2017 Exemple 1 Diagramme d’États-Transition pour la Classe Station-Lavage Classe Station-Lavage Attente <<idle>> Lavage Rinçage Séchage Fin( programme ) Suite( Programme ) Suite( programme ) Démarrer( programme ) [ présence(véhicule) ] ã (c) JCFJ

ã événement états garde transitions Classes UNESP/FEG/DEE Diagrammes d’États-Transition – Exemple 1 02/04/2017 événement Les objets se comportent comme des éléments passifs, contrôlés par les événements provenant du système et déclenchant des transitions (passages d ’un état à un autre). Attente <<idle>> Lavage Rinçage Séchage Fin( programme ) Suite( programme ) Démarrer( programme ) [ présence(véhicule) ] transitions états garde Syst-Commande « signal » démarrer(programme) fin(programme) Classes Station-Lavage Un événement est une occurrence d ’une situation donnée dans le domaine du problème. C ’est une information instantanée qui doit être traitée sans plus attendre. C ’est le déclencheur pour passer d ’un état à un autre. L ’événement indique quel chemin (s) doit être suivi. Un événement est complètement spécifié s ’il comprend : un nom, la liste des paramètres, l ’objet expéditeur, l ’objet destinataire, la description de la signification de l ’événement. Transition: les états sont reliés par des connexions unidimensionnelles, ceux sont les transitions. Le passage est effectué d ’un état à un autre lorsque la transition est déclenchée par un événement survenant dans le domaine du problème. Le passage est instantané car l ’objet doit toujours être dans un état donné. Garde: c ’est une condition booléenne qui valide ou non le déclenchement d ’une transition lors de l ’occurrence d ’un événement. démarrer(programme) est un « signal » du Système de commande [présence(véhicule)] est une « garde », condition qui est évaluée pour accepter ou refuser la transition. Le développement des diagrammes d’états entraîne la mise à jour en cohérence des diagrammes de classes (statique) ã (c) JCFJ

UNESP/FEG/DEE Diagrammes d’États-Transition – Exemple 1 02/04/2017 événement Attente <<idle>> Actif Lavage Rinçage Séchage Démarrer( programme )[ présence(véhicule) ] Fin( programme ) Syst-Commande « signal » démarrer(programme) fin(programme) Classes Station-Lavage En regroupant toutes les transitions « fin programme » on met en évidence un sur-état Actif ã (c) JCFJ

Diagramme « hiérarchisé » UNESP/FEG/DEE 02/04/2017 Attente <<idle>> Lavage Démarrer( programme ) [ présence(véhicule) ] Rinçage Séchage Fin( programme ) Suite( programme ) Diagramme « plat » Diagramme « hiérarchisé » Attente <<idle>> Actif ... Démarrer( programme )[ présence(véhicule) ] Fin( programme ) Lavage Rinçage Séchage les sous-états héritent des transitions de sortie ã (c) JCFJ

Histoire des sous-états dans un état UNESP/FEG/DEE Diagrammes d’États-Transition – Exemple 1 02/04/2017 Histoire des sous-états dans un état Actif Lavage Rinçage Séchage H Attente <<idle>> Fin( programme ) Problème Démarrage( programme )[ présence(véhicule) ] État “historique” – indique un retour avec mémorisation ã (c) JCFJ

UNESP/FEG/DEE Diagrammes d’États-Transition 02/04/2017 Concepts 1 État : (d’un objet ou d’une classe) : ensemble des valeurs, des attributs, des relations et des opérations exécutables (pour l’objet et ceux qui sont visibles par lui) nom: nomme l’état, mais il peut être anonyme ; pas obligatoire actions : d’entrée/sortie, opérations instantanées, non interruptive exécutées à l’entrée ou la sortie de l’état, (au passage de la transition) transitions internes : transitions qui ne changent pas l’état, et s’exécutent sous le contrôle des sous états sous états : états contenus dans l’état impliquant des sous-états, disjoints (séquentiels) ou concurrents pseudo états : il existent trois : état initial : correspond à l’état implicite “le diagramme d’états est crée” état final : correspond à l’état implicite “le diagramme d’états est détruit” état “indicateur d’historique” : une transition vers cet état déclenche une transition au dernier sous-état atteint lors du dernier passage à cet état ã (c) JCFJ

UNESP/FEG/DEE Diagrammes d’États-Transition 02/04/2017 Concepts 2 État “idle”, inactif, attente : état neutre de l’objet après une transition, il attend d’autres événements pour effectuer une transition. État actif : état actif càd une activité se déroule pendant que l’objet est dans cet état, en attendant un événement déclencheur d’une transition (avec durée) Activité - do/activity (faire/activité) Ensemble d’opérations qui peuvent se produire pendant que l’objet est dans un état. Ex.: do/op1(a); op2(b); op3(c) Séquence d’actions (chaque action est non interruptive) Une activité met un certain temps à s’exécuter. Elle est interruptive (entre deux actions) par un événement déclencheur. Elle peut faire référence à un autre diagramme d’état qui la décrit ; États Transition d’État Nom de l’État entry: action d’entrée entry: ^class.événement exit: action de sortir exit: ^ class.événement do: activité do: ^class.événement Nom Événement[Garde]/Action Initial Final ã (c) JCFJ

État : une situation assez stable pour « durer » ! UNESP/FEG/DEE Diagrammes d’États-Transition 02/04/2017 Concepts 3 Les événements provoquant les transitions sont classables suivant 4 natures : change event :changements de valeur, atteintes de limites time event : date, jour-heure, fin ou début de période signal : signaux venant d ’une autre classe (classe-active) avec ou sans paramètre call event : appel de procédure qui déclenche une action qui fait transiter… Comment les reconnaître ? Et trouver les états : en examinant dans les scénarios, les appels de procédure inter-objets ou les signaux envoyés en regardant les qualificatifs associés aux objets dans ces mêmes scénarios en examinant les attributs des objets et leurs valeurs critiques en établissant une trace des divers points importants du «calendrier » qui rythme la vie du système et des objets État : une situation assez stable pour « durer » ! ã (c) JCFJ

Exemple 2 ã Diagramme d’États-Transition pour une Classe Fax UNESP/FEG/DEE Diagrammes d’États-Transition 02/04/2017 Exemple 2 Diagramme d’États-Transition pour une Classe Fax super-état sous-état <<idle>> Réception Attendre sonnerie entry/ décrocher exit/ déconnecter Connecté Connecté Entête-Ok raccrocher En-traitement En-traitement Envoie-fax actions do/ recevoir do/ recevoir Transmission Effacer Effacer Erreur / imprimer-rapport [ parité-Faux ] transitions sans déclencheur état final (fin du scénario) état initial (début du scénario) ã (c) JCFJ

Diagrammes d’Activités UNESP/FEG/DEE 02/04/2017 Diagrammes d’Activités Autre diagramme pour exprimer de la dynamique  un organigramme qui présente le flux de contrôle entre des activités Utilisé principalement pour la modélisation d’étapes séquentiels (ou concurrents...) d’un processus de calcul Modélise le comportement interne d’une méthode (d’un seul objet) ou d’un cas d’utilisation (d’une société d’objets) Une variante du diagramme d’états transition Diagramme d’États Transition : mis en valeur des états et des transitions Diagramme d’Activités : mis en valeur des activités et des transitions Zones d’activités pour exprimer en analyse de besoin, les grandes étapes du système pour montrer globalement des interactions avec le temps et les contraintes logiques ã (c) JCFJ

UNESP/FEG/DEE Diagrammes d’Activités 02/04/2017 A cause de la nature procédurale des opérations (la plupart des événements correspondent simplement à la fin de l’activité précédente) la distinction systématique entre état, activité et événement est parfois inutile  Les diagrammes d’activités offrent une manière simplifiée pour la visualisation des activités. Par rapport aux Diagrammes d’Interaction, que mettent en valeur le flux de contrôle entre les objets, les Diagrammes d’Activités mettent en valeur le contrôle d’une activité vers une autre. Les Diagrammes d’Activités peuvent exister pour qu’on puisse d’une manière indépendante , visualiser, spécifier, construire et documenter la dynamique d’un ensemble d’objets  peuvent aussi servir à modéliser le flux de contrôle d’une opération. ã (c) JCFJ

Concepts 1 État d’Action et État d’Activité : UNESP/FEG/DEE Diagrammes d’Activités 02/04/2017 Concepts 1 État d’Action et État d’Activité : États d’Action : représentent un calcul exécutable atomique (ne peut pas être divisé)  des états du système que représentent chacun l’exécution d’une action. Un État d’Action ne peut pas être décomposé Un État d’Action est atomique : des événements peuvent se produire sans que l’action réalisée par l’état soit interrompue. La durée d’exécution de l’action dans un état d’action est considéré non significative. États d’Activités : sont des états dont l’activité peut éventuellement être représentée par d’autres diagrammes d’activités  un État d’Action peut être considéré comme un cas spécial d’État d’Activité qui ne peut plus être divisé. Un État d’Activité peut être décomposé Les États d’Activités ne sont pas atomiques : ils peuvent être interrompus par des événements La durée d’exécution de l’activité dans un État d’Activité peut être mesuré, elle est significative Étudier devis index:= index + 1 Action simple Expression Début Construction() entry / bloquer() Action d’entre Contrôle Finance(f) Sous-diagramme ã (c) JCFJ

UNESP/FEG/DEE Diagrammes d’Activités 02/04/2017 Concepts 2 États Initial et Final : utilisés au même sens que dans les Diagrammes d’États Transition. Transition : quand l’action ou activité d’un état se termine, le flux de contrôle passe immédiatement à l’activité suivante  ce flux est indiqué avec les Transitions que permettent de montrer le chemin entre les états d’action ou d’activité. Division Conditionnelle du Flux : est utilisée pour spécifier les différents chemins qui peut prendre le flux à partir de l’évaluation d’une expression booléenne. Un division doit avoir une transition entrante et une ou plusieurs transitions sortantes Chaque transition sortante doit avoir une expression booléenne qui est évalue lorsque la division est atteinte  les conditions de garde de chacune de ces transitions doivent être mutuellement exclusives et doivent couvrir toutes les possibilités pour maintenir le déterminisme On peut utiliser le mot clef else pour indiquer la transition que doit être suivie dans le cas où aucune autre n’est vrai État initial État d’Action État 1 Transition État 2 État final Ordre début des travails division [matériel pas prêt] On parle ici de flux de contrôle. Replanifier Condition de garde [matériel prêt] Attribuer taches ã (c) JCFJ

Concepts 3 Synchronisation de Flux Concurrents: UNESP/FEG/DEE Diagrammes d’Activités 02/04/2017 Concepts 3 Synchronisation de Flux Concurrents: Utilisées pour représenter la division et le regroupement de flux de contrôle parallèles. Une fourche concurrente représente la division du flux de contrôle  au dessous de la division, les activités associées aux flux se développent en parallèle. Une jonction concurrente peut avoir deux ou plus transitions entrantes et généralement une unique sortante  après que toutes les transitions aient atteint la jonction, la transition de sortie est réalisée. ã (c) JCFJ

Concepts 4 Travées : Flot d’Objet : UNESP/FEG/DEE Diagrammes d’Activités 02/04/2017 Concepts 4 Travées : Est une division que peut être appliquée à un Diagramme d’Activités pour représenter les différents responsabilités d’un mécanisme ou d’une organisation. Chaque responsabilité est assuré par un ou plusieurs objets et chaque action d’état ou activité est attachée à un une travée en particulier. Chaque travée est divisée avec des lignes verticales. Les transitions peuvent traverser les travées. Flot d’Objet : Est un ensemble composé d’une relation de dépendance entre un objet et l’action ou l’activité à l’origine de sa création, destruction ou modification. Présente les objets qui participent au flux de contrôle d’un Diagramme d’Activités. Peut présenter pour les objets qui participent du diagramme ses états et les valeurs de ses attributs. Des objets peuvent être connectés à différentes actions d’états ou d’activités  son état est représenté pour faire la différence Des flots d’objets peuvent être utilisés avec de diagrammes d’activités simples ou en travée. La notion de travée fait référence à la notion de couloir d ’activités. Permet de montrer les différentes responsabilités au sein d ’une organisation ou d ’un mécanisme. Un objet peut changer d ’état selon l ’état d ’avancement du mécanisme. L ’objet peut figurer dans le diagramme à plusieurs reprises avec une spécification de son état à chaque occurrence dans une expression entre crochets. ã (c) JCFJ

ã Ouvrir la fenêtre (activité) (état) aérer Fermer la fenêtre UNESP/FEG/DEE Diagrammes d’Activités – Concepts 4 : Travées et Flot d’Objets 02/04/2017 travées flot d’objet objet état Remarque: un diagramme d ’activités peut contenir des états et des événements représentés de la même manière que dans les diagrammes d ’états-transitions: exemple: Ouvrir la fenêtre (activité) flot d’objet aérer (état) ã Consigne atteinte Fermer la fenêtre (activité) (c) JCFJ

DEMARCHE ORIENTEE OBJET UNESP/FEG/DEE 02/04/2017 DEMARCHE ORIENTEE OBJET Le domaine d ’étude n ’est pas le système d ’information dans sa globalité (l ’organisation n ’est pas prise en compte). Il est réduit au système informatique. La démarche proposée (à travers UML) vise donc à spécifier et à implanter les fonctions informatisées du système d ’information. A.Expression des besoins A.1 Cas d ’utilisation (Use Case)  à partir des fonctions attendues du système informatique, établir un diagramme de cas d ’utilisation. A.2 Diagramme de séquence de haut niveau pour chaque cas d ’utilisation, décrire le scénario principal et éventuellement les scénarios secondaires en langue naturelle B.Analyse B.1 diagramme de séquence intermédiaire «pour chaque diagramme de séquences de haut niveau construire le diagramme de séquences intermédiaire qui exprime les demandes de services fondamentales entre objets. B.2 diagramme de classe intermédiaire construire progressivement le diagramme de classes: classes, attributs et associations. Ajouter les classes application et ses opérations (cas d ’utilisation définis du système. C.conception C.1diagramme de Séquences Détaillé  à chaque diagramme se séquences interm. Construire le D S D: exprimer les demandes de services détaillées entre objets et spécifier leurs paramètres. C.2 Diagramme de Classe Détaillé compléter le diagramme de classe conformément aux Diagrammes de Séquences Détaillés. C.3 Diagramme de Classes Généralisé principes d ’abstraction et de polymorphisme. C.4 Langage de conception D.Implantation Les étapes B1 et B2 sont menées en parallèle. Les étapes expression des besoins, analyse et conception sont menées de manière cyclique où les diagrammes d ’état-transition, d ’activité, de séquences… permettent d ’affiner le système informatique(selon des points de vue différents) en introduisant plus de détailles concernant les rôles, les objets, les liens… et par conséquent élargir le périmètre du SI. ã (c) JCFJ

UNESP/FEG/DEE Démarche Orienté Objet 02/04/2017 Conclusion Les étapes expression des besoins, analyse et conception sont menées de manière cyclique où les diagrammes d ’état-transition, d ’activité, de séquences… permettent d ’affiner le système informatique(selon des points de vue différents) en introduisant plus de détailles concernant les rôles, les objets, les liens… et par conséquent élargir le périmètre du SI. ã (c) JCFJ

Etude de Cas ã

UNESP/FEG/DEE 02/04/2017 Décrire la Réalisation et son Implantation Diagrammes de Composant, Diagrammes de Déploiement ã (c) JCFJ

Diagrammes de Composants UNESP/FEG/DEE 02/04/2017 Diagrammes de Composants Fournit une vue statique (l’architecture logicielle) représentant la mise en oeuvre d'un système, dessiné sous la forme d'un graphique de composants logiciels connectés par des relations : dépendance, généralisation, association et réalisation. Éléments : composants (avec plusieurs stéréotypes) et interfaces. Utilisés pour définir les dépendances et relations entre objets à un niveau “supérieure” à celui du diagramme de classes  les AGLs permettent de créer un lien entre les classes du modèle logique et les composants. Modélisent la structure du logiciel et montrent les dépendances entre le code source, le code binaire et les composants exécutables, de sorte que l'impact d'une modification puisse être évalué  Les dépendances entre composants permettent notamment d'identifier les contraintes de compilation et de mettre en évidence la réutilisation de composants. Le composants peuvent être organisés en packages, qui définissent des sous-systèmes. Sybase® - PowerAMC™ - Modèle Orienté Objet Guide de l'utilisateur Version 9.0 - Janvier 2002 ã (c) JCFJ

Exemple ã Diagrammes de Composants UNESP/FEG/DEE Diagrammes de Composants 02/04/2017 Exemple Cours UML : UML, le langage de modélisation objet unifié http://uml.free.fr/index.html ã (c) JCFJ

Diagrammes de Déploiement UNESP/FEG/DEE 02/04/2017 Diagrammes de Déploiement Architecture matérielle et répartition logicielle Éléments : des nœuds (ressources matérielles) et des relations de dépendance et d’association  aussi des composants qui doivent résider sur un nœud et de packages. Des Diagrammes de Classes centrées sur les nœuds d’un système Stéréotypes utilisés pour les nœuds : <<processeur>>, <<mémoire>>, <<dispositif>> Connections bi-directionnelles avec cardinalités des nœuds et des connections Diagrammes de Classes Diagrammes de Composants Structure du Logiciel Diagrammes de Séquences Diagrammes de Collaboration Diagrammes de États-Transition Diagrammes d’Activités Comportement du Logiciel Diagrammes de Déploiement A la frontière matériel/logiciel du système pour planifier la topologie des processeurs et des périphériques sur lesquels le système tourne ã (c) JCFJ

Exemple ã Diagrammes de Déploiement UNESP/FEG/DEE Diagrammes de Déploiement 02/04/2017 Exemple Cours UML : UML, le langage de modélisation objet unifié http://uml.free.fr/index.html ã (c) JCFJ