Ingénierie Système. Introduction à l analyse et et à la conception orientée objet

Dimension: px
Commencer à balayer dès la page:

Download "Ingénierie Système. Introduction à l analyse et et à la conception orientée objet"

Transcription

1 Ingénierie Système Introduction à l analyse et et à la conception orientée objet 1 Catherine Letondal catherine.letondal@enac.fr 05/12/2013

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

3 Objectifs pédagogiques définir de façon exhaustive les caractéristiques techniques formaliser les besoins définir l'usage Analyse fonctionnelle Conception participative Analyse orientée objet susciter la coévolution besoinssolution 3

4 Bibliographie Craig Larman Coad & Yourdon Martin Fowler 4

5 Qu est-ce que l analyse et la conception? L analyse met l accent sur l investigation du problème et des besoins : Analyse objet : compréhension des concepts du domaine métier Analyse des besoins : fonctions, cas d utilisation La conception élabore une solution répondant aux besoins à partir de l analyse L analyse 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 Qu est-ce que l analyse 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. l objet logiciel «Livre» a un attribut «titre : String» et une méthode «getchapitre() : Chapitre» 6

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

8 Notation UML Standard OMG très répandu dans l industrie 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 n est pas une méthode Méthode = notation (ex. UML) + processus de développement + outils L utilisation concrète d UML dépend du processus de développement choisi par le chef du projet 8

9 Perspectives d utilisation 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 d inté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 l implé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 Monde réel Analyse Livre titre auteur 1 * Chapitre titre Point de vue conceptuel (modèle du domaine) Diagramme de classes servant à visualiser les concepts du monde réel Conception Livre titre : String auteur : string gettitre() : String getauteur : String getchapitres : List<Chapitres> * Chapitre titre : String gettitre() : String Point de vue des spécifications ou de l'implémentation (diagramme de classes de conception) Diagramme de classes servant à visualiser les éléments logiciels Codage public class Livre { private String titre; private String auteur; private List<Chapitre> chapitres; public class Chapitre { private String titre;... } Code Java élaboré à partir de la spécification logicielle (classes conception) 10 } gettitre() { return titre; }...

11 Façons d appliquer 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étroingénierie (génération des diagrammes à partir du code) La génération de code n est que partielle Le développeur doit compléter (et parfois corriger) le code généré 11

12 Façons d appliquer UML (II) UML comme langage de programmation Spécification complète et exécutable d un système logiciel en UML Code exécutable généré automatiquement à partir des modèles UML qui n a 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 d outils et de facilité d utilisation 12

13 UML en mode esquisse ne pas hésiter à dessiner, discuter autour d un 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 d activités possible entre l analyse des besoins et l implémentation, comment une équipe de développeurs doivent-ils procéder? Les activités A/COO doivent s inscrire dans le contexte d un 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 d une librairie web

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 Analyse de besoins Conception objet 18

19 Modèle de cas d utilisation Description du UC «Gérer son panier» Préconditions : néant. Scénario nominal : 1. L Internaute enregistre les ouvrages qui l intéressent dans un panier virtuel (voir le cas d utilisation Rechercher des ouvrages). 2. L Internaute demande l accè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 l indication des frais de port. 4. L Internaute valide son panier en demandant à effectuer une commande. Extensions 3-4a. Le panier est vide 1. Le système affiche un message d erreur à l Internaute («Votre panier est vide!») et lui propose de revenir à une recherche d ouvrage. 4a. L Internaute modifie les quantités des lignes du panier, ou en supprime. 1. L Internaute revalide le panier en demandant le recalcul du total 2. Le Système met à jour le total calculé du panier et le cas d utilisation reprend à l étape 4 du scénario nominal. 4b. L Internaute effectue une nouvelle recherche d ouvrage (voir le cas d utilisation correspondant). 1. Le cas d utilisation reprend à l étape 1 du scénario nominal. Exigences non-fonctionnelles 19 Le panier de l internaute est sauvegardé pendant toute la durée de sa visite sur le site Web.

20 Modèle de cas d utilisation Diagramme de séquence système (DSS) Modélise la séquence d interactions acteur-système correspondant à un scénario d un 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) 20 UML - Diagramme de séquence

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 n identifie pas d opérations (à attendre à la conception) UML - Diagramme de classes 21

