2 Conception objet et UML 3 Sources ● Cours de Martine Gauthier ● Cours de François Charoy ● Slides de Lou Franco ●

Slides:



Advertisements
Présentations similaires
Les limites de l’UML Présenté par : Samah Dekhil 1.
Advertisements

Parcours de Professionnalisation Epreuve E6 BTS SIO OPTION SISR Ngouma Lorris.
Reformulation  L’AFPA promoteur du projet souhaite mettre en place une application WEB afin de remplacer une solution en Java. Pour ce projet 4 mandataires.
Le Processus Unifié de Rational Laurent Henocque Enseignant Chercheur ESIL/INFO France
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
1 Construire une séquence en technologie A)La construction de la séquence par l'enseignant ● Exemples : modélisation du réel en 5° B)La séquence vécue.
1 Programmation Orientée Objet ● Qu'est-ce qu'un objet ● Collaboration des objets ● Les classes ● Relations entre les classes – “Utilise”, “Contient”,
RMLL 2008 Isis-FISH/Gesi Benjamin Poussin Code Lutin
Développement d'applications Web avec le framework PHP Symfony 2 Mathieu Peltier (Mercator Océan - CNRS) (UMS 831, Observatoire Midi-Pyrénées)
1 Créer un extension OpenOffice.org avec Eclipse Créer une extension OpenOffice.org avec Eclipse.
Refonte du portail eaufrance Présentation du cadre de référence pour avis GCIB – 14/10/2014 – Anne Macaire.
Que faire? La recherche découverte. Dans une recherche découverte Sensibilisation ; Discussion ; Préparation-projet ; Opération-activités ; Réflexion.
Plan Présentation de 2TUP 2TUP, un processus UP 2TUP et UML Les apports de 2TUP 2TUP en détail 2TUP dans la pratique.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
Les Méthodes De Conception Dans les Systèmes D’information Réaliser par : Bouriche Imane Gramez Nadjet 2014/2015 Université Ferhat Abbas – Sétif Faculté.
LES PRATIQUES D’EVALUATION EN SVT DEFINITIONS OBJECTIFS MODALITES
Anti-Patterns pour la modélisation des processus de développement
temporelle – fréquentielle –Stabilité diagrammes de Bode / Nyquist
Le Cycle de vie d’un logiciel
Les Bases de données Définition Architecture d’un SGBD
Processus de développement agile
MOT Éditeur de modèles de connaissances par objets typés
- PREPARATION ou SYNTHESE => garder la mention utile.
FENIX Aperçu GLOBALE DU Système
Virtualisation d’applications mobiles dans un réseau de Cloudlets
TECHNOLOGIE 6EME DEFI TECHNO 2016
Démarche qualité sur les chantiers du génie civil
ANALYSE FONCTIONNELLE GLOBALE DU PRODUIT
Langage de Modélisation UML
Démarche de conception. Démarche didactique.
Présentation des EJB Enterprise Java Beans.
Notion De Gestion De Bases De Données
LES IDE DE CONCEPTION Myriam BAKAYOKO Manon RAJAONARIVELO Jeremy MICHEL André NOEL Guillaume GEBAVI Arthur AGERON Fabien SIMON - G6S2.
Langage de modélisation graphique de système
Groupe d’élaboration des normes financières et comptables
Programmation Orientée Objet
Électrotechnique Énergie Équipements Communicants
Structuration du contenu
Développement d’applications interactives
Integrated Business intelligence
Diagrammes UML 420-KE2-LG.
Programmation Android Première application Android
PROJET D’ORGANISATION DES PROCESSUS
5 Analyse avec Designer d'Oracle
Présentation des nouveaux programmes de Technologie Mai 2008
Modélisation objet avec UML
Architectures Logicielles Java GLG203 GLG204
Base de donnée de support
Doc.Eurostat/C1/DWP/Oct00/VIII/point3-FR
7 Contraintes d’intégrité en SQL
Méru - Bernadette Aubry
La démarche de projet industriel
Bilan de projet pour [Nom du projet]
Le projet comme support d’apprentissage
Explorer le monde Se repérer dans le temps et dans l'espace
Intégration Clore le projet ou la phase Elaborer la charte
EPITECH 2009 UML EPITECH 2009
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
et de la Recherche Scientifique
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Points de vue et sémantiques ad hoc
Introduction générale -
Design, innovation et créativité
Le Projet Personnel et Professionnel
Modélisation des SI et de la connaissance
UC : Diagramme des cas d’utilisation Req : Diagramme d’exigence
National Instruments Leadership Seminar
MOT Éditeur de modèles de connaissances par objets typés
Transcription de la présentation:

