INF3143. Modélisation et spécification formelles des logiciels. Hiver Alexandre Terrasa Département d informatique, UQÀM

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "INF3143. Modélisation et spécification formelles des logiciels. Hiver Alexandre Terrasa Département d informatique, UQÀM"

Transcription

1 INF3143 Modélisation et spécification formelles des logiciels Hiver 2017 Alexandre Terrasa Département d informatique, UQÀM

2 Expression des contraintes en UML 2

3 Exprimer des contraintes avec UML Dans le diagramme de classes: contraintes structurelles classes, interfaces, héritage, relations, navigabilité, cardinalité contraintes de type type des propriétés, paramètres, retours contraintes de visibilité public, privé, protected, package 3

4 Limite par l exemple Diagramme de classes Université employés * 1 1 Professeur nom: String salaire: Integer professeur 1 * * Cours sigle: String 4

5 Limite par l exemple Code source valide et acceptable Professeur p1 = new Professeur() p1.nom = Alexandre p1.salaire = Code source valide mais inacceptable Professeur p2 = new Professeur() p2.nom = p2.salaire = -10 5

6 Limite par l exemple Diagramme d objets valide et acceptable p1:professeur u1:université p2:professeur u2:université c1: Cours c2: Cours 6

7 Limite par l exemple Diagramme d objets valide et inacceptable p1:professeur u1:université p2:professeur u2:université c1: Cours c2: Cours 7

8 Exercice Écrivez deux diagrammes d objets un valide et acceptable un valide mais inacceptable parent 0..1 Répertoire * nom: String 8

9 Solution (exemple valide et acceptable) r1:répertoire nom= r1 r2:répertoire nom= r2 r3:répertoire nom= r3 r4:répertoire nom= r4 r5:répertoire nom= r5 r6:répertoire nom= r6 9

10 Solution (exemple valide mais inacceptable) r1:répertoire nom= r1 Répertoire r1 = new Répertoire( r1 ) r1.parent = r1 10

11 Un besoin: exprimer des contraintes sémantiques Contrainte sémantique du modèle condition à respecter restriction assertion Exemples: le solde du compte doit toujours être positif un livre ne peut pas être emprunté par deux personnes différentes en même temps une personne ne peut pas être professeur et chargée de cours en même temps 11

12 Contraintes en UML Dans le diagramme de classe texte entre accolades: {condition} langage naturel: {solde toujours positif} ou OCL: {solde >= 0} Dans un document annexe au diagramme en OCL 12

13 Contraintes dans le diagramme de classes Directement dans la classe Étudiant nom: String {nom.size() > 0} moyenne: Real {moyenne >= 0.0} Dans une note nom: String moyenne: Real Étudiant {nom.size() > 0 and moyenne >= 0.0} 13

14 Contraintes dans le diagramme de classes Sur les relations Personne propriétaire {xor} Compte Corporation propriétaire 14

15 Contraintes dans un document OCL Diagramme de classes nom: String moyenne: Real Étudiant {nom.size() > 0 and moyenne >= 0.0} Dans le fichier annexe context Étudiant inv: nom.size() > 0 inv: moyenne >=

16 OCL Object Constraint Language 16

17 Object Constraint Language Expression de contraintes pour UML langage formel en lien avec un diagramme de classes depuis UML 1.1 Contraintes de comportement (le QUOI) respect de la spécification contraintes de sémantique et non d implémentation 17

18 OCL pour faire quoi? Spécifier des contraintes d état invariants de classes pré-conditions sur des opérations post-conditions sur des opérations Formuler les contraintes sur les objets au niveau du diagramme de classes Utiliser des contraintes ensemblistes 18

19 Langage naturel vs OCL Langage naturel accessible ambigu, imprécis OCL (langage formel) précis, non-ambigu interprétable par des outils 19

20 Langage de programmation vs OCL Langage de programmation faible niveau d abstraction mode opérationnel (COMMENT) Langage formel abstrait mode descriptif (QUOI) 20

21 OCL Logique et syntaxe 21

22 Logique propositionnelle Issue de la logique mathématique logique basée sur les propositions on parle aussi d assertions énoncés vrais ou faux Exemples d assertions solde > 0 resultat = solde 22

23 Opérateurs logiques Opérateur unaire sur un booléen not négation Opérateurs binaires sur des booléens and et logique or ou logique xor ou exclusif implies implication logique 23

24 Opérateur not Négation de la proposition not true = false A true false not A false true 24

25 Opérateur and, or, xor Pour combiner des propositions A B A and B A or B A xor B true true true true false true false false true true false true false true true false false false false false 25

26 Opérateur implies Opérateur d implication logique Si A est vrai alors B est vrai aussi. Raccourci pour not A or B A B A implies B true true true true false false false true true false false true 26

27 Opérateur implies Exemples SI le ciel est couvert ALORS on ne voit pas le soleil SI l alarme incendie sonne ALORS on doit utiliser l escalier 27

28 Opérateur if-then-else-endif Opérateur logique if A then B else C endif Si A est vrai alors l expression vaut B Si A est faux alors l expression vaut C 28

29 Opérateurs mathématiques Opérateurs arithmétiques sur les entiers et réels: - unaire (comme dans -10) + addition, - soustraction * multiplication, / division Opérateurs de comparaison: = égalité et <> différence < et <=, > et >= 29

30 Précédence des opérateurs Par ordre de précédence: if-then-else-endif not et - unaire * et / + et - <, >, <= et >= = et <> and or xor implies 30

31 Types fondamentaux OCLAny ancêtre de tous les types Boolean true, false Integer 1 ; -3 ; 12 ; 42 Real 1,5 ; 3,14 ; String Hello World! OCLVoid null ; invalid Et les collections que nous verrons plus tard... 31

32 Opérations sur les types fondamentaux Integer, Real =, <>, <=, >=, +, -, *, / Boolean and, or, not, xor, =, <>, implies, if <expr> then else endif String concat(string), size(), tolower(), toupper() substring(start, end) Le premier caractère d une string est à l index 1! 32

33 Opérations sur tous les types allinstances(): retourne l ensemble de toutes les instances d une classe ocltype(): retourne le type d un objet oclistypeof(<type>): retourne vrai si l objet est du type spécifié ocliskindof(<type>): retourne vrai si l objet est du type spécifié ou un de ses sous-types 33

34 Opérateurs d appel Opérateur. pour accéder aux propriétés des objets self.name self.getname() Opérateur -> pour appeler les méthodes sur les collections OCL self.étudiants->size() Opérateur :: pour référer aux propriétés d une classe Étudiant::nom 34

35 OCL Contraintes 35

36 Contexte d une contrainte Une contrainte est toujours associée à un élément du modèle classe, interface attribut ou opération relation Syntaxe: context <élément> 36

37 Représentation du contexte en OCL Diagramme de classes nom: String moyenne: Real Étudiant {moyenne >= 0.0} renommer(string): void En OCL context Étudiant inv: moyenne >=

38 Exemples de contextes Sur une classe context Étudiant Sur un attribut context Étudiant::nom Sur une opération context Étudiant::setNom(nom: String): void 38

39 Invariant Contrainte à respecter en tout temps (prédicat) inv [<nom>]: <expression_logique> Exemple context Étudiant inv: moyenne >= 0.0 context Cours inv: sigle.size() >= 3 39

40 Accéder aux propriétés des objets Objet désigné par le contexte: self Exemple dans le context Étudiant nom self.nom renomer( nouveau_nom ) self.renomer( nouveau_nom ) 40

41 Exercice 1 université * 1 Professeur nom: String 1 professeur * Université 1 * Cours sigle: String coef: Real université Exprimer les contraintes OCL: Le nom d un professeur ne peut être nul Le sigle d un cours fait toujours 3 caractères Le coefficient d un cours est entre 0.0 et Un professeur doit travailler dans l université qui dispense le cours pour l enseigner 41

42 Solution 1 context Professeur inv: nom <> null context Cours inv: sigle.size() = 3 inv: coef >= 0.0 and coef <= inv: universite = professeur.universite 42

43 Pré-condition, post-condition Contrainte vérifiée avant ou après l appel d une opération pré-condition avant l appel post-condition après l appel Prédicat de spécification état avant et après un appel comportement attendu de l opération 43

44 Pré-condition Prédicat sur l état du système avant l appel d une opération pre [<nom>]: <expression_logique> Doit être vrai juste avant l exécution de l opération 44

45 Vérifier une pré-condition Vérifier que l état avant est respecté: context Etudiant::inscrire() pre: estinscrit = false 45

46 Post-condition Prédicat sur l état du système après l appel d une fonction post [<nom>]: <expression_logique> Doit être vrai juste après l exécution de l opération 46

47 Vérifier une post-condition Peut accéder à certaines valeurs spécifiques result valeur retournée par l opération valeur de l attribut avant l appel context Etudiant::inscrire() post: estinscrit = true 47

48 Exemple solde: Real Compte getsolde(): Real créditer(montant: Real) débiter(montant: Real) context Compte::créditer(montant: Real) pre: montant > 0.0 post: solde = + montant context Compte::getSolde(): Real post: result = solde 48

49 Exercice 2 Donnez un exemple de pré-condition et post-condition pour MyInteger::diviserPar() value: Integer MyInteger diviserpar(diviseur: MyInteger): MyInteger 49

50 Solution 2 context MyInteger::diviserPar (diviseur: MyInteger): MyInteger pre: diviseur.value <> 0 post: result.value = value / diviseur.value value: Integer MyInteger diviserpar(diviseur: MyInteger): MyInteger 50

51 Body Contrainte sur le résultat de la requête body : <requête> Exemple context Compte::getSolde(): Real body: self.solde 51

52 Exercice 3 Exprimer les contraintes: valeurs est toujours strictement supérieur à 0 ajoute prend un paramètre toujours supérieur ou égal à 0 ajoute incrémente le nombre de valeurs et additionne valeur à somme moyenne retourne la moyenne de somme sur valeurs Compteur valeurs: Integer somme: Integer ajoute(valeur: Integer) moyenne(): Integer 52

53 Solution 3 context Compteur inv: valeurs > 0 context Compteur::ajoute(valeur: Integer) pre: valeur >= 0 post: valeurs = + 1 and somme = + valeur context Compteur::moyenne(): Integer body: somme / valeurs 53

54 Définition let Pour déclarer une variable au sein d un énoncé let <declaration> = <requete> in <expression> <déclaration> aura la valeur de <requête> lorsqu utilisé dans <expression> context Étudiant inv: let nblettres = nom.size() in nblettres > 0 54

55 Définition def Pour déclarer une variable globale def : <declaration> = <requete> context Étudiant def: nblettres = nom.size() inv: nblettres > 0 55

56 Contrainte d initialisation Contrainte sur la valeur initiale d un attribut init : <requête> Exemple context Étudiant::moyenne: Real init:

57 Contrainte de dérivation Contrainte sur un attribut dérivé derive : <requête> Exemple context Étudiant::age : Integer derive: Date::current() - datenaissance 57

58 Exercice 4 Diagramme de classes Assuré valeurvehicule(): Integer Permis points: Integer retirerpoints(p: Integer) Assurance Véhicule categorie: String valeur: Integer catégorie: String valeur: Integer 58

59 Exercice 4 Contraintes à implémenter en OCL assurance.vehicule.valeur ou 0.0 Assuré valeurvehicule(): Integer Assuré doit avoir des points sur son permis pour avoir une assurance init à 6 Permis points: Integer retirerpoints(p: Integer) retire p points auto ou moto Assurance catégorie: String valeur: Integer Véhicule catégorie: String valeur: Integer <= valeur assurance = catégorie de l assurance 59

60 Solution 4 context Assuré inv: assurance <> null implies permis.points > 0 context Permis::points: Integer init: 6 context Permis::retirerPoints(p: Integer) pre: p > 0 post: points = - p context Assuré::valeurVehicule(): Integer body: if assurance <> null then assurance.vehicule.valeur else 0 endif context Assurance inv: categorie = auto or categorie = moto context Vehicule inv: categorie = assurance.categorie and valeur <= assurance.valeur 60

61 Conclusion Le diagramme de classes seul est parfois insuffisant pour exprimer la spécification Une solution: OCL langage formel basé sur la logique mathématique expression des contraintes sémantiques spécifier des contraintes d état invariants de classes pré-conditions sur des opérations post-conditions sur des opérations 61

62 Ressources UML/?page=object-constraint-langage-ocl Tremblay, G - Modélisation et spécification formelle de logiciels - Loze-Dion Editeurs Inc., 2004 (chap 12) 62

INF3143. Modélisation et spécification formelles des logiciels. Hiver Alexandre Terrasa Département d informatique, UQÀM

INF3143. Modélisation et spécification formelles des logiciels. Hiver Alexandre Terrasa Département d informatique, UQÀM INF3143 Modélisation et spécification formelles des logiciels Hiver 2016 Alexandre Terrasa Département d informatique, UQÀM OCL Collections 2 Rappels: Types OCL Boolean true, false Integer 1 ; -3 ; 12

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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Chapitre 5. Opérateurs, expressions et conversions

Chapitre 5. Opérateurs, expressions et conversions Chapitre 5 : Opérateurs, expressions et conversion 41 Chapitre 5 Opérateurs, expressions et conversions Chapitre 5 : Opérateurs, expressions et conversion 42 1. Expressions - Une expression est la composition

Plus en détail

Introduction à l informatique Travaux pratiques: séance 1 INFO X. Baumans

Introduction à l informatique Travaux pratiques: séance 1 INFO X. Baumans Introduction à l informatique Travaux pratiques: séance 1 INFO0205-1 X. Baumans (xavier.baumans@ulg.ac.be) Programme de la séance Déclarations de variables INFO0205-1 X.Baumans 1 / 21 Programme de la séance

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

CHAPITRE 2 : STRUCTURE ET OBJETS D UN ALGORITHME

CHAPITRE 2 : STRUCTURE ET OBJETS D UN ALGORITHME CHAPITRE 2 : STRUCTURE ET OBJETS D UN ALGORITHME I- STRUCTURE Un algorithme est caractérisé par son nom et comporte trois grandes parties : - L en-tête : liste des objets utilisés par l algorithme. On

Plus en détail

Module B9-1 1 : sensibilisation à l UML

Module B9-1 1 : sensibilisation à l UML Module B9-1 1 : sensibilisation à l UML Session 3 : Vue statique Olivier Habart : habart.olivier@free.fr ENSTA B9-1 UML (Olivier Habart) Septembre 10 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme

Plus en détail

Le langage Scilab. 2) Les types structurés Les listes Les tableaux (ou matrices)

Le langage Scilab. 2) Les types structurés Les listes Les tableaux (ou matrices) Le langage Scilab I. Les objets du langage( constantes ou variables) 1) Les types élémentaires Les nombres entiers (signés ou non, codés sur 1 octet, 2 octets ou 4 octets). Par exemple, un entier codé

Plus en détail

Sémantique des langages

Sémantique des langages Sémantique des langages Logique de Hoare ENSIIE S5 : Sémantique des langages, Logique de Hoare 1 Sémantique axiomatique Comme pour la sémantique opérationnelle, l exécution du programme modifie l état

Plus en détail

Le modèle entité-association-étendu

Le modèle entité-association-étendu 1 Base de données COURS 03 MODÉLISATION AVANCÉE Le modèle entité-association-étendu 2 Le modèle EA déjà présenté ne permet pas d illustrer certains concepts plus élaborés. Le modèle entité-association-étendu

Plus en détail

PF1 Principes de Fonctionnement des machines binaires

PF1 Principes de Fonctionnement des machines binaires PF1 Principes de Fonctionnement des machines binaires Jean-Baptiste Yunès Jean.Baptiste.Yunes@univ-paris-diderot.fr Version 1.1 Calcul propositionnel et Algèbre de Boole Le calcul propositionnel ou calcul

Plus en détail

Conception par contrats avec UML

Conception par contrats avec UML Conception par contrats avec UML OCL Object Constraint Language Gerson Sunyé gerson.sunye@univ-nantes.fr LINA Introduction à OCL p.1 Plan Introduction Invariants, pré et post-conditions Spécification de

Plus en détail

Introduction aux systèmes informatiques. TRAVAUX PRATIQUES 4 Scripts sous Linux

Introduction aux systèmes informatiques. TRAVAUX PRATIQUES 4 Scripts sous Linux TRAVAUX PRATIQUES 4 Scripts sous Linux L objectif de ce TP est d approfondir la réalisation de programmes scripts abordée lors du précédent TP sous les systèmes d exploitation de type UNIX pour l'automatisation

Plus en détail

LES INSTRUCTIONS DE BASE ET LES STRUCTURES DE SÉLECTION

LES INSTRUCTIONS DE BASE ET LES STRUCTURES DE SÉLECTION LES INSTRUCTIONS DE BASE ET LES STRUCTURES DE SÉLECTION 105 LES INSTRUCTIONS DE BASE ET LES STRUCTURES DE SÉLECTION CHAPITRE 5 OBJECTIFS PRÉSENTER LES ÉNONCÉS DE LECTURE, D ÉCRITURE ET D AFFECTATION DU

Plus en détail

Pré-analyse Afficher le message «racine carré existe» Test de x. Entier x. Analyse Grille d analyse NOM : RACINE_CARRE S L.D.E O.

Pré-analyse Afficher le message «racine carré existe» Test de x. Entier x. Analyse Grille d analyse NOM : RACINE_CARRE S L.D.E O. LYCEE Privé Hannibal DISCIPLINE : Informatique PROFESSEUR: Mr Bayahi Raouf CChhaapp ittrree i 88 I. FORMES SIMPLES 1 Forme simple réduite a / Activité LES STRUCTURES DE CONTROLE CONDITIONNELLES Ecrire

Plus en détail

Dossier 1 Principaux éléments de syntaxe Java

Dossier 1 Principaux éléments de syntaxe Java IUT Montpellier Informatique Licence professionnelle 2009/10 Programmation par objets en Java Dossier 1 Principaux éléments de syntaxe Java Cette partie n'aborde pas les notions de classe et d'objet (et

Plus en détail

Java : la syntaxe. MC-II1 - Cours 2. J. Villemejane - IUT Créteil-Vitry Département GEII Université Paris-Est Créteil

Java : la syntaxe. MC-II1 - Cours 2. J. Villemejane - IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Java : la syntaxe MC-II1 - Cours 2 J. Villemejane - julien.villemejane@u-pec.fr IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2013-2014 1/15 Plan du cours 1 Conventions

Plus en détail

Le DOM et JavaScript 49. Retour sur le LANGAGE JavaScript

Le DOM et JavaScript 49. Retour sur le LANGAGE JavaScript Le DOM et JavaScript 49 Retour sur le LANGAGE JavaScript Les variables JavaScript 50 Définition : Une variable est une zone de la mémoire dans laquelle on enregistre tout types de données, des valeurs

Plus en détail

Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon

Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon Yannick Prié Département Informatique Faculté des Sciences et Technologies Université Claude Bernard Lyon 1 2011-2012 Introduction à des concepts et des technologies plus avancés liés à UML, notamment

Plus en détail

TP 7 : Vendredi 6 Décembre Type de donnée : booléen. Compétence :

TP 7 : Vendredi 6 Décembre Type de donnée : booléen. Compétence : TP 7 : Vendredi 6 Décembre 2013 1. Type de donnée : booléen 2. Caractère et chaîne de caractères : comment sont-ils représentés dans la machine? Représentation binaire : Un ordinateur est une machine qui

Plus en détail

Master Compétence Complémentaire en Informatique Programmation Orientée Objets Gestion de comptes en banque

Master Compétence Complémentaire en Informatique Programmation Orientée Objets Gestion de comptes en banque Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Master Compétence Complémentaire en Informatique Programmation Orientée Objets Gestion de

Plus en détail

NFA031 Programmation avec Java: notions de base

NFA031 Programmation avec Java: notions de base NFA031 Programmation avec Java: notions de base CNAM - centre d enseignement de Paris session 1-12 février 2015 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : QCM (2,5

Plus en détail

LA PROGRAMMATION EN TURBO PASCAL

LA PROGRAMMATION EN TURBO PASCAL LA PROGRAMMATION EN TURBO PASCAL I INTRODUCTION Le PASCAL est un langage de programmation évolué car sa définition ne dépend pas de l ordinateur sur lequel le programme est écrit Il a été conçu par N WIRTH

Plus en détail

Sciences de l Ingénieur Page 151 LE LANGAGE C

Sciences de l Ingénieur Page 151 LE LANGAGE C Sciences de l Ingénieur Page 151 LE LANGAGE C Exemple char val1=0xa5; int val2; void tempo(char temps) // Déclaration d une variable caractère avec valeur initiale // Déclaration d une variable nombre

Plus en détail

Introduction aux Objets et à Java

Introduction aux Objets et à Java Introduction aux Objets et à Java F. Mallet Frederic.Mallet@unice.fr http://deptinfo.unice.fr/~fmallet/java/gse.html 2011/2012 F. Mallet - GSE 4 1-1 Introduction o Introduction aux objets et à Java Créer

Plus en détail

Compilation. Plan. CM5 - Génération de code. COMP, M1 info

Compilation. Plan. CM5 - Génération de code. COMP, M1 info Compilation CM5 - Génération de code ISTIC, Université de Rennes 1 Sebastien.Ferre@irisa.fr COMP, M1 info 1 / 43 Plan [0] Introduction Machine intermédiaire Opérateurs arithmétiques Opérateurs logiques

Plus en détail

Chap. II : Initiation au Langage Machine

Chap. II : Initiation au Langage Machine UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie du cours, nous allons étudier la programmation en langage machine d un microprocesseur. L étude complète

Plus en détail

Génie Logiciel. 1 - Présentation du langage Java. Idir AIT SADOUNE

Génie Logiciel. 1 - Présentation du langage Java. Idir AIT SADOUNE 1/55 Génie Logiciel 1 - Présentation du langage Idir AIT SADOUNE CentraleSupélec - Département Informatique 3, rue Joliot-Curie, 91192 Gif-sur-Yvette cedex

Plus en détail

TP n 5 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Les collections

TP n 5 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Les collections TP n 5 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Les collections 1 Exercice 1 ArrayList En vous aidant de l annexe (documentation de ArrayList et de Random), réalisez un programme

Plus en détail

TRAVAUX PRATIQUES 5 Scripts avancés sous Linux

TRAVAUX PRATIQUES 5 Scripts avancés sous Linux TRAVAUX PRATIQUES 5 Scripts avancés sous Linux L objectif de ce TP est de continuer à approfondir la réalisation de programmes scripts abordée lors du précédent TP sous les systèmes d exploitation de type

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 4: Fonctions récursives Année 2013-2014 Les précédents épisodes de INF 121 Types de base : Type Opérations Constantes bool not, &&, true, false

Plus en détail

Plan. UML introduction. UML, un aperçu. Plan

Plan. UML introduction. UML, un aperçu. Plan Plan UML introduction Aurélien Tabard Département Informatique Université Claude Bernard Lyon 1 2013 Basé sur le cours de Yannick Prié 1. Introduction au langage de modélisation UML points de vue et diagrammes

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 2: Programmation Orientée Objet en Java Stéphane Airiau Université Paris-Dauphine Cours 2: Programmation Orientée Objet en Java (Stéphane Airiau) Java 1 But : ne pas coder la

Plus en détail

Java et la programmation orientée objet (POO)

Java et la programmation orientée objet (POO) 1. Java, les bases 1.1. Introduction 1.1.1. Un bref historique - origine : 1991 - ingénieur de SUN qui ont cherché à concevoir un langage applicable à de petits appareils électriques (code embraqué). L

Plus en détail

Lycée Alfred-Kastler Stenay. TP info : Les bases de la programmation Python

Lycée Alfred-Kastler Stenay. TP info : Les bases de la programmation Python Lycée Alfred-Kastler Stenay TP info : Les bases de la programmation Python 1 Introduction au langage python: Python est un langage informatique facile à prendre en main, très utile pour une première approche

Plus en détail

Ch 2 Bases d un Langage algorithmique

Ch 2 Bases d un Langage algorithmique ALGO Ch 2 Bases d un Langage algorithmique I. INTRODUCTION... 1 A. STRUCTURE GENERALE D UN ALGORITHME DE FONCTION... 1 B. STRUCTURE GENERALE D UN ALGORITHME PRINCIPAL... 2 C. LES COMMENTAIRES : % %...

Plus en détail

Chapitre 12 Circuits logiques

Chapitre 12 Circuits logiques Chapitre 12 Circuits logiques Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 12 Circuits logiques INF2170 Automne 2013 1

Plus en détail

Plan. Programmation structurée. Objectif. Algorithme. Programme et algorithme. Algorithme

Plan. Programmation structurée. Objectif. Algorithme. Programme et algorithme. Algorithme Plan Programmation structurée Algorithme Principe de base de la programmation structurée Les structures Traduction en Java Université de Nice - Sophia Antipolis Richard Grin Version 1.1.3 1/10/11 Richard

Plus en détail

Programmation fonctionnelle : correction feuille d exercices 1

Programmation fonctionnelle : correction feuille d exercices 1 Programmation fonctionnelle : correction feuille d exercices 1 María-Virginia Aponte 28 février 2011 Exercice 1 Expressions Chacune des phrases Ocaml dans cet exercice est une expression. Rappel : Cela

Plus en détail

Bases de données. Algèbre relationnelle ALGÈBRE RELATIONNELLE

Bases de données. Algèbre relationnelle ALGÈBRE RELATIONNELLE 0100 1 Bases de données ALGÈBRE RELATIONNELLE En juin 190, E. F. Codd publie un article qui présente les fondements du modèle relationnel : «A Relational Model of Data for Large Shared Data Banks» Cet

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Objectif: acquérir les bases d un langage de programmation évolué Les éléments abordés seront: - Organisation d un programme - Les variables - Les opérations sur les variables

Plus en détail

Visual Basic T. EL AZZAOUI. toufik.elazzaoui@student.emi.ac.ma 2015-2016

Visual Basic T. EL AZZAOUI. toufik.elazzaoui@student.emi.ac.ma 2015-2016 Visual Basic T. EL AZZAOUI toufik.elazzaoui@student.emi.ac.ma 2015-2016 Plan: - La programmation - Langage de programmation - Langage BASIC / Langage Visual Basic. - L environnement de développement de

Plus en détail

Chapitre 4 - Calcul des propositions et des prédicats, langage ensembliste et calcul booléen

Chapitre 4 - Calcul des propositions et des prédicats, langage ensembliste et calcul booléen Lycée Maximilien Sorre Année 2015-2016 BTS SIO 1 Chapitre 4 - Calcul des propositions et des prédicats, langage ensembliste et calcul booléen 1 Calcul des propositions 1.1 Propositions, valeurs de vérité

Plus en détail

Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES. Chapitre 1 : Langage JAVA. Ahmed KHOUMSI. Ahmed KHOUMSI. Hiver 2001

Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES. Chapitre 1 : Langage JAVA. Ahmed KHOUMSI. Ahmed KHOUMSI. Hiver 2001 Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES en JAVA 1 Programmation orientée objet (POO) Objet : cœur de la POO objet = type de données qui a une structure et un état État de l objet

Plus en détail

ANALYSE D ALGORITHMES

ANALYSE D ALGORITHMES ANALYSE D ALGORITHMES Révision mathématique rapide Temps d exécution Pseudo-code Notation asymptotique Analyse asymptotique T(n) n = 4 Entrée Algorithme Sortie 2.1 Cas moyen vs. Pire des cas: Temps d exécution

Plus en détail

Génie logiciel avancé

Génie logiciel avancé L3 informatique et MIAGE Année 2016-2017 Génie logiciel avancé Test de mutations Delphine Longuet delphine.longuet@lri.fr http://www.lri.fr/~longuet/enseignements/16-17/l3-gla Qualité d'une suite de tests

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 Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction/Plan But de la méta-modélisation Définir des

Plus en détail

IFT2255 Génie logiciel

IFT2255 Génie logiciel IFT2255 Génie logiciel Chapitre 6. Analyse orientée objets Diagramme de classes Julie Vachon et Houari Sahraoui 6.2. Diagramme de classes. Classe Attribut Opérations Visibilité 2. s Multiplicité, documentation,

Plus en détail

Méthodologie de la programmation

Méthodologie de la programmation Méthodologie de la programmation Pablo Rauzy pablo rauzy @ univ-paris8 fr pablo.rauzy.name/teaching/mdlp UFR MITSIC / L1 informatique Séance e Aperçu du langage C : introduction Pablo Rauzy (Paris 8 /

Plus en détail

TP n 5 (1.5 séances)

TP n 5 (1.5 séances) Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2007/2008 TP n 5 (1.5 séances) Pour vous éviter d avoir à recopier les programmes, tous les listings se trouvent dans l archive listingstp5.zip

Plus en détail

Organisation logicielle : le langage C

Organisation logicielle : le langage C I Généralités : Organisation logicielle : le langage C Le langage C appliqué aux microcontrôleurs permet de bénéficier d un langage universel et portable pratiquement indépendant du type de microcontrôleur

Plus en détail

PARADIGME ORIENTÉ OBJET - PART 2

PARADIGME ORIENTÉ OBJET - PART 2 PARADIGME ORIENTÉ OBJET - PART 2 A programming paradigm that uses objects to design systems. Sébastien Adam Les concepts avancés de la programmation orientée-objet 2 Plan Héritage en Java Modificateur

Plus en détail

Programmation I : Cours de programmation (C++) Variables et opérateurs

Programmation I : Cours de programmation (C++) Variables et opérateurs Programmation I : Cours de () Variables et opérateurs Laboratoire d Intelligence Artificielle Faculté I&C Programmation I Cours 2 : Variables et opérateurs 1 / 25 Vidéos, Quiz et transparents https://www.coursera.org/learn/init-prog-cpp/home/week/1

Plus en détail

Logique et Preuves. Logique et Preuves. Pierre Castéran September 5, 2016

Logique et Preuves. Logique et Preuves. Pierre Castéran September 5, 2016 Logique et Preuves Pierre Castéran pierre.casteran@labri.fr September 5, 2016 Introduction Qu est-ce que la logique? La logique est une science dont l objet est l étude du raisonnement, abstraction faite

Plus en détail

Dans ce chapitre nous présentons comment développer les classes et créer les objets.

Dans ce chapitre nous présentons comment développer les classes et créer les objets. Chapitre 2 La programmation orientée objet est une technique très puissante permettant d exploiter d énormes ressources stockées sous forme de classes et accessibles librement sur Internet. L appellation

Plus en détail

Programmation Java - bases

Programmation Java - bases Programmation Java - bases Programmation objet avec Java (2) Christelle Urtado & Sylvain Vauttier Janvier 2013 Surdéfinition et Dans un constructeur, pour appeler un autre constructeur de la même classe,

Plus en détail

Exercice I : fonctions sur les listes

Exercice I : fonctions sur les listes Université Pierre et Marie Curie DEUG MIAS première année Informatique-1 Année 2002-2003 Examen septembre 1 septembre 2003 2 heures Remarques : Aucun document ni machine électronique n est permis à l exception

Plus en détail

Notions d algorithme

Notions d algorithme DERNIÈRE IMPRESSION LE 6 septembre 2014 à 8:53 Notions d algorithme Table des matières 1 Introduction 2 1.1 Algorithme................................. 2 1.2 Conventions pour écrire un algorithme................

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Mohamed Tounsi Institut Supérieur d'informatique et de Multimédia Sfax Septembre 2014 Mohamed Tounsi (ISIMS) Programmation Orientée Objet Septembre 2014 1 / 22 de base Les

Plus en détail

Plan. Les objets en Java. Exemple 1: fraction. Types et Classes. Méthodes. Variables locales:

Plan. Les objets en Java. Exemple 1: fraction. Types et Classes. Méthodes. Variables locales: Plan Les objets en Java Joël Quinqueton Dépt MIAp, UFR IV UPV - Université Montpellier III Types et classes Premier exemple de classe Second exemple: une liste L héritage en Java Types primitifs Tableaux

Plus en détail

Programmation avancée et répartie en Java : rappels sur les mots-clés de Java

Programmation avancée et répartie en Java : rappels sur les mots-clés de Java Programmation avancée et répartie en Java : rappels sur les mots-clés de Java Frédéric Gava L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours de M1 MIAGE Plan 1 Flot de contrôle 2 Plan 1

Plus en détail

Exercice 1 : Projets d investissement (14 pts)

Exercice 1 : Projets d investissement (14 pts) Informatique - DEGEAD2 Université Paris-Dauphine Examen d informatique Jeudi 30 janvier 2014 Durée : 1h30 Documents, calculettes et téléphones portables interdits Le barème est donné à titre indicatif,

Plus en détail

Informatique L1 (Sciences Exactes) CODAGE BINAIRE. L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant :

Informatique L1 (Sciences Exactes) CODAGE BINAIRE. L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : Informatique L1 (Sciences Exactes) CODAGE BINAIRE Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : initiation à l algorithmique

Plus en détail

Conception Formelle en PVS

Conception Formelle en PVS Conception Formelle en PVS Présenté par: Roland Atoui Xavier Dumas Sébastien Jardel Laurent Vendredi Chef de Projet: M. Pierre Castéran 29/03/2007 Master 2 ISC Plan 1-2- La Méthode M B 3- PVS: Prototype

Plus en détail

IMA UNIVERSITE JOSEPH FOURIER

IMA UNIVERSITE JOSEPH FOURIER Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Master Professionnel Compétence Complémentaire en Informatique Programmation par Objets

Plus en détail

IFT Boucles. Professeur: Stefan Monnier

IFT Boucles. Professeur: Stefan Monnier IFT 1015 - Boucles Professeur: Stefan Monnier B. Kégl, S. Roy, F. Duranleau, S. Monnier Département d informatique et de recherche opérationnelle Université de Montréal hiver 2006 IFT-1015 Stefan Monnier

Plus en détail

Modélisation. De la niche à l immeuble. Modèle. Système logiciel = Immeuble. Construction d un modèle indispensable

Modélisation. De la niche à l immeuble. Modèle. Système logiciel = Immeuble. Construction d un modèle indispensable Modélisation Petite Introduction à UML Construire un bon logiciel : Répondre aux objectifs fixés (satisfaire le client) Avoir une base architecturale solide qui permette l évolution Mettre en place un

Plus en détail

Introduction Variables Instructions. Création de scripts. Jean-Baptiste Vioix LE2I - ENESAD.

Introduction Variables Instructions. Création de scripts. Jean-Baptiste Vioix LE2I - ENESAD. Création de scripts Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-27 Introduction à la création de script Diverses opérations nécessitent de nombreuses commandes répétitives.

Plus en détail

Département d informatique Professeur : Clermont Dupuis Université Laval Bureau : IFT Programmation orientée objet.

Département d informatique Professeur : Clermont Dupuis Université Laval Bureau : IFT Programmation orientée objet. Département d informatique Professeur : Clermont Dupuis Université Laval Bureau : 3976 IFT-19946 Programmation orientée objet Date : 17 décembre 2001 Aucune documentation permise. Examen sur 60 Question

Plus en détail

1. LE SQL 2. L ALGEBRE RELATIONNEL ET LE SQL

1. LE SQL 2. L ALGEBRE RELATIONNEL ET LE SQL COMPRENDRE LE SQL 1. LE SQL Le SQL (Structured Query Language) est un langage d'interrogation de bases de données. Très répandu, permettant la manipulation (de façon simple) des bases de données relationnelles.

Plus en détail

TP 1 : Ecriture, compilation et exécution de programmes C simples

TP 1 : Ecriture, compilation et exécution de programmes C simples TP 1 : Ecriture, compilation et exécution de programmes C simples Objectifs : Découvrir la syntaxe et la sémantique du langage C. Etre capable d écrire en C un algorithme simple. SYNTAXE DU LANGAGE C...

Plus en détail

Introduction à la Méthode B

Introduction à la Méthode B Yamine AIT-AMEUR IRIT/INPT-ENSEEIHT yamine@n7.fr 04 Février 2014 Plan Introduction 1 Introduction 2 Eléments du langage de modélisation Substitutions généralisées Obligations de preuve 3 Machine abstraite

Plus en détail

Licence d informatique. Hugues Fauconnier.

Licence d informatique. Hugues Fauconnier. Cours programmationorientée objet en Java Licence d informatique Hugues Fauconnier hf@liafa.jussieu.fr Plan du cours Introduction: programmation objet pourquoi? Comment? Un exemple en Java Classes et objets

Plus en détail

5. ( ) ( ) Aller à : Correction exercice 6 : Exercice 7 : Soient et deux parties de. Ecrire en utilisant les assertions

5. ( ) ( ) Aller à : Correction exercice 6 : Exercice 7 : Soient et deux parties de. Ecrire en utilisant les assertions Logique Exercice 1 : Parmi les assertions suivantes, lesquelles sont vraies, lesquelles sont fausses et pourquoi? 1. Si Napoléon était chinois alors 2. Soit Cléopâtre était chinoise, soit les grenouilles

Plus en détail

Introduction à la programmation Travaux pratiques: séance 1 INFO0201-1

Introduction à la programmation Travaux pratiques: séance 1 INFO0201-1 Introduction à la programmation Travaux pratiques: séance 1 INFO0201-1 B. Baert, X. Baumans & F. Ludewig Bruno.Baert@ulg.ac.be - Xavier.Baumans@ulg.ac.be Implication des TP info et Pourquoi programmer?

Plus en détail

OWL. OWL: Ontology Web Langage

OWL. OWL: Ontology Web Langage : Ontology Web Langage Définition philosophique Ontologie * Définition philosophique «Science qui étudie de l Être en temps qu être, et les attributs qui lui appartiennent essentiellement.», Aristote,

Plus en détail

Chapitre 2 : Introduction au langage JavaScript

Chapitre 2 : Introduction au langage JavaScript Chapitre 2 : Introduction au langage JavaScript I. Principe de JavaScript Le langage JavaScript est un langage de script développé par les sociétés Netscapeet Sun Microsystems vers la fin de l'année 1995.Il

Plus en détail

C.M. 5 : Programmation Bash

C.M. 5 : Programmation Bash Grégory Bonnet gregory.bonnet@unicaen.fr GREYC Université Caen Basse Normandie Diaporama original : Jean-Philippe Métivier Boris Lesner Un script bash? script bash = une suite d instructions dans le langage

Plus en détail

Documentation Technique : Grammaire & Parseur SoCQ

Documentation Technique : Grammaire & Parseur SoCQ Documentation Technique : Grammaire & Parseur SoCQ Julien Deflaux 1 er août 2008 1 Table des matières 1 Introduction 3 2 Grammaire SoCQ 4 2.1 Description des données..................... 4 2.2 Étendue

Plus en détail

IFT Programmation 1. Objets 1. Au programme. Types simples, type complexes. Objets. [Tasso :7] et [Niño : 2.3-6] Type simple, type complexe

IFT Programmation 1. Objets 1. Au programme. Types simples, type complexes. Objets. [Tasso :7] et [Niño : 2.3-6] Type simple, type complexe IFT 1010 - Programmation 1 Objets 1 Sébastien Roy & François Duranleau [Tasso :7] et [Niño : 2.3-6] Au programme Type simple, type complexe Propriétés et Requêtes Commandes et état Utilisation des objets

Plus en détail

I2 - Partie 1 : Architecture matérielle Langage machine

I2 - Partie 1 : Architecture matérielle Langage machine I2 - Partie 1 : Architecture matérielle Langage machine N. Prcovic 04.91.28.89.51 nicolas.prcovic@univ-cezanne.fr I2 - Partie 1 :Architecture matériellelangage machine p.1/40 L ordinateur en tant que machine

Plus en détail

Sémantiques pour un langage impératif

Sémantiques pour un langage impératif Sémantiques pour un langage impératif Dominique Duval XLIM, colloquium du LACO Université de Limoges, 23 février 2007 Outline Introduction Syntaxe Sémantique dénotationnelle Sémantique opérationnelle SémantiqueS

Plus en détail

Programmation Impérative. Le langage C. Structure d un programme

Programmation Impérative. Le langage C. Structure d un programme Programmation Impérative Le langage C Objectifs - Apprentissage programmation C - Structuration en fonctions et modules. - Implémenter différentes structures de données simples : les tableaux, les listes.

Plus en détail

Cours 4. (La recherche d information sur le web)

Cours 4. (La recherche d information sur le web) Université Kasdi Merbah Ouargla Faculté des Lettres et des Langues Département des Langues Étrangères Division de Français Unité : Recherche bibliographique Niveau : Première année Master (Analyse du discours)

Plus en détail

Le langage Lustre. Pascal Raymond, Verimag-CNRS

Le langage Lustre. Pascal Raymond, Verimag-CNRS Pascal Raymond, Verimag-CNRS Approche flot de données 2 Classique en automatique et en conception de circuits Y X + 2 / M node Moyenne(X, Y : int) returns (M : int); let M = (X + Y) / 2; tel Interprétation

Plus en détail

Chapitre I Les Structures De Données

Chapitre I Les Structures De Données Les Structures De Données Objectifs : Définir les notions de constantes et de variables, Déclarer les variables de types simples, chaînes de caractère et de type tableau, Distinguer les types simples du

Plus en détail

if (condition) { // Exécuter ce code lorsque la condition est vraie. } else { // Exécuter ce code lorsque la condition est fausse.

if (condition) { // Exécuter ce code lorsque la condition est vraie. } else { // Exécuter ce code lorsque la condition est fausse. 4 if /else En programmation, le choix des actions à effectuer en fonction des circonstances est un concept important. Par exemple, si l intégralité des champs d un formulaire a été remplie, alors nous

Plus en détail

Projet du cours Fondements de l informatique

Projet du cours Fondements de l informatique Projet du cours Fondements de l informatique École des Mines de Nancy 2A Frédéric Sur sur@loria.fr www.loria.fr/ sur/enseignement/projetfondinfo/ 1 Objectif Le but du projet est d écrire un interprète

Plus en détail

Journées RNTL Octobre Projet MORSE. interopérables Embarqués critiques

Journées RNTL Octobre Projet MORSE. interopérables Embarqués critiques Journées RNTL 4-55 Octobre 2004 Projet MORSE Méthodes et Outils pour la Réalisation et la vérification formelle de Systèmes interopérables Embarqués critiques VELU Jean-Pierre Direction Technique et Scientifique

Plus en détail

Corrigé des petits exercices

Corrigé des petits exercices Corrigé des petits exercices Exercice 2.1.1 terminologie Soit le morceau de code Java suivant : (x * 3) + 1 quel nom donne-t-on à ce morceau de code tout entier? une expression quels sont les opérateurs?

Plus en détail

Chapitre IV Modélisation et Conception de BD

Chapitre IV Modélisation et Conception de BD Chapitre IV Modélisation et Conception de BD 1. Un modèle conceptuel : le modèle Entités-Associations (E/A) Plan: 1. Le modèle Entités-Associations (E/A) (modèle conceptuel) 2. Traduction en modèle relationnel

Plus en détail

Structures de contrôle

Structures de contrôle Structures de contrôle Introduction à la Programmation Sylvain Tisserant Structures de contrôle Contrôle de l exécution du programme Le traitement peut dépendre de conditions Les nombre et nature des racines

Plus en détail

Object Constraint Language (OCL)

Object Constraint Language (OCL) Object Constraint Language (OCL) Eric Cariou Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr 1 Plan 1. Pourquoi OCL? Introduction par l'exemple

Plus en détail

Aide Mémoire - langage C

Aide Mémoire - langage C Université du Luxembourg 2005 2006 Aide Mémoire - langage C 1 Directives de préprocesseur inclusion de fichiers pour un fichier système : #include pour un fichier du répertoire courant

Plus en détail

Compilation. Cours n 2: Syntaxe, sémantique et interprétation de Pseudo-C. Sandrine Blazy (d après le cours de François Pottier) 3 novembre 2008

Compilation. Cours n 2: Syntaxe, sémantique et interprétation de Pseudo-C. Sandrine Blazy (d après le cours de François Pottier) 3 novembre 2008 Compilation Cours n 2: Syntaxe, sémantique et interprétation de Pseudo-C Sandrine Blazy (d après le cours de François Pottier) - 2 e année 3 novembre 2008 S.Blazy (www.ensiie.fr/ blazy) Compilation 3 novembre

Plus en détail

3. Opérateurs et instructions. Opérateurs Expression et instruction Structures de contrôle structures alternatives structures répétitives

3. Opérateurs et instructions. Opérateurs Expression et instruction Structures de contrôle structures alternatives structures répétitives 1 3. Opérateurs et instructions Opérateurs Expression et instruction Structures de contrôle structures alternatives structures répétitives Opérateurs 2 Affectation: = identificateur = résultat d une expression

Plus en détail

LES STRUCTURES ALGORITHMIQUES DE CONTROLES

LES STRUCTURES ALGORITHMIQUES DE CONTROLES LYCEE Moknine DISCIPLINE : PROGRAMMATION PROFESSEUR : Mr Grich Mourad LES STRUCTURES ALGORITHMIQUES DE CONTROLES A. LES STRUCTURES DE CONTROLES CONDITIONNELLES : I. INTRODUCTION Une structure est dite

Plus en détail

Soit une feuille Excel contenant les informations suivantes où l on constate que les informations sont triées en ordre croissant de nombres de votes :

Soit une feuille Excel contenant les informations suivantes où l on constate que les informations sont triées en ordre croissant de nombres de votes : Question 1 Feuilles Excel Soit une feuille Excel contenant les informations suivantes où l on constate que les informations sont triées en ordre croissant de nombres de votes : Écrivez une fonction qui

Plus en détail

Résumé du sous-ensemble de la notation UML 2 utilisé dans ce livre

Résumé du sous-ensemble de la notation UML 2 utilisé dans ce livre Résumé du sous-ensemble de la notation UML 2 utilisé dans ce livre annexe A Diagramme de cas d utilisation Diagramme de séquence Diagramme de classes Diagramme de packages Diagramme d états Cahier du programmeur

Plus en détail