22 Modèle de conception Conception préliminaire - Architecture Architecture modulaire Présentation, interactions : classes IHM Logique applicative, dialogue : isole l IHM 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 Cours A/COO Architecture en couches UML Diagramme de packages 22

23 Modèle de conception Diagrammes séquence conception (DSC) Le système est composé de plusieurs classes Les opérations des classes sont identifiées Les objets collaborent avec l envoi de messages afin d implémenter les opérations système (ex. supprimerligne() ) 23 DSS DSC

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

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 l architecture 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 l architecture 25 3 DCC

26 Soyez agile et itératifs! Les description des cas d utilisation et des diagrammes UML ne sont jamais parfaits Ne pas adopter l attitude du processus en cascade en déployant toujours plus d effort 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

27 Ingénierie Système Analyse orientée objet (AOO) Catherine Letondal 05/12/2013

28 Pourquoi l AOO? (Coad&Yourdon 1993) meilleur abord des questions du domaine meilleure interaction expert domaine / analyste meilleure cohérence des résultats de l analyse représentation explicite des éléments communs production de spécifications résistantes au changement meilleure réutilisation représentation de base cohérente et continue pour l analyse et la conception 2

29 L analyse objet dans la démarche A/ COO Analyse objet + diagrammes état- transi/on (classes complexes) + organisa/on classes en packages UML 3

30 Qu est-ce qu un modèle du domaine? La quintessence de l étape AOO réside dans la description des concepts fondamentaux du domaine, et de leurs relations. Une classe représente un concept, c-a-d la description abstraite d un ensemble d objets ex : la classe Livre représente les livres Les classes contiennent les attributs pertinents au domaine Ex : le prix d un livre Ex : on s en fiche de la couleur du livre Synonymes : modèle du domaine modèle conceptuel modèle objet du domaine 4 modèle objet d analyse

31 Le modèle du domaine est un dictionnaire visuel Un modèle du domaine est une représentation visuelle des concepts dans un domaine donné, avec un diagramme de classes UML qui met en relation les termes ou concepts du domaine Les informations du modèle du domaine pourraient être présentées sous forme de texte, dans un glossaire par exemple, mais la représentation graphique facilite la compréhension et la communication des termes et de leurs relations UML - Diagramme de classes 5

32 Pourquoi créer un modèle du domaine? Pour comprendre le domaine et communiquer Pour réduire le décalage des représentations (ou décalage sémantique) entre nos modèles logiciels et mentaux Modèle logiciel d un programme de paie de 1953 : Modèle logiciel moderne (orienté objet) : Monde réel Point de vue conceptuel (modèle du domaine) Livre titre auteur 1 * Chapitre titre Diagramme de classes servant à visualiser les concepts du monde réel Livre titre : String auteur : string gettitre() : String getauteur : String getchapitres : List<Chapitres> * Chapitre titre : String gettitre() : String Point de vue des spécifications ou de l'implémentation (diagramme de classes de conception) Diagramme de classes servant à visualiser les éléments logiciels 6 public class Livre { private String titre; private String auteur; private List<Chapitre> chapitres; } gettitre() { return titre; }... public class Chapitre { private String titre;... } Code Java élaboré à partir de la spécification logicielle (classes conception)

33 Gestion de la complexité abstraction : ignorer certains aspects non pertinents encapsulation : cacher le détail, le volatile exprimer et utiliser les similitudes relier les objets la modélisation utilise 3 méthodes d organisation constamment utilisées par les hommes : distinguer entre des objets et leurs attributs (arbre, sa taille, son âge, etc...) distinguer entre les objets et leurs parties (arbre et racines, branches,...) généralisation, identification de classes d objets (tous les arbres)

34 Comment procéder pour créer un modèle du domaine? 1. Identifier les concepts (ou objets) du domaine (classes conceptuelles) 2. Identifier les relations entre les objets (associations) 3. Identifier les caractéristiques significatives des objets (attributs) 8

35 Le modèle de domaine ne représente pas d objets logiciels Une classe du domaine représente une entité du monde réel et non des classes logicielles Java ou C++ Les éléments suivants ne doivent pas y figurer : Les artefact logiciels, comme les fenêtres IHM ou les bases de données, à moins que le domaine ne soit lui-même composé d objets logiciels, par exemple un modèle d interfaces utilisateur graphiques Les attributs typés ou les méthodes (du ressort de la conception) 9

