Validation de systèmes interactifs centrée sur l usager
|
|
- Henri Grégoire Beaudet
- il y a 8 ans
- Total affichages :
Transcription
1 Validation de systèmes interactifs centrée sur l usager C. Ailleres Mardi 6 Janvier 2004 Problématique Avènement de l informatique : besoin de qualité et de fiabilité des systèmes Génie Logiciel Importance de l IHM dans les systèmes actuels besoin de rendre les systèmes utilisables (ISO ) Modélisation de tâche besoin des méthodes formelles?
2 Approche proposée Cycle de vie logiciel en V Besoins Système Spécification Recette Conception Test Codage Approche proposée Cycle de vie logiciel en V adapté aux systèmes interactifs Utilisateurs Besoins Système Modèles Spécification de tâches Recette Conception Test Codage
3 Approche proposée Utilisateurs Exigences fonctionnelles Modèles de tâche Modèles de tâche en Lustre Contraintes techniques Conception Propriétés satisfaites vérification Propriétés temporelles Codage Code en Lustre Modèle de tâches > Introduction représente : - les services que doit offrir le système à ses usagers - les connaissances requises par l usager pour utiliser le système facilite : - la compréhension du système - la communication entre les utilisateurs, les experts (cogniticiens, informaticiens) formalismes existants :
4 Modèle de tâches > ConcurTaskTrees > Présentation de la notation ConcurTaskTrees (Paterno) - sémantique riche - facilité d utilisation et de compréhension (CTTE) - nombreux outils associés (THERESA, REMUSINE) - déjà mis en œuvre dans des projets européens (MEFISTO, GUITARE, CAMELEON) en partenariat avec BAAN, Philips, EDF, Louvain-la-Neuve Modèle de tâches > ConcurTaskTrees > Définition de la tâche Une tâche définit comment l utilisateur atteint un but dans un domaine applicatif particulier. Le but étant l obtention d un état désiré du système - un identifiant - une catégorie (qui va exécuter la tâche?) - un type d action (selon la catégorie) - une fréquence d utilisation (faible, moyenne, haute) - une plate-forme cible (Desktop, PDA, GSM, etc ) - options (itérative, optionnelle, coopérative) - pré condition - liste d objets nécessaires à sa réalisation - liste des actions d entrée ou de sortie des objets - durées d exécution d une tâche (min, max, moyenne)
5 Modèle de tâches > ConcurTaskTrees > Les catégories de tâches - tâche «abstraite» actions complexes impliquant plusieurs catégories de tâches - tâche «utilisateur» planification, résolution de problèmes, comparaison, etc - tâche «application» production d alertes, affichage, comparaison, etc - tâche «interaction» commande, édition, réponse aux alertes, choix, etc - tâche «coopération» négociation, notification Modèle de tâches > ConcurTaskTrees > Les opérateurs temporels Opérateurs temporels inspirés de LOTOS + priorité - [] = ou [] [> > >> ou []>> Choix Indépendance d ordre Concurrence Désactivation Suspension Activation [T] T* T n T
6 Modèle de tâches > ConcurTaskTrees > Un modèle de tâche Modèle de tâches > ConcurTaskTrees > Un modèle de tâche coopératif
7 Modèle de tâches > ConcurTaskTrees > Outils associés - vérification syntaxique - simulateur - statistique et comparaison de modèles - test d atteignabilité - conversion en LOTOS - génération automatique d IHM (THERESA) - comparaison de modèles avec des sessions utilisateurs (RemUSINE) Modèle de tâches > ConcurTaskTrees > Simulateur - Facilite la compréhension des relations temporelles - Présentation du futur système aux utilisateurs
8 Modèle de tâches > ConcurTaskTrees > RemUSINE CTTE Modèle de tâche Préparation RemUSINE Table des tâches Méthode d évaluation RemUSINE Journal Utilisateur Journal 1 Utilisateur n Résultats Outil de journalisation Utilisateur 1 Utilisateur n Application Modélisation de CTT > Model Checking Objectif : Analyse de l adéquation entre deux modèles formels. Systèmes formalisés : - Propriétés - Spécifications - Programmes Langages formels : - Algèbres de processus (Lotos) - Modèles à états (StateCharts, Réseaux de pétri) - Langages synchrones (Lustre)
9 Modélisation de CTT > Lustre Model Checking modélisation de CTT Lustre (IMAG) : - Formalisme strict et gestion du parallélisme - Outils de preuve et de test (Lesar, SMV, Ga, Lutess) - Continuité avec le travail déjà réalisé Syntaxe de Lustre : - Les nœuds - Les équations - Les assertions Modélisation de CTT > Modélisation de CTT en Lustre - Une tâche atomique un nœud : pexe(état de la tâche) = (evt début, evt fin, dysfonctionnement) - Une relation temporelle un nœud propre à la relation : prel(exe(t1),exe(t2)) = (evt début, evt fin, dysfonctionnement) - Une tâche abstraite une équation composée de relations temporelles : T1T2T3 = prel2(pexe(t1), prel1(pexe(t2),pexe(t3)) - Le système formalisé une équation constituée de tâches composées et/ou de tâches atomiques.
10 Modélisation de CTT > Activation La tâche se trouvant à droite de l opérateur ne peut pas être activée tant que la tâche de gauche n a pas été complètement réalisée. node pact(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) and not st2[0] then true else pre(st[0]); st[1] = false -> if raise(st2[1]) and st1[1] then true else pre(st[1]); st[2] = false -> if raise(st2[0]) and not st1[1] then true else pre(st[2]); Modélisation de CTT > Concurrence Les deux tâches peuvent être exécutées en même temps ou l une après l autre, avec un ordre d activation indifférent. node pcrr(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) or raise(st2[0]) then true else pre(st[0]); st[1] = false -> if (raise(st1[1]) and st2[1]) or (raise(st2[1]) and st1[1]) then true else pre(st[1]); st[2] = false;
11 Modélisation de CTT > Choix Lorsqu une des deux tâches a été choisie, l autre tâche ne peut plus être activée. node pchx(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) or raise(st2[0]) then true else pre(st[0]); st[1] = false -> if raise(st1[1]) or raise(st2[1]) then true else pre(st[1]); st[2] = false -> if st1[0] and st2[0] then true else pre(st[2]); Modélisation de CTT > Indépendance d ordre L ordre d activation des tâches est indifférent, mais il ne peut pas y avoir concurrence entre les tâches. node pindn(const n:int;ti:bool^3^n) returns (st:[bool,bool,bool]); assert not(t_or(n,ti[0..n-1,2])); st[0] = T_OR(n,Ti[0..n-1,0]); st[1] = T_AND(n,Ti[0..n-1,1]); st[2] = false -> if st[0] and not st[1] and not aone(n,totask(ti[0..n-1])) then true else pre(st[2]);
12 Modélisation de CTT > Désactivation Si au moins une action de la tâche se trouvant à droite de l opérateur a été réalisée, la tâche de gauche, si elle a été lancée, est désactivée. node pdac(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) or raise(st2[0]) then true else pre(st[0]); st[1] = false -> if (raise(st1[1]) and not st2[0]) or raise(st2[1]) then true else pre(st[1]); st[2] = false -> if (raise(st1[0]) and st2[0]) or (raise(st2[0]) and st1[1]) or (raise(st2[1]) and st1[0] and not st1[1]) then true else pre(st[2]); Modélisation de CTT > Suspension La tâche de gauche, si elle a été lancée, est suspendue le temps de réaliser la tâche se trouvant à sa droite. Puis, elle est réactivée à partir de l état dans lequel elle se trouvait. node psps(st1,st2:[bool,bool,bool]) returns (st:[bool,bool,bool]); assert not(st1[2] or st2[2]); st[0] = false -> if raise(st1[0]) then true else pre(st[0]); st[1] = false -> if raise(st1[1]) then true else pre(st[1]); st[2] = false -> if (raise(st2[0]) and not st1[0]) or (raise(st2[1]) and st1[1]) or (raise(st1[0]) and st2[0]) or (raise(st1[1]) and st2[0] and not st2[1]) then true else pre(st[2]);
13 Modélisation de CTT > Les priorités entre opérateurs node p(t1,t2,t3:bool) returns (R:[bool,bool,bool]); R = pchx(pexe(t1),pcrr(pexe(t2),pexe(t3))); node p(t1,t2,t3:bool) returns (R:[bool,bool,bool]); R = pcrr(pchx(pexe(t1),pexe(t2)),pexe(t3)); [], =,, [>, > et >> + priorité - Automatisation des priorités dans le programme de transformation des modèles CTT en Lustre Modélisation de CTT > La hiérarchie entre les tâches node h1(t1,t21,t22:bool) returns R:[bool,bool,bool]); R = pact(pexe(t1),pact(pexe(t21),pexe(t22))); node h2(t1,t21,t22:bool) returns (R:[bool,bool,bool]) var T2:[bool,bool,bool] R = pact(pexe(t1),t2); T2 = pact(pexe(t21),pexe(t22)); node R(T1,T21,T22:bool) returns (st:[bool,bool,bool]); st = pact(pexe(t1),t2(t21,t22)); node T2(T21,T22:bool) returns (st:[bool,bool,bool]); st = pact(pexe(t21),pexe(t22));
14 Modélisation de CTT > Exemple de modèle CTT formalisé en Lustre node appf(t0,t1,t21,t22,t3,t41,t42:bool) returns (Root:[bool,bool,bool]); var abs0,abs1,t2,t4:[bool,bool,bool]; Root=pAct(pExe(T0),abs0); abs0=pindn(2,[abs1] [T4]); abs1=pact(pact(pexe(t1),t2),pexe(t3)); T2=pChx(pExe(T21),pExe(T22)); T4=pChx(pExe(T41),pExe(T42)); Vérification des spécifications > Principes de la vérification sous Lesar Trois notions : - Le programme sous test. - Les propriétés à vérifier. - L observateur. observateur node exclusion(t1,t2:bool) returns (Ok:bool); Ok = (T1 or T2) and not(t1 and T2); node verification(t1,t2:bool) returns (Ok:bool); entrées identiques Ok = ((T1 xor T2) = (exclusion(t1,t2))); propriété programme sous test opérateur logique qui permet de définir le type de propriété Vrai, la propriété est vérifiée Faux, la propriété est violée. Contre exemple
15 observateur Vérification des spécifications > Atteignabilité Quelque chose peut se produire node vatt0(t0,t1,t21,t22,t3,t41,t42:bool) returns (Ok:bool); var smod:[bool,bool];sprop:[bool,bool,bool];mod,prop:bool; entrées identiques smod= appf(t0,t1,t21,t22,t3,t41,t42); Mod = smod[0] and smod[1]; programme sous test avec exclusion, via des assertions, des cas de dysfonctionnement sprop = pact(pact(pexe(t41),pexe(t22)),pexe(t3)); Prop = sprop[0] and sprop[1] and not sprop[2]; propriété Ok = nand(mod,prop); Grâce aux assertions, Mod, lorsqu il a été réalisé, est toujours Vrai opérateur logique Mod Prop (Mod Prop) Vrai Vrai Faux Vrai Faux Vrai Faux Vrai Vrai Faux Faux Vrai Atteignabilité Contre exemple Prop ne pourra jamais être réalisé Vérification des spécifications > Atteignabilité (T41 >> T22 >> T3) Faux (T1 >> T41) Faux (T21 T22) Vrai Sûreté, s il s agit d un comportement qui ne doit jamais se produire
16 Vérification des spécifications > Sûreté Quelque chose de mauvais ne se produira jamais Ou quelque chose de bon arrivera toujours Cf. diapositive précédente opérateur logique Mod Prop Mod => Prop Vrai Vrai Vrai Vrai Faux Faux Faux Vrai Vrai Faux Faux Vrai Le comportement attendu se produira toujours Le comportement attendu ne se produira pas obligatoirement T1 >> T3 Vrai T41 >> T3 Faux Vérification des spécifications > Cas particulier Aura-t-on toujours T11 >> T22? Faux TRANSITION 1 --> not T11 and not T12 and not T21 and not T22 TRANSITION 2 --> T11 and not T12 and T21 and not T22 TRANSITION 3 --> T11 and not T12 and not T21 and T22 TRANSITION 4 --> not T11 and T12 and not T21 and T22 TRANSITION 5 --> not T11 and not T12 and not T21 and not T22 Est-il possible d avoir T11 >> T22? Faux TRANSITION 1 --> not T11 and not T12 and not T21 and not T22 TRANSITION 2 --> T11 and not T12 and T21 and not T22 TRANSITION 3 --> not T11 and T12 and not T21 and T22 TRANSITION 4 --> not T11 and not T12 and not T21 and not T22
17 Vérification des spécifications > Recherche de tous les contre exemples Est-il impossible d avoir T3? Faux On pose alors en assertion dans l observateur : T1 >> T21 >> T3 Est-il encore impossible d avoir T3? Faux On pose alors en assertion dans l observateur : T1 >> T22 >> T3 Est-il encore impossible d avoir T3? Vrai Il est possible d utiliser cette méthode pour ne pas prendre en compte certains chemins trop rapides, par exemple lorsqu on utilise l opérateur de désactivation. Vérification de l implémentation > Travail en cours Déjà réalisé : - Ecriture d un programme Java simple - Création du modèle CTT de ce programme - Formalisation du modèle CTT en Lustre - Formalisation du programme Java en Lustre en utilisant le travail déjà réalisé par Bruno d Ausbourg et Guy Durrieu En cours : - Vérification de propriétés temporelles sur les deux modèles - Vérification d un modèle de l application Java par le modèle du modèle de tâche CTT.
18 Conclusion et perspectives Atouts de la modélisation : - Proposition d une sémantique fidèle à CTT - Facilité d écriture - Possibilité de vérifier des propriétés d atteignabilité et de sûreté avec des temps de réponse corrects Problème ouvert de la sémantique de l itération Perspectives : - Etendre la modélisation aux tâches optionnelles - Créer d autres opérateurs pour affiner les comportements - Utiliser les modèles dans la génération automatique de jeux de tests Fin Merci de votre attention Avez-vous des questions? Me contacter : - Pour obtenir la bibliographie - Pour obtenir des renseignements complémentaires christophe.ailleres@logicacmg.com
Model checking temporisé
Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44 Nécessité de vérifier des systèmes... 2/44 Nécessité de vérifier
Plus en détailJOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles
JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000 Mise en Œuvre des techniques synchrones pour des applications industrielles Mise en œuvre des techniques synchrones pour des applications industrielles
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étailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
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étailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailDéfinition des Webservices Ordre de paiement par email. Version 1.0
Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document
Plus en détailConception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
Plus en détail2. Comprendre les définitions de classes
Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux
Plus en détailMachines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
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é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étailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailCours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
Plus en détailMV Consulting. ITIL & IS02700x. Club - 27001- Toulouse Sébastien Rabaud Michel Viala. Michel Viala
MV Consulting Michel Viala ITIL & IS02700x Club - 27001- Toulouse Sébastien Rabaud Michel Viala ITIL & ISO2700x : Présentation Intervenants Michel VIALA : Consultant ITIL confronté à la prise en compte
Plus en détailCCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?
Validation par le test Objectifs du cours d'aujourd'hui Donner des réponses aux questions suivantes : Lydie du Bousquet 2 Qu est-ce que tester un programme? Exercice 1 : Inscrivez sur une feuille ce que
Plus en détailmodèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets
modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets Mengxuan Zhao, Gilles Privat, Orange Labs, Grenoble, France Eric Rutten, INRIA, Grenoble, France Hassane
Plus en détailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
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é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étailInitiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
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étailMaster Informatique Aix-Marseille Université
Aix-Marseille Université http://masterinfo.univ-mrs.fr/ Département Informatique et Interactions UFR Sciences Laboratoire d Informatique Fondamentale Laboratoire des Sciences de l Information et des Systèmes
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailSNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources
SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,
Plus en détailAnalyse,, 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étailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
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étailVérifier la qualité de vos applications logicielle de manière continue
IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions
Plus en détailRapport de Mini-Projet en ArcGIS Engine
Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation
Plus en détailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
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étailIntroduction au langage C
Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les
Plus en détailTELEGESTION. l outil indispensable des intervenants à domicile. Maison de l Emploi de Paris Plateforme RH 21 Mai 2015
TELEGESTION l outil indispensable des intervenants à domicile Maison de l Emploi de Paris Plateforme RH 21 Mai 2015 Télégestion Fixe / Mobile Plateforme d échange Couplage logiciel Couplage logiciel Fonctionnalités
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étailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailM1805 - Études et développement informatique
Appellations Analyste cogniticien / cogniticienne informatique Analyste concepteur / conceptrice informatique Concepteur / Conceptrice analyste informatique Concepteur / Conceptrice d'application informatique
Plus en détailOutils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP
Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP Christophe Joubert Séminaire VASY 2002 30 Octobre 2002 Aix les Bains Contexte du projet
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étailAnalyse statique de code dans un cycle de développement Web Retour d'expérience
Analyse statique de code dans un cycle de développement Web Retour d'expérience Laurent Butti et Olivier Moretti Orange France prenom.nom@orange.com Agenda Introduction Notre contexte L (in)sécurité des
Plus en détailDM 1 : Montre Autoquartz ETA
Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailLes processus légers : threads. Système L3, 2014-2015 1/31
Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours
Plus en détailSTS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
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étailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
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étailIngénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau
labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC
Plus en détailORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL
i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en dé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étailTable des matières. Introduction
Table des matières 1 Formalisation des virus informatiques 2 1.1 Les machines de Turing........................ 2 1.2 Formalisation de Fred Cohen..................... 2 1.2.1 Définition d un virus informatique..............
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é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é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é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é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étailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailGestion de données avec TALEND
Journée Bases de données OSUC Gestion de données avec TALEND Validation et insertion Aurore Hertout Chargée d études Géomatique & Expertise Spatiale Données thématiques : Nombreuses et variées Différents
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailATELIER Les nouvelles fonctionnalités de Microsoft Project 2010 : premières impressions
ATELIER Les nouvelles fonctionnalités de Microsoft Project 2010 : premières impressions Vendredi 3 décembre 2010 Vincent Capitaine Microsoft MVP Project http://blogepm.wordpress.com Introduction «Microsoft
Plus en détailCours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO
Cours de Programmation en Langage Synchrone SIGNAL Bernard HOUSSAIS IRISA. Équipe ESPRESSO 24 septembre 2004 TABLE DES MATIÈRES 3 Table des matières 1 Introduction 5 1.1 La Programmation Temps Réel.........................
Plus en détailTP JAVASCRIPT OMI4 TP5 SRC1 2011-2012
TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE
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étailMASTER 2 PROFESSIONNEL. Génie Logiciel, Logiciels Répartis et Embarqués
MASTER 2 PROFESSIONNEL INFORMATIQUE Génie Logiciel, Logiciels Répartis et Embarqués Secrétariat Pédagogique Téléphone :(+33)(0)561558639 Brigitte BÉCHU Email : secm2info@adm.ups-tlse.fr Bât 1TP1 - B6 bis
Plus en détailImport factures depuis journal de vente
Import factures depuis journal de vente Introduction Importation factures depuis journal de vente Automatisation de l import DiaClientSQL Import factures depuis journal de vente Page 1 sur 6 Introduction
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étailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailSugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009
SugarCubes Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués Paris, le 9 janvier, 2009 Plan 2 Les SugarCubes au dessus de J2ME Quelques résultats expérimentaux Les
Plus en détailGuide de connexion au service Nomade sous les environnements Microsoft Windows 7
Direction des Systèmes d Information Manuel Utilisateur Guide de connexion au service Nomade sous les environnements Microsoft Windows 7 Version 1.0 du 05/04/2013 Avertissement L accès à distance au réseau
Plus en détailAuditabilité des SI et Sécurité
Auditabilité des SI et Sécurité Principes et cas pratique Géraldine GICQUEL ggicquel@chi-poissy-st-germain.fr Rémi TILLY remi.tilly@gcsdsisif.fr SOMMAIRE 1 2 3 4 Les leviers d amélioration de la SSI Les
Plus en détailBULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Plus en détailPREMIER MINISTRE SECRÉTARIAT GÉNÉRAL DU GOUVERNEMENT
PREMIER MINISTRE SECRÉTARIAT GÉNÉRAL DU GOUVERNEMENT Renouvellement de l outil de gestion des listes de diffusion de la Documentation française Pour en savoir plus, contacter Sur les aspects administratifs
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailIntroduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un
Plus en détailPROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel. 4 24 12 24 CC + ET réseaux
PROGRAMME DETAILLE du Master IRS Parcours en première année en apprentissage Unités d Enseignement (UE) 1 er semestre ECTS Charge de travail de l'étudiant Travail personnel Modalités de contrôle des connaissances
Plus en détailDG-ADAJ: Une plateforme Desktop Grid
DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3
Plus en détailChef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.
Chef de projet H/F Dans le cadre de nos activités pour un de nos clients, CIMPA recherche un chef de projet H/F. - Planifier l ensemble des phases du projet - Piloter l équipe dédiée au projet - Garantir
Plus en détailPARAMETRER INTERNET EXPLORER 9
PARAMETRER INTERNET EXPLORER 9 Résumé Ce document vous donne la marche à suivre pour paramétrer Microsoft Internet Explorer 9, notamment en vous indiquant comment lancer Internet Explorer 9, réinitialiser
Plus en détailPréparation à l examen EFA en Macro
Préparation à l examen EFA en Macro Exercice sur les macros en Word / Excel Les questions suivantes doivent constituer un bref rafraîchissement et vous aider à situer le niveau de vos connaissances : Question
Plus en détailVISIUM. Méthodologie visuelle Visualisation de système Conception et Optimisation Système d information et d organisation
Méthodologie visuelle Visualisation de système Conception et Optimisation Système d information et d organisation Olivier Fargin o.fargin@visium360.fr - www.visium360.fr Méthodologies visuelles (Les atouts
Plus en détailConstruire un tableau de bord par Marc Maisonneuve
Construire un tableau de bord par Marc Maisonneuve Le tableau de bord On peut le définir comme la présentation synoptique d indicateurs relatifs au suivi d une bibliothèque, d un projet, d un service.
Plus en détailPACTE : Programme d Amélioration Continue du Travail en Equipe Phase d expérimentation
PACTE : Programme d Amélioration Continue du Travail en Equipe Phase d expérimentation Centre Hospitalier d Argenteuil (95) F. Lémann, PH-coordonnateur de la gestion des risques associés aux soins Co-facilitateur
Plus en détailEXAMEN CRITIQUE D UN DOSSIER TECHNIQUE
EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE (Préparation : 5 heures -- Exposé et Questions : 1 heure) Rapport établi par : P.J. BARRE, E. JEAY, D. MARQUIS, P. RAY, A. THIMJO 1. PRESENTATION DE L EPREUVE 1.1.
Plus en détailRetour d expérience implémentation Scrum / XP
Retour d expérience implémentation Scrum / XP Bruno Orsier Octobre 2008 p.1 Bruno Orsier, Agile Tour 2008 Grenoble Plan Qui sommes nous? Pourquoi Scrum/XP? Historique de la mise en œuvre Bilan Sondage
Plus en détailInitiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
Plus en détailProjet de Java Enterprise Edition
Projet de Java Enterprise Edition Cours de Master 2 Informatique Boutique en ligne L objectif du projet de JEE est de réaliser une application de boutique en ligne. Cette boutique en ligne va permettre
Plus en détailInitiation au trading automatique et semi-automatique avec Metatrader 4. Nicolas ALEKSY www.satelysfx.com
Initiation au trading automatique et semi-automatique avec Metatrader 4 Nicolas ALEKSY www.satelysfx.com Introduction Les idées reçues au sujet du trading automatique : Réservé aux intervenants institutionnels
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étailLivrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.
Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour. Date : 10 avril 2015 Format : Conférence Speakers : Dimitri Baeli, Benjamin Degerbaix de Les Furets
Plus en détailPrésentation BAI -CITC
Présentation BAI -CITC Expertise reconnue dans des niches technologiques Technologies embarquées Technologies sans contact Technologies d identification et d authentification Sécurité des objets connectés
Plus en détail