Méthodes avancées pour les systèmes d information

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

Download "Méthodes avancées pour les systèmes d information"

Transcription

1 Méthodes avancées pour les systèmes d information Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon Laëtitia Matignon ISI3 - Méthodes avancées pour les systèmes d information / 76

2 Adresses utiles http ://liris.cnrs.fr/laetitia.matignon/enseignementsisi3.html transparents de cours (sans correction des exercices) énoncés de TD/TP (à venir) quelques corrigés de TD bibliographie Laëtitia Matignon ISI3 - Méthodes avancées pour les systèmes d information / 76

3 Organisation pédagogique 5 séances CM/TD (5 4h) 3 séances TP (3 4h) Contrôle continu : travaux pratiques/projet, contrôles rapides éventuels en cours d année Examen écrit final ( ) Laëtitia Matignon ISI3 - Méthodes avancées pour les systèmes d information / 76

4 Objectif Comprendre ce qu est un système d information dans ses différentes dimensions Définition d un Système d Information Un SI est un ensemble organisé de ressources : matériel, logiciel, personnel, données, procédures... permettant d acquérir, de traiter, de stocker des informations (sous formes de données, textes, images, sons,...) dans et entre des organisations. Laëtitia Matignon ISI3 - Méthodes avancées pour les systèmes d information / 76

5 Objectifs Rappels de programmation orientée objet Modélisation, implémentation Exemples en Java et C++ Savoir exprimer les besoins fonctionnels d un système d information Utiliser de façon naturelle les principaux diagrammes UML Diagrammes statiques Diagrammes dynamiques Utiliser des patrons de conception Processus de conception des SI Laëtitia Matignon ISI3 - Méthodes avancées pour les systèmes d information / 76

6 1. Rappels de programmation orientée objet Laëtitia Matignon Département Informatique - Polytech Lyon Université Claude Bernard Lyon Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

7 Objectifs du cours Rappel des concepts fondamentaux de la POO Notion d objet Classe / Abstraction Encapsulation des données / traitements Généralisation / Héritage Polymorphisme de traitement et d héritage Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

8 Plan Notion d objet informatique 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

9 Notion d objet informatique Notion d objet en informatique Peut correspondre à une entité concrète (animal, véhicule,...) ou abstraite, conceptuelle (compte utilisateur, unité d enseignement,...) Regrouper dans un composant des caractéristiques qui concernent une entité informatique structure de données ensemble d attributs variables avec nom, type, valeur les opérations liées à cette entité ensemble de fonctions appelées méthodes nom, valeur de retour, paramètres Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

10 Notion d objet informatique Qu est-ce qu un objet? Etat d un objet Ensemble des valeurs des attributs de l objet à un instant donné L état d un objet évolue au cours du temps Les valeurs sont également des objets ( liens entre objets) Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

11 Notion d objet informatique Qu est-ce qu un objet? Comportement d un objet Regroupe les compétences d un objet et décrit les actions et réactions de cet objet Ensemble d opérations/méthodes que l objet peut effectuer demarrer, rouler, stopper, ajouter essence Chaque opération est déclenchée par l envoi d un message mavoiture.demarrer(), mavoiture.ajouter essence(15) Etat et comportement liés l état est modifié par le comportement le comportement à un instant donné dépend de l état courant mavoiture.demarrer() ne marchera pas si mavoiture.volume essence==0 Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

12 Notion d objet informatique Qu est-ce qu un objet? Identité d un objet Existence propre de l objet Ce qui identifie l objet de manière non-ambiguë Indépendante de l état 2 objets différents peuvent avoir le même état Attribuée implicitement à la création de l objet Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

13 Notion d objet informatique Liens entre objets Pour envoyer un message à un objet, il faut le connaître L objet Le conducteur connaît l objet Ma voiture Connaitre un objet revient à avoir une référence qui lui correspond Attributs, variables, paramètres de méthodes,... Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

14 Notion d objet informatique Les objets : en bref Cohérence interne des objets données + traitements Faible couplage entre l objet et l environnement envoi de messages entre objets qui se connaissent Insertion dans un scénario de communication par envoi de messages objets clients : à l origine d une interaction objets serveurs : répondent à la sollicitation en général : client et serveur Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

15 Notion d objet informatique Les objets : en bref Cohérence interne des objets données + traitements Faible couplage entre l objet et l environnement envoi de messages entre objets qui se connaissent Insertion dans un scénario de communication par envoi de messages objets clients : à l origine d une interaction objets serveurs : répondent à la sollicitation en général : client et serveur Que nous manque-t-il? Décrire abstraitement de la même manière des objets ayant même structures de données (attributs) même comportement (méthodes) Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

16 Plan Notion de classe 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

17 Les classes Notion de classe Regroupement d objets ayant le même comportement Abstraction décrivant les propriétés communes des objets qui en sont des instances Une classe peut décrire une infinité d instances Un objet sait toujours à quelle classe il appartient Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