36 Comment identifier les classes conceptuelles? Méthode 1 : observer, discuter, lire Méthode 2 : réutiliser ou modifier des modèles existants Il existe des modèles du domaine publiés et de bonne facture pour de nombreux domaines : gestion stocks, finances, ATM, etc. Ex. Analysis Patterns (Martin Fowler), Data Model Patterns (David Hay), Data Model Ressources Book (Len Silverston) Méthode 3 : Utiliser une liste de catégories Méthode 4 : Identifier des groupes nominaux 10

37 Ex. Terminal Point de Vente (TPV) Cas d utilisation «Traiter une vente» Scénario nominal : 1. Le Client arrive à la caisse avec des marchandises et/ou services à acheter. 2. Le Caissier commence une vente. 3. Le Caissier entre le code de l article. 4. Le Système enregistre l article et présente sa description, son prix et le total en cours. Le Caissier répète 3 et 4 pour tous les articles. 5. Le Système présente le total incluant les taxes calculées. 6. Le Caissier communique le montant total au Client et en demande le paiement. 7. Le Client paie et le Système traite son règlement. 8. Le Système enregistre la vente et transmet les informations la concernant et celles concernant le règlement au système de Comptabilité externe et au système de Gestion de stock. 9. Le Système génère un reçu. 10. Le Client quitte le point de vente avec ses achats et son reçu. Extensions : 7a. Paiement en espèces : 1. Le Caissier saisit le montant reçu en espèces. 2. Le Système affiche le solde dû et ouvre le tiroir-caisse. 3. Le Caissier encaisse le montant et rend la monnaie en espèces au Client. 4. Le Système enregistre le paiement en espèces. 11

38 Méthode 2 : Utiliser une checklist (catégories de classes prévisibles) 1. Actions ou transactions métier (ex. Vente, Paiement) 2. Lignes d une transaction (ex. LigneArticles, LignePanier) 3. Produit ou service lié à une action/transaction ou à une ligne d une transaction (ex. Article, Livre) 4. Où l action est-elle enregistrée? (ex. Caisse enregistreuse, Panier) 5. Rôle des personnes ou des organisations liées à l action; acteurs dans les cas d utilisation (ex. Internaute, Client) 6. Lieu de l action; lieu de service (ex. Site, Magasin) 7. Evénements notables, souvent à un moment ou dans un lieu que vous devrez mémoriser (ex. Vente, Paiement) 8. Objets physiques (ex. Article, Livre) 9. Descriptions d entités (ex. DescriptionProduit, DescriptionLivre) 10. Catalogues, listes (ex. CatalogueProduits, CatalogueLivres) 11. Conteneurs d objets physiques ou d informations (ex. Magasin, Panier) 12. Contenu d un conteneur (ex. Article, Livre) 13. Systèmes externes (ex. SysPaiementCarteBleue) 14. Documents financiers, contrats, documents légaux (ex. Reçu, Facture) 15. Instruments financiers (ex. Espèces, Chèque, LigneCrédit) 16. Plannings, manuels, documents régulièrement consultés pour effectuer un travail (ex. MiseAjourTarifs) 12

39 Méthode 3 : Identifier des groupes nominaux Cette technique consiste à repérer les noms et les groupes nominaux dans la description textuelle d un domaine, et à les considérer comme des classes conceptuelles ou des attributs possibles Les cas d utilisation sont une excellente description qui peut servir de base à cette analyse (ex. «Traiter une vente») Les documents (ex. exigences), la mémoire des experts métier, etc. représentent d autres sources possibles Certains groupes nominaux peuvent devenir des classes conceptuelles, d autres désigner des classes à ignorer lors de cette itération et d autres sont des attributs de classe Points faibles de la technique : l imprécision du langage naturel Différents groupes nominaux peuvent représenter la même classe conceptuelle ou le même attribut Certains concepts apparaissent comme des verbes et certains groupes 13 nominaux sont des substantivations

40 Identifier les classes conceptuelles du domaine TPV Liste de classes générée à partir de la liste de catégories et l analyse des groupes nominaux Vente, PaiementEnEspèces, LigneArticles, Article, Registre (caisse), GrandLivre, Caissier, Client, Magasin, DescriptionProduit, CatalogueProduits Diagramme de classes initial (attributs et association à ajouter) 14

