La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ingénierie Système Introduction à lanalyse et et à la conception orientée objet 1 05/12/2013 Catherine Letondal

Présentations similaires


Présentation au sujet: "Ingénierie Système Introduction à lanalyse et et à la conception orientée objet 1 05/12/2013 Catherine Letondal"— Transcription de la présentation:

1 Ingénierie Système Introduction à lanalyse et et à la conception orientée objet 1 05/12/2013 Catherine Letondal

2 Objectifs pédagogiques Une 1 ère compréhension de lanalyse orientée objet ses raisons, ses objectifs Modélisation du domaine dune application trouver les classes et leurs relations application en TP (2h) : jeu de monopoly dossier IS : système de gestion de la scolarité pour lENAC UML : aperçu de la notation 2

3 Objectifs pédagogiques 3

4 Crédits, bibliographie Luis Basora et Rémi Lafage (ONERA) Craig Larman Coad & Yourdon Martin Fowler 4

5 Quest-ce que lanalyse et la conception ? Lanalyse met laccent sur linvestigation du problème et des besoins : Analyse objet : compréhension des concepts du domaine métier Analyse des besoins : fonctions, cas dutilisation La conception élabore une solution répondant aux besoins à partir de lanalyse Lanalyse pour construire le bon système et la conception pour construire bien le système (make the right thing vs make the thing right) 5

6 Quest-ce que lanalyse et la conception orienté objet (A/COO) ? Analyse OO : recherche et description des classes conceptuelles (concepts) du domaine et de leurs relations Ex. bibliothèque : ouvrage, prêt, catalogue… un prêt concerne un ouvrage un catalogue liste des ouvrages Conception OO : spécification des classes logicielles à partir de ces concepts, et de la façon dont leurs instances collaborent pour satisfaire les besoins utilisateurs Ex. lobjet logiciel « Livre » a un attribut « titre : String » et une méthode « getChapitre() : Chapitre » 6

7 Produits de lA/COO La conception doit produire la spécification dune solution implémentable Spécification faite de plus en plus en utilisant des modèles graphiques (diagrammes UML) Un modèle de lA/COO = ensemble diagrammes UML + éléments du diagramme (classes, cas dutilisation, objets, etc.) + documents textuels 7

8 Notation UML Standard OMG très répandu dans lindustrie Né de la fusion de notations de plusieurs méthodes Langage visuel qui permet lélaboration de modèles Notation très vaste UML 2 : 13 diagrammes différents UML nest pas une méthode Méthode = notation (ex. UML) + processus de développement + outils Lutilisation concrète dUML dépend du processus de développement choisi par le chef du projet 8

9 Perspectives dutilisation UML UML peut être utilisé pour modéliser depuis plusieurs perspectives Point de vue conceptuel Les diagrammes sont interprétés comme décrivant des entités du monde réel ou du domaine dintérêt Point de vue des spécifications (logicielles) Les diagrammes décrivent des composants logiciels sans préciser une implémentation Point de vue de limplémentation Les diagrammes décrivent les implémentations logicielles dans une technologie particulière (Java, C++, …) 9

10 Une « classe » dans les différentes perspectives Analyse Conception Codage 10

11 Façons dappliquer UML (I) UML en mode esquisse (sketching) Diagrammes informels et incomplets (souvent tracés à la main) créés pour expliciter un problème ou pour explorer une solution UML en mode plan (blueprint) Diagrammes de conception détaillés pour la pro-ingénierie (génération de code à partir des diagrammes) ou rétro- ingénierie (génération des diagrammes à partir du code) La génération de code nest que partielle Le développeur doit compléter (et parfois corriger) le code généré 11

12 Façons dappliquer UML (II) UML comme langage de programmation Spécification complète et exécutable dun système logiciel en UML Code exécutable généré automatiquement à partir des modèles UML qui na pas besoin dêtre revu ni modifié par les développeurs Requiert des outils UML puissants et des diagrammes très détaillés Toujours en cours de développement en termes de théorie, de robustesse doutils et de facilité dutilisation 12

13 UML en mode esquisse ne pas hésiter à dessiner, discuter autour dun tableau blanc (+ photos) les diagrammes servent à réfléchir et visualiser : ils peuvent être partiels 13

14 UML mode blueprint ou programmation bouml.free.fr 14

15 Processus de développement Vu le nombre dactivités possible entre lanalyse des besoins et limplémentation, comment une équipe de développeurs doivent-ils procéder? Les activités A/COO doivent sinscrire dans le contexte dun processus de développement Beaucoup de processus existants : Processus classiques : cascade, cycle en V Processus Unifié (UP) : RUP, 2TUP, … Processus agiles : eXtreme programming, Scrum, … 15