2 Conception objet et UML

3 Sources ● Cours de Martine Gauthier ● Cours de François Charoy ● Slides de Lou Franco ● UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd Edition – Martin Fowler – Le site de reférence

4

5 Le développement des logiciels Etude des besoins Analyse Conception Implémentation Validation

6 Etude des besoins ● Quel est l’objectif ? – définir les besoins des utilisateurs, – définir les fonctionnalités attendues du système, – préciser les contraintes non fonctionnelles, concernant par exemple le matériel, le temps de réponse,... ● Qui est concerné ? – le client – les personnes chargées de la mise en place du cahier des charges ; il est souhaitable que ces personnes aient des connaissances dites « métier ». ● Synonymes : analyse des besoins, cahier des charges

7 Analyse ● Quel est l’objectif ? – modéliser le système de façon à mettre en évidence les aspects statiques et dynamiques, à partir de l’étude des besoins ● Aspects statiques – quelles sont les classes qui vont être utiles ? – quels sont les liens entre ces classes ? ● Aspects dynamiques – comment s’enchaînent les activités ? ● Qui est concerné ? – les analystes

8 Conception ● Quel est l’objectif ? – Affiner le modèle d’analyse de façon à prendre en compte les contraintes non fonctionnelles, la gestion de l’interface graphique, la communication avec des bases de données,... ● Qui est concerné ? – les concepteurs – les architectes logiciel

9 Implémentation ● Quel est l’objectif ? – Implanter les classes de conception dans un langage donné, sur une machine donnée, en s’aidant éventuellement d’outils ● Qui est concerné ? – les programmeurs ● Synonyme : programmation

10 Validation ● Quel est l’objectif ? – Vérifier que le système réalisé est conforme aux exigences définies par le cahier des charges ● Différentes sortes de tests – tests unitaires : tester chaque « morceau » – tests d’intégration : tester l ’intégration de « morceaux » – tests du système : tester le logiciel lui-même ● Qui est concerné ? – les testeurs ● Synonyme : test

11 Unified Modeling Language ● UML est né d'un besoin de standardisation de méthodes de développement. ● 1994 = Fin de la guerre des méthodes – Rumbaugh et Booch décident d’unifier leurs travaux relativement proches (Rational). – Ils seront rejoints par Jacobson. ● Résultats satisfaisants très rapidement – Les différentes versions sont relatives à des problèmes de notation et non pas à des problèmes de sémantique.

Problems have many solutions

Design is about choosing one

Why model?

To visualize

To communicate Electronic schematic of GEE radar (AMES type 7000) used in second world war by the allies

To emphasize DaVinci’s Flush Toilet

The UML is a standard graphical notation for describing object-oriented software systems

Use UML to visualize, communicate, and emphasize your choices

Goal: Understand this

And this

22 Définition ● UML se définit comme étant un langage de modélisation graphique et textuel, destiné à – comprendre et décrire des besoins, – communiquer – spécifier, – documenter des systèmes, – esquisser des architectures logicielles, – concevoir des solutions. ● Utilisé pour le développement de systèmes à forte composante logicielle – banques, télécommunications, transports, aérospatiale, commerce, sciences, …

23 13 diagrammes ● Diagrammes structurels – Classes : Classes et relations – Objets : configuration d'instances – Composants : Structure et connections entre composants – Déploiement – Package : structure hiérarchique de compilation – Composite Structure : composition d'une classe à l'exécution ● Diagrammes comportementaux – Cas d’utilisation : interaction des utilisateurs – Etats : impact des événements sur les objets – Activités : Comportement procédural et parallèle – Diagrammes d'interactions ● Séquence : interactions entre objets (séquentielles) ● Communication : Interaction entre objets (collaboration) ● Interaction : diagramme de séquence et d'activité ● Timing : interactions entre objets (temporelles)

24