41 Identifier les classes conceptuelles du domaine TPV Exclure les objets non pertinents pour le(s) UC pris en compte dans l itération courante ex : ticket de caisse : informations déjà dans les autres classes retour d articles : pas dans les cas d utilisation pris en compte pour l instant Nom des classes : nommer est une activité de modélisation éviter les codes vocabulaire du domaine noms clairs et représentatifs 15

42 Comment modéliser avec des classes de «description»? Appliquer le pattern «Item-Descriptor» consistant à créer une classe de description avec les informations supplémentaires (parfois appelée métaclasse) Quand faut-il l appliquer? Lorsque : Ex. : Des Produits ou Services nécessitent une description La suppression d instances d une entité qu elle décrit (ex. Article) entraîne la perte d une information qui doit être mémorisée Elle réduit la redondance ou la duplication des informations 16

43 Ajout des associations Une association représente une relation plus ou moins durable entre deux classes Ex1. une personne peut posséder des voitures. La relation «Possède» est une association entre les classes Personne et Voiture Ex2. une Vente contient des lignes d article. «Contient» est une association pour mémoriser les instances de LigneArticles associées à une instance de Vente. Sinon nous ne pourrions pas reconstituer les ventes, ni imprimer le reçu Il s agit d une relation significative du point de vue conceptuel : pas de flot de données, de fonction, d interaction ponctuelle Comment les représenter? Par une ligne entre deux classes avec un nom Les extrémités d une association, appelées rôles, peuvent contenir un nom et une indication de multiplicité indiquant une relation numérique entre les instances des classes Signification de la notation pour la multiplicité : «pour un objet de la classe A, combien d objets de la classe B?» A B 17

44 Ajout des associations * zéro ou plus ; plusieurs 1..* un ou plus De un à 40 Exactement 5 18

45 Checklist d associations courantes 1. A est une action liée à une action B (PaiementEnEspèces Vente) 2. A est un élément d une action B (LigneArticles-Vente) 3. A est un produit pour une action B (Article-LigneArticle) 4. A est un rôle lié à une action B (Client-Paiement) 5. A est une partie logique ou physique de B (Tiroir-Caisse enregistreuse) 6. A est physiquement ou logiquement contenu dans B (Caisse-Magasin) 7. A est une description de B (DescriptionProduit-Article) 8. A est connu/consigné/enregistré/saisi dans B (Vente-Caisse) 9. A est un membre de B (Caissier-Magasin) 10. A est une sous-unité organisationnelle de B (Rayon-Magasin) 11. A utilise, gère ou possède B (Caissier-Caisse) 12. A est voisin de B (Article-Article) 19

46 Modèle du domaine TPV avec des associations 20

47 Ajout des attributs Faites figurer les attributs quand les exigences ou les cas d utilisation suggèrent la nécessité de mémoriser des informations Ex. Vente (dateheure), Magasin (nom, addresse) Dans un modèle du domaine, les attributs doivent être des types de données «primitifs» Booléen, Date, Nombre, Chaîne de caractères, Heure Autres types courants : Adresse, Couleur, Géométrie (Point, Rectangle), Numéro de téléphone, Numéro de Sécurité sociale, Codes postaux, types énumérés, etc. Un attribut ne doit pas être un concept complexe du domaine, comme Vente Conseillé 21 Déconseillé

48 Attribut ou classe? L erreur la plus courante lors de la création d un modèle du domaine consiste à représenter quelque chose comme un attribut alors qu il devrait s agir d une classe conceptuelle Ex. Le terme suggère une entité dotée d existence juridique, une organisation occupant un espace : Magasin doit donc être une classe conceptuelle. 22

49 Attributs dérivés L attribut «total» d une Vente est calculé à partir des informations contenues dans chaque LigneArticles. Quand nous voulons exprimer le fait que 1) un attribut est important; et 2) il est dérivable, nous appliquons une convention UML : le symbole «/» devant le nom de l attribut L attribut «quantité» est également dérivé Ce concept n existant pas dans les langages objet, le concepteur devra le transformer soit en un attribut «normal», soit en une opération (méthode) 23

50 Modèle du domaine TPV avec des attributs 24

51 Affinement d un modèle du domaine Généralisation-spécialisation Modélisation des changements d état Classes association Agrégation/composition Structuration en packages 25