18 Notion de classe Les classes : Implémentation Java Student.java... p u b l i c c l a s s Student { // A t t r i b u t s p r i v a t e i n t number ; p r i v a t e S t r i n g surname ;... // Methodes p u b l i c Student ( ) { number = 0 ; surname = STUDENT ; } p u b l i c v o i d setnumber ( i n t n ) { number = n ; } p u b l i c i n t getnumber ( ) { r e t u r n number ; }... } ; Mode d accès (public, private, protected), également appelé visibilité, spécifié avant chaque attributs ou méthodes (cf. sur l encapsulation) Définition des méthodes (écriture du corps des fonctions) dans la définition de la classe, dans un unique fichier.java Obligatoirement un source.java par classe Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

19 Notion de classe Les classes : Implémentation C++ Student.h c l a s s Student { // A t t r i b u t s p r i v a t e : i n t number ; s t d : : s t r i n g surname ;... // Methodes p u b l i c : Student ( ) { number = 0 ; surname = STUDENT ; } v o i d SetNumber ( i n t n ) ; i n t GetNumber ( ) c o n s t ;... } ; Student.cpp #i n c l u d e Student. h v o i d Student : : SetNumber ( i n t n ) { number = n ; } i n t Student : : GetNumber ( ) c o n s t { r e t u r n number ; }... Mode d accès (public, private, protected) spécifié par lot Définition des méthodes (écriture du corps des fonctions) Dans la définition de classe (.h) : méthodes inline (plutôt pour les petites fonctions) En dehors de la définition de la classe (.cpp) : le plus courant Autant de classes que l on veut par fichier.h En mémoire, lors de l exécution, une classe est identique à une structure Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

20 Notion de classe Les classes : Objet courant this Accès à l objet courant au sein d une méthode... p u b l i c Student ( ) { t h i s. number = 0 ; t h i s. surname = STUDENT ; } Student ( ) { t h i s >number = 0 ; t h i s >surname = STUDENT ; }... Peut être omis la plupart du temps Utile pour lever l ambiguïté, lorsqu un paramètre porte le même nom qu un attribut Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

21 Notion de classe Les classes : Instanciation et appel de méthodes Une variable de type Student allouée = une instance de la classe Student Java ne supporte que l allocation dynamique de mémoire (allocation dans le TAS), tandis que C++ gère également l allocation statique (allocation dans la PILE). Student s t 1 = new Student ( ) ; // C r e a t i o n d une n o u v e l l e i n s t a n c e ( dynamiquement dans l e TAS) s t 1. setnumber ( ) ; Student s t 1 ; // C r e a t i o n d une n o u v e l l e i n s t a n c e ( dans l a p i l e ) Student pst2 = new Student ( ) ; // C r e a t i o n d une n o u v e l l e i n s t a n c e ( dans l e t a s ) v i a p o i n t e u r s t 1. setnumber ( ) ; pst2 >setnumber ( ) ; d e l e t e pst2 ; // D e s a l l o c a t i o n Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

22 Notion de classe Dans un programme OO On définit des classes leurs attributs, et visibilité leurs méthodes, et visibilité On instancie des objets à partir des classes On lance/gère la collaboration envoi de messages à des objets Exécution du programme : des objets qui s envoient des messages qui changent d état Objet = état + comportement + identité Attributs Méthodes (référence) Classe Abstraction Définit une infinité d objets instances Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

23 Plan Concepts importants en OO 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO Encapsulation Héritage Polymorphisme 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

24 Plan Concepts importants en OO Encapsulation 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO Encapsulation Héritage Polymorphisme 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

25 Encapsulation Concepts importants en OO Encapsulation Concept fondamental : protection de l information contenue dans un objet Garantit l intégrité de l objet (exemple : évite les affectations par erreur, = au lieu de ==!) Garantit la cohérence éventuelle entre plusieurs attributs inter-dépendants (exemple : un tableau dynamique et sa taille) Masque en partie le fonctionnement interne d une classe : respecte la notion de Type Abstrait de Donnée (facilite la prise en main du code dans un premier temps) Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

26 Encapsulation Concepts importants en OO Encapsulation Notion de visibilité L accès aux membres de la classe est différent selon que l on se trouve à l intérieur ou à l extérieur de la classe A l intérieur de la classe, tout est permis A l extérieur de la classe, le programmeur ne voit que ce que la classe veut bien lui montrer 3 niveaux de visibilité pour les membres (attributs et méthodes) : Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

27 Encapsulation Concepts importants en OO Encapsulation Notion de visibilité L accès aux membres de la classe est différent selon que l on se trouve à l intérieur ou à l extérieur de la classe A l intérieur de la classe, tout est permis A l extérieur de la classe, le programmeur ne voit que ce que la classe veut bien lui montrer 3 niveaux de visibilité pour les membres (attributs et méthodes) : public : accessibles à tous protected : accessibles seulement aux classes dérivées (voir héritage) private : accessibles seulement au sein de la classe elle-même Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

28 Encapsulation Concepts importants en OO Encapsulation Student.java c l a s s Student { // A t t r i b u t s p r i v a t e : i n t number ; s t d : : s t r i n g surname ;... // Methodes p u b l i c : Student ( ) ; v o i d SetNumber ( i n t n ) ; i n t GetNumber ( ) c o n s t ;... } ; StudentPair.java p u b l i c c l a s s S t u d e n t P a i r { p r i v a t e Student st1, s t 2 ;... p u b l i c S t r i n g getsurnames ( ) { S t r i n g s ; s = s t 1. surname + + s t 2. surname ; } //??? } ; Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

29 Concepts importants en OO Encapsulation Encapsulation : Accesseurs et mutateurs Accesseurs Méthodes get...() : lecture d un attribut Objet non modifié Retour = une copie (valeur) de l attribut Mutateurs Méthodes set...() : écriture d un attribut (et éventuellement, d attributs dépendants) Objet modifié Type de retour = void ou un type indiquant un statut (modification effectuée ou non,...) Si possible, un couple accesseur/mutateur par attribut Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

30 Concepts importants en OO Encapsulation Encapsulation : Accesseurs et mutateurs p u b l i c c l a s s Student {... p r i v a t e S t r i n g surname ;... p u b l i c S t r i n g getsurname ( ) { r e t u r n surname ; } p u b l i c v o i d setsurname ( S t r i n g s ) { surname = new S t r i n g ( s ) ; }... } ; c l a s s Student { p r i v a t e :... s t d : : s t r i n g surname ;... p u b l i c : v o i d SetSurname ( s t d : : s t r i n g &s ) { surname = s ; } s t d : : s t r i n g GetSurname ( ) c o n s t { r e t u r n surname ; }... } ; Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

31 Membre statique Concepts importants en OO Encapsulation Un membre statique est partagé par toutes les instances de la classe Utile pour implémenter une propriété (variable ou constante) commune à toutes les entités d une même classe : attributs/méthodes de classe Similaire à une variable ou fonction globale, mais interne à une classe Accès possible avec ou sans instance de la classe Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

32 Membre statique Concepts importants en OO Encapsulation Exemple : tout étudiant doit obtenir 180 crédits pour valider une licence Student.h Student.java p u b l i c c l a s s Student {... p u b l i c s t a t i c i n t c r e d i t s = ;... } ;... Autre.java... Student s t 1 = new Student ( ) ; Student s t 2 = new Student ( ) ; System. out. p r i n t l n ( Student. c r e d i t s ) ; // 180 System. out. p r i n t l n ( s t 1. c r e d i t s ) ; // 180 System. out. p r i n t l n ( s t 2. c r e d i t s ) ; // 180 Student. c r e d i t s = ;... c l a s s Student {... p u b l i c : s t a t i c i n t c r e d i t s ;... Student.cpp #i n c l u d e Student. hpp i n t Student : : c r e d i t s = ; // i n i t i a l i s a t i o n o b l i g a t o i r e m e n t en d e h o r s de l a c l a s s e Autre.cpp Student st1, s t 2 ; cout<<student : : c r e d i t s <<e n d l ; // 180 cout<<s t 1. c r e d i t s <<e n d l ; // 180 Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

33 Plan Concepts importants en OO Héritage 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO Encapsulation Héritage Polymorphisme 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

34 Héritage Concepts importants en OO Héritage Concept fondamental : transmission des caractéristiques d une classe vers une sous-classe en faisant dériver une nouvelle classe d une classe existante Mise en place d une hiérarchie de classes (spécialisation, généralisation) Une sous-classe hérite des attributs et des méthodes de sa super-classe Une sous-classe peut ajouter/adapter des caractéristiques (attributs et méthodes) Évite la duplication et encourage la réutilisation Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

35 Concepts importants en OO Héritage Héritage simple : Implémentation Conserve la visibilité Un membre privé sera inaccessible même dans les classes dérivées En Java, par défaut, toute classe hérite de Object A.java p u b l i c c l a s s A { p r i v a t e i n t i ; p r o t e c t e d i n t j ; p u b l i c i n t k ; p u b l i c A( ) { i = 0 ; j = 0 ; k = 0 ; } } ; B.java p u b l i c c l a s s B e x t e n d s A { p u b l i c B( ) { i = 0 ; //??? j = 0 ; //??? k = 0 ; //??? } } ; Autre.java p u b l i c c l a s s Autre { p r i v a t e A a ; p r i v a t e B b ; // a e t b a l l o u e s dans l e c o n s t r u c t e u r... p u b l i c v o i d setalltoone ( ) { a. i = 1 ; //??? a. j = 1 ; //??? a. k = 1 ; //??? b. i = 1 ; //??? b. j = 1 ; //??? b. k = 1 ; //??? } } ; Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

36 Concepts importants en OO Héritage Héritage simple : Implémentation A.h c l a s s A { p r i v a t e : i n t i ; p r o t e c t e d : i n t j ; p u b l i c : i n t k ; A( ) { i = 0 ; j = 0 ; k = 0 ; } } ; B.h #i n c l u d e A. hpp c l a s s B : p u b l i c A { p u b l i c : B( ) { i = 0 ; // E r r e u r : i e s t p r i v e dans A j = 0 ; // Ok : j e s t p r o t e g e dans A k = 0 ; // Ok : k e s t p u b l i c } } ; En C++, l héritage lui-même peut être privé (pas d équivalent Java, donc non détaillé ici) Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

37 Plan Concepts importants en OO Polymorphisme 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO Encapsulation Héritage Polymorphisme 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

38 Polymorphisme Concepts importants en OO Polymorphisme Concept fondamental : une même opération peut s appliquer à des objets de classes différentes et avoir un comportement adapté à ces objets Augmente la généricité et la qualité du code 2 types de polymorphisme : polymorphisme de traitement (ad-doc, overloading) : mécanisme de surcharge des méthodes polymorphisme de données polymorphisme d héritage (redéfinition, sous-typage, masquage, inclusion, spécialisation... overriding) : un même code peut être appliqué à des données de types différents liées entre elles par une relation d héritage polymorphisme paramétrique (généricité, template) : un même code peut être appliqué à n importe quel type Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

39 Concepts importants en OO Polymorphisme Polymorphisme de traitement : surcharge de méthodes Définir deux méthodes ayant le même nom, mais pas la même signature (type et/ou nombre arguments différents) Le compilateur choisit la méthode à utiliser en fonction du type des paramètres p r i v a t e s t a t i c i n t a d d i t i o n ( i n t x, i n t y ) { System. out. p r i n t l n ( a d d i t i o n n e des i n t ) ; r e t u r n x + y ; } p r i v a t e s t a t i c f l o a t a d d i t i o n ( f l o a t x, f l o a t y ) { System. out. p r i n t l n ( a d d i t i o n n e des f l o a t ) ; r e t u r n x + y ; } Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

40 Concepts importants en OO Polymorphisme Polymorphisme d héritage : redéfinition de méthodes Possibilité de définir le comportement d une méthode selon le type d objet l invoquant Méthode redéfinie donne une nouvelle implémentation à une méthode héritée sans changer sa signature Une méthode redéfinie peut être complètement différente de la méthode de base, ou bien réutiliser celle-ci en effectuant des opérations supplémentaires (super en Java, :: en C++) Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

41 Concepts importants en OO Polymorphisme Polymorphisme d héritage : redéfinition de méthodes Point.java p u b l i c c l a s s P o i n t { p r i v a t e i n t x, y ; // A t t r i b u t s de P o i n t... p u b l i c P o i n t ( ) {... } ; p u b l i c v o i d a f f i c h e ( ) { System. out. p r i n t l n ( x+, +y ) ; } } PointCouleur.java Point.h c l a s s P o i n t { p r i v a t e : i n t x, y ; p u b l i c : P o i n t ( ) {... } v o i d a f f i c h e ( ) { cout<<x<< <<y<<e n d l ; }... } ; PointCouleur.h #i n c l u d e P o i n t. h c l a s s P o i n t C o u l e u r : p u b l i c p u b l i c c l a s s P o i n t C o u l e u r P o i n t { e x t e n d s P o i n t { p r i v a t e : p r i v a t e i n t c o u l e u r ; //... // A t t r i b u t s sup A t t r i b u t s p u b l i c : s u p p l e m e n t a i r e s P o i n t C o u l e u r ( ) {... }... v o i d a f f i c h e ( O v e r r i d e { P o i n t : : a f f i c h e ( ) ; // p u b l i c v o i d a f f i c h e ( ) { Appel a a f f i c h e ( ) de s u p e r. a f f i c h e ( ) ; P o i n t System. out. p r i n t l n ( cout<< C o u l e u r : <<t h i s C o u l e u r : + t h i s. >c o u l e u r ; c o u l e u r ) ; } } } ; Laëtitia } Matignon ISI3-1. Rappels de programmation orientée objet / 76

42 Concepts importants en OO Polymorphisme Polymorphisme d héritage : méthode virtuelle Méthode virtuelle est destinée à être redéfinie dans une classe dérivée Le type d instance (classe fille ou mère) détermine la méthode réelle à appeler lors de l exécution (résolution dynamique de liens) P o i n t p ; i f (... ) p = new PointCouleur ( ) ; e l s e p = new P o i n t ( ) ; p. a f f i c h e ( ) ; Point pp ; i f (... ) pp = new PointCouleur ( ) ; e l s e pp = new P o i n t ( ) ; pp >a f f i c h e ( ) ; En Java, les méthodes sont virtuelles par défaut. p.affiche() fait appel à la méthode de la classe réellement instanciée avec new même si p a été déclaré de type Point. En C++, les méthodes ne sont pas virtuelles par défaut. pp->affiche() appelle toujours la méthode de Point (résolution statique des liens). Pour y remédier, la méthode doit être déclarée virtual dans Point. Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

43 Concepts importants en OO Polymorphisme Polymorphisme d héritage : méthode virtuelle pure, classe abstraite Une méthode virtuelle pure ou abstraite est déclarée sans être définie, et est donc destinée à être obligatoirement (re)définie dans une classe dérivée (abstract en Java, =0 en C++) Une classe est dite abstraite si elle contient au moins une méthode virtuelle pure (abstract en Java) Sert à définir des concepts incomplets qui seront complétés dans les sous-classes. Ne peut pas être instanciée, et est donc destinée à être dérivée. En java, une classe peut être déclarée abstraite sans contenir de méthode abstraite p u b l i c a b s t r a c t c l a s s P o i n t { p r i v a t e i n t x, y ;... p u b l i c P o i n t ( ) {... } ; p u b l i c a b s t r a c t v o i d a f f i c h e ( ) ; } c l a s s P o i n t { p r i v a t e : i n t x, y ; p u b l i c : P o i n t ( ) {... } v i r t u a l v o i d a f f i c h e ( ) = 0 ; Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

44 Héritage multiple Concepts importants en OO Polymorphisme Héritage multiple autorisé en C++, pour bénéficier des opérations de plusieurs classes mères Exemple : un véhicule amphibie est à la fois terrestre et aquatique Terrestre.h Aquatique.h c l a s s T e r r e s t r e {... p u b l i c : v o i d move ( ) ; } c l a s s Aquatique {... p u b l i c : v o i d swim ( ) ; } Amphibie.h c l a s s Amphibie : p u b l i c T e r r e s t r e, p u b l i c Aquatique {... } Amphibie dispose à la fois des méthodes move() et swim(), qu elle peut redéfinir Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

45 Interface Concepts importants en OO Polymorphisme Héritage multiple impossible en Java : utilisation d interfaces Une interface est un prototype de classe. Elle définit la signature des méthodes qui doivent être implémentées dans les classes construites à partir de ce prototype. Une interface est une classe purement abstraite dont toutes les méthodes sont abstraites et publiques. Une classe peut implémenter plusieurs interfaces Le concept équivalent en C++ est la classe virtuelle pure, où toutes les méthodes sont virtuelles pures. Terrestre.java Aquatique.java p u b l i c i n t e r f a c e T e r r e s t r e {... p u b l i c v o i d move ( ) ; } ; p u b l i c i n t e r f a c e Aquatique {... p u b l i c v o i d swim ( ) ; } Amphibie.java p u b l i c c l a s s Amphibie implements T e r r e s t r e, Aquatique { // Amphibian d o i t d e f i n i r l e s methodes move ( ) e t swim ( ) p u b l i c v o i d move ( ) {... } p u b l i c v o i d swim ( ) {... } } Laëtitia Matignon ISI3-1. Rappels de programmation orientée objet / 76

46 Concepts importants en OO Polymorphisme 2. Capture des besoins et diagramme de cas d utilisation Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

47 Objectifs du cours Concepts importants en OO Polymorphisme Rappel des concepts fondamentaux de la POO Notion d objet Classe / Abstraction Encapsulation des données / traitements Généralisation / Héritage Polymorphisme de traitement et d héritage Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

48 Plan Capture des besoins 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

49 Capture des besoins Qu est-ce qu un cahier des charges? Définition Le cahier des charges est un document recensant les spécifications et exigences. Il résulte de l analyse et est contractuel entre le client et l entreprise qui va réaliser le logiciel. Il doit donc être validé par les deux. Qualités attendues : non-ambigu complet vérifiable cohérent modifiable traçable utilisable durant la maintenance indépendant des solutions (cf. norme IEEE 830 Pratiques recommandées pour la spécification des exigences logicielles (SEL) ) Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

50 Plan type Capture des besoins introduction : présentation générale, motivations, définitions des termes contexte : environnement matériels (architecture du parc informatique, débit,...) et humains (futurs utilisateurs, langues,...), acteurs et utilisateurs, interactions spécifications fonctionnelles : grandes fonctionnalités du système, acteurs et autres systèmes impliqués spécifications non fonctionnelles, contraintes : charte graphique, matériel, interfaçage, performances, sécurité, charge à supporter, comportement en cas de panne organisation : priorité des spécifications, versions à prévoir, délais évolutions à prévoir annexes Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

51 Capture des besoins Comment rédiger un cahier des charges? Conseils fondamentaux être précis et organisé s aider de notations et diagrammes standards De nombreuses méthodes peuvent être utilisées norme IEEE 830 pour la rédaction des spécifications organisation : numérotation, tableaux, schémas, exemples diagrammes UML : présentation des fonctionnalités (diagramme de cas d utilisation) scénarios (d interaction) : illustration des cas d utilisation complexes entretiens réguliers avec le client et validations observation des utilisateurs prototypage rapide Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

52 Capture des besoins Analyse des besoins Conclusion Expression des besoins Comprendre le contexte du système en s accordant sur ce qui doit être fait dans le système Comprendre et structurer les besoins du client Elaborer un cahier des charges Recenser les besoins fonctionnels et les définir par des cas d utilisations Noter les contraintes, exigences non fonctionnelles Vue orientée utilisateur Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

53 Plan Introduction aux cas d utilisation 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

54 Introduction aux cas d utilisation Introduction aux cas d utilisation Décrivent les services rendus par le système du point de vue de l utilisateur Technique pour capturer les exigences fonctionnelles d un système Déterminer ses limites Déterminer le comportement du système : ce que doit faire le système sans spécifier comment il le fait Comprendre l attente des utilisateurs et les experts du domaine Instruments de validation et de tests du système Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

55 Plan Diagramme de cas d utilisation 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

56 Diagramme de cas d utilisation Diagramme de cas d utilisation acteur nom du système cas d'utilisation association Un diagramme de cas d utilisation définit : le système les acteurs qui interagissent avec le système les cas d utilisations les relations entre acteurs et cas d utilisations Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

57 Acteurs Diagramme de cas d utilisation Un acteur représente un rôle joué par une entité extérieure au système (humain ou autre système) et qui interagit directement avec le système étudié Permet de déterminer les limites du système Un utilisateur peut être représenté par plusieurs acteurs Plusieurs utilisateurs peuvent être représentés par le même acteur Catégories d acteurs : acteurs principaux : utilisent les fonctions principales du système, un par CU acteurs secondaires : tâches administratives, maintenance matériel externe : dispositif matériel qui doivent être utilisés (périphériques) autres systèmes avec lesquels le système doit interagir Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

58 Acteurs Diagramme de cas d utilisation Relations entre acteurs : généralisation (héritage) généralisation (héritage) acteurs Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

59 Diagramme de cas d utilisation Cas d utilisation Un cas d utilisation représente un service complet attendu du système Un cas d utilisation représente une suite d interactions entre un acteur et le système qui produisent un résultat observable intéressant pour un acteur particulier Chaque cas d utilisation correspond à une fonction métier du système, selon le point de vue d un de ses acteurs Un cas d utilisation a un début et une fin clairement identifiés Un cas d utilisation est décrit par une forme verbale Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

60 Diagramme de cas d utilisation Cas d utilisation Mauvais diagramme de CU : Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

61 Diagramme de cas d utilisation Cas d utilisation Exemple des cas d utilisation d un distributeur de boissons limites du système association Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

62 Diagramme de cas d utilisation Relations entre cas d utilisation Inclusion : précise qu un cas d utilisation contient le comportement défini dans un autre cas d utilisation. Mise en commun des comportements communs à plusieurs CU (décomposer, définir des comportements partageables entre plusieurs CU, factorisation des services rendus) Extension : précise qu un CU (source) peut dans certains cas s ajouter au comportement d un autre CU (destination) Extension soumise à une condition d extension Comportement ajouté inséré au niveau d un point d extension défini dans le CU destination relation d'inclusion <<Include>> Paye Client <<Extend>> relation d'extension l'opéra Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

63 Diagramme de cas d utilisation Relations entre cas d utilisation Généralisation : héritage du comportement de base héritage Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

64 Diagramme de cas d utilisation Relations entre cas d utilisation Exercice 1 Une agence de voyages organise des voyages où l hébergement se fait en hôtel. Le client doit disposer d un taxi quand il arrive à la gare pour se rendre à l hôtel. Compléter de diagramme de CU suivant. 2 Certains clients demandent à l agent de voyages d établir une facture détaillée. Cela donne lieu à un nouveau cas d utilisation appelé Établir une facture détaillée. Comment mettre ce cas en relation avec les cas existants? 3 Le voyage se fait soit par avion, soit par train. Comment modéliser cela? Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

65 Diagramme de cas d utilisation Relations entre cas d utilisation Exercice Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

66 Diagramme de cas d utilisation Scénarios d un cas d utilisation La description d un CU se fait par des scénarios qui définissent la suite logique des interactions qui constituent ce CU Tous les scénarios d un CU sont issus du même acteur et ont le même objectif Un CU contient en général un scénario nominal et plusieurs scénarios alternatifs (qui se terminent de façon normale) ou d erreur (qui se terminent en échec). enchainements début erreur fin normale Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

67 Plan Modélisation fonctionnelle 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Etude de cas Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

68 Modélisation fonctionnelle Modélisation fonctionnelle Identification des acteurs Identification des cas d utilisation Diagrammes de cas d utilisation Description textuelle des cas d utilisation : Identification (titre du cas, acteurs concernés, responsable, date, etc.) Préconditions Scénario nominal : suite d étapes avec objectifs de l acteur bien identifiés et menés à bien Enchainements alternatifs Enchainements d erreurs Postconditions Description de ces scénarios par des diagrammes de séquence (système), d activités. Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

69 Plan Modélisation fonctionnelle Etude de cas 1 Notion d objet informatique 2 Notion de classe 3 Concepts importants en OO 4 Capture des besoins 5 Introduction aux cas d utilisation 6 Diagramme de cas d utilisation 7 Modélisation fonctionnelle Etude de cas Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

70 Modélisation fonctionnelle Etude de cas Etude d un système de gestion de comptes bancaires Cahier des charges Cette étude de cas concerne un système simplifié de gestion des comptes bancaires offrant les services suivants : Consultation de solde de compte et retrait d argent au distributeur automatique de billets (DAB) de la banque pour les clients porteurs d une carte bancaire ; Les clients porteurs d une carte bancaire de la banque peuvent effectuer un virement depuis le DAB de la banque ou depuis internet. Ils peuvent aussi faire un dépôt en numéraire ou en chèques et consulter leurs comptes sur internet. Un client qui effectue un virement peut demander à vérifier le solde de son compte. Cette demande est autorisée si le solde est supérieur ) 15 euros. Toute transaction est sécurisée et nécessite par conséquent une authentification. Proposer un diagramme de CU. Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

71 Modélisation fonctionnelle Identification des acteurs Etude de cas Quelles sont les entités externes qui interagissent directement avec le DAB? Porteur de carte bancaire Client de la banque Cyber-client de la banque SI banque Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

72 Modélisation fonctionnelle Diagramme des cas d utilisation Etude de cas DAB Retirer de Porteur de carte Consulter Client banque Déposer d Rech Opérateur de maintenance Mainte opéra Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

73 Modélisation fonctionnelle Etude de cas Description textuelle du CU Retirer de l argent sur DAB Identification Titre : retirer de l argent sur DAB Résumé : ce cas d utilisation permet à un Porteur de carte bancaire de retirer de l argent liquide à un DAB. Acteur principal : porteur de carte bancaire Acteur secondiare : SI banque Date : Responsable : Laëtitia Matignon Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

74 Modélisation fonctionnelle Etude de cas Description textuelle du CU Retirer de l argent sur DAB Préconditions Le DAB contient des billets Aucune carte ne se trouve déjà coincée dans le lecteur La connexion avec le SI banque est opérationnelle Postconditions La DAB contient moins de billets qu au début du cas d utilisation Une transaction de retrait a été enregistrée par le DAB avec toutes les informations pertinentes (montant, numéro de carte, date, etc.). Les détails de la transaction doivent être enregistrés aussi bien en cas de succès que d échec. Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

75 Modélisation fonctionnelle Etude de cas Description textuelle du CU Retirer de l argent sur DAB Scénario du cas nominal 1. Le porteur de CB introduit sa carte dans le lecteur du DAB 2. Le DAB vérifie que la carte est bien une CB. 3. Le DAB demande au porteur de CB de saisir son code d identification. 4. Le porteur de CB saisit son code. 5. Le DAB vérifie le code. 6. Le DAB demande une autorisation au SI banque. 7. Le SI banque donne son accord et indique le solde hebdomadaire. 8. Le DAB demande au porteur de CB de saisir le montant désiré du retrait. 9. Le porteur de CB saisit le montant. 10. Le DAB contrôle le montant par rapport au solde hebdomadaire. 11. Le DAB demande au porteur de carte s il veut un ticket. 12. Le porteur de CB veut un ticket. 13. Le DAB éjecte la carte. 14. Le porteurcb reprend sa carte. 15. Le DAB délivre ticket/billets. 16. Le porteurcb prend son ticket et ses billets. Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

76 Modélisation fonctionnelle Etude de cas Description textuelle du CU Retirer de l argent Scénario du cas nominal 1. Le porteur de CB introduit sa carte dans le lecteur du DAB 2. Appel du cas S authentifier 3. Le DAB demande une autorisation au SI gestion CB. 4. Le SI gestion CB donne son accord 5. Le DAB demande au porteur de CB et indique le solde hebdomadaire. de saisir le montant désiré du retrait. 6. Le porteur de CB saisit le montant. 7. Le DAB contrôle le montant par rapport au solde hebdomadaire. 8. Le DAB demande au porteur de carte s il veut un ticket. 9. Le porteur de CB veut un ticket. 10. Le DAB éjecte la carte. 11. Le porteur de CB reprend sa 12. Le DAB délivre le ticket et les billets. carte. 13. Le porteur de CB prend son ticket et ses billets. Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

77 Modélisation fonctionnelle Etude de cas Description textuelle du CU Retirer de l argent Enchainements alternatifs A1 : code d identification provisoirement erroné Démarre au point 5 : Le DAB indique au porteur de CB que le code est erroné, pour la première ou deuxième fois, puis enregistre l échec sur la carte. Le scénario reprend au point 3. A2 : montant demandé supérieur au solde hebdomadaire Démarre au point 10 : Le DAB indique au porteur de carte que le montant demandé est supérieur au solde hebdomadaire. Le scénario nominal reprend au point 8. A3 : ticket refusé Démarre au point 11 :... Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

78 Modélisation fonctionnelle Etude de cas Description textuelle du CU Retirer de l argent Enchainements d erreurs E1 : carte non-valide Démarre au point 2 : Le DAB indique au porteur de CB que sa carte n est pas valide (illisible, périmée, etc.), la confisque. Le CU se termine en échec. E2 : code d identification définitivement erroné Démarre au point 5 : Le DAB indique au porteur de CB que le code est erroné, pour la troisième fois. Le DAB confisque la carte. Le SI est informé ; le cas d utilisation se termine en échec. E3 : retrait non autorisé Démarre au point 6 : Le SI interdit tout retrait. Le DAB éjecte la carte ; le CU se termine en échec. E4 : carte non reprise... E5 : billets non pris... E6 : annulation de la transaction Démarre entre points 4 et 12 :... Laëtitia Matignon ISI3-2. Capture des besoins et diagramme de cas d utilisation / 76

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

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

Guichet automatique de banque

Guichet automatique de banque Guichet automatique de banque Mastère 2004 1 Guichet automatique de banque : GAB Objectif : Illustrer la vue fonctionnelle et particulièrement la définition des cas d utilisation. 1. Spécification du problème

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

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

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

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

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

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

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Ingénérie logicielle dirigée par les modèles

Ingénérie logicielle dirigée par les modèles Ingénérie logicielle dirigée par les modèles Destercq Lionel & Dubuc Xavier 17 décembre 2009 Table des matières 1 Introduction 1 2 Diagrammes de classes 1 2.1 Principal..............................................

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Université de Pau et des Pays de l Adour Institut Universitaire de Technologie des Pays de l Adour Département Réseaux et Télécommunications 371, rue du Ruisseau BP 201 40004 Mont-de-Marsan Cedex tél :

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

Introduction à l héritage en C++

Introduction à l héritage en C++ Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

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

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

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

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

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

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

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

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

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

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

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Chapitre VIII. Les bases de données. Orientées Objet. Motivation Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet

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

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

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Automatisation de l administration système

Automatisation de l administration système Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

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

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

GOL-502 Industrie de services. Travaux Pratique / Devoir #7 GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme

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

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle La plate-forme DIMA Master 1 IMA COLI23 - Université de La Rochelle DIMA Bref aperçu Qu'est-ce? Acronyme de «Développement et Implémentation de Systèmes Multi-Agents» Initié par Zahia Guessoum et Jean-Pierre

Plus en détail

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

Plus en détail

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

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

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

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

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique : 2004-2005

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique : 2004-2005 Université Libre de Bruxelles Faculté des Sciences Appliquées & Faculté des Sciences INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année

Plus en détail

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Méthodes d évolution de modèle produit dans les systèmes du type PLM Résumé de thèse étendu Méthodes d évolution de modèle produit dans les systèmes du type PLM Seyed Hamedreza IZADPANAH Table des matières 1. Introduction...2 2. Approche «Ingénierie Dirigée par les Modèles»

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

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

OMGL6 Dossier de Spécifications

OMGL6 Dossier de Spécifications OMGL6 Dossier de Spécifications HELPDESK Radoslav Cvetkoski, Xavier Fantin, Yohann Haution, Yanis Salti, Sébastien Tassier Cvetkoski, Fantin, Haution, Salti, Tassier Page 1 Sommaire 1. Historique du document...

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

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

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

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

GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE

GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE RÉSUMÉ Depuis des années, les responsables de la sécurité de l information et les responsables opérationnels

Plus en détail

Plan Pédagogique du cours

Plan Pédagogique du cours Plan Pédagogique du cours Module: Programmation Orientée Objet Section : informatique Niveau : 3 ème niveau (gestion, industriel, réseau) Volume Horaire : 22,5 heures Cours Intégrés + 45 Travaux Pratiques

Plus en détail

GLOSSAIRE des opérations bancaires courantes

GLOSSAIRE des opérations bancaires courantes 13 septembre 2005 GLOSSAIRE des opérations bancaires courantes Ce glossaire a été élaboré sous l égide du CCSF. Il est conçu à des fins purement informatives, et destiné à vous aider à comprendre les termes

Plus en détail

Cours de Systèmes d Exploitation

Cours de Systèmes d Exploitation Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

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

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object Facultés Universitaires Notre-Dame de la Paix Conception et Programmation Orientées- Object 2008-2009 RÉSUMÉ PRATIQUE... 4 CLASSE OBJET... 4 NOTION D HÉRITAGE... 4 LE POLYMORPHISME... 5 LES CLASSES ABSTRAITES...

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

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

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

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

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

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

COR-E : un modèle pour la simulation d agents affectifs fondé sur la théorie COR

COR-E : un modèle pour la simulation d agents affectifs fondé sur la théorie COR COR-E : un modèle pour la simulation d agents affectifs fondé sur la théorie COR SABRINA CAMPANO DIRECTION: NICOLAS SABOURET ENCADREMENT : NICOLAS SABOURET, VINCENT CORRUBLE, ETIENNE DE SEVIN SOUTENANCE

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

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

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Cours STIM P8 TD 1 Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel Cours STIM P8 TD 1 Génie Logiciel Compléments sur UML Intervenant : Anil CASSAM CHENAI Date : 02/02/2012 Objectifs du complément Ce complément sera approfondi en parallèle de plusieurs TD/Cours. Rappels

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

NOM DE L ELEVE :.. Dossier à rendre complété avant le 16 Mars 2015 (afin de vous éviter le temps des formalités lors de la pré-rentrée).

NOM DE L ELEVE :.. Dossier à rendre complété avant le 16 Mars 2015 (afin de vous éviter le temps des formalités lors de la pré-rentrée). Dossier à rendre complété avant le 16 Mars 2015 (afin de vous éviter le temps des formalités lors de la pré-rentrée). NOM DE L ELEVE :.. Prénom : I. DOCUMENTS A RETOURNER A L ETABLISSEMENT Réservé à l

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

CONCEPTION ET IMPLANTATION DES SI PROJET : GESTION DU FOYER DE L ENIT

CONCEPTION ET IMPLANTATION DES SI PROJET : GESTION DU FOYER DE L ENIT CONCEPTION ET IMPLANTATION DES SI PROJET : GESTION DU FOYER DE L ENIT DESPOSITO Antony MALO Andy SIMUTOGA Clément - 1 - Introduction :... 3 CYCLE DE VIE :... 3 Analyse de l existant :... 3 Interprétation

Plus en détail

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 ) P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes

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

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases Description des Use cases. Demander un virement bancaire 2. Constituer les listes reflets S'identifier et s'authentifier «include» Demander un v irement bancaire Abonné Smartphone «include» Consulter le

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

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

Types de REA produites dans le cadre de la séquence pédagogique

Types de REA produites dans le cadre de la séquence pédagogique Scénario pédagogique APPRENDRE À ENSEIGNER AUTREMENT Description générale du scénario Titre Les bases de données relationnelles Résumé Dans le cadre d'un cours à distance, la visioconférence est une REA

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

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

Modélisation de Lignes de Produits en UML *

Modélisation de Lignes de Produits en UML * Modélisation de Lignes de Produits en UML * Tewfik ZIADI, Loïc HELOUET, Jean-Marc JEZEQUEL 2 IRISA, Campus de Beaulieu 35042 RennesCedex, France Tewfik.Ziadi@irisa.fr Loic.Helouet@irisa.fr, Jezequel@irisa.fr

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