16 Etude de cas A/COO avec UML Gestion du panier dune librairie web 16

17 Besoins Le site doit permettre aux internautes de : rechercher des ouvrages par thème, auteur, mot-clef, etc., se constituer un panier virtuel, puis de pouvoir les commander et les payer directement sur le Web. Nous nous restreindrons à la fonctionnalité de gestion du panier virtuel. 17

18 A/COO avec UML (UP agile) Analyse objet Conception objet Analyse de besoins 18

19 Modèle de cas dutilisation Description du UC « Gérer son panier » Préconditions : néant. Scénario nominal : 1. LInternaute enregistre les ouvrages qui lintéressent dans un panier virtuel (voir le cas dutilisation Rechercher des ouvrages). 2. LInternaute demande laccès à son panier. 3. Le Système lui affiche létat de son panier. Chaque ouvrage qui a été préalablement sélectionné est présenté sur une ligne, avec son titre, son auteur et son numéro ISBN. Son prix unitaire est affiché, la quantité est positionnée à « 1 » par défaut, et le prix total de la ligne est calculé. Le total de la commande est calculé par le Système et affiché en bas du panier avec lindication des frais de port. 4. LInternaute valide son panier en demandant à effectuer une commande. Extensions 3-4a. Le panier est vide 1. Le système affiche un message derreur à lInternaute (« Votre panier est vide ! ») et lui propose de revenir à une recherche douvrage. 4a. LInternaute modifie les quantités des lignes du panier, ou en supprime. 1. LInternaute revalide le panier en demandant le recalcul du total 2. Le Système met à jour le total calculé du panier et le cas dutilisation reprend à létape 4 du scénario nominal. 4b. LInternaute effectue une nouvelle recherche douvrage (voir le cas dutilisation correspondant). 1. Le cas dutilisation reprend à létape 1 du scénario nominal. Exigences non-fonctionnelles Le panier de linternaute est sauvegardé pendant toute la durée de sa visite sur le site Web. 19

20 Modèle de cas dutilisation Diagramme de séquence système (DSS) Modélise la séquence dinteractions acteur-système correspondant à un scénario dun UC (« Gérer son panier ») Identifie les événements auxquels le système doit réagir Le système « jeBouquine.com » est représenté comme une boîte noire : Les classes implémentant la fonctionnalité sont identifiées plus tard (modèle conception) UML - Diagramme de séquence 20

21 Modèle du domaine Diagramme de classes conceptuel En analysant la description du UC « Gérer son panier », on identifie les concepts métier, comme « Panier », « Livre »,... On modélise ces concepts sous forme de diagrammes de classes contenant uniquement des attributs et des associations On nidentifie pas dopérations (à attendre à la conception) UML - Diagramme de classes 21

22 Architecture en couches Modèle de conception Conception préliminaire - Architecture Architecture modulaire Présentation, interactions : classes IHM Logique applicative, dialogue : isole lIHM de la complexité de la couche métier Logique Métier : classes métier Stockage : responsable de la persistance des objets en BD ou fichiers UML – Diagramme de packages Cours A/COO 22

23 Modèle de conception Diagrammes séquence conception (DSC) DSSDSC 23 Le système est composé de plusieurs classes Les opérations des classes sont identifiées Les objets collaborent avec lenvoi de messages afin dimplémenter les opérations système (ex. supprimerLigne() )

24 Modèle de conception Diagrammes séquence conception (DSC) DSSDSC 24 A faire en parallèle avec les diagrammes de classe conception (DCC) DSC surtout utile pour les opérations complexes

25 Modèle de conception Diagrammes classe conception (DCC) A réaliser en parallèle avec les DSC Créer les classes de conception métier et applicatives (présentation, dialogue) dans les packages UML de larchitecture Classes métier créées à partir des classes du modèle du domaine Ajouter les opérations aux classes correspondantes aux messages des DSC Affiner les associations (indication de navigabilité, ajout de dépendances, …) Ajouter des types aux attributs En fonction du nombre de classes, un ou plusieurs DCC pour chaque package de larchitecture 3 DCC 25

26 Soyez agile et itératifs ! Les description des cas dutilisation et des diagrammes UML ne sont jamais parfaits Ne pas adopter lattitude du processus en cascade en déployant toujours plus deffort pour obtenir des spécifications exactes et exhaustives Entre la démarche en cascade et la « programmation sauvage » existe le développement itératif et incrémental Dans cet approche, les différents modèles sont progressivement affinés, vérifiés et clarifiés grâce à la programmation et aux tests 26


Télécharger ppt "Ingénierie Système Introduction à lanalyse et et à la conception orientée objet 1 05/12/2013 Catherine Letondal"

Présentations similaires


Annonces Google