52 Généralisation-spécialisation Les concepts PaiementEnEspèces, PaiementACrédit et PaiementParChèque présentent de nombreuses similitudes Dans cette situation, il est utile de les organiser en une hiérarchie de classes, dans laquelle la super-classe Paiement représente un concept général, et les sous-classes des concepts spécialisés La généralisation est l activité qui consiste à identifier les éléments communs aux différents concepts, et à définir des relations de super-classe et sous-classe Cela permet une expression plus économique, une meilleure compréhension du modèle et une réduction des redondances 26 Déconseillé Conseillé

53 Modélisation des changements d état Ne modélisez pas les différents états possibles d un concept X comme des sous-classes de X Deux solutions possibles : Définir une hiérarchie d états et les associer à X Ignorer la représentation des états dans les modèle du domaine, et les représenter dans les diagrammes d états Déconseillé Conseillé 27

54 Classes association On peut ajouter des attributs à une association via la notion de classe-association Ex. association «autoriser paiement» Les services d autorisation attribuent un code vendeur à chaque magasin pour pouvoir l identifier lors des transactions Toute demande d autorisation de paiement émise par le magasin doit porter le code Chaque magasin peut avoir autant de codes différents qu il utilise de 28 services d autorisation

55 Agrégation/composition Une agrégation est un cas particulier d association non symétrique exprimant une relation de contenance Les agrégations n on pas besoin d être nommées : implicitement signifient «contient», «est composé de» Une composition est une agrégation plus forte impliquant que : Un élément ne peut appartenir qu à un seul agrégat composite (agrégation non partagée) La destruction de l agrégat composite entraîne la destruction de tous ses éléments (le composite est responsable du cycle de vie des parties) Conseils : 29 Abstenez-vous d utiliser l agrégation : une association normale suffit en général La composition est plus utile, mais dans le doute, abstenez-vous aussi

56 Conclusion et conseils méthodologiques Il n existe pas de modèle du domaine correct : tous les modèles sont des approximations du domaine qu on essaye de comprendre Le modèle du domaine est un outil d analyse et de communication qui capture les abstractions et les informations essentielles pour comprendre le domaine : ses concepts, sa terminologie et ses relations Evitez l état d esprit «en cascade» qui implique un gros effort de modélisation pour produire un modèle du domaine exhaustif et «correct» Une telle «surmodélisation» engendre une paralyse analytique (paranalysis) : soyez donc agile! Limitez la modélisation du domaine à quelques heures par itération Le modèle du domaine peut être affiné dans des itérations successives : démarche itérative et incrémentale! Utilisez autant que possible des patterns d analyse existants Ex. ouvrages : Analysis Patterns (Martin Fowler), Data Model Patterns (David Hay), Data Model Ressources Book (Len Silverston) 30

57 Ingénierie Système Vers la conception objet Catherine Letondal 05/12/2013

58 La conception objet dans la démarche A/COO on a un modèle du domaine, on a des fonctions : et ensuite...? allouer des responsabilités aux classes trouver les classes logicielles décrire leurs interactions Conception objet + organisation classes en packages UML (composants) = Architecture logique

59 Modèles statiques et modèles dynamiques Il existe deux sortes de modèles objet : dynamiques et statiques Les modèles dynamiques comme les diagrammes séquence : Aident à concevoir la logique comportementale, le corps des méthodes dans le code Tendent à être les plus difficiles et les plus intéressants à créer Les modèles statiques tels que les diagrammes de classe ou de packages : Permettent de définir les packages, les noms de classes, les attributs et les signatures des méthodes, mais pas le corps de celles-ci Modèle dynamique Modèle statique

60 Diagrammes de séquence de conception (DSC) UML fournit des diagrammes d interaction qui permettent de représenter la façon dont les objets interagissent via des messages On les utilise dans le cadre de la modélisation dynamique On va présenter succinctement la notation des diagrammes de séquence qui sont les diagrammes dynamiques les plus utilisés public class A { private B monb = new B(); public void messageun() { monb.messagedeux(); monb.messagetrois(); } }

61 Lien entre diagramme de séquence et modèle de classes

