Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 1/

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

Download "Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 1/"

Transcription

1 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 1/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 2/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 3/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 4/

2 Vue plan Vue satellite Vue trafic Un autre niveau d abstraction Street view Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 5/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 6/ La vision MDE Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 7/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 8/

3 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 9/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 10/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 11/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 12/

4 Entre 89 et 94 : le nombre de méthodes orientées objet est passé de 10 à plus de 50 Chaque méthode proposait son propre langage de modélisation Toutes les méthodes avaient pourtant d énormes points communs (objets, méthode, paramètres, ) Au milieu des années 90, G. Booch, I. Jacobson et J. Rumbaugh ont chacun commencé à adopter les idées des autres. Les 3 auteurs ont souhaité créer un Langage de Modélisation Unifié Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 13/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 14/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 15/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 16/

5 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 17/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 18/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 19/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 20/

6 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 21/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 22/ Bien couvertes par UML Discutable: Réalisation: si utilisation d UML comme langage de programmation. Validation: génération automatique de cas de tests mais loin d être exhaustifs Déploiement: un diagramme UML pour ça Maintenance: possibilité de faire du reverse eng. Application de Design patterns, round-trip eng. Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 23/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 24/

7 Acteur:Employé Acteur:Manager Acteur:RH Créer demande de poste Examiner demande de poste Créer une offre d'emploi Vidéothèque Louer un DVD Rendre un DVD Terminal: Bibliothèque: Instance:Candidat searchitembytitle finditembytitle Aspects fonctionnels du Système -Diagramme de cas d utilisation -Diagramme de séquences -[Diagramme d activités] Diagramme d activité Rechercher des candidats Diagramme de Cas d Utilisation Adresse possède 1..* TypeLien Lien Personne possède * * Telecom 1..* * Nationalite PersonnePhysique PersonneMorale 1..* 1..* Diagramme de séquences Aspects Dynamiques du Système -Diagramme de séquences/[communication] -Diagramme d états transitions -Diagramme d activités -Diagramme de temps Aspects Statiques du Système -Diagramme de classes -[Diagramme d objets] -Diagramme de structure composite GRH Paye 1 1..* Auteur Organisme Fondation Gestion Activité Digramme de packages Groupe * est formé de Diagramme classes Diagramme états/transitions En rouge: abordé dans ce cours Entre [ ]: peu utilisé dans la vue Aspects déploiements du Système -Diagramme de déploiement -Diagramme de composants Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 25/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 26/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 27/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 28/

8 è Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 29/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 30/ é é é è é é é Ç é è Gestion de stock Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 31/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 32/

9 é Nommer avec un verbe à l infinitif + complément Répondre aux questions suivantes: Quels sont les services rendus par le système? Chaque fonctionnalité métier est représentée par un use case Quelles sont les interactions Acteurs/ système? Pour chaque acteur identifié Rechercher les différentes intentions métiers avec lesquelles il utilise le système Déterminer les services fonctionnels attendus du système par cet acteur Ne pas oublier celui qui maintient le système Retirer Argent Quels sont les évènements perçus par le système (externes, temporels, changement d état)? Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 33/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 34/ Vidéothèque Client Client Retirer Argent Louer un DVD Client de la banque Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 35/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 36/

10 é é é é è é ü À é é à é î é é À é à é î é é À Virement Retirer Argent <<include>> <<extend>> Retirer Argent Points d extension: Vérif. Solde Virement en Ligne Identification Consulter Solde Condition: {porteur choisit Consulter Solde} Point d extension: vérif. Solde Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 37/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 38/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 39/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 40/

11 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 41/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 42/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 43/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 44/

12 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 45/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 46/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 47/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 48/

13 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 49/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 50/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 51/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 52/

14 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 53/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 54/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 55/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 56/

15 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 57/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 58/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 59/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 60/

16 Doctor Person Nurse Land Vehicle Vehicle Water Vehicle Surgeon Family Doctor simple Car Amphibious Vehicle Boat multiple Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 61/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 62/ Vehicle v = null; v = new Car(); v.startengine(); v = new Boat(); v.startengine(); Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 63/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 64/