25 Méta-modèle ● Les différents concepts UML ont été formalisés en UML. – définition récursive ● Construction d’un méta-modèle – décrit formellement les éléments de modélisation, ainsi que la syntaxe et la sémantique permettant de les manipuler ; – permet de faire la preuve de la puissance d’expression de la notation, capable (entre autres) de se représenter elle-même ; – sert de description de référence pour la construction d’outils.

26 Atouts ● Adapté à toutes les phases du développement ● Ouvert, grâce à un mécanisme d’extension ● Indépendant des langages de programmation ● Défini récursivement ● Supporte les concepts de développement de haut niveau – Patterns, composants, frameworks

27 Critiques ● Modèles potentiellement lourds, illisibles ● Profusion de diagrammes ● Vérification de cohérence complexe ● Retarde le moment de la programmation.  Par confusion, les critiques visent UML, alors qu’elles concernent plutôt le processus de développement.

28 Les processus de développement ● Développement en cascade – Analyse/conception/code/test ● Développement itératif – Release courte – Implantation d'un sous-ensemble des fonctionnalités – Test de regression automatique – Refactoring – Integration continue

29 Processus unifié ● Processus de développement défini par les concepteurs d’UML. – UML est donc le langage de modélisation préconisé ● Caractéristiques d'un processus unifié (UP) – incrémental, – construit autour de la création et la maintenance de modèles, – itératif, – orienté composant : vise la réutilisation, – orienté utilisateur : la spécification et la conception sont construites à partir des modes d'utilisation attendus.

30 Planification Besoins Analyse et conception Implémentation Déploiement Tests Evaluation Planification initiale

31 En pratique … ● Apprendre la notation UML au travers d’exemples. – Se référer régulièrement à la norme. ● Comment s’y retrouver dans les diagrammes ? – Tous ne sont pas systématiquement utiles, … et on peut même en imaginer d’autres. – Certains sont spécifiques à une étape du développement, d’autres non. – Quantité n’est pas synonyme de qualité.

32 En pratique (suite) ● Développer une application, en suivant un processus de développement bien défini, en décrivant les modèles en UML. – Les UP sont complexes et inadaptés à l’apprentissage. – Processus de développement simplifié ● Utiliser un outil qui permet de gérer des descriptions UML. – Ils gèrent tous les diagrammes. – Certains sont capables de produire de la documentation, de générer des squelettes de programme,... – D'autres font un peu de reverse engineering, … – Il n'en existe pas de miraculeux ! Juste des payants et des gratuits …

33 ● Analyse des besoins – Diagrammes de cas d’utilisation ● Décrire les fonctions du système selon le point de vue de ses futurs utilisateurs – Diagrammes d’activités ● Décrire l’activité du système – Diagrammes de séquences ● Décrire l’interaction entre Homme et Système –Descriptions textuelles des cas d'utilisation Processus de développement simplifié

34 Analyse ● Diagrammes de classes – Décrire les structures de données du système, définies comme un ensemble de relations entre classes. – Faire abstraction de de ce qui est extérieur au système (IHM, SGBD, …) ● Diagrammes de séquence – Décrire les interactions entre objets lors de la réalisation de chaque fonctionnalité ● Diagrammes d’états – Décrire le comportement d’une famille d’objets en termes d’états et de transitions entre états

35 Conception ● Diagrammes de classes – Décrire les structures de données du système, définies comme un ensemble de relations entre classes (plus de restriction) ● Diagrammes de séquence – Décrire les interactions entre objets dans la réalisation d’une fonctionnalité (en incluant les nouveaux objets) ● Diagrammes de composants – Décrire l’architecture des composants physiques ● Diagrammes de déploiement – Décrire le déploiement des composants sur les dispositifs matériels

36 ● Adieu UML ? – Si l’outil utilisé est sympathique, une partie du code est généré. ● Squelettes de classes – Ou full round-trip engineering – Le reste (tout … ) doit être écrit à la main, en accord avec les différents diagrammes. – Et les tests – Et l'intégration ● Validation Implémentation

37 UML et MDA ● Model Driven Architecture...

Conclusion ● UML is a standard graphical notation for describing object-oriented software ● Use UML to visualiza, communicate end emphasize your choices ● Use UML and MDA to generate your applications...