62 Conception pilotée par les responsabilités (CPR) Nous pouvons penser la conception des objets logiciels (et des composants à plus grand échelle) en termes de responsabilités, de rôles et de collaborations Ces notions font partie d une approche plus vaste nommée conception piloté par les responsabilités (CPR) Dans le CPR, les objets ont deux types de responsabilités : savoir et faire Les responsabilités de faire d un objet peuvent être : Faire quelque chose lui-même, par exemple créer un autre objet ou effectuer un calcul Déclencher une action d un autre objet Contrôler et coordonner les activités d autres objets Les responsabilités de savoir d un objet peuvent être : Connaître les données privées encapsulées Connaître les objets connexes Connaître des éléments qu il peut dériver ou calculer

63 CPR (suite) Les responsabilités sont affectées aux classes d objets lors de la conception objet Ex. Vente a la responsabilité de créer les objets de la classe LigneArticles (faire) et connaître son total (savoir) Les objets du domaine inspirent souvent les responsabilités liées au «savoir» (à partir des attributs) La traduction des responsabilités en classes et méthodes est influencée par la granularité de celles-ci Ex. la responsabilité «fournir un accès à une BD relationnelle» peut nécessiter deux cents classes et des milliers de méthodes En revanche, la responsabilité de «créer une Vente» ne demandera peut-être qu une seule méthode dans une seule classe

64 Cartes CRC

65 Cartes CRC

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

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Génie logiciel avec UML Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique Claude Boutet Session hiver 2008 Modélisation de systèmes Table des matières TABLE DES

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Table des matières Sources

Table des matières Sources Table des matières Modélisation objet avec UML... 2 Introduction... 2 Modèle de système informatique :... 2 Pourquoi UML pour la modélisation Objet?... 3 Représentation dynamique du système... 5 Le diagramme

Plus en détail

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

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21 INSA - ASI TechnoWeb : Rappels UML 1/21 Technologie Web Conception de sites Web Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Rappels UML 2/21

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

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

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

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

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier. chapitre1 Besoins utilisateurs Quelle démarche pour passer des besoins au code?? UNIFIED MODELING LANGUAGE package LogiqueMetier.Gestion; import LogiqueMetier.Catalogue.Livre; import java.util.*;public

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

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

UML est-il soluble dans les méthodes agiles? Pascal ROQUES Valtech Training UML est-il soluble dans les méthodes agiles? octobre 07 Résumé On entend beaucoup parler actuellement de deux approches ayant l'air fondamentalement opposées : l'approche

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Formation : Modélisation avec UML 2.0 et Mise en pratique

Formation : Modélisation avec UML 2.0 et Mise en pratique Formation : Modélisation avec et Mise en pratique Durée : sur 4 Jours soit 28 heures ou sur 5 Jours soit 35 heures Présentation Stage UML (Unified Modeling Language) est la notation standard qui s'est

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

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

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

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

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement Conduite de projet Méthode d analyse et de conception Processus unifié G. Picard SMA/G2I/ENS Mines Saint-Etienne gauthier.picard@emse.fr Octobre 2009 Sommaire!!Objectifs d un processus d ingénierie logicielle!

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

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

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

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

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées

Plus en détail

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

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

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)

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) 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) Module 1 : Programmer une application informatique Durée

Plus en détail

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

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning EXERCICES UML 1 ) Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur). Seuls les enseignants

Plus en détail

Cours Gestion de projet

Cours Gestion de projet Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA

Plus en détail

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

Génie Logiciel Avancé Cours 3 Le modèle à objets Génie Logiciel Avancé Cours 3 Le modèle à objets Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/zack/teaching/1112/gla/ Copyright

Plus en détail

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML. Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : Remy.Courdier@univ-reunion.fr Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel

Plus en détail

3. UML - Unified Modeling Language Diagrammes statiques

3. UML - Unified Modeling Language Diagrammes statiques 3. UML - Unified Modeling Language Diagrammes statiques Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Méthodologies Orientées-Objet!

Méthodologies Orientées-Objet! MAI NFE103 Année 2013-2014 Méthodologies Orientées-Objet! F.-Y. Villemin (f-yv@cnam.fr) Plan!!Les différentes méthodologies! Démarche! Cycle de vie!!rational Unified Process (RUP)!!La méthode Layman!!Notre

Plus en détail

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

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Concevoir et déployer un data warehouse

Concevoir et déployer un data warehouse Concevoir et déployer un data warehouse Ralph Kimball Éditions Eyrolles ISBN : 2-212-09165-6 2000 2 Le cycle de vie dimensionnel Avant d étudier de plus près les spécificités de la conception, du développement

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM) Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Plus en détail

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)

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) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

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

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