17 class Forme { public: virtual float Aire() = 0; }; class Carre:public Forme { public: virtual float Aire() { return m_cote*m_cote; } private: float m_cote; }; class Cercle:public Forme { public: virtual float Aire() { return *m_rayon*m_rayon; } float AireTotal(Forme* tabl[], int nb) { float s=0; for(int i = 0;i<nb; i++) { s+= tabl[i]->aire(); // le programme sait automatiquement quelle fonction appeler } return s; }... Forme* tableau[3] = {new Carre, new Cercle, new Carre}; AireTotal(tableau,3);... private: float m_rayon; Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 65/ }; #include <iostream.h> template <class C> void echanger(c &a, C &b){ C x; x = a; a = b; b = x; } Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 66/ é é é è Person Company members 0..1 * Employee Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 67/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 68/

18 Nom_classe Attribut Attribut : type Attribut : type = valeur par défaut... Opération Opération (par1 : type...) : type retour Person +name : string +firstname : string #id : string nbperson : integer /completename : string +getid() public = + Interface package = ~ protected = # corps private = - usager frère héritier implémenteur Nom_classe Employee Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 69/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 70/ é é é é é Company url [3] : string name : string cardinalité Attribut de classe Attribut calculé Person +name : string +firstname : string #id : string nbperson : integer /completename : string é é é é é è Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 71/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 72/

19 é é é è url [3] : string name : string Company +makeprofit():real +getworkingemployee(): [*] Employee Employee +stopwork():boolean +startwork(in work:string):boolean Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 73/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 74/ Company * 1..* Employee Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 75/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 76/

20 Client Nom d association 0..1 client procède Navigabilité compte 1..* Compte Rôle Cardinalité précisée Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 77/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 78/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 79/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 80/

21 Le salaire est une information correspondant ni à une personne, ni à une société, mais à un emploi (un couple personne-société) Traduction fait 1..* Client * Commande Commande 1..* commande Une instance de Client pour accéder aux propriétés de Produit (attributs et opérations) concerne 1..* produit Produit Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 81/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 82/ Student students attendedcourses * attends * Course Un cours est suivi par plusieurs étudiants (0 ou plusieurs). Un étudiant suit des cours (0 ou plusieurs). A partir d un étudiant, il est possible d identifier les cours suivis (navigable). public class Student { public Course attendedcourses[]; } public Student() { } public class Course { } public Course() { } Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 83/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 84/

22 Agrégation S chool 1..* m em ber * S tude nt Composition Department Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 85/ has 1 1..* School 1..* member * Student Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 86/ School has 1 1..* Department Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 87/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 88/

23 Shape Rectangle Circle Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 89/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 90/ équipe 0..1 estcomposee * membre joueur entraineur assistant joueur membre entraineur procède 1..* Contrat Attention: dans UML1.X, classe et opération abstraite étaient en italique. Ce n est plus obligatoire dans UML2.0. Rajouter {abstract} Carre Forme {abstract} CalculerSurface() {abstract} Cercle {abstract} {abstract} CalculerSurface() CalculerSurface() Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 91/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 92/

24 String isequal (Object) : boolean isgreater (Object) : boolean hash () : integer Ou bien: «interface» Comparable isequal (Object) : boolean isgreater (Object) : boolean String isequal (Object) : boolean isgreater (Object) : boolean hash () : integer Comparable Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 93/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 94/ <<comment>> Une association n'est pas une company Company * 1..* Employee Company * 1..* Employee Exemple de contrainte exprimée à l aide d OCL agelimit {self.age<60} Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 95/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 96/

25 Personne ecole Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 97/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 98/ Un package permet de grouper des éléments Classes, use case, etc. Un package sert d espace de désignation (nommage) Deux classes portant le même nom ne peuvent être dans le même package Précéder du nom de package si deux classes ont le même nom mais appartiennent à deux packages différents Un package peut inclure d autres packages Un package peut importer ou utiliser d autres packages L héritage entre package est possible Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 99/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 100/

26 é Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 101/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 102/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 103/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 104/

27 Instance de la classe Car Vue interne d un composant Un composant avec de multiples ports Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 105/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 106/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 107/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 108/

28 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 109/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 110/ Objet anonyme non typé anonyme typé identifié non typé identifié typé résultat=:nomop (param) nomop (param) Valeur de retour Les paramètres et le résultat, de l appel, si y en a Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 111/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 112/

29 Ob1: : A création Ob2: : B opération1 opération2 Destruction X Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 113/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 114/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 115/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 116/

30 Exemple de boucle Exemple de branchements conditionnels Fragment optionnel avec condition Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 117/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 118/ Sd S1 objet1: Sd S2 objet1: Instance:user Instance:user ref M12 ref M12 m3 m4 Sd M12 objet1: Instance:user m1 m2 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 119/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 120/

31 Permettent de décrire la dynamique d un système De formaliser les scénarios Mettent l accent sur la dimension «Temps» dans l interaction Permettent de réfléchir sur le type de contrôle + objets impliqués dans l interaction (moins bien que le diagramme de collaboration) Permettent de faire le lien entre les diagrammes de cas d utilisation et les diagrammes de classes Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 121/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 122/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 123/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 124/

32 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 125/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 126/ NomEtat Porte ouvrir() fermer() verrouiller() déverrouiller() Ouverte fermer() ouvrir() fermee deverrouiller() verrouiller() Verouillee Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 127/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 128/

33 état condition de garde événement reçu E1 evt1 [cond] /op transition action E2 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 129/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 130/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 131/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 132/

34 Etat entry/ faire quelque chose exit/ faire autre chose Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 133/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 134/ Etat Ev1 [t=0]/ faire quelque chose Ev1 [t>0]/ faire autre chose Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 135/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 136/

35 Attente when (temperature > 22) [hiver] when (temperature > 22) [ete] Ventiler Climatiser Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 137/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 138/ Actif Compose numéro (n) [nb<10 && n.isvalid ()] Repos décroche Tonalité Compose numéro (n) [n.isvalid] After (15 s) Compose numéro (n) [n.isinvalid] Invalide Tonalité occupée Compose numéro (n) [n.isinvalid] occupé En composition When (nb=10) En connexion Appelé raccroche connecté Appelant raccroche Dialogue Réponse de l appelé Sonnerie Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 139/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 140/

36 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 141/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 142/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 143/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 144/

37 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 145/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 146/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 147/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 148/

38 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 149/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 150/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 151/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 152/

39 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 153/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 154/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 155/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 156/

40 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 157/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 158/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 159/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 160/

41 Notation UML 2.0 Un Exemple de diagramme de Composants Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 161/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 162/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 163/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 164/

42 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 165/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 166/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 167/ Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 168/

43 Reda Bendraou LI386-S1 Génie Logiciel UPMC Cours 2: Modélisation OO avec UML 169/

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

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

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

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

UML : DIAGRAMME D ETATS

UML : DIAGRAMME D ETATS UML : DIAGRAMME D ETATS Le modèle dynamique représente l évolution du système au cours du temps en réaction aux événements externes. L évolution du système est définie par l évolution (cycle de vie) des

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

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

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr Opérations Opérations Service qui peut

Plus en détail

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

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

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

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

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

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

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

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

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

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

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

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

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

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

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

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

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

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

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

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

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

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

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

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

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

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

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

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

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

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

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

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

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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh NOTATION UML AVEC RATIONAL ROSE G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES...2 1.1 ENVIRONNEMENT LOGICIEL...2 1.2 LES VUES DU LOGICIEL ROSE...3 1.3 ORGANISATION RECOMMANDÉE...3

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

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

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

Applet pour visualiser les variables «automate» notifiées

Applet pour visualiser les variables «automate» notifiées Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

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

Génie Logiciel Orienté Objet UML

Génie Logiciel Orienté Objet UML Licence Professionnelle en Informatique Génie Logiciel Orienté Objet UML E. Grislin-Le Strugeon E. Adam UVHC ISTV Plan Concepts orientés objet Principes des méthodes OO Qu est-ce que UML? Caractéristiques

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

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

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

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

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003. JAVA et Design Pattern Page 1/26 JAVA et Design Pattern Etude des Pattern Design Modélisation UML, Etude et critique des implémentations Java Par Laurent DESECHALLIERS Mastère Spécialisé en Management

Plus en détail

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C

ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C ETUDE DE CAS en UML : GESTION DES COMMANDES DE PIECES FABRIQUEES PAR LA SOCIETE C La société C fabrique des pièces métalliques réalisées dans son atelier. La société C est en relation commerciale uniquement

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

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

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

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

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

4. Groupement d objets

4. Groupement d objets Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux

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

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

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

et Programmation Objet

et Programmation Objet FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------

Plus en détail

Les frameworks au coeur des applications web

Les frameworks au coeur des applications web Les frameworks au coeur des applications web Mémoire de bachelor réalisé par : Arielle Moro Directeur de mémoire : Peter Daehne, Professeur HES Genève, le vendredi 27 août 2010, Haute Ecole de Gestion

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

CHAPITRE VI - LES SOLDES COMPTABLES ET LES INDICATEURS DE REVENU

CHAPITRE VI - LES SOLDES COMPTABLES ET LES INDICATEURS DE REVENU CHAPITRE VI - LES SOLDES COMPTABLES ET LES INDICATEURS DE REVENU 1. Le compte de production... 129 2. Le compte d exploitation... 129 3. Le compte de revenu d entreprise... 130 4. Les indicateurs de revenu

Plus en détail

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

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

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

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

TD sur JMS ---- 1) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

TD sur JMS ---- 1) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS? TD sur JMS ---- Questions de cours : 1) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS? MOM : Message Oriented Middleware Intergiciels orientés Messages

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

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 21 octobre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet 21 octobre 2014

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

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

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles

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

Apprendre Java en 154 minutes

Apprendre Java en 154 minutes Apprendre Java en 154 minutes Tutorial Java 1.6 - HESB-TI Stéphanie Calderara José R. Beuret Quentin Cosendey Mai 2008 Table des matières 1 Objet, classe et modificateur 3 1.1 Le premier pas..........................

Plus en détail

Cours Composant 2. Qualité logicielle et spécications algébriques

Cours Composant 2. Qualité logicielle et spécications algébriques UPMC Paris Universitas Master Informatique STL Cours Composant 2. Qualité logicielle et spécications algébriques c 2005-2008 Frédéric Peschanski UPMC Paris Universitas 24 février 2008 c 2005-2008 Frédéric

Plus en détail

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

JAVA TD0. Prise en main du langage Environnement de base JAVA 1 JAVA TD0 Prise en main du langage Environnement de base JAVA 1 Mon premier programme public class HelloWorld { public static void main(string [] arg){ System.out.println("Hello, World!"); main(string []

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Support de cours et TD Programmation Orientée Objet

Support de cours et TD Programmation Orientée Objet REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE Institut Supérieur des Etudes Technologiques de Médenine Département Informatique Support de cours et TD Programmation

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

Education Delivery Intelligent Tool

Education Delivery Intelligent Tool Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide

Plus en détail

Exercices INF5171 : série #3 (Automne 2012)

Exercices INF5171 : série #3 (Automne 2012) Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

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