Module B9-1 : sensibilisation à l UML



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

Rational Unified Process

Analyse,, Conception des Systèmes Informatiques

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

Université de Bangui. Modélisons en UML

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

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

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

UML (Paquetage) Unified Modeling Language

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Chapitre I : le langage UML et le processus unifié

IFT2255 : Génie logiciel

Architecture d'entreprise : Guide Pratique de l'architecture Logique

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

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

SECTION 5 BANQUE DE PROJETS

Cours en ligne Développement Java pour le web

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Patrons de Conception (Design Patterns)

Génie logiciel (Un aperçu)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

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

Description de la formation

Visual Paradigm Contraintes inter-associations

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

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

Refonte front-office / back-office - Architecture & Conception -

Cours Gestion de projet

Synergies entre Artisan Studio et outils PLM

Information utiles. webpage : Google+ : digiusto/

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Cours STIM P8 TD 1 Génie Logiciel

Conception, architecture et urbanisation des systèmes d information

Méthodologies de développement de logiciels de gestion

W4 - Workflow La base des applications agiles

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

Vérifier la qualité de vos applications logicielle de manière continue

Programmation parallèle et distribuée

Nom de l application

CQP Développeur Nouvelles Technologies (DNT)

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

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

UE 8 Systèmes d information de gestion Le programme

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Développement itératif, évolutif et agile

3. UML - Unified Modeling Language Diagrammes statiques

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

UML et les Bases de Données

Qualité du logiciel: Méthodes de test

Eclipse Process Framework et Telelogic Harmony/ITSW

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Processus d Informatisation

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

DotNet. Plan. Les outils de développement

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

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Cours de Génie Logiciel

Identification du module

Le Guide Pratique des Processus Métiers

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

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

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

GPC Computer Science

Extrait des Exploitations Pédagogiques

Programmation parallèle et distribuée

UML est-il soluble dans les méthodes agiles?

Mercredi 15 Janvier 2014

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

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

Sujet de thèse CIFRE RESULIS / LGI2P

Conception et Intégration de Systèmes Critiques

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

RTDS G3. Emmanuel Gaudin

Évaluation et implémentation des langages

RAPPORT DE CONCEPTION UML :

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Retour d expériences avec UML

Le génie logiciel. maintenance de logiciels.

Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER

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

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

Guichet automatique de banque

Auto-évaluation Aperçu de l architecture Java EE

Les diagrammes de modélisation

UML (Diagramme de classes) Unified Modeling Language

Master Informatique Aix-Marseille Université

Catalogue de Pattern pour le CSCW

Projet Active Object

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Systèmes et réseaux d information et de communication

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

Application web de gestion de comptes en banques

Systèmes d information et bases de données (niveau 1)

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

Transcription:

Module B9-1 : sensibilisation à l UML Session 5 : Conception et adaptation à l entreprise Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Novembre 14 Diapositive N 1 Session 5 Sommaire Profils UML Conception Adaptation d UML à l entreprise ENSTA B9-1 UML Novembre 2014 Diapositive N 2

Session 5 Profils UML ENSTA B9-1 UML Novembre 2014 Diapositive N 3 Session 5 Profils UML Mécanisme d extensibilité de la sémantique d UML Spécifie des : règles / contraintes au moyen du langage Object Constraint Language stéréotypes ENSTA B9-1 UML Novembre 2014 Diapositive N 4

Session 5 Profils UML Cadre d architecture : UPDM Ingénierie système : SysML Architecture : MARTE (Modeling and Analysis of Real-time and Embedded Systems) UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms UML Profile for Schedulability, Performance and Time UML Profile for Software Radio UML Profile for System on a Chip (SoC) UML Profile for Voice UML Testing Profile Extension UML pour le «Business Process Modeling» Implémentation (plate-forme, PSM) : CORBA DDS (Data Distribution service) EDOC (Entreprise Distributed Object Computing) ENSTA B9-1 UML Novembre 2014 Diapositive N 5 Session 5 Cadres d architecture

Session 5 Profils UML ENSTA B9-1 UML Novembre 2014 Diapositive N 7 Session 5 Sommaire Profils UML Conception modèle d analyse modèle de conception diagramme de composants diagramme de structures composites diagramme de déploiement Adaptation d UML à l entreprise ENSTA B9-1 UML Novembre 2014 Diapositive N 8