CINEMATIQUE DE FICHIERS

CINEMATIQUE DE FICHIERS ANDRE ANTHONY BRUNEAU Vincent JOUANNIN ROMAIN MAZEAUD MARINE RIOCHET Tony Groupe 609 CINEMATIQUE DE FICHIERS Mini-projet: Gestion de Ventes d'articles Enseignant: MONCEAUX Laura Année 2011 / 2012 TABLE

Plus en détail

M1 : Ingénierie du Logiciel

M1 : Ingénierie du Logiciel M1 : Ingénierie du Logiciel UNIVERSITE PIERRE & MARIE CURIE (PARIS VI) Examen Réparti 2eme partie 16 Mai 2013 (2 heures avec documents : tous SAUF ANNALES CORRIGEES). Barème indicatif sur 20,5 points (max

Plus en détail

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

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe

Plus en détail

Le Guide Pratique des Processus Métiers

Le Guide Pratique des Processus Métiers Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016

Plus en détail

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)

Plus en détail

Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013

Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013 Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013 Illustration de couverture : Clément Pinçon Dunod, Paris, 2014 ISBN 978-2-10-071038-6 Préface

Plus en détail

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

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine

Plus en détail

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...) Avant-propos 1. À qui s'adresse ce livre? 15 2. Pré-requis 15 3. Objectifs du livre 16 4. Notations 17 Introduction à la Business Intelligence 1. Du transactionnel au décisionnel 19 2. Business Intelligence

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT UML FOR BUSINESS INTELLIGENCE PROJECT Abstract : this document deals with the role of UML into business intelligence projects (like data warehousing). After a quick overview of what UML offers, it focuses

Plus en détail

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Christian Soutou UML 2 pour les bases de données Avec 20 exercices corrigés Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Chapitre 4 Outils du marché : de la théorie à la pratique Non mais t as déjà

Plus en détail

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez... Au programme Conception Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille 1 Présentation L UE COO est le prolongement immédiat de l UE POO du S4 informatique. cf. http://portail.fil.univ-lille1.fr/portail/ls4/poo

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte 1Les bases : vos objectifs 2 Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Plus en détail

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

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

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

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational IBM Software Group Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational Fernard Bonaguidi fernand.bonaguidi@fr.ibm.com

Plus en détail

Génie logiciel (Un aperçu)

Génie logiciel (Un aperçu) (Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

Plus en détail

Méthode Agile de 3 ème génération. 2008 J-P Vickoff

Méthode Agile de 3 ème génération. 2008 J-P Vickoff PUMA Essentiel Méthode Agile de 3 ème génération 1 Structure de la présentation PUMA Essentiel méthode Agile de 3 ème génération Quelques principes Agiles Principales pratique Agile de pilotage Structure

Plus en détail

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE Université de Fribourg, Suisse Département d'informatique Bachelor en informatique de gestion ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE CELUI-CI PAR DE NOUVELLES FONCTIONNALITES Travail de séminaire

Plus en détail

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr IT203 : Systèmes de gestion de bases de données A. Zemmari zemmari@labri.fr 1 Informations pratiques Intervenants : Cours : (A. Zemmari zemmari@labri.fr) TDs, TPs : S. Lombardy et A. Zemmari Organisation

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

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

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

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

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

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

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

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

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Projet de Java Enterprise Edition

Projet de Java Enterprise Edition Projet de Java Enterprise Edition Cours de Master 2 Informatique Boutique en ligne L objectif du projet de JEE est de réaliser une application de boutique en ligne. Cette boutique en ligne va permettre

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Roques. Programmeur UML 2. Modéliser une une application web. 4 e e édition

Roques. Programmeur UML 2. Modéliser une une application web. 4 e e édition les lescahiers du du Programmeur UML 2 Modéliser une une application web Pascal Pascal Roques Roques 4 e e édition les Cahiers du Programmeur UML2 Du même auteur P. Ro q u e s. UML 2 par la pratique. N

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

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

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

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

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

WHITE PAPER Une revue de solution par Talend & Infosense

WHITE PAPER Une revue de solution par Talend & Infosense WHITE PAPER Une revue de solution par Talend & Infosense Master Data Management pour les données de référence dans le domaine de la santé Table des matières CAS D ETUDE : COLLABORATION SOCIALE ET ADMINISTRATION

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail