Cours Composant 2. Qualité logicielle et spécications algébriques
|
|
- Anaïs Giroux
- il y a 8 ans
- Total affichages :
Transcription
1 UPMC Paris Universitas Master Informatique STL Cours Composant 2. Qualité logicielle et spécications algébriques c Frédéric Peschanski UPMC Paris Universitas 24 février 2008 c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
2 Plan du cours 1 Qualité logicielle Facteurs externes Facteurs internes 2 Méthodologie Approche classique Approche orientée composant 3 Spécications algébriques Introduction Principes de base Complétude et cohérence Dépendances explicites c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
3 Bibliographie Remarque Ce cours est inspiré du travail et des publications de Betrand Meyer (créateur de la conception par contrat et du langage Eiel). Références Livre : Bertrand Meyer, Conception et programmation objet. 2005, Eyrolles Site : c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
4 Notion de qualité logicielle Notion de qualité logicielle peu étudiée en tant que telle malgré son importance. Dicile à aborder objectivement Nous présentons (rapidement) l'étude intéressante de B. Meyer Préliminaires : séparation des rôles Rôle : qui juge de la qualité? Fournisseur du logiciel? Facteurs internes, point de vue plutôt technique Rôle de développeur, point de vue micro Rôle d'architecte, point de vue macro Client (du fournisseur)? Facteurs externes, point de vue moins technique Rôle d'utilisateur Rôle d'acquéreur Question : quels sont les rôles les plus importants? c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
5 Critères d'évaluation Pour chaque facteur de qualité Quelle est sa dénition? Quelle est son importance relative? Comment l'évaluer? du point de vue du fournisseur (évaluation en amont) du point de vue du client (évaluation en aval) Comment l'améliorer/l'optimiser? c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
6 Facteurs externes Du point de vue de l'acquéreur Correction remplir correctement sa tâche, telle que dénie par sa spécication Approches formelles : logiciel sûr Approches formelles légères : conception par contrat, génération automatique de tests, etc. Approches empiriques : test, test, et test Robustesse réagir de façon satisfaisante à des conditions anormales de lenvironnement, prévues (spéciées explicitement) ou non (adaptabilité) Extensibilité facilité de mise-à-jour du logiciel pour intégrer des changements dans les spécications etc. c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
7 Facteurs externes (suite) Du point de vue de l'acquéreur Compatibilité s'intégrer de façon satisfaisante dans l'environnement d'exploitation du client Ecacité utiliser un minimum de ressources de fonctionnement Economie remplir sa tâche au coût le plus bas possible Ponctualité logiciel délivré au client dans les délais prévus, ou avant etc. c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
8 Facteurs internes Du point de vue du fournisseur Simplicité, Modularité, Généricité Découplage, indépendance de la représentation etc. c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
9 Composants et qualité Dans ce cours, nous nous intéressons en particulier aux trusted components, des composants en lesquels on puisse avoir conance Le critère de qualité primordial est la correction. Prérequis spécications précises, claires et vériables (donc formelles) spécications (co-)algébriques vériabilité des implémentations vis-à-vis des spécications conception par contrats (vérif. dynamique) et logique de Hooare (vérif. statique) c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications24 algébriques février / 39
10 Cycles de développement classiques Cycle en cascade (dépassé) Cycle en V (courant) Analyse des besoins Spécications Conception architecturale Conception détaillée Recette Tests de validation Tests d'intégration Tests unitaires Cycles semi-itératifs (Y,λ,Rup) Cycles de maintenance Implémentation février / 39
11 Cycles de développement agiles Cycles itératifs (RAD) extreme Programming (XP) Program rst (think later) Test-driven Pair programming (code & review) Refactoring (conception au l de l'eau) Client involved etc. autres Cycles agiles (AM,AUP,etc.) février / 39
12 Cycle de développement orienté composant Component-based Software Engineering (CBSE) Architecture logicielle : identication en amont des composants logiciels Componentisation Croiser les spécications avec l'existant (emphase sur la réutilisabilité) bibliothèques de composants Développement de nouveaux composants approches descendantes (en V ou semi-itératif) approches ascendantes (agile, XP) Phase de composition ou assemblage (intégration) février / 39
13 Cycle de développement : trusted components Dance cours : approche globalement ascendante, localement descendante Modélisation globale par composition (au niveau spécications) Modélisation locale par ranement formel : 1 Spécications algébriques des services (interfaces de composants) 2 Conception par contrat des implémentations 3 Code critique : vérications formelles en logique de Hoare Packaging et intégration via OSGi février / 39
14 Spécications formelles Besoins Langage de spécication permettant de décrire ce que doit faire un composant logiciel : de façon précise et non-ambigüe ( formalisation) indépendemment des implémentations de façon cohérente et vériable sans surspécier (notion de complétude) Approche formelle légère utilisation de spécications (co-)algébriques, lointain héritier des types de données abstraits (ADT) + relativement simples d'utilisation, base des contrats - expressivité relativement limitée février / 39
15 Principes Fondations Ensembles et fonctions du premier ordre Logique typée du premier ordre Notion d'observation (vision co-algébrique) Spécication Brique élémentaire : le Service devant être proposé par le fournisseur à ses clients indépendant des implémentations plusieurs implémentations du même service une meme implémentation peut requérir/fournir plusieurs services Cahier des charges minimal (et formel) pour les implémentations février / 39
16 Format des spécications Service : nom du service spécié Types : dépendances des types élémentaires Require : dépendances de services Observators : fonctions d'observation de l'état... Constructors : fonctions de construction... Operators : fonctions de modication... Observations : Axiomes d'observation... Types élémentaires : boolean, int, double, String, etc. février / 39
17 Exemple : les cuves quantity Tank Pipe c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications 24algébriques février / 39
18 Service cuve Questions Quel est le nom du service? Que veut-on observer sur chaque fournisseur du service? février / 39
19 Service cuve Questions Quel est le nom du service? Que veut-on observer sur chaque fournisseur du service? Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean février / 39
20 Service cuve Questions Quel est le nom du service? Que veut-on observer sur chaque fournisseur du service? Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Signature des observateurs nomobs : [Service] T 1... T n T février / 39
21 Service cuve Questions Quel est le nom du service? Que veut-on observer sur chaque fournisseur du service? Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Signature des observateurs nomobs : [Service] T 1... T n T Remarque : [Service] signie ce Service (this) février / 39
22 Constructeurs Question Comment construire une Cuve? février / 39
23 Constructeurs Question Comment construire une Cuve? Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Constructors : init : [Tank] février / 39
24 Constructeurs Question Comment construire une Cuve? Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Constructors : init : [Tank] Signature des constructeurs init : T 1... T n [Service] février / 39
25 Operateurs Question Comment manipuler une Cuve? février / 39
26 Operateurs Question Comment manipuler une Cuve? Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Constructors : init : [Tank] Operators : ll : [Tank] double [Tank] pump : [Tank] double [Tank] février / 39
27 Operateurs Question Comment manipuler une Cuve? Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Constructors : init : [Tank] Operators : ll : [Tank] double [Tank] pump : [Tank] double [Tank] Signature des opérateurs nomop : [Service] T 1... T n [Service] février / 39
28 Fonctions partielles Questions Quels sont les domaines de dénition des observateurs, constructeurs et opératurs? Quelle est l'approche de spécication? favoriser le client : approche permissive favoriser le fournisseur : approche défensive février / 39
29 Fonctions partielles Questions Exemple Quels sont les domaines de dénition des observateurs, constructeurs et opératurs? Quelle est l'approche de spécication? favoriser le client : approche permissive favoriser le fournisseur : approche défensive approche défensive Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Constructors : init : [Tank] Operators : ll : [Tank] double [Tank] precondition : ll(b,q) require q 0 pump : [Tank] double [Tank] precondition : pump(b,q) require q 0 getquantity(b) q 0 février / 39
30 Fonctions partielles Questions Exemple Quels sont les domaines de dénition des observateurs, constructeurs et opératurs? Quelle est l'approche de spécication? favoriser le client : approche permissive favoriser le fournisseur : approche défensive approche permissive Service : Tank Types : boolean,double Observators : getquantity : [Tank] double isempty : [Tank] boolean Constructors : init : [Tank] Operators : ll : [Tank] double [Tank] precondition : ll(b,q) require q 0 pump : [Tank] double [Tank] precondition : pump(b,q) require q 0 février / 39
31 Résumé : fonctions Signature des fonctions nomfunct : T 1... T n T precondition nomfunct(x 1,..., x n) require P où P est une formule logique du premier ordre avec x 1,..., x n des variables quantiées universellement sur leur domaine T 1,..., T n Remarque par défault, P true février / 39
32 Observations : dénitions Dénitions préliminaires Expression bien formée composition de fonctions respectant les types de domaines de dénitions (ex. : pump(ll(b, q 1 ), q 2 )) Expression d'observation expression bien formée dont la fonction de niveau principal est un observateur (ex. : getquantity(pump(ll(b, q 1 ), q 2 ))) Formule bien formée expression bien formée à valeur booléenne (ex. : getquantity(pump(ll(b, q 1 ), q 2 )) > 0) Observation égalité de type O = E où O est une expression d'observation de type T et E une expression à valeur dans T (ex. : getquantity(pump(ll(b, q 1 ), q 2 )) = getquantity(b) + q 1 q 2 )) février / 39
33 Observations : objectifs Objectifs Spécier, en tant qu'axiomes, les observations minimales permettant de caractériser de façon cohérente (et optionnellement complète) la sémantique du service spécié. Important les observations sont des expressions axiomatiques, on ne doit pas pouvoir les déduire les unes des autres. Approche méthodologique 1 Essayer de minimiser les observateurs invariants 2 Observer, avec les observateurs non dérivables, les diérentes possibilités de construction 3 Croiser chaque observateur non dérivable avec chaque opérateur février / 39
34 Phase 1 : minimisation des observateurs Objectif principal Essayer de minimiser les observateurs Objectif secondaire Relier les observations entre elle lorsque cela fait sens (invariants utiles). invariants février / 39
35 Phase 1 : minimisation des observateurs Objectif principal Essayer de minimiser les observateurs Objectif secondaire Relier les observations entre elle lorsque cela fait sens (invariants utiles). invariants Exemple retour aux cuves Service : Tank etc. Observations : [invariants] // catégorie des observations isempty(b) = ( getquantity(b) = 0 ) // minimisation getquantity(b) 0 // invariant février / 39
36 Phase 1 : minimisation des observateurs Objectif principal Essayer de minimiser les observateurs Objectif secondaire Relier les observations entre elle lorsque cela fait sens (invariants utiles). invariants Exemple retour aux cuves Service : Tank etc. Observations : [invariants] // catégorie des observations isempty(b) = ( getquantity(b) = 0 ) // minimisation getquantity(b) 0 // invariant Remarque inutile d'observer isempty dans la suite février / 39
37 Phase 2 : observer les constructeurs Objectif décrire les observations minimales sur les constructeurs février / 39
38 Phase 2 : observer les constructeurs Objectif décrire les observations minimales sur les constructeurs Service : Tank etc. Observations : [invariants] isempty(b) = ( getquantity(b) = 0 ) getquantity(b) 0 [init] getquantity(init(b)) = 0 février / 39
39 Phase 2 : observer les constructeurs Objectif décrire les observations minimales sur les constructeurs Service : Tank etc. Observations : [invariants] isempty(b) = ( getquantity(b) = 0 ) getquantity(b) 0 [init] getquantity(init(b)) = 0 Remarque on suppose que chaque expression respecte les domaines de dénitions (sinon on ne peut pas écrire l'expression correspondante) février / 39
40 Phase 3 : observer les opérateurs Objectif décrire les observations minimales sur les opérateurs février / 39
41 Phase 3 : observer les opérateurs Objectif décrire les observations minimales sur les opérateurs Service : Tank etc. Observations : [invariants] isempty(b) = ( getquantity(b) = 0 ) getquantity(b) 0 [init] getquantity(init(b)) = 0 [ll] getquantity(ll(b,q)) = getquantity(b) + q [pump] getquantity(pump(b,q)) = getquantity(b) q février / 39
42 Phase 3 : observer les opérateurs Objectif décrire les observations minimales sur les opérateurs Service : Tank etc. Observations : [invariants] isempty(b) = ( getquantity(b) = 0 ) getquantity(b) 0 [init] getquantity(init(b)) = 0 [ll] getquantity(ll(b,q)) = getquantity(b) + q [pump] getquantity(pump(b,q)) = getquantity(b) q Remarque approche défensive (préconditions plus fortes, observations/postconditions plus faibles) février / 39
43 Phase 3 : observer les opérateurs Objectif décrire les observations minimales sur les opérateurs Service : Tank etc. Observations : [invariants] isempty(b) = ( getquantity(b) = 0 ) getquantity(b) 0 [init] getquantity(init(b)) = 0 [ll] getquantity(ll(b,q)) = getquantity(b) + q [pump] getquantity(pump(b,q)) = max(0,getquantity(b) q) Remarque approche permissive (préconditions plus faibles, observations/postconditions plus fortes) février / 39
44 Cohérence et complétude Analyse d'un service Cohérence On peut déduire au plus une valeur de chaque observation Complétude On peut déduire au moins une valeur de chaque observation Objectifs La cohérence est primordiale. Toute incohérence est un bug de spécication. La complétude est importante mais est parfois dicile, voir impossible, à obtenir. En pratique, on acceptera donc si c'est justié de sous-spécier. En revanche, on essaiera dans la mesure du possible de ne pas sur-spécier (élimination des redondances). Remarque en CPS on donnera des arguments essentiellement informels concernant la cohérence et la complétude. février / 39
45 Interactions Les spécications de service permettent de décrire l'interface interne des composants (fournisseurs/implémenteurs du service). Il nous manque la description de l'interface externe ou contexte d'utilisation du service. Prérequis certains services ont besoins (require) d'autres services pour être spéciés. Exemple le tuyau (Pipe) reliant deux cuves. Dans ce cas, on ajoute la section Require aux spécications et on observe explicitement les services requis. Service : nom du service etc. Require : services requis etc. février / 39
46 Exemple : service tuyau Service : Pipe Require : Tank Types : boolean, double, null Observators : getquantity : [Pipe] double const getcapacity : [Pipe] double const getintank : [Pipe] Tank const getouttank : [Pipe] Tank isopenin : [Pipe] boolean isopenout : [Pipe] boolean Constructors : init : Tank Tank double [Pipe] precondition init(i,o,c) require I null O null c > 0 Operators : switchin : [Pipe] [Pipe] precondition switchin(p) require isopenout(p) switchout : [Pipe] [Pipe] precondition switchout(p) require isopenin(p) ush : [Pipe] [Pipe] precondition ush(p) require isopenin(p) isopenout(p) c Frédéric Peschanski (UPMCCours ParisComposant2. Universitas) Qualité logicielle et spécications 24algébriques février / 39
47 Constantes Un observateur constant est décoré par le mot clé const Pour un observateur C constant, il est uniquement nécessaire de décrire les observations de C sur les constructeurs. Pour un service s et un opérateur op qui n'est pas un constructeur, on aura implicitement : C(op(s,...)) = C(s,...) février / 39
48 Constantes Un observateur constant est décoré par le mot clé const Pour un observateur C constant, il est uniquement nécessaire de décrire les observations de C sur les constructeurs. Pour un service s et un opérateur op qui n'est pas un constructeur, on aura implicitement : C(op(s,...)) = C(s,...) Par exemple, si on retire le const de l'observateur getcapacity de capacité de tuyau : [init] getcapacity(init(i,o,c)) = c [switchin] février / 39
49 Observations Service : Pipe etc. Observations : [invariants] getquantity(p) 0 getcapacity(p) isopenin(p) xor isopenout(p) [init] getquantity(init(i,o,c)) = 0 getcapacity(init(i,o,c)) = c getintank(init(i,o,c)) = I getouttank(init(i,o,c)) = O isopenin(init(i,o,c)) = false isopenout(init(i,o,c)) = false [switchin] getquantity(switchin(p)) =? etc.? février / 39
50 Observations Service : Pipe etc. Observations : [invariants] getquantity(p) 0 getcapacity(p) isopenin(p) xor isopenout(p) [init] getquantity(init(i,o,c)) = 0 getcapacity(init(i,o,c)) = c getintank(init(i,o,c)) = I getouttank(init(i,o,c)) = O isopenin(init(i,o,c)) = false isopenout(init(i,o,c)) = false [switchin] getquantity(switchin(p)) =? etc.? Comment exprimer les interactions entre les cuves et le tuyau? février / 39
51 Observations composées Important observation des interactions entre services On sépare clairement : la cause qui est l'opérateur (ou le constructeur) du service courant que l'on souhaite spécier La conséquence interne ou modication (changement d'état observable) du service spécié La conséquence externe qui correspond à la modication d'un service externe Par exemple : cause ouverture de la porte d'entrée du tuyau (opérateur switchin) conséquence interne remplissage du tuyau conséquence externe la cuve d'entrée se vide au moins partiellement février / 39
52 Observation externe On peut spécier une observation externe de plusieurs façon : utiliser un observateur obs du service externe S par S.obs ex. : Tank.getQuantity(... ) utiliser un opérateur ou constructeur op du service externe par S.op. Dans ce cas, cela sous-entend que l'on eectue exactement la conjonction des observations spéciées pour l'opérateur op. ex. : Tank.ll(T,q) correspond à Tank.getQuantity(Tank.ll(T,q))= Tank.getQuantity(T)+q février / 39
53 Exemple : observation externe directe cause ouverture de la porte d'entrée du tuyau (opérateur switchin) conséquence interne remplissage du tuyau d'un volume v conséquence externe la cuve d'entrée se vide du volume v On pose avail(p) def = getcapacity(p) getquantity(p) la capacité de remplissage actuelle du tuyau. On pose également v def = min(tank.getcapacity(getintank(p)), avail(p)) le volume maximum déversable de la cuve vers le tuyau.... [switchin] getquantity(switchin(p)) = getquantity(p) + v Tank.getQuantity(getInTank(switchIn(P))) = Tank.getQuantity(getInTank(P)) - v Tank.getQuantity(getOutTank(switchIn(P))) = Tank.getQuantity(getOutTank(P)) Important : en plus d'observer ce qui change (ex. InTank) il est nécessaire d'observer ce qui ne change pas (ex. OutTank). février / 39
54 Exemple : opérateur externe cause ouverture de la porte d'entrée du tuyau (opérateur switchin) conséquence interne remplissage du tuyau d'un volume v conséquence externe la cuve d'entrée se vide du volume v On pose avail(p) def = getcapacity(p) getquantity(p) la capacité de remplissage actuelle du tuyau. On pose également v def = min(tank.getcapacity(getintank(p)), avail(p)) le volume maximum déversable de la cuve vers le tuyau.... [switchin] getquantity(switchin(p)) = getquantity(p) + v getintank(switchin(p))) = Tank.pump(getInTank(P),v) getouttank(switchin(p)) = getouttank(p) février / 39
55 Fin Fin février / 39
Analyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Plus en dé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étailProcessus d Informatisation
Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue
Plus en détailProcessus de Développement Logiciel
Processus de Développement Logiciel Cours M14 Pierre Gérard Université de Paris 13 IUT Villetaneuse Formation Continue Licence Pro SIL - 2007/2008 Table des matières 1 Des besoins au code avec UML 1 2
Plus en détailConception de circuits numériques et architecture des ordinateurs
Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique
Plus en détailProcessus de Développement Logiciel
Processus de Développement Logiciel Cours M14 Pierre Gérard Université de Paris 13 IUT Villetaneuse Formation Continue Licence Pro SIL LA TE X Pierre Gérard (P13 IUT FC) Processus de Développement Logiciel
Plus en détailLogiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Plus en détailIntroduction au génie logiciel
Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel
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étailGESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET
GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et
Plus en détailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
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étailSuivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
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étailTopologie du web - Valentin Bourgoin - http://www.valentinbourgoin.net. Méthodes agiles & SCRUM
Méthodes agiles & SCRUM 1/ Pourquoi les méthodes agiles? Définition d une méthode agile. Fondamentaux. Quand les utiliser? 2/ SCRUM En quoi est-ce une méthode agile? Sprints et releases. Le Product Owner.
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailPlan. 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étailINF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015
INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015 Question #1 Quelle technique de mise sous test devons-nous utiliser si nous voulons simuler le comportement d'une
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étail25/12/2012 www.toubkalit.ma
25/12/2012 www.toubkalit.ma 1 Définition Exemple des méthodes agiles Valeurs Principes Le cycle itératif et incrémental (Itération/Sprint) Schéma de travail Méthode Scrum. Méthode XP (Extreme programming).
Plus en détailGestion Projet. Cours 3. Le cycle de vie
Gestion Projet Cours 3 Le cycle de vie Sommaire Généralités 3 Séquentiel 7 Itératif/Incrémental 17 Extreme Programming 22 Que choisir? 29 Etats Transverse 33 Cours 3 2006-2007 2 Généralités Cours 3 2006-2007
Plus en détailCours Gestion de projet
Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA
Plus en dé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étailProposition de sujet de thèse CIFRE EUROCOPTER / LGI2P
EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine
Plus en détailExemple d Application des Méthodes Agiles au Développement d un Produit Software. Jean-Marc Bodart, Océ Software Laboratories Namur SA
Exemple d Application des Méthodes Agiles au Développement d un Produit Software CETIC, 21 avril 2004 Jean-Marc Bodart, Océ Software Laboratories Namur SA April 21, 2004 Plan Les sociétés Océ et Océ Software
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étailTechnologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21
INSA - ASI TechnoWeb : Rappels UML 1/21 Technologie Web Conception de sites Web Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Rappels UML 2/21
Plus en détailLe génie logiciel. maintenance de logiciels.
Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailAnalyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.
Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : Remy.Courdier@univ-reunion.fr Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailDéveloppement itératif, évolutif et agile
Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie
Plus en dé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é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é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étailGénie logiciel (Un aperçu)
(Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de
Plus en dé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é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étailMéthode Agile de 3 ème génération. 2008 J-P Vickoff
PUMA Essentiel Méthode Agile de 3 ème génération 1 Structure de la présentation PUMA Essentiel méthode Agile de 3 ème génération Quelques principes Agiles Principales pratique Agile de pilotage Structure
Plus en détailConditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.
Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide
Plus en détailC++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Plus en détailDeuxième partie. Approche globale d'implémentation d'un projet PLM
Deuxième partie Approche globale d'implémentation d'un projet PLM 71 Introduction L'enjeu économique autour de la réduction et de l'optimisation du développement des produits est important pour les entreprises
Plus en détailMéthodes agiles. www.businessinteractif.com CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.
Méthodes agiles www.businessinteractif.com Jean-Louis Bénard jlb@businessinteractif.fr CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS 0 20 mai 2002 Sommaire Méthodes agiles : une réponse à un malaise?
Plus en détailLe Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer
Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de
Plus en détailLa Certification de la Sécurité des Automatismes de METEOR
1 La Certification de la Sécurité des Automatismes de METEOR 2 un mot sur METEOR 3 Le projet METEOR, c'est... un système automatique complexe fortement intégré matériel roulant, équipements électriques,
Plus en détailConception des bases de données : Modèle Entité-Association
Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir
Plus en détailVérification et Validation
Vérification et Validation Génie Logiciel Master 1 II Mihaela Sighireanu Objectifs I. Introduire la vérification et la validation (V&V) du logiciel et comprendre leurs différences. II.Définir le plan de
Plus en détailAgence Nationale de Certication Electronique Signature électronique SPECIFICATION TECHNIQUE DE LA SIGNATURE ÉLECTRONIQUE Mai 2011 Version v1.0 Maha SLITI,Mahmoud TOUNSI,Akram SOLTANI 2011 Agence Nationale
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en dé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é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étailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailGestion de projets logiciels. Xavier Dubuc
Gestion de projets logiciels Résumé blocus Xavier Dubuc 16 janvier 2011 1 Table des matières 1 Planification (PERT-GANTT) 3 1.1 Définitions............................................. 3 1.2 Analyse un
Plus en détailPlan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?
Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 1/ 28 T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique
Plus en détailLES INTERFACES HOMME-MACHINE
LES INTERFACES HOMME-MACHINE 1 ère Partie : Introduction aux Interfaces Homme-Machine 2 ème Partie : Notions de base sur les Sciences Cognitives 3 ème Partie : Recommandations ergonomiques 4 ème Partie
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é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étailConduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS
Conduite de projets SI Les méthodes «Agiles» N QUAL/1995/3660e ORESYS Agilité : de quoi parle-t-on? Agilité de l entreprise Urbanisme Architectures SOA Agilité du SI ERP Plateformes applicatives agiles
Plus en détailIntroduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.
vers plus d agilité F. Miller francois.miller@inpg.fr FC INPG Octobre 2008 - version 1.0 Introduction Contexte Le monde bouge économie des moyens (humains, financier,...) ; recherche de plus d efficacité
Plus en détailSCRUM BUT, LE LIVRE BLANC. De la problématique de mener un projet AGILE dans une organisation classique
SCRUM BUT, LE LIVRE BLANC De la problématique de mener un projet AGILE dans une organisation classique Résumé Alors que les demandes de conduite de projet en AGILITE sont de plus en plus fréquentes, les
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailCATALOGUE FORMATION. Product Lifecycle Management. Juin 2013
CATALOGUE FORMATION Product Lifecycle Management Juin 2013 s de formation ENOVIA V6 ENOVIA V6 Plateforme Collaborative 5 ENOVIA V6 Installation et Administration 9 ENOVIA V6 Implémentation et Développement
Plus en détail1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j ))
La logique oue dans les PME/PMI Application au dosage de l'eau dans les bétons P.Y. Glorennec INSA de Rennes/IRISA glorenne@irisa.fr C. Hérault Hydrostop christophe@hydrostop.fr V. Hulin Hydrostop vincent@hydrostop.fr
Plus en détailBrique BDL Gestion de Projet Logiciel
Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL
Plus en détailJean-Pierre Vickoff. 2008 J-P Vickoff
Agilité étendue Jean-Pierre Vickoff 1 Structure de la présentation PUMA Essentiel méthode Agile de 3 ème génération Le mouvement Itératif-Incrémental (Agile) Agilité étendue au SI et PUMA Essentiel Entreprise
Plus en détailGL - 2 2.1 Le Génie Logiciel
GL - 2 2.1 Le Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda 1 Rappels La production logicielle est une activité complexe de façon
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étailQu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
Plus en détailLes méthodes itératives. Hugues MEUNIER
Les méthodes itératives Hugues MEUNIER INTRODUCTION. Toute les méthodes ont le même but : la maîtrise du budget, du planning et de la qualité des projets de développement informatique Plusieurs approches
Plus en détailAgile Maroc 24 Novembre 2010. Méthodes agiles. Thierry Cros. http://etre-agile.com. Agile Maroc 24 novembre 2010
Agile Maroc 24 Novembre 2010 Méthodes agiles Thierry Cros 1 Thierry Cros 10 ans déjà... 2010 Création Extreme Programming France 2009 SigmaT Les Agilistes Toulousains 2010 Membre de «Fédération Agile»
Plus en détailCours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Plus en détailMéthodes de développement
1 / 9 Méthodes de développement Méthodes agiles 1 - Introduction... 2 2 -Le manifeste agile et les méthodes agiles... 2 2.1 Le manifeste agile... 2 2.2 Les méthodes agiles... 3 3 - Caractéristiques communes
Plus en détailConférence sur les marchés publics informatiques
Conférence sur les marchés publics informatiques Un moyen fiable pour aboutir à un appel d offres sans accroc : les processus métier comme pièce maîtresse d un projet informatique, de l adjudication à
Plus en détailGé nié Logiciél Livré Blanc
Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer
Plus en détailVérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
Plus en détailIntroduction à la modélisation
Formation INRA-ACTA-ICTA Introduction à la modélisation Les modèles mathématiques pour l agronomie et l élevage 2 nde session, du 28 novembre au 1 er décembre 2005 - Informatique et modèles - Nathalie
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailStructurer ses données : les tableaux. Introduction à la programmation
Structurer ses données : les tableaux Introduction à la programmation Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2 Notion de
Plus en détailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
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étailProgrammation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006
vendredi 8 septembre 2006 Programmation d'agents intelligents Vers une refonte des fils de raisonnement Stage de fin d'études Master IAD 2006 Benjamin DEVEZE Responsable : M. Patrick TAILLIBERT Plan Plan
Plus en détailConduite et Gestion de Projet - Cahier des charges
Conduite et Gestion de Projet - Cahier des charges 1 Introduction Sophie Toulouse LIPN - Université Paris 13 +33.1.49.40.40.73 99 av. Jean-Baptiste Clément toulouse@lipn.univ-paris13.fr 93430 Villetaneuse
Plus en détailGOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailCorrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détail2. Activités et Modèles de développement en Génie Logiciel
2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale
Plus en détailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailUniversité de Haute Alsace. Domaine. Sciences Humaines et Sociales. MASTER Mention Éducation, Formation, Communication UHA, ULP, Nancy 2
Centre Universitaire de Formation des Enseignants & des Formateurs Laboratoire Interuniversitaire de Sciences de l Education et de la Communication Université de Haute Alsace Domaine Sciences Humaines
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailCours Langage C/C++ Programmation modulaire
Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailAnnexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Plus en détailProjet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Plus en détailTP3 : Creation de tables 1 seance
Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer
Plus en détailTHÈSE. Contribution à un processus de réication d'abstractions de communication
N o d'ordre : 2851 THÈSE présentée devant l'université de Rennes 1 pour obtenir le grade de : Docteur de l'université de Rennes 1 Mention Informatique par Éric Cariou Équipes d'accueil : IRISA/Triskell,
Plus en détail