Session 5 : Modèle d analyse Modèle des classes participantes «entity» Entité 01 Modèle du domaine «entity» Entité 02 «entity» Entité 03 «entity» Entité 04 «entity» Entité 05 Cas d utilisation «contrôle» Contrôle 01 «entity» Entité 01 «dialog» Dialogue 01 «contrôle» Contrôle 02 «entity» Entité 02 Modèle des classes participantes Maquette d IHM Pourquoi?, assurer l indépendance entre l interface graphique, les utilisateurs et le modèle de domaine Quoi?, types de classes : Frontière : permettent les interactions entre utilisateurs et l IHM Contrôleur : implémentent la logique applicative (les fonctionnalités de l application) Entités : proviennent du modèle métier. Ces classes sont généralement persistantes (survivent à l exécution des cas d utilisation et sont stockées) ENSTA B9-1 UML Novembre 2014 Diapositive N 9 Entités : Session 5 : Modèle d analyse Modèle des classes participantes que des attributs association avec d autres entités ou des contrôleurs (navigabilité vers la classe d entité) Contrôleurs : que des opérations associés à un cas d utilisation peuvent être associées à toutes les classes (navigabilité des classes de dialogue vers les classes de contrôle) Dialogues : attributs : informations saisies par l utilisateur, ou résultats d action opérations : actions IHM de l utilisateur association d autres classes de dialogue ou des contrôleurs ENSTA B9-1 UML Novembre 2014 Diapositive N 10 Entité Contrôleur Dialogue

Session 5 : Modèle d analyse Distribution du comportement des cas d utilisation sur les classes d analyse ENSTA B9-1 UML Novembre 2014 Diapositive N 11 Session 5 : Modèle d analyse Distribution du comportement des cas d utilisation sur les classes d analyse Sd :Diagramme de séquence système sd : Diagramme d interaction Système Système Acteur Acteur action Dialogue Contrôle Entité action opération() getdonnées() rep = getdonnées() setdonnéesval() réponse réponse Boîte noire Boîte blanche ENSTA B9-1 UML Novembre 2014 Diapositive N 12

Session 5 : Modèle d analyse Exercice Exercice 1 : distribuer le comportement sur les classes participantes ENSTA B9-1 UML Novembre 2014 Diapositive N 13 Session 5 Sommaire Profils UML Conception modèle d analyse modèle de conception diagramme de composants diagramme de structures composites diagramme de déploiement Adaptation d UML à l entreprise ENSTA B9-1 UML Novembre 2014 Diapositive N 14

1 : insérer la carte 2 : demander code 3 : entrer le code 4 : demander le montant Commander Un taxi Payer Guichet 01 : Guichet automatique de banque Commande [validée] «datastore» Facture Facture Facture [émise] 3.1 : demander autorisation 3.2 : autorisation (limitation) Rechercher un taxi Affecter un taxi Payer [taxi OK] Course «Actor» SA 01 : Système d autorisation «datastore» Collection de taxis Course Réaliser une course Session 5 : Modèle de conception Introduction Diagrammes d interaction «entity» Entité 01 «entity» Entité 02 «entity» Entité 01 «entity» Entité 02 «contrôle» Contrôle 01 «dialog» Dialogue 01 «contrôle» Contrôle 02 Modèle des classes participantes «contrôle» Contrôle 01 «dialog» Dialogue 01 «contrôle» Contrôle 02 Diagramme de classes de conception Diagramme d activités de navigation Prise en compte des choix techniques : langage de programmation librairies utilisées (interface graphique) base de données programmation etc. ENSTA B9-1 UML Novembre 2014 Diapositive N 15 Session 5 : Modèle de conception Présentation Pourquoi? : identifier les classes de navigation : diagramme d activité identifier les opérations des classes de navigation : diagramme de séquence définir la structure des classes de navigation : diagramme de classe Quoi? oattributs : chaîne TextField, booléen CheckBox, énumération ListBox o opérations : identifiées par les diagrammes de séquences oassociation : traduites des échanges du diagramme de séquence classes de dialogue dépend de la technologie employée ENSTA B9-1 UML Novembre 2014 Diapositive N 16

Session 5 : Modèle de conception Présentation : Exemple ENSTA B9-1 UML Novembre 2014 Diapositive N 17 Session 5 : Modèle de conception Présentation : Exemple exemple de profil de conception de la présentation ENSTA B9-1 UML Novembre 2014 Diapositive N 18

Session 5 : Modèle de conception Services : Exemple de profils profile SOAML (Service Oriented Architecture Modeling Language) ENSTA B9-1 UML Novembre 2014 Diapositive N 19 Session 5 : Modèle de conception Données Pourquoi? : concevoir la persistance des données : traduire le modèle de domaine en modèle relationnel concevoir la persistance des associations : traduire les associations multiples à chaque bout concevoir la persistance des attributs : adapter les types des attributs à ceux connus dans la base de données cible ENSTA B9-1 UML Novembre 2014 Diapositive N 20

Session 5 : Modèle de conception Données : MDA Auto +couleur : String +porte : Integer +moteur : Integer SQL create table Auto ( couleur text, porte integer, moteur integer); DTD <!Element Auto (couleur*, porte*, moteur* )> ENSTA B9-1 UML Novembre 2014 Diapositive N 21 Session 5 : Modèle de conception Données : Profil exemple de profil de gestion de la persistance ENSTA B9-1 UML Novembre 2014 Diapositive N 22

Session 5 : Modèle de conception Données : Profil exemple d application d un profil de gestion de la persistance ENSTA B9-1 UML Novembre 2014 Diapositive N 23 Session 5 : Modèle de conception Données : Implémentation «PK» id att1 : String att2 : Integer «PK» ida att1 : String att2 : Integer «PK» idb att1 : String att2 : Integer «Table» A «Table» A 1 ra * «Table» B SQL : create table A ( id integer primary key, att1 text, att 2 integer) ; SQL : create table A ( ida integer primary key, att1 text, att 2 integer) ; create table B ( idb integer primary key, ra integer references A, att1 text, att 2 integer) ; ENSTA B9-1 UML Novembre 2014 Diapositive N 24

Session 5 : Modèle de conception Données : Implémentation «PK» ida att1 : String att2 : Integer «PK» idb att1 : String att2 : Integer «Table» A * ra * «Table» B SQL : create table A ( ida integer primary key, att1 text, att 2 integer) ; create table B ( idb integer primary key, att1 text, att 2 integer) ; create table A_B ( ra integer references A, rb integer references B, primary key (ra, rb) ) ; ENSTA B9-1 UML Novembre 2014 Diapositive N 25 Session 5 : Modèle de conception Données : Implémentation «PK» ida att1 : String att2 : Integer «PK» idb att1 : String att2 : Integer «Table» A * ra * «Table» B «PK» idc att1 : String att2 : Integer «Table» C SQL : create table A ( ida integer primary key, att1 text, att 2 integer) ; create table B ( idb integer primary key, att1 text, att 2 integer) ; create table C ( ra integer references A, rb integer references B, att1 text, att 2 integer, primary key (ra, rb) ) ; ENSTA B9-1 UML Novembre 2014 Diapositive N 26

Session 5 Sommaire Profils UML Conception modèle d analyse modèle de conception diagramme de composants diagramme de structures composites diagramme de déploiement Adaptation d UML à l entreprise ENSTA B9-1 UML Novembre 2014 Diapositive N 27 Session 5 : Diagramme de composants Qui? Concepteur (de base de données) : décrire les caractéristiques de stockage Concepteur : définir les sous-systèmes et composants du système distribuer les comportements sur les soussystèmes définir les dépendances des sous-systèmes ENSTA B9-1 UML Novembre 2014 Diapositive N 28

Session 5 : Diagramme de composants Qui? Programmation par composants Système Système «subsystem» Sous-système «delegate» Sous-système Composant «delegate» Composant Composants «delegate» ENSTA B9-1 UML Novembre 2014 Diapositive N 29 Session 5 : Diagramme de composants Concepts Composant Pourquoi? : définir l architecture d un système de grande envergure par décomposition hiérarchique de sa structure interne réutiliser des composants aux fonctionnalités équivalentes Quoi? : partie logicielle potentiellement indépendante, et réutilisable, qui peut être livrée sous la forme d un ou plusieurs artéfacts stéréotypes : «Subsystem» parent : Classe symbole : «component» Composant OU Composant ENSTA B9-1 UML Novembre 2014 Diapositive N 30

Session 5 : Diagramme de composants Concepts Réalisation de composant Pourquoi? : allouer les classes aux composants Quoi? : parent : Relation dirigée IEnregistrement IStatistique IClient Commandes «realization» «realization» Commande SuperviseurCommande ENSTA B9-1 UML Novembre 2014 Diapositive N 31 Session 5 : Diagramme de composants Concepts Dépendance Pourquoi? : Représenter les relations d analyse d impact Quoi? : Parent : Relation dirigée relation unidirectionnelle exprimant la dépendance sémantique entre éléments du modèle indique que la modification de la cible peut impliquer une modification de la source symbole : Client Fournisseur ENSTA B9-1 UML Novembre 2014 Diapositive N 32

Session 5 : Diagramme de composants Concepts Interface Pourquoi? : spécifier les interfaces des soussystèmes pour permettre leur implémentation ou leur réutilisation dans un framework Quoi? : ensemble d opérations qui caractérisent le comportement d un classeur leur comportement peut être spécifié au moyen d un diagramme d états-transitions parent : Classeur Alarme «use» «interface» ICapteur «realize» Capteur de proximité symbole : Alarme ICapteur Capteur de proximité ENSTA B9-1 UML Novembre 2014 Diapositive N 33 Session 5 : Diagramme de composants Synthèse des concepts manipulés : Internes «subsystem» Opération paramètres precondition / corps / postcondition Contrainte Composant Parametre Interface Type source / destination Attribut Généralisation, Dépendance Dépendance : «use», «abstraction», «substitute», «realize» Propriété Terminaison d association Qualifieur Objet principal Lien source / destination Association ENSTA B9-1 UML Novembre 2014 Diapositive N 34

Session 5 : Diagramme de composants Synthèse des concepts manipulés : Externes Activité, Machine d état, Interaction Comportement Structure composite définition (méthode) dynamique structure interne Opérations Composant Composant Association Réalisation de composant «manifest» Manifestation Dépendance «instanciate» Dépendance «instanciate» Classe Artefact Objet Lien ENSTA B9-1 UML Novembre 2014 Diapositive N 35 Session 5 : Diagramme de composants Exercice Exercice 2 : représenter une interface ENSTA B9-1 UML Novembre 2014 Diapositive N 36

Session 5 Sommaire Profils UML Conception modèle d analyse modèle de conception diagramme de composants diagramme de structures composites diagramme de déploiement Adaptation d UML à l entreprise ENSTA B9-1 UML Novembre 2014 Diapositive N 37 Session 5 : Diagramme de structure composite Pourquoi et quoi? Pourquoi? : détailler les classeurs structurés (Classe, Composant, Nœud, Collaboration) pour permettre leur implémentation Quoi? : décomposition des classeurs en éléments suffisamment fins pour permettre leur implémentation la structure interne défini les interactions entre les parties du système pour remplir ses fonctions ENSTA B9-1 UML Novembre 2014 Diapositive N 38

Session 5 : Diagramme de structure composite Concepts Port Pourquoi? : définir un comportement indépendamment de son environnement rendre le composant réutilisable dans un environnement conforme aux contraintes d interactions imposées à ces ports Quoi? : isole le contenu d un composant point de connexion entre un classeur et son environnement chaque port est dédié à un objectif spécifique et présente les interfaces appropriées pour cet objectif les obligations peuvent être associées de différentes manières à une interface : precondition, postcondition, protocole parent : Propriété ENSTA B9-1 UML Novembre 2014 Diapositive N 39 Session 5 : Diagramme de structure composite Concepts Propriété Classe 2 classe2 Classe 1 classe2 attribut Classe 1 + attribut Un diagramme de structure composite affiche l ensemble des propriétés d une classe ENSTA B9-1 UML Novembre 2014 Diapositive N 40

Session 5 : Diagramme de structure composite Concepts Connecteur Pourquoi? : connecter les propriétés d une classe (port, attribut, terminaison d association) Quoi? : parent : Association type : o délégation («delegation») : relie un contrat externe (spécifié par un port) avec son implémentation interne par les structures internes o assemblage («assembly») : un composant requiert les services d un autre Composant «delegate» «subsystem» Sous-composant ENSTA B9-1 UML Novembre 2014 Diapositive N 41 Session 5 : Diagramme de structure composite Concepts Collaboration Pourquoi? : décrire la manière dont une fonctionnalité est mise en œuvre par un jeu de participants Quoi? : utilisé pour : oreprésenter l ensemble des éléments mis en œuvre pour réaliser un cas d utilisation («use-case realization») oreprésenter un pattern Parent : Classeur ENSTA B9-1 UML Novembre 2014 Diapositive N 42

Session 5 : Diagramme de structure composite Concepts Collaboration (exemple) représentation de la dynamique d une collaboration ENSTA B9-1 UML Novembre 2014 Diapositive N 43 Session 5 : Diagramme de structure composite Concepts Collaboration (exemple) FabriqueCommande fabrique Fabrication commande Commande fabrique commande SuperviseurCommande Diagramme de structure composite de «SuperviseurCommande» fabrique : FabriqueCommande fabrique commande : Commande commande Instance de collaboration Fabrication ENSTA B9-1 UML Novembre 2014 Diapositive N 44

Session 5 : Diagramme de structure composite Synthèse des concepts manipulés : Internes Objet principal Lien Interface requiert / fournit type Port Classeur propriétés Propriété Attribut Association des rôles de la collaboration aux propriétés de la classe structurée Classe, Composant, Noeud cible / client Terminaison d association cible / client Dépendance détient Delegation, Assemblage Connecteur Collaboration Instance de collaboration ENSTA B9-1 UML Novembre 2014 Diapositive N 45 Session 5 : Diagramme de structure composite Synthèse des concepts manipulés : Internes ENSTA B9-1 UML Novembre 2014 Diapositive N 46

Session 5 Sommaire Profils UML Conception modèle d analyse modèle de conception diagramme de composants diagramme de structures composites diagramme de déploiement Adaptation d UML à l entreprise ENSTA B9-1 UML Novembre 2014 Diapositive N 47 Session 5 : Diagramme de déploiement Pourquoi? : décrire la disposition physique des ressources matérielles qui composent le système et montrer la répartition des composants sur ces matériels Quoi? : identifie les éléments matériels, leur disposition physique et la disposition des exécutables (représentés par des composants) ENSTA B9-1 UML Novembre 2014 Diapositive N 48

Session 5 : Diagramme de déploiement Concepts Artefact Pourquoi? : lier la configuration logicielle et le système Quoi? : partie physique utilisée ou produite par un processus de développement parent : Classeur symbole : Artéfact exemples : bibliothèques statiques, exécutables, fichiers de paramétrage, fichiers de documentation, etc. ENSTA B9-1 UML Novembre 2014 Diapositive N 49 Session 5 : Diagramme de déploiement Concepts Manifestation Pourquoi? : identifier les éléments du modèle qu implémente l artéfact Quoi? : Parent : Dépendance Symbole : Artéfact «manifest» Composant «EJB» Chauffeur «EJB» Commande «manifest» «manifest» opentaxi.war «EJB» Chauffeur «EJB» Agence ENSTA B9-1 UML Novembre 2014 Diapositive N 50

Session 5 : Diagramme de déploiement Concepts Noeud Pourquoi? : représenter les ressources matérielles Quoi? : Parent : Classeur symbole : exemples : Noeud onœud : Serveur J2EE oinstance de nœud : serveur d hébergement de l application de gestion des taxis ENSTA B9-1 UML Novembre 2014 Diapositive N 51 Session 5 : Diagramme de déploiement Concepts Déploiement Pourquoi? : Quoi? : identifie le déploiement des artéfacts sur les noeuds Parent : Dépendance symbole : Artéfact «deploy» Noeud OU Noeud Artéfact ENSTA B9-1 UML Novembre 2014 Diapositive N 52

Session 5 : Diagramme de déploiement Concepts Chemin de communication Pourquoi? : représenter les liens physiques entre les nœuds vérifier les performances de communication Quoi? : Parent : Association symbole : ENSTA B9-1 UML Novembre 2014 Diapositive N 53 Session 5 : Diagramme de déploiement Exemple ENSTA B9-1 UML Novembre 2014 Diapositive N 54

Session 5 : Diagramme de déploiement Synthèse des concepts manipulés : Internes ENSTA B9-1 UML Novembre 2014 Diapositive N 55 Session 5 : Diagramme de déploiement Synthèse des concepts manipulés : Internes Artefact Manifestation «manifest» Classe, Composant ENSTA B9-1 UML Novembre 2014 Diapositive N 56

Session 5 : Diagramme de déploiement Synthèse des concepts manipulés : Internes ENSTA B9-1 UML Novembre 2014 Diapositive N 57 Session 5 : Diagramme de déploiement Exercice Exercice 3 : représenter un diagramme de déploiement ENSTA B9-1 UML Novembre 2014 Diapositive N 58

Session 5 : Diagrammes de conception Aide mémoire ENSTA B9-1 UML Novembre 2014 Diapositive N 59 Session 5 : Diagrammes de conception Aide mémoire ENSTA B9-1 UML Novembre 2014 Diapositive N 60

Session 5 Sommaire Profils UML Conception Adaptation d UML à l entreprise modélisation description des processus ingénierie logicielle choix des vues UML pattern ENSTA B9-1 UML Novembre 2014 Diapositive N 61 Session 5 : Modélisation UML ne suffit pas UML ne définit pas le processus d élaboration des modèles (que faire? ) UML ne définit pas la sémantique des concepts (quel sens?) Mais suggère 3 démarches : itérative et incrémentale : partir d un prototype et l améliorer besoins utilisateurs : les utilisateurs guident la réalisation du modèle centrée sur l architecture : en utilisant les différentes vues de UML proposées par Ph. Kruchten ENSTA B9-1 UML Novembre 2014 Diapositive N 62

Ref. AND Processus C3 Menace Processus Computer Processus ISR Echo Radar EX.FCT.1 Acquérir une cible Enregistrement TypeCible Intercepteurs disponibles EX.FCT.4 Assigner un intercepteur Intercepteurs Coordonnées cibles EX.FCT.2 Intercepter Coordonnées interception EX.FCT.5 Trace radar Vérifier l'efficaité du tir Présence de la cible EX.FCT.3 Rendre compte du tir CONST.1 Compte-rendu de tir AND Un module Component Encore un lien Ref. Un lien Un autre lien CONST.3 Un troisième module CONST.2 Un autre module Component 5 0 0 100 200 300 Activités projet Session 5 : Modélisation Support des processus Cycle de vie du projet Développement Ingénierie Réalisation Intégration Qualification Revue Revue Revue Revue Revue Revue Composants Besoin Spécification Définition Justification (matériel, logiciel, etc.) Exécution & Maintenance Retrait Production de modèles et de documents pour analyses EX.DOC.1 CdC Protection Document Intercepteur documente EX.REQ.1 documente EX.REQ.2 Activités techniques EX.ITEM.1.1 Altitude Item EX.ITEM.1 Coordonnées Item EX.ITEM.1.2 Secteur Item EX.ITEM InfoCible Item EX.ITEM.2 TypeCible Item EX.ITEM.3 Vitesse Modèles d exigences Item Component Modèles organiques EX.FCT.1 Acquérir une cible EX.FCT.2 Intercepter Attendre résultat négatif Ré-engager cible Attendre résultat positif EX.FCT.3 Rendre compte du tir EX.FCT.4 Assigner un intercepteur EX.FCT.5 Vérifier l'efficaité du tir Notifier Tir raté Notifier Tir réussi Simulations et analyses comportementales Le système Le système choisi un mode recherche des d'interception cibles Exigence Exigence conduit à conduit à EX.FCT.4 EX.FCT.1 Assigner un Acquérir une intercepteur cible Fonction Fonction allocated to allocated to DEFENSE.1 DEFENSE.2 Computer C3 Component Component Etudes d impact Modèles fonctionnels et dynamiques Analyses système et optimisation Transformation de modèle ENSTA B9-1 UML Novembre 2014 Diapositive N 63 Session 5 : Modélisation Support des processus Processus du projet Modèle de projet Planifier Identifier et réduire les risques Piloter Résoudre les problèmes Évaluer le projet Gérer la configuration Décider Gérer l information Modèle décisionnel, modèle de coût Processus contractuels Acquérir Fournir Modèle de besoin Processus techniques Modèle de risques Modèle d analyse de sûreté de fonctionnement Modèle d implémentation (Java, C++, CORBA) Capturer le besoin Implémenter (coder) Ingénierie Réalisation Analyser le besoin Intégrer Emploi opérationnel Concevoir l architecture Mettre en service Support en ingénierie Évaluer - Optimiser Qualifier Tests unitaires Prévoir les défaillances Vérifier l intégration Exploiter Maintenir Retirer du service ENSTA B9-1 UML Novembre 2014 Diapositive N 64

Session 5 : Modélisation Lien entre les modèles Les modèles sont liés L infrastructure méthodologique et d outils doit prendre en compte les échanges entre ces modèles ENSTA B9-1 UML Novembre 2014 Diapositive N 65 Session 5 Sommaire Profils UML Conception Adaptation d UML à l entreprise modélisation description des processus ingénierie logicielle choix des vues UML pattern ENSTA B9-1 UML Novembre 2014 Diapositive N 66

Session 5 : Description des processus SPEM SPEM (software process engineering metamodel specification) : permet de définir le cadre de travail d une entreprise : oprocessus : qu est ce que je fais? orôles : qui le fait? ojalon : quand le fait-il? oproduit : qu est ce que je produit? / lien avec UML outillé par Eclipse Modeling Framework ENSTA B9-1 UML Novembre 2014 Diapositive N 67 Session 5 : Description des processus Processus et méthodes ENSTA B9-1 UML Novembre 2014 Diapositive N 68

Session 5 : Description des processus Méthode ENSTA B9-1 UML Novembre 2014 Diapositive N 69 Session 5 : Description des processus Processus ENSTA B9-1 UML Novembre 2014 Diapositive N 70

Session 5 : Description des processus Guides Capitalisation de l expérience de l entreprise Exemples : checklist : série d éléments qui peuvent être complétés et vérifiés. Utilisés pour les revues. concept exemple : exemple de produit, tâche ou activité. bonne pratique : moyen prouvé d atteindre un objectif qui a fait ses preuves. canevas : organisation d un produit. ENSTA B9-1 UML Novembre 2014 Diapositive N 71 Session 5 Sommaire Profils UML Conception Adaptation d UML à l entreprise modélisation description des processus ingénierie logicielle choix des vues UML pattern ENSTA B9-1 UML Novembre 2014 Diapositive N 72

Session 5 : Ingénierie logicielle Processus Processus du projet Planifier Piloter Évaluer le projet Décider Identifier et réduire les risques Résoudre les problèmes Gérer la configuration Gérer l information Processus contractuels Acquérir Fournir Processus techniques Ingénierie Support en ingénierie Capturer le besoin Analyser le besoin Concevoir l architecture Évaluer - Optimiser Prévoir les défaillances Réalisation Qualifier Vérifier l intégration Implémenter (coder) Intégrer Mettre en service Tests unitaires Processus de dévelopement Emploi opérationnel inspiré de l ISO/IEC 15288 Exploiter Maintenir Retirer du service ENSTA B9-1 UML Novembre 2014 Diapositive N 73 Session 5 : Ingénierie logicielle Cycle en cascade Capturer le besoin Concevoir l architecture Implémenter (coder) Tests unitaires Intégrer Vérifier l intégration Qualifier Linéaire, retour limité en phase amont Échecs majeurs sur les gros systèmes : délais longs, test de l application globale, difficulté de définir les besoins en début de projet ENSTA B9-1 UML Novembre 2014 Diapositive N 74

Session 5 : Ingénierie logicielle Cycle en V Capturer le besoin besoins Qualifier Concevoir l architecture spécifications de l architecture Vérifier l intégration Intégrer Implémenter (coder) spécifications des composants Tests unitaires Hiérarchisation du système Variante : W (validation d une maquette avant la conception) ENSTA B9-1 UML Novembre 2014 Diapositive N 75 Session 5 : Ingénierie logicielle Imbrication des cycles Capturer le besoin besoins Qualifier Niveau système Concevoir l architecture spécifications de l architecture Vérifier l intégration Intégrer Capturer le besoin besoins Qualifier Niveau soussystèmes Concevoir l architecture spécifications de l architecture Intégrer Vérifier l intégration Implémenter (coder) spécifications des composants Tests unitaires Application du cycle en V aux différents niveaux de bloc système ENSTA B9-1 UML Novembre 2014 Diapositive N 76

Session 5 : Ingénierie logicielle UP : Activités Capture des besoins : recenser les besoins du système comprendre le contexte du système Analyse : identifier les concepts manipulés (modèle de domaine) identifier les classes participantes (classes d analyse) Conception : mettre à jour les données de l analyse en prenant en compte toutes les exigences structurer l architecture en sous-systèmes Réalisation : spécifier les caractéristiques d implémentation (frameworks, langages, etc.) Test : planifier et réaliser les tests ENSTA B9-1 UML Novembre 2014 Diapositive N 77 Session 5 : Ingénierie logicielle UP : Cycle de vie ENSTA B9-1 UML Novembre 2014 Diapositive N 78

Session 5 : Ingénierie logicielle UP : Concepts Itératif et incrémental : découper l ensemble du problème en petites itérations définies par les besoins et les risques Piloté par les besoins : guider les étapes par les besoins utilisateurs pour assurer l utilité du logiciel Piloté par les risques Centré sur l architecture : adapter et stabiliser l architecture au plus tôt pour permettre l évolutivité du logiciel et les contraintes de réalisation ENSTA B9-1 UML Novembre 2014 Diapositive N 79 Session 5 : Ingénierie logicielle UP : Modèles Modèle des cas d utilisation : représente le système vu de l extérieur, son insertion dans l organisation, ses frontières fonctionnelles Modèle d analyse : détaille les cas d utilisation et procède à une première répartition du comportement du système entre divers objets Modèle de conception : définit la structure statique du système sous forme de sous systèmes, classes et interfaces Modèle de d implémentation : lie le code et les classes de de conception Modèle de déploiement : spécifie les nœuds physiques et la distribution des composants Modèle de test : décrit les cas de test ENSTA B9-1 UML Novembre 2014 Diapositive N 80

Session 5 : Ingénierie logicielle UP : Avantages Limite les coûts, en termes de risques Limite les risques de retard de mise sur le marché du produit développé Accélère le rythme de développement grâce à des objectifs clairs et à court terme Prend en compte l évolution des besoins ENSTA B9-1 UML Novembre 2014 Diapositive N 81 Session 5 : Ingénierie logicielle RUP Une des plus célèbre implémentation de la méthode UP Navigation dans l outil RUP ENSTA B9-1 UML Novembre 2014 Diapositive N 82

Session 5 : Ingénierie logicielle Exemple pour la DGA PRODUIT DOCUMENTAIRE X Description ; Processus émetteur / récepteur. Canevas : - processus à réalisés; - formalismes de représentation ; - données d ingénierie manipulées. PROCESSUS X Description ; Entrées/Sorties; Sous processus: - Tâches; - Formalismes de représentation; - Données d ingénierie manipulées; - Problèmes rencontrés. FORMALISME X Description; Concepts manipulés; Exemples d utilisation; - Formalismes alternatifs. Références documentaires ; CONCEPT X Description; Synonymes; Processus utilisateurs; Exemples d utilisation ; Propriétés; Correspondances dans d autres langages. Manuel pour l ingénierie des systèmes Page du manuel lien ENSTA B9-1 UML Novembre 2014 Diapositive N 83 Session 5 Sommaire Profils UML Conception Adaptation d UML à l entreprise modélisation description des processus ingénierie logicielle choix des vues UML pattern ENSTA B9-1 UML Novembre 2014 Diapositive N 84

Session 5 : Choix des vues UML Objectifs Contexte Choix des diagrammes, de leur contenu, de leur niveau de détail ENSTA B9-1 UML Novembre 2014 Diapositive N 85 Session 5 : Choix des vues UML Capture des besoins Analyse Conception Réalisation Test Classes Objets Paquetage Composant Structure composite Modèle de domaine (entités) Valide le modèle Organise le modèle Modèle d'analyse et de conception Architecture logique Patterns de conception Modèles spécifiques de plateforme Déploiement Architecture physique Cas d'utilisation Cas d utilisation du système Cas d utilisation des sous-systèmes Cas de validation Interaction Comportement des cas d utilisation Comportement des classes d analyse, et des sous-systèmes Etats-transitions Comportement des opérations Activités Comportement des cas d utilisation, Activités de navigation ENSTA B9-1 UML Novembre 2014 Diapositive N 86

Session 5 Sommaire Profils UML Conception Adaptation d UML à l entreprise modélisation description des processus ingénierie logicielle choix des vues UML pattern ENSTA B9-1 UML Novembre 2014 Diapositive N 87 Session 5 : Pattern (patron) Description d une bonne pratique, solution récurrente à un problème standard Il permet le transfert de compétences Conséquences Problème Contexte Solution Bénéfices s adapte Patterns liés ENSTA B9-1 UML Novembre 2014 Diapositive N 88