150. Contraintes OCL - Object Constraint Language. Table des matières
|
|
- Clotilde Prudhomme
- il y a 6 ans
- Total affichages :
Transcription
1 Document en travail! Modélisation de logiciels de gestion OCL - Object Constraint Language Table des matières 1 Préambule Positionnement d'ocl Exemple de diagramme de classe Invariant Valeur initiale d'attribut Attribut dérivé Contexte Adressage explicite - self Navigation Navigation d'une entité vers un attribut Navigation d'une entité vers une extrémité opposée d'association Navigation d'une entité vers une entité associative Navigation d'une entité vers une entité associative par une association réflexive Navigation d'une association vers une extrémité Navigation et cardinalités maximales Collections Concept Opérations de collections select() et reject() collect() forall() exists() closure() iterate() Autres opérations Eléments complémentaires Remarques let - Variable locale def - Variable globale Structure de test allinstance() Bibliographie Webographie /20
2 1 Préambule Dans ce document, nous nous contenterons d'étudier OCL dans la perspective de la modélisation de contraintes au sein de modèles conceptuels de données. Plus particulièrement, nous verrons comment: - spécifier des invariants; - spécifier des valeurs initiales et des attributs dérivés Nous nous limiterons aux aspects qui nous semblent les plus importants et nous prions le lecteur de se référer aux spécifications de l'omg pour plus de détails [OMG-2]. OCL ne permet pas de modifier l'état des occurrences d'entités et d'associations du modèle; OCL est garanti :"sans effet de bord". 2 Positionnement d'ocl OCL-Object Constraint Language est un langage formel de contraintes défini par l'omg 1 en complément à UML. Le langage OCL a comme objectif de permettre au modélisateur de rendre les modèles UML plus riches en ajoutant des spécifications que la sémantique des seuls modèles ne permet pas. [OCL-2 Chapitre 7.1] the Object Constraint Language (OCL), a formal language used to describe expressions on UML models. These expressions typically specify invariant conditions that must hold for the system being modeled or queries over objects described in a model. Note that when the OCL expressions are evaluated, they do not have side effects (i.e., their evaluation cannot alter the state of the corresponding executing system). OCL expressions can be used to specify operations / actions that, when executed, do alter the state of the system. UML modelers can use OCL to specify application-specific constraints in their models. UML modelers can also use OCL to specify queries on the UML model, which are completely programming language independent. 1 OMG - Object Mangement Group, 2/20
3 3 Exemple de diagramme de classe Le diagramme ci-dessous est repris tel quel du document [OMG-2]; nous l'utiliserons pour les exemples que nous n'avons pas reproduits. Figure 1 - Exemple de diagramme de classes [Copié de OMG-2] 3/20
4 4 Invariant Un invariant est une expression OCL qui doit être vraie quel que soit l'état des occurrences d'entités et d'associations du modèle. La syntaxe basique de création d'un invariant est de la forme: context TypeName inv simplename: expressionocl - context est un mot réservé - TypeName est l'élément de modélisation (contexte) sur lequel s'applique l'invariant - inv est le mot réservé pour un invariant - simplename est un nom optionnelle qui peut être donné à la contrainte d'invariance - expressionocl est le corps de la contrainte d'invariance qui doit être toujours vraie. A partir du modèle de la Figure 2, nous pourrions écrire l'invariant suivant: context LivreEnfant inv IntervalleAge: agemin <= agemax Quelques règles de mise en œuvre d'invariants, à partir des outils de modélisation graphiques UML: Les invariants sont posés dans des notes. La note est stéréotypée «OCL». Si la note est rattachée à un élément de modélisation, le contexte de la contrainte est implicitement le-dit élément de modélisation et peut donc être omis. Figure 2 - Exemple d'invariants De notre côté, nous avons choisi d'imposer un nom à tout invariant. 4/20
5 5 Valeur initiale d'attribut Une valeur initiale est définie par une expression OCL. La syntaxe basique d'affectation de valeur initiale à un attribut est de la forme: context TypeName::attributeName Type init: expressionocl - context est un mot réservé - TypeName est l'élément de modélisation (contexte) sur lequel s'applique la valeur par défaut - attributename est le nom de l'attribut à traiter - Type est le type de données de l'attribut traité - init est le mot réservé pour une initialisation - expressionocl est le code d'initialisation A partir du modèle de la Figure 3, nous pourrions écrire l'initialisation suivante: context LigneTicket::rabais int init: 0 Figure 3 - Exemple de valeurs initiales d'attribut En nous appuyant sur l'un ou l'autre outil de modélisation UML, la spécification de valeur initiale d'attribut est beaucoup plus aisée que la description formelle ci-dessus; en général, les outils proposent une propriété de valeur initiale, Initial value, comme dans l'exemple Visual Paradigm ci-dessous: 5/20
6 Figure 4 - Interface Visual Paradigm d'édition d'un attribut (1) A propos de la valeur initiale de l'attribut dateemission de l'entité Ticket: L'opération d'initialisation, cejour(), est une procédure fournie par l'interface IDates du composant Util selon le modèle ci-dessous. Ce modèle est purement illustratif, il nous faut encore valider les choix de modélisation de ressources externes tels que ce composant Util. Figure 5 - Services du composant Util 6/20
7 6 Attribut dérivé Un attribut dérivé est défini par une expression OCL. Dans le cadre de ce cours de modélisation des données, un attribut dérivé est un attribut dont la valeur est calculée automatiquement chaque fois qu'il est invoqué. En UML un attribut dérivé est noté avec la barre de division / devant son nom. La syntaxe basique d'affectation de valeur dérivée à un attribut est de la forme: context TypeName::attributeName Type derive: expressionocl - context est un mot réservé - TypeName est l'élément de modélisation (contexte) sur lequel s'applique la dérivation - attributename est le nom de l'attribut à traiter - Type est le type de données de l'attribut traité - derive est le mot réservé pour une dérivation - expressionocl est le code de dérivation. A partir du modèle de la Figure 6, nous pourrions écrire la dérivation suivante: context LigneTicket::montantLigne decimal derive: vendu.prix*quantite Figure 6 - Exemple d'attributs dérivés 7/20
8 En général, les outils de modélisation UML permettent de définir un attribut comme étant dérivé; nous voyons, dans le formulaire ci-dessous, la propriété Derived qu'il faut valider et compléter avec l'expression de dérivation qu'il suffit de mettre dans la propriété Initial value. Figure 7 - Interface Visual Paradigm d'édition d'un attribut (2) 8/20
9 7 Contexte En général, le contexte d'application d'une expression OCL est souvent implicite, ce peut être par l'ancrage de la note «OCL» à un objet de modélisation ou par l'écriture de l'expression OCL directement au sein de l'élément auquel elle s'applique. Toutefois, lorsque cela n'est pas possible ou souhaitable, il est tout à fait possible de mettre les contraintes OCL au sein de notes flottantes et de définir le contexte comme illustré en Figure 8. Figure 8 - Déclaration explicite du contexte 8 Adressage explicite - self Implicitement, toute expression OCL s'applique à l'élément de modélisation contextuel; toutefois, il est possible de le spécifier expressément en recourant au mot-clé self. Par rapport au modèle de la Figure 2: context LivreEnfant inv IntervalleAge: agemin <= agemax est équivalent à context LivreEnfant inv IntervalleAge: self.agemin <= self.agemax Remarque: Le recours à l'adressage explicite est particulièrement utile dans le corps d'opérations 2 comparant l'élément de contexte à l'ensemble des éléments de son conteneur [Voir chapitre ] 9 Navigation Le symbole d'indirection, le point, sert d'opérateur de navigation. La navigation s'entend: 1. d'une entité vers un attribut 2. d'une entité vers une extrémité opposée d'association 3. d'une entité vers une entité associative 4. d'une entité vers une entité associative par une association récursive 5. d'une association vers une extrémité 2 Des opérations utilisant un ou plusieurs itérateurs comme iterate() ou forall(). 9/20
10 9.1 Navigation d'une entité vers un attribut Par rapport au modèle de la Figure 2, self réfère à l'entité contextuelle, en l'occurrence LivreEnfant, et.agemin accède à l'attribut agemin context LivreEnfant inv IntervalleAge: self.agemin <= self.agemax Rappel: self. peut être omis. 9.2 Navigation d'une entité vers une extrémité opposée d'association Par rapport au modèle de la Figure 6, self réfère à l'entité contextuelle, en l'occurrence LigneTicket, et.vendu accède à l'entité Produit par l'extrémité vendu de l'association; ensuite,.prix accède à l'attribut prix. context LigneTicket::montantLigne decimal derive: self.vendu.prix*self.quantite Rappel: self. peut être omis. 9.3 Navigation d'une entité vers une entité associative La navigation se fait en référant l'entité associative comme illustré ci-dessous pour l'attribut dérivé tauxpresence. Figure 9 - Navigation vers une entité associative Rappel: Presence.taux est équivalent à self.presence.taux où self est l'entité contextuelle Enfant. 10/20
11 9.4 Navigation d'une entité vers une entité associative par une association réflexive La navigation se fait en référant l'entité associative et le rôle de départ de la navigation mis entre crochet [] comme illustré ci-dessus pour l'attribut dérivé qteparties. Figure 10 - Navigation vers une entité associative par une association réflexive Rappel: Composition[composite].qte est équivalent à self. Composition[composite].qte où self est l'entité contextuelle Produit. 9.5 Navigation d'une association vers une extrémité Le principe est le même que depuis une entité vers une extrémité opposée [Chapitre 9.2]. Figure 11 - Navigation d'une association vers une extrémité 11/20
12 10 Navigation et cardinalités maximales Lors de la navigation vers une extrémité d'association, le résultat obtenu sera potentiellement: - Une occurrence de l'entité adossée à l'extrémité lorsque la cardinalité maximale est à 1 - Une collection d'occurrences de l'entité adossée à l'extrémité lorsque la cardinalité maximale est à n. Lorsque la cardinalité maximale est à 1, OCL permet de spécifier le résultat en tant que: - occurrence d'entité ou attribut. - collection composée d'une seule occurrence ou d'un seul attribut. Le choix entre les deux possibilités se marque par l'opérateur -> qui indique que l'élément qui le précède est une collection; l'opérateur -> est toujours suivi d'une opération applicable à la collection. Dans l'exemple de la Figure 12, nous utilisons le marqueur de collection '->' pour vérifier la présence d'une éducatrice responsable et ensuite le marqueur d'indirection '.' pour accéder à l'identifiant naturel, mnemonique, de l'éducatrice responsable. Figure 12 - Exemple de marqueur '.' ou '->' 11 Collections 11.1 Concept Une collection est un ensemble d'éléments de même nature. Un ensemble peut être créé par une expression OCL ou provenir de la navigation. Set {8, 5, 6, 10} context Ticket self.partiede Ensemble créé par une requête OCL. Ensemble des lignes du ticket contextuel. [Voir Figure 6] 12/20
13 Il existe 4 types de collections: - Set; un ensemble d'éléments uniques; {8,5,6,10} - OrderedSet; un ensemble d'éléments uniques ordonnés; {5,6,8,10} - Bag; un ensemble d'éléments qui peuvent être répétés; {8,5,8,8,6,5,10} - Sequence; un ensemble d'éléments ordonnés qui peuvent être répétés; {5,5,6,8,8,8,10} 11.2 Opérations de collections select() et reject() Les opérations select (boolean-expression) et reject (boolean-expression) permettent de retourner un sous-ensemble d'une collection initiale. Les exemples ci-dessous s'appliquent à la Figure 6: context Ticket self.partiede->select (rabais > 10) context Ticket self.partiede->reject (rabais > 10) Sélectionne les lignes de ticket portant un rabais > 10% Rejette les lignes de ticket portant un rabais > 10% collect() L'opération collect (expression) permet de créer une collection à partir d'un ou plusieurs ensembles. Les exemples ci-dessous s'appliquent à la Figure 6: context Ticket self.partiede->collect (rabais) Rend une collection, Bag, constituée de l'ensemble des rabais appliqués au ticket. L'opération collect() est particulièrement intéressante lorsqu'elle est couplée à des opérations ensembliste; dans l'exemple ci-dessous, l'opération asset() rend un ensemble de rabais uniques. context Ticket self.partiede->collect (rabais)->asset() Toutefois, dans un souci de concision, l'appel à la fonction collect() peut être occultée comme ci-dessous: context Ticket self.partiede.rabais 13/20
14 forall() forall(boolean-expression) L'opération forall(boolean-expression) permet d'appliquer une contrainte à une collection. Cette opération est intéressante pour poser des invariants sur une entité enfant d'une autre entité. L'exemple ci-dessous, s'applique à la Figure 13. context Tache inv employescompetents: self.collabore->forall( maitrisedifficulte >= self.difficulte) Assume que les employés qui collaborent à une tâche ont une maitrise au moins égale à la difficulté de la tâche. Figure 13 - Exemple d'opération forall(boolean-expression) Remarque: La contrainte employescompetents posée sur l'entité Tache est pertinente dans la perspective d'un changement de valeur de l'attribut difficulte. La contrainte employecompetent posée sur l'association est pertinente lors de l'ajout d'un nouvel employé à une tâche. Dans une perspective, d'analyse sémantique très poussée, une seule contrainte pourrait être décrite et l'autre en serait déduite! 14/20
15 forall() avec deux itérateurs L'opération forall, source->forall(iterator1, iterator2; result:boolean result and body ), met en œuvre deux itérateurs qui permettent de faire un produit cartésien réflexif. forall() rend vrai si tous les éléments de la source sont tous différents; autrement, elle rend faux. L'exemple ci-dessous, repris de [OMG-2], s'applique au diagramme de classes de la Figure 1. context Company inv: self.employee->forall(e1, e2:person e1<>e2 implies e1.forename <> e2.forename) Assume que les employés ont des noms différents Remarques à propos de l'exemple ci-dessus: Conformément à nos choix de modélisation [PAS-7], nous mettrions simplement un stéréotype «U» ou plus précisément «UID» à l'attribut forename de la classe Person. Conformément à nos principes de modélisation [PAS-6], nous ne mettrions pas une telle règle, unicité du nom, car elle est manifestement trop restrictive. Remarques générales à propos du produit cartésien réflexif: Dès que le volume de données croit le produit cartésien réflexif est un mécanisme source de surcharge en effet, si la classe ou l'entité contient 10'000 enregistrements, le produit cartésien donne 100'000'000 couples! Dans le cadre d'une vérification d'intégrité lors d'une transaction, nous bannissons cette opération. Par contre, le produit cartésien nous semble envisageable au sein d'une opération de contrôle de qualité pour autant que le système ne soit pas exagérément surchargé. Le problème de la vérification lors de l'ajout ou de la modification d'un enregistrement par rapport aux autres enregistrements de la table reste et doit être résolu; nous proposons de le faire en comparant l'enregistrement en cours de traitement avec l'ensemble des autres enregistrements, ceci peut se faire explicitement avec l'opération iterate() ou implicitement avec le recours à l'opération select(). Au chapitre , iterate(), nous présentons un exemple de validation d'un enregistrement parmi l'ensemble des enregistrements de la même entité exists() L'opération exists(boolean-expression) rend vrai si la collection contient au moins un élément satisfaisant la condition booléenne passée en paramètre closure() L'opération closure(expression) permet de parcourir une associative réflexive en profondeur. La collection rendue contiendra tous les éléments depuis le premier niveau jusqu'au dernier; la collection de retour est un Set ou un OrderedSet. 15/20
16 L'exemple ci-dessous, s'applique à la Figure 12. context Educatrice def: lessubordonnees Set(Educatrice) = self.subordonneea.closure( responsable) Déclare et rend une collection des subordonnées de l'éducatrice contextuelle, les subordonnées des subordonnées et ainsi de suite iterate() L'opération iterate(iterator, result body) permet de parcourir une collection et de produire un résultat qui est un autre ensemble ou une valeur scalaire (nombre, chaîne, booléen ). Toutes les opérations que nous venons de découvrir sont des enrichissements de iterate(); elle est surtout utile pour créer de nouvelles opérations et/ou mettre en place un translateur 3 entre OCL et un langage exécutable. Figure 14 - Exemple d'opération iterate() L'exemple Figure 14 est repris de notre article traitant des tables Oracle en mutation [PAS- -10]; nous invitons le lecteur à lire le descriptif du cas pratique de cet article qui fixe les règles métier de gestion des utilisateurs. De manière très succincte, la contrainte identunique vérifie que pour tout ajout d'utilisateur ou de modification des données d'un utilisateur: Il n'y ait pas d'autre(s) utilisateur(s) de même identifiant sans date de fin ou avec une date de fin >= à la date de fin de l'utilisateur traité. 3 Dans la vision où, comme nous l'avons déjà écrit, iterate() est la brique de base de toutes les opérations de manipulation des collections. 16/20
17 Le code de la contrainte d'invariant est écrit à l'inverse de la restriction énoncée ci-dessus; les éléments-clés de notre contrainte sont: Utilisateur.allInstances Récupération de tous les enregistrements de l'entité Utilisateur ->iterate(u:utilisateur ; res: Bag(Utilisateur) = Bag{} (ident = self.ident) and (datefin <> null) and (self.datedebut <= datefin) ->isempty() Parcours itératif de tous les utilisateurs Déclaration de l'itérateur des utilisateurs Déclaration de l'objet résultat de l'itération; en l'occurrence une nouvelle collection d'utilisateurs Condition de redondance ou d'erreurs (le ou les enregistrements existants qui vérifient cette condition sont mis dans la collection de résultat) Invariant vrai si aucun enregistrement n'a été mis dans la collection res:bag(utilisateur) lors de l'itération Notre contrainte peut être décrite avec plus de concision en faisant appel à l'opération select() comme illustré en Figure 15. Figure 15 - Exemple d'opération avec un itérateur implicite Autres opérations Nous avons présenté quelques opérations significatives, la liste complète est consultable dans [OMG-2] au chapitre 11 - OCL Standard Library. De plus, cette liste fixe aussi le type de collection auquel est applicable chaque opération. A titre d'exemple, nous trouvons: isempty() ou empty() notempty () size() La collection est vide La collection n'est pas vide Le nombre d'éléments dans la collection 17/20
18 one() sum() La collection contient exactement un élément La collection doit être basée sur des valeurs numériques. Somme des valeurs numériques de la collection. 12 Eléments complémentaires 12.1 Remarques Des remarques peuvent être ajoutées au sein du corps des contraintes. -- ceci est un commentaire sur une ligne expression -- ceci est un commentaire sur une fin de ligne /* ceci est un début de commentaire et cela la fin */ 12.2 let - Variable locale Des variables "locales" peuvent être déclarées directement au sein des expresssions OCL, à l'aide des mots réservés let... in. L'exemple ci-dessous, s'applique à la Figure 6. context LigneTicket inv valeurrabais: let leprix = vendu.prix in if leprix <= 100 then rabais <= 10 else if leprix <= 500 then rabais <= 15 else rabais <= 20 endif endif Vérifie le rabais appliqué en f() du prix du produit vendu. 18/20
19 12.3 def - Variable globale Des variables "globales à un élément contextuel" peuvent être déclarées à l'aide du mot réservé def comme illustré ci-dessous. Figure 16 - Exemple de déclaration "def" Remarque: now est une variable qui contient la date du jour, c'est une variante à ce que nous avons modélisé en Figure 3; annees() est une fonction qui rend le nombre d'années entre deux dates Structure de test Les mots réservés if, then, else et endif permettent de mettre en place une structure de test. Un exemple en est donné en Figure 12. Remarque: la clause else doit toujours être présente allinstance() allinstance est une opération applicable à une entité; elle retourne l'ensemble des occurreces d'une entité. context Educatrice def: volume: integer = Educatrice.allInstance->size() Rend le nombre d'éducatrices dans la variable volume. 19/20
20 13 Bibliographie [WK-03] [PAS-6] [PAS-7] [PAS-8] [PAS-9] [PAS-10] The Object Constraint Language J. Warmer, A. Kleppe Addison Wesley, 2003 HEG-Arc Modélisation des données - Aspects macroscopiques P.-A. Sunier, 2005/2013 /chapitre_110/mcd_macro.pdf HEG-Arc Modélisation des données - Les contraintes P.-A. Sunier, 2013 /chapitre_150/contraintes.pdf HEG-Arc Bases du langage de modélisation unifié - UML P.-A. Sunier, 2013 /BachelorII/Modelisation/UML/UML_Bases.pdf HEG-Arc Langage de modélisation unifié - UML P.-A. Sunier, 2013 /BachelorII/Modelisation/UML/UML.pdf Bases de données Oracle Résolution de l'erreur ORA / Table en mutation P.-A. Sunier, 2009 /publications/soug/bd/articletablemutation.pdf 14 Webographie [I-3] [OCL-1] Wikipédia - Object Constraint Language OMG - Object Constraint Language [OMG-2] OMG - Spécifications OCL Norme ISO avril /20
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étailOCL - 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étailExpression 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étailObject 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étailIngé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étailObject Constraint Language (OCL) Une introduction
Object Constraint Language (OCL) Une introduction Master 2 IFPRU - Module Ingénierie des modèles - FMIN310 Marianne Huchard 7 novembre 2008 1 Présentation générale OCL est un langage formel, basé sur la
Plus en détailIFT2255 : 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étailLangage 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étailDéveloppement d un interpréteur OCL pour une machine virtuelle UML.
ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,
Plus en détailTP 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étailLE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
Plus en détailPerl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.
Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailUML 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étailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Plus en détailLes 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étailbasé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étailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Plus en détailSommaire. 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étailUML. 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étailChapitre 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étail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Plus en détailMODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Plus en détailMonitor LRD. Table des matières
Folio :1/6 Table des matières 1.Installation du logiciel... 3 2.Utilisation du logiciel... 3 2.1.Description de la fenêtre de commande... 3 2.1.1.Réglage des paramètres de communication... 4 2.1.2.Boutons
Plus en détailUniversité 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étailBases de Données. Plan
Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle
Plus en détailCREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
Plus en détailSage CRM. Sage CRM 7.3 Guide du portable
Sage CRM Sage CRM 7.3 Guide du portable Copyright 2014 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur
Plus en détail1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5
1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases
Plus en détailBases 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étailLangage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailModélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé
Plus en détailCahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES
Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année
Plus en détailSage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8
Sage 100 CRM - Guide de la Fusion Avancée Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel est enregistré
Plus en détailBases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/
Plus en détail3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes
PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason
Plus en détailMapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15
MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué
Plus en détailAGRÉGATION «ÉCONOMIE ET GESTION»
AGRÉGATION «ÉCONOMIE ET GESTION» CONCOURS INTERNE SESSION 2002 ÉPREUVE SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PÉDAGOGIQUES DOMAINE : économie et gestion informatique Durée de préparation
Plus en détailSupervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14
Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailMineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)
Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages
Plus en détailUML 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étailAPIs de table pour SQL Server
2013 E - Bibliographie APIs de table pour SQL Server Établissement: HEG Arc - Haute école Arc - Gestion Réalisé par: M. Informaticien de gestion 2009-2013 S adresse à: M.Fabrice Camus Date de début et
Plus en détailJava 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étailChapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Plus en détailLes Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.
Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailFormation : Modélisation avec UML 2.0 et Mise en pratique
Formation : Modélisation avec et Mise en pratique Durée : sur 4 Jours soit 28 heures ou sur 5 Jours soit 35 heures Présentation Stage UML (Unified Modeling Language) est la notation standard qui s'est
Plus en détailI. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):
Master Chimie Fondamentale et Appliquée : spécialité «Ingénierie Chimique» Examen «Programmation, Simulation des procédés» avril 2008a Nom : Prénom : groupe TD : I. Programmation I. 1 Ecrire un programme
Plus en détailService d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000
Service d'installation et de démarrage de la solution de stockage réseau Services HP Données techniques Le service d'installation et de démarrage de la solution de stockage réseau offre l'installation
Plus en détailManuel d'utilisation Force.com
Manuel d'utilisation Force.com: Salesforce Summer '10 Manuel d'utilisation Force.com Copyright 2000-2010 salesforce.com, inc. Tous droits réservés. Salesforce.com, le logo "no software" et Team Edition
Plus en détailMEGA ITSM Accelerator. Guide de Démarrage
MEGA ITSM Accelerator Guide de Démarrage MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune
Plus en détailMéthodologies de développement de logiciels de gestion
Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch
Plus en détailLangage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>
Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee
Plus en détailOMGL6 Dossier de Spécifications
OMGL6 Dossier de Spécifications HELPDESK Radoslav Cvetkoski, Xavier Fantin, Yohann Haution, Yanis Salti, Sébastien Tassier Cvetkoski, Fantin, Haution, Salti, Tassier Page 1 Sommaire 1. Historique du document...
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailBusiness Process Modeling (BPM)
Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture
Plus en détailGestion des transactions et accès concurrents dans les bases de données relationnelles
Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.
Plus en détailLe langage SQL pour Oracle - partie 1 : SQL comme LDD
Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger
Plus en détailProgrammation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet
Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.
Plus en détailCours 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étailUne dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU
Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailProgramme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Plus en détailPaginer les données côté serveur, mettre en cache côté client
Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule
Plus en détailChapitre 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étailRappel 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étailPar : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1)
1 Que signifient AON et AOA? Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct. 2012 (ajout de la section 3 et augmentation de la section 1) Sommaire 1. Concepts... 2 2. Méthode PCM appliquée
Plus en détailDSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012
DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter
Plus en détailTable 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étailI. 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étailWEB page builder and server for SCADA applications usable from a WEB navigator
Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailv7.1 SP2 Guide des Nouveautés
v7.1 SP2 Guide des Nouveautés Copyright 2012 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,
Plus en détailPour 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étailDiagramme 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étailLicence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :
Plus en détailMODE OPERATOIRE OPENOFFICE BASE
MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide
Plus en détailEvolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.
Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques
Plus en détail7.0 Guide de la solution Portable sans fil
7.0 Guide de la solution Portable sans fil Copyright 2010 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur
Plus en détailUniversité Paris XI Faculté des sciences d Orsay THÈSE. présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay
N d ordre : 8563 Université Paris XI Faculté des sciences d Orsay THÈSE présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay Par Cédric JACQUIOT Spécialité : INFORMATIQUE
Plus en détailRefonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Plus en détailINTRODUCTION : Données structurées et accès simplifié
INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration
Plus en détailModélisation de Lignes de Produits en UML *
Modélisation de Lignes de Produits en UML * Tewfik ZIADI, Loïc HELOUET, Jean-Marc JEZEQUEL 2 IRISA, Campus de Beaulieu 35042 RennesCedex, France Tewfik.Ziadi@irisa.fr Loic.Helouet@irisa.fr, Jezequel@irisa.fr
Plus en détailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailLe Product Backlog, qu est ce c est?
Le Product Backlog, qu est ce c est? Ludovic Larché Agile Tour 2012 à Rennes le 4 octobre 2012 Sommaire > Rappels théoriques : qu est ce qu un Product Backlog? > Le Product Backlog n est pas seul! > Techniques
Plus en détailGestion de base de données
Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505
Plus en détailOrganigramme / Algorigramme Dossier élève 1 SI
Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailGOL-502 Industrie de services. Travaux Pratique / Devoir #7
GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme
Plus en détailModèle conceptuel : diagramme entité-association
Modèle conceptuel : diagramme entité-association Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.»
Plus en détailLe passé composé. C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past!
> Le passé composé le passé composé C'est le passé! Tout ça c'est du passé! That's the past! All that's in the past! «Je suis vieux maintenant, et ma femme est vieille aussi. Nous n'avons pas eu d'enfants.
Plus en détailUML : Unified Modeling Language
UML : Unified Modeling Language Recommended: UML distilled A brief guide to the standard Object Modeling Language Addison Wesley based on Frank Maurer lecture, Univ. of Calgary in french : uml.free.fr/index.html
Plus en détailLa démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*
La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détail