Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants ou orientés services

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

Download "Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants ou orientés services"

Transcription

1 1 Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants ou orientés services Guillaume Waignier, Anne-Françoise Le Meur, Laurence Duchien Equipe ADAM INRIA Lille-Nord Europe UNIVERSITE DES SCIENCES ET TECHNOLOGIES DE LILLE LIFL - UMR 8022 CNRS VILLENEUVE D'ASCQ CEDEX

2 1. Contexte 2 Construction et évolution des systèmes logiciels Ensemble de fonctionnalités pour répondre aux besoins des utilisateurs Allongement de la durée de vie Besoin d'évoluer rapidement [Lehman85] Nouvelles exigences des utilisateurs Ajout/suppression de fonctionnalités Besoin de fiabilité [ISO9126] Maintenir le niveau de service dans des conditions données Conception & évolution Approches de constructions rapides Méthodologie de développement agile Architecture logicielle à base de composants

3 1. Contexte Méthode agile 3 Méthode agile [Manifesto01] Processus de développement logiciel Nombreuses méthodes agiles (Scrum, XP,...) Réactive face aux évolutions des besoins des utilisateurs Cycle court et rapide (Scrum: de 1 à 4 semaines) Cycle incrémental et itératif Ajout/suppression de fonctionnalités à chaque itération Tests continus Cycle Conception (architecte) Implémentation (développeur) Déploiement (administrateur) Exécution (testeur) Conception Implémentation Exécution Déploiement

4 1. Contexte Architecture logicielle 4 Architecture logicielle [Medvidovic00] Brique logicielle = fonctionnalité Composant / service Facilite la conception Assemblage, réutilisation Raisonnement Conception de systèmes fiables On ne part pas de rien Briques logicielles fiables Assembler des briques compatibles Besoin : Interactions compatibles lors de la conception et l'évolution Cycle itératif C1 C3 C2 Conception Implémentation Déploiement Exécution

5 2. Exemple : Dossier Médical Personnel Ce qu on aimerait pouvoir faire 5 Exemple fil rouge Objectif : conception et évolution fiable Architecture logicielle Cycle de développement agile (itératif et incrémental) Mise en évidence des problèmes Chaque étape du cycle Application DMP Démonstrateur du projet FAROS Un des rôles Consultation d'informations médicales Utilisateurs : professionnels de santé Pharmaciens, radiologues, pédiatres,... Informations médicales Ordonnances, radiographies, échographies,...

6 2. Exemple : Dossier Médical Personnel 2.1. Conception (structure) 6 Conception Quelles fonctionalités et comment les assembler

7 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) 7 Conception Propriétés applicatives Structure : contraint les connexions

8 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) 8 Conception Propriétés applicatives Structure : contraint les connexions Comportement : exprime le flot de contrôle

9 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) 9 Conception Propriétés applicatives Structure : contraint les connexions Comportement : exprime le flot de contrôle Flot de données : limite la valeur des messages reçus et envoyés

10 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) 10 Conception Propriétés applicatives Structure : contraint les connexions Comportement : exprime le flot de contrôle Flot de données : limite la valeur des messages reçus et envoyés QdS : définit les contraintes extra fonctionnelles (CPU, )

11 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) 11 Conception Propriétés applicatives Structure : contraint les connexions Comportement : exprime le flot de contrôle Peut-on décrire une telle Flot de données : limite la valeur des messages reçus et envoyés application? QdS : définit les contraintes extra fonctionnelles (CPU, )

12 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) Étude de l'existant 12 Support de spécification limité Aucun support (Fractal Julia, CCM, SCA) Pas de support des 4 catégories Hétérogène et dispersé Fractal, CCM, SCA Wright SOFA, Fractal- BPC Structure limité Style limité Comporte ment Flot de données n/a CSP Behavioral protocol n/a n/a n/a Acme/ Armani Armani language Confract SafArchie WebServices invariant Type limité n/a n/a SFSP BPMN/BPEL pre/post conditions pre/post conditions pre/post conditions QdS n/a n/a n/a n/a n/a n/a SLA n/a

13 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) 13 Conception

14 2. Exemple : Dossier Médical Personnel 2.1. Conception (propriétés applicatives) 14 spec Conception

15 2. Exemple : Dossier Médical Personnel 2.2. Validation statique 15 Validation statique spec Conception Besoin d'effectuer une validation statique pour les vérifier les interactions le + tôt possible

16 2. Exemple : Dossier Médical Personnel 2.2. Validation statique 16 spec Validation statique Conception

17 2. Exemple : Dossier Médical Personnel 2.2. Validation statique 17 spec Validation statique Conception

18 2. Exemple : Dossier Médical Personnel 2.2. Validation statique 18 spec Validation statique Conception Partiellement compatible :Besoin d'effectuer une validation dynamique car on ne pourra savoir qu à l exécution

19 2. Exemple : Dossier Médical Personnel 2.2. Validation statique 19 spec Validation statique Conception Peut-on faire cette validation? Partiellement compatible :Besoin d'effectuer une validation dynamique car on ne pourra savoir qu à l exécution

20 2. Exemple : Dossier Médical Personnel 2.2. Validation statique Étude de l'existant 20 Analyse d'une interaction [Barais05] Compatible Incompatible Partiellement compatible Manque de support de validation Outils fortement couplés avec une plate-forme Prise en charge d'un sous ensemble des propriétés applicatives Pas de prise en compte des interactions partiellement compatibles Analyses statiques et dynamiques découplées

21 2. Exemple : Dossier Médical Personnel 2.2. Validation statique 21 spec Validation statique Conception

22 2. Exemple : Dossier Médical Personnel 2.2. Validation statique 22 spec lacune Validation statique Conception

23 2. Exemple : Dossier Médical Personnel 2.3. Implémentation 23 spec lacune Validation statique Conception Implémentation

24 2. Exemple : Dossier Médical Personnel 2.3. Implémentation 24 Cache, public class CacheImpl implements SearchDataItf out ) private ImageServer.SearchDataItf p2; public Image get(url url) Validation { lacune statique Conception... spec } }

25 2. Exemple : Dossier Médical Personnel 2.3. Implémentation 25 spec Cache, public class CacheImpl implements SearchDataItf out ) private ImageServer.SearchDataItf p2; public Image get(url url) Validation { lacune statique Conception... } } Cohérence de l implémentation et des spécifications (structure)?

26 2. Exemple : Dossier Médical Personnel 2.3. Implémentation 26 spec lacune Validation statique Conception inco Implémentation

27 2. Exemple : Dossier Médical Personnel 2.4. Déploiement 27 spec lacune Validation statique Conception inco Implémentation On instancie. Déploiement

28 2. Exemple : Dossier Médical Personnel 2.5. Exécution / Validation dynamique 28 lacune Validation statique spec Conception Validation inco dynamique Implémentation Exécution Déploiement

29 2. Exemple : Dossier Médical Personnel 2.5. Exécution / Validation dynamique 29 lacune Validation statique spec Conception Validation inco dynamique Implémentation Exécution Déploiement Comment faire des tests à l exécution?

30 2. Exemple : Dossier Médical Personnel 2.5. Exécution / Validation dynamique Étude de l'existant 30 Besoin d'observer les données d'exécution Valeur des messages échangés QdS Manque de support d'observation Mise en oeuvre manuelle du mécanisme d'observation Modification du code source des composants/services Intégration de sondes de QdS Difficile et source d'erreur Tests en dur ou presque il faut instrumentiser le code Identification manuelle de la source de l erreur Message d'erreur au niveau du code Perte du lien avec les propriétes applicatives

31 2. Exemple : Dossier Médical Personnel 2.5. Exécution / Validation dynamique 31 lacune Validation statique spec Conception Validation inco dynamique Implémentation Exécution obs Déploiement

32 2. Exemple : Dossier Médical Personnel 2.6. Évolution 32 lacune Validation statique spec Conception Validation inco dynamique Implémentation Exécution Déploiement obs Comment revoir sa copie et faire évoluer l application?

33 2. Exemple : Dossier Médical Personnel 2.6. Évolution 33 lacune Validation statique spec Conception Validation inco dynamique Implémentation Exécution obs Déploiement

34 2. Exemple : Dossier Médical Personnel 2.6. Évolution 34 lacune Validation statique spec Conception rupture Validation inco dynamique Implémentation Exécution obs Déploiement

35 35 Plan Contexte Exemple Problématique : définir un canevas qui permet l'évolution fiable CALICO Evaluation Conclusion

36 3. Problématique : évolution fiable 36 Conception Validation statique Conception Validation dynamique Implémentation Exécution Déploiement

37 3. Problématique : évolution fiable 37 Conception Manque de moyen de spécification des propriétés applicatives Validation statique spec Conception Validation dynamique Implémentation Exécution Déploiement

38 3. Problématique : évolution fiable 38 Conception Manque de moyen de spécification des propriétés applicatives Validation statique Manque d'outil d'analyse statique lacune Validation statique spec Conception Validation dynamique Implémentation Exécution Déploiement

39 3. Problématique : évolution fiable 39 Conception Manque de moyen de spécification des propriétés applicatives Validation statique Manque d'outil d'analyse statique Implémentation Incohérence avec la spécification lacune Validation statique spec Conception Validation inco dynamique Implémentation Exécution Déploiement

40 3. Problématique : évolution fiable 40 Conception Manque de moyen de spécification des propriétés applicatives Validation statique Manque d'outil d'analyse statique Implémentation Incohérence avec la spécification Déploiement Rupture entre conception/exécution spec inco Implémentation lacune Validation statique Conception rupture Validation dynamique Exécution Déploiement

41 3. Problématique : évolution fiable 41 Conception Manque de moyen de spécification des propriétés applicatives Validation statique Manque d'outil d'analyse statique Implémentation Incohérence avec la spécification Déploiement Rupture entre conception/exécution Exécution / validation dynamique Manque de mécanisme d'observation spec inco Implémentation lacune Validation statique Conception rupture Validation dynamique Exécution Déploiement obs

42 42 Plan Contexte Exemple Problématique CALICO Evaluation Conclusion

43 4. CALICO (cycle de développement) 43 Evolution Développement itératif 6 étapes Vue conceptuelle synchronisée avec le logiciel en cours d'exécution Implémentation Conception Validation statique Exécution Validation dynamique Déploiement Fiabilisation des évolutions Couplage des validations statiques et dynamiques des évolutions Multi plates-formes Intégration transparente des mécanismes de validation dans le logiciel Extensible et générique

44 4. CALICO (Canevas) 44

45 45 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

46 4. CALICO (cycle de développement) 4.1. Conception 46 Architecte Spécifier l'assemblage de composants /services Décrire les propriétés applicatives

47 4. CALICO (cycle de développement) 4.1. Conception 47 Architecte Spécifier l'assemblage de composants /services Décrire les propriétés applicatives CALICO Offre une large palette de spécifications structure, comportement, flot de données et de QdS Intégration uniforme des catégories de propriétés applicatives Paradigme hypothèse/garantie

48 4. CALICO (cycle de développement) 4.1. Conception 48 Architecte Spécifier l'assemblage de composants /services Décrire les propriétés applicatives CALICO Offre une large palette de spécifications structure, comportement, flot de données et de QdS Intégration uniforme des catégories de propriétés applicatives Paradigme hypothèse/garantie Avantages Extensible Indépendant de la plate-forme d'exécution Permet la spécification de propriétés applicatives sur des plates-formes qui ne la supportent pas nativement

49 4. CALICO (cycle de développement) 4.1. Conception Métamodèle de structure du système Décrit l'assemblage de composants et de services 49 Need of runtime checks

50 4. CALICO (cycle de développement) 4.1. Conception Métamodèle de structure du système Décrit l'assemblage de composants et de services Structure basé sur l'existant (16 modèles à composants/services) 50 Need of runtime checks Concepts communs

51 4. CALICO (cycle de développement) 4.1. Conception Métamodèle de structure du système Décrit l'assemblage de composants et de services Structure basé sur l'existant (16 modèles à composants/services) Besoin de raisonner sur les interactions entre composants/services 51 Need of runtime checks Concepts communs Détail du point de communication

52 4. CALICO (cycle de développement) 4.1. Conception Métamodèle des propriétés structurelles Décrit les contraintes structurelles Basé sur un langage de contraintes bien connu (OCL) Spécialisation pour les architectures logicielles 52

53 4. CALICO (cycle de développement) 4.1. Conception Métamodèle des propriétés comportementales Décrit le flot de controle entrant et sortant des points de communication Détecter les interblocages Basé sur le graphe de flot de contrôle (comme BPMN) Opérateurs de composition du flot de contrôle non structurés [Aalst07] 53

54 4. CALICO (cycle de développement) 4.1. Conception Métamodèle des propriétés de flot de données Décrit l'interval de valeur autorisé des messages entrant et sortant Requis pour raisonner sur des applications de diffusion d'informations Repose sur le concept de pre/post conditions 54

55 4. CALICO (cycle de développement) 4.1. Conception Métamodèle des propriétés de QdS 55

56 4. CALICO (cycle de développement) 4.1. Conception Métamodèle des propriétés de QdS 56 Hypothèse Garantie

57 4. CALICO (cycle de développement) 4.1. Conception Métamodèle des propriétés de QdS 57 Type de propriétés de QdS

58 4. CALICO (cycle de développement) 4.1. Conception Exemple DMP 58

59 4. CALICO (cycle de développement) 4.1. Conception Exemple DMP 59 Validation statique spec Conception Validation dynamique Implémentation Exécution Déploiement

60 60 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

61 61 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

62 4. CALICO (cycle de développement) 4.2. Validation statique Outil d'analyse des interactions Problématique Manque d'outils de validations 62

63 4. CALICO (cycle de développement) 4.2. Validation statique Outil d'analyse des interactions Problématique Manque d'outils de validations 63 Outil d'analyse des interactions de CALICO Analyse la compatibilité des interactions entre composants /services Vérifie le respect de chaque propriété applicative 3 types d'interaction Compatible : ok Incompatible : message d'erreur Partiellement compatible : préparation des analyses dynamiques

64 4. CALICO (cycle de développement) 4.2. Validation statique Outil d'analyse des interactions Problématique Manque d'outils de validations Package débogage Condition 64 Outil d'analyse des interactions de CALICO Analyse la compatibilité des interactions entre composants /services Vérifie le respect de chaque propriété applicative 3 types d'interaction Compatible : ok Incompatible : message d'erreur Partiellement compatible : préparation des analyses dynamiques Action Événement Partiellement compatible : préparation des analyses dynamiques

65 4. CALICO (cycle de développement) 4.2. Validation statique Outil d'analyse des interactions Problématique Manque d'outils de validations Outil d'analyse des interactions de CALICO Analyse la compatibilité des interactions entre composants /services Vérifie le respect de chaque propriété applicative 3 types d'interaction Compatible : ok Incompatible : message d'erreur Partiellement compatible : préparation des analyses dynamiques Avantage Cadre fédérateur d'intégration des analyses existantes Basé sur le paradigme hypothèse/obligation [lamport93] Factorise les analyses pour différentes plates-formes Lien avec les analyses dynamiques 65

66 4. CALICO (cycle de développement) 4.2. Validation statique Intégration des analyses existantes Analyse structurelle Basé sur OCL [OMG03] 66 Analyse du comportement Basé sur les algèbres de processus existants (CSP [Hoare85],...) Construit le GFC global en synchronisant les GFCs [MG07] Analyse de flot de données Basé sur la validation partielle de programme [Kildall73] Propagation avant des garanties Propagation arrière des hypothèses Analyse de la QdS Basé sur la prédiction de qualité de services dans les flot de contrôle

67 4. CALICO (cycle de développement) 4.2. Validation statique Exemple DMP 67

68 4. CALICO (cycle de développement) 4.2. Validation statique Exemple DMP 68 Propagation avant des garanties

69 4. CALICO (cycle de développement) 4.2. Validation statique Exemple DMP 69 Propagation avant des garanties Propagation arrière des hypothèses

70 4. CALICO (cycle de développement) 4.2. Validation statique Exemple DMP 70 V V Propagation avant des garanties Propagation arrière des hypothèses Identification de la localisation de l'analyse dynamique à effectuer

71 4. CALICO (cycle de développement) 4.2. Validation statique Exemple DMP 71 V Validation statique spec Conception Validation dynamique Implémentation Exécution Propagation avant des garanties Propagation arrière des hypothèses Déploiement lacune V

72 72 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

73 73 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

74 4. CALICO (cycle de développement) 4.3. Implémentation Outil de génération de code 74 Développeurs Ecrire le code technique et métier des composants/services Conforme à la spécification

75 4. CALICO (cycle de développement) 4.3. Implémentation Outil de génération de code 75 Développeurs Ecrire le code technique et métier des composants/services Conforme à la spécification Outil de génération de code de CALICO Squelette de code des composants /services (code technique) ADL

76 4. CALICO (cycle de développement) 4.3. Implémentation Outil de génération de code 76 Développeurs Ecrire le code technique et métier des composants/services Conforme à la spécification Outil de génération de code de CALICO Squelette de code des composants /services (code technique) ADL Avantages Limite l'introduction d'incohérence entre conception et implémentation Focalisation du développement sur le code métier

77 4. CALICO (cycle de développement) 4.3. Implémentation Exemple DMP Cache, public class CacheImpl implements SearchDataItf out ) private ImageServer.SearchDataItf p2; public Image get(url url) {... } }

78 4. CALICO (cycle de développement) 4.3. Implémentation Exemple DMP 78 inco Cache, public class CacheImpl implements SearchDataItf out ) private ImageServer.SearchDataItf p2; public Image Validation get(url lacune url) { statique spec Conception... } Validation } dynamique Exécution Déploiement

79 4. CALICO (cycle de développement) 4.3. Implémentation Outil d'instrumentation 79 Besoin d'observer les données d'exécution requises par les analyses dynamiques Manque de fonctionnalités d'observation (données, QdS)

80 4. CALICO (cycle de développement) 4.3. Implémentation Outil d'instrumentation 80 Besoin d'observer les données d'exécution requises par les analyses dynamiques Manque de fonctionnalités d'observation (données, QdS) Outil d'instrumentation Parcourt chaque analyse dynamique spécifiée dans le modèle de débogage Identifie les données d'exécution requises Instrumente l'application pour ajouter/supprimer les sondes Ajoute des aspects au niveau de l'architecture Ajoute des aspects au niveau de l'implémentation

81 4. CALICO (cycle de développement) 4.3. Implémentation Outil d'instrumentation 81 Besoin d'observer les données d'exécution requises par les analyses dynamiques Manque de fonctionnalités d'observation (données, QdS) Outil d'instrumentation Parcourt chaque analyse dynamique spécifiée dans le modèle de débogage Identifie les données d'exécution requises Instrumente l'application pour ajouter/supprimer les sondes Ajoute des aspects au niveau de l'architecture Ajoute des aspects au niveau de l'implémentation Aspect architectural repose sur l'existant (FAC, DAOP-ADL,...)

82 4. CALICO (cycle de développement) 4.3. Implémentation Outil d'instrumentation 82 Besoin d'observer les données d'exécution requises par les analyses dynamiques Manque de fonctionnalités d'observation (données, QdS) Outil d'instrumentation Parcourt chaque analyse dynamique spécifiée dans le modèle de débogage Identifie les données d'exécution requises Instrumente l'application pour ajouter/supprimer les sondes Ajoute des aspects au niveau de l'architecture Ajoute des aspects au niveau de l'implémentation Avantages Gestion transparente des analyses dynamiques Est indépendant de toute plate-forme Est extensible (intégration de canevas existants de sondes)

83 4. CALICO (cycle de développement) 4.3. Implémentation Exemple DMP 83 Capture de la trace des messages échangés Tissage de 4 Cache, public class CacheImpl implements SearchDataItf out ) private ImageServer.SearchDataItf p2; public Image get(url url, List<String> trace) { trace.add(?cache.in.get.url );... res = this.out.getpicture(url,trace); trace = res.gettrace(); trace.add(?cache.out.getpicture.data );... trace.add(!cache.in.get.data ); return res; } }

84 4. CALICO (cycle de développement) 4.3. Implémentation Exemple DMP 84 Capture de la trace des messages échangés Tissage de 4 Cache, public class CacheImpl implements SearchDataItf out ) private ImageServer.SearchDataItf p2; public Image get(url url, List<String> trace) { Validation lacune trace.add(?cache.in.get.url ); statique spec Conception... res = this.out.getpicture(url,trace); Validation obs inco trace = res.gettrace(); dynamique Implémentation trace.add(?cache.out.getpicture.data ); Exécution... trace.add(!cache.in.get.data ); Déploiement return res; } }

85 85 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

86 86 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

87 4. CALICO (cycle de développement) 4.4. Déploiement Outil de chargement 87 Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution

88 4. CALICO (cycle de développement) 4.4. Déploiement Outil de chargement 88 Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution Outil de chargement Effectue un déploiement incrémental

89 4. CALICO (cycle de développement) 4.4. Déploiement Outil de chargement 89 Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution Outil de chargement Effectue un déploiement incrémental Identification des modifications

90 4. CALICO (cycle de développement) 4.4. Déploiement Outil de chargement 90 Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution Outil de chargement Effectue un déploiement incrémental Contient la séquence des opérations de construction

91 4. CALICO (cycle de développement 4.4. Déploiement Outil de chargement Ajout/suppression de paramètres Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution 91 Outil de chargement Effectue un déploiement incrémental Granularité du modèle de structure du système Ajout/suppression de ports

92 4. CALICO (cycle de développement) 4.4. Déploiement Outil de chargement 92 Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution Outil de chargement Effectue un déploiement incrémental Adaptation aux contraintes de déploiement de la plateforme cible

93 4. CALICO (cycle de développement 4.4. Déploiement Outil de chargement 93 Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution Outil de chargement Effectue un déploiement incrémental Invocation de l'api de déploiement de la plateforme cible

94 4. CALICO (cycle de développement) 4.4. Déploiement Outil de chargement 94 Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution Outil de chargement Effectue un déploiement incrémental Compare les modèles entre deux itérations du cycle Produit un modèle de mise à jour qui contient la séquence des opérations de construction du système (ajoute/suppime composants/connecteurs,...) Avantages Déploiement applicatif complètement automatisé Gestion uniforme des ajouts/supressions de fonctionnalités Flexible (s'adapte à la granularité des plates-formes)

95 4. CALICO (cycle de développement) 4.4. Déploiement Outil de chargement 95 inco Problématique Synchroniser la vue conceptuelle et le système en cours d'exécution Outil de chargement Effectue un déploiement incrémental Compare les modèles entre deux itérations du cycle Produit un modèle de mise à jour qui contient la séquence des opérations Avantages Implémentation de construction du lacune système (ajoute/suppime composants/connecteurs,...) Validation statique spec Conception Validation obs Déploiement rupture applicatif complètement automatisé dynamique Gestion uniforme Exécutiondes ajouts/supressions de fonctionnalités Flexible (s'adapte à la granularité des plates-formes) Déploiement

96 96 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

97 97 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

98 4. CALICO (cycle de développement) 4.5. Exécution / Validation dynamique 98 Testeurs Exécutent les scénarios d'utilisation du logiciel

99 4. CALICO (cycle de développement) 4.5. Exécution / Validation dynamique 99 Testeurs Exécutent les scénarios d'utilisation du logiciel Outil de débogage Reçoit les données exécution émisent par le logiciel instrumenté Déclenche l'analyse dynamique appropriée Lien avec la validation statique/la vue conceptuelle

100 4. CALICO (cycle de développement) 4.5. Exécution / Validation dynamique 100 Testeurs Exécutent les scénarios d'utilisation du logiciel Outil de débogage Reçoit les données exécution émisent par le logiciel instrumenté Déclenche l'analyse dynamique appropriée Lien avec la validation statique/la vue conceptuelle

101 4. CALICO (cycle de développement) 4.5. Exécution / Validation dynamique 101 Testeurs Exécutent les scénarios d'utilisation du logiciel Outil de débogage Reçoit les données exécution émisent par le logiciel instrumenté Déclenche l'analyse dynamique appropriée Lien avec la validation statique/la vue conceptuelle Avantages Est indépendant de toute plate-forme Est extensible Permet un retour plus facile au niveau conception

102 4. CALICO (cycle de développement) 4.6. Évolution 102 On itère, en corrigeant l architecture.seules les modifications seront appliquées.

103 103 Plan Contexte Exemple Problématique CALICO Conception Validation statique Implémentation Déploiement Exécution/Validation dynamique Evaluation Conclusion Implémentation Conception Déploiement Validation statique Exécution Validation dynamique

104 5. Évaluation 5.1. Contexte 104 Environement des tests Portable Core 2 Duo at 1,33Ghz Java 1.6.0_11 Plate-forme à composants Fractal Test des limites de CALICO Architecture hierarchique très grande ( composants ) Majorité des applications à base de composants < composants Limite des plates-formes à composants SCA Apache Tuscany : < composants

105 5. Évaluation 5.2. Déploiement incrémental 105 Systèmes typiques Avec Fractal ADL CALICO : ~ 2s pour déployer un composant dans un assemblage Fractal Native tool : ~ 2s pour déployer un composant Même niveau de performance que l'outil natif

106 5. Évaluation 5.3. Analyses 106 Systèmes typiques OCL : ~2s pour 1000 composants comportement : ~10s pour 1000 composants Liée à la complexité des algorithmes d'analyse Architectes peuvent activer/désactiver chaque outil d'analyse à n'importe quel moment

Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants ou orientés services

Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants ou orientés services 1 Soutenance de thèse de Doctorat le 26 Janvier 2010 Canevas de développement agile pour l'évolution fiable de systèmes logiciels à composants ou orientés services Guillaume Waignier Equipe ADAM INRIA

Plus en détail

CONCEPTS ET MISE EN PRATIQUE POUR LA VALIDATION DE GRANDS SYSTÈMES

CONCEPTS ET MISE EN PRATIQUE POUR LA VALIDATION DE GRANDS SYSTÈMES MODEL-BASED TESTING (MBT) CONCEPTS ET MISE EN PRATIQUE POUR LA VALIDATION DE GRANDS SYSTÈMES Le Model-Based Testing est une pratique de test en plein développement dans l'industrie pour accroitre l'efficacité

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Modélisation Principe Autre principe

Modélisation Principe Autre principe Modélisation Principe : un modèle est une abstraction permettant de mieux comprendre un objet complexe (bâtiment, économie, atmosphère, cellule, logiciel, ). Autre principe : un petit dessin vaut mieux

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Des exigences aux tests Génération de tests à partir des processus et règles métier (Model-Based Testing)

Des exigences aux tests Génération de tests à partir des processus et règles métier (Model-Based Testing) Des exigences aux tests Génération de tests à partir des processus et règles métier (Model-Based Testing) Bruno LEGEARD JDEV 2013 4-6 septembre 2013 Sommaire Partie I Introduction au Model-Based Testing

Plus en détail

Conduite de projets et architecture logicielle

Conduite de projets et architecture logicielle s et architecture logicielle ABCHIR Mohammed-Amine Université Paris 8 15 février 2011 1/36 ABCHIR Mohammed-Amine (Université Paris 8) Conduite de projets et architecture logicielle 15 février 2011 1 /

Plus en détail

Fonctionnalités de développement

Fonctionnalités de développement 163 Chapitre 5 Fonctionnalités de développement 1. Optimisation des applications ASP.NET Fonctionnalités de développement 1.1 Présentation de ASP.NET ASP.NET est un ensemble de technologies créé par Microsoft

Plus en détail

Architectures logicielles pour les systèmes embarqués temps réel

Architectures logicielles pour les systèmes embarqués temps réel ETR 07 4 septembre 2007 Architectures logicielles pour les systèmes embarqués temps réel Jean-Philippe Babau, Julien DeAntoni jean-philippe.babau@insa-lyon.fr 1/31 Plan Architectures logicielles pour les

Plus en détail

Gouvernance et étude de l impact du changement des processus mé6ers sur les architectures orientées services

Gouvernance et étude de l impact du changement des processus mé6ers sur les architectures orientées services Gouvernance et étude de l impact du changement des processus mé6ers sur les architectures orientées services 30/10/2012 u Soutenance de thèse Karim DAHMAN François CHAROY Claude GODART Evolu1ons des processus

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION 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étail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

Plus en détail

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Laurent PY CEO, Smartesting Laurent.py@smartesting.com @py_laurent www.smartesting.com Guillaume Coquelle Testeur,

Plus en détail

Vérification et Validation

Vé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étail

M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA

M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA M2 MIAGE EVRY RAPPORT DE PROJET TECHNOLOGIE SCA Matière : Architecture orientée service Enseignants : Boccon-Gibod, Godefroy Étudiants : DIALLO Amadou Tidiane GOLAB Barbara 1 IDENTIFICATION DU PROJET Projet

Plus en détail

Aperçu général sur la technologie des Workflows

Aperçu général sur la technologie des Workflows Aperçu général sur la technologie des Workflows Zakaria Maamar Groupe Interfonctionnement Section Technologie des systèmes d'information Centre de recherches pour la défense Valcartier 2459 boul. Pie-XI

Plus en détail

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

Plus en détail

AADL. un langage pour la modélisation et la génération d applications. Thomas Vergnaud, thomas.vergnaud@enst.fr

AADL. un langage pour la modélisation et la génération d applications. Thomas Vergnaud, thomas.vergnaud@enst.fr AADL un langage pour la modélisation et la génération d applications, thomas.vergnaud@enst.fr Les langages de description d architecture la conception des systèmes devient complexe difficulté de compréhension

Plus en détail

Aperçu plus détaillé du logiciel HP LoadRunner

Aperçu plus détaillé du logiciel HP LoadRunner Livre blanc technique Aperçu plus détaillé du logiciel HP LoadRunner Table des matières Une avancée dans le domaine des tests de performance : la solution HP LoadRunner 3 Terminologie de la solution HP

Plus en détail

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros XP : plus qu'agile Extreme Programming v2 et Développement Responsable Thierry Cros Retrouvez cette présentation sur le site http://thierrycros.net Licence CC-BY-NC-SA XP : plus qu'agile Pourquoi XP Installer

Plus en détail

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Le 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étail

GRIDKIT: Pluggable Overlay Networks for Grid Computing

GRIDKIT: Pluggable Overlay Networks for Grid Computing GRIDKIT: Pluggable Overlay Networks for Grid Computing Paul Grace, Geoff Coulson, Gordon Blair, Laurent Mathy, Wai Kit Yeung, Wei Cai, David Duce, Chris Cooper Computing Department, Lascaster University

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vé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étail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

Adaptation dynamique de services

Adaptation dynamique de services Adaptation dynamique de services Marcel CREMENE Univ. de Cluj Napoca Michel RIVEILL Univ. de Nice Sophia Antipolis Christian MARTEL Univ. de Savoie Objectif : Nous souhaitons pouvoir modifier l architecture

Plus en détail

Qu'est-ce que le BPM?

Qu'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étail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

Annexe : La Programmation Informatique

Annexe : 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étail

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire BENEFICES Des projets réussis dans les délais et les budgets La bonne donnée disponible au

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le 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étail

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

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

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

URBANISME DES SYSTÈMES D INFORMATION

URBANISME DES SYSTÈMES D INFORMATION FAYCAL AYECH GL2. INSAT 2010/2011 INTRODUCTION AUX SYSTÈMES D INFORMATIONS URBANISME DES SYSTÈMES D INFORMATION De l Urbanisme à L Urbanisation des SI Urbanisme : Mise en œuvre des politiques urbaines

Plus en détail

Méthodes Agiles et gestion de projets

Méthodes Agiles et gestion de projets Méthodes Agiles et gestion de projets Eric LELEU Consultant Solutions Collaboratives Contact ericleleu@nordnet.fr Site Personnel http://home.nordnet.fr/~ericleleu Blog http://ericleleu.spaces.live.fr La

Plus en détail

Agile 360 Product Owner Scrum Master

Agile 360 Product Owner Scrum Master Agile 360 Product Owner Scrum Master Lead Technique Equipe Agile Conception Agile Leadership Agile Software Craftmanship Test Driven Development Catalogue 2013 Liste des formations Formation Agile 360

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL UN LIVRE BLANC DE BORLAND RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL L'automatisation du processus de test fonctionnel optimise la qualité des logiciels et maximise leur valeur opérationnelle.

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

UML Mise en œuvre dans un projet. Emmanuel Pichon 2013

UML Mise en œuvre dans un projet. Emmanuel Pichon 2013 UML Mise en œuvre dans un projet 2013 Introduction Rôles et activités dans un projet Définir la méthode de votre projet Adapter la modélisation à la méthode de votre projet Conseils de mise en œuvre de

Plus en détail

Analyse de performance, monitoring

Analyse de performance, monitoring Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl

Plus en détail

Génie logiciel (Un aperçu)

Gé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étail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Openfexo: une plate-forme dédiée à la modélisation multi-facettes. Sylvain Guérin sylvain.guerin@agilebirds.com

Openfexo: une plate-forme dédiée à la modélisation multi-facettes. Sylvain Guérin sylvain.guerin@agilebirds.com Openfexo: une plate-forme dédiée à la modélisation multi-facettes Sylvain Guérin sylvain.guerin@agilebirds.com Petit historique... 5 années de développement sur un projet interne: fexo, outil de modélisation

Plus en détail

Pratique de la prémétrologie à Orange Labs à travers l'utilisation de la plate forme de test en charge CLIF

Pratique de la prémétrologie à Orange Labs à travers l'utilisation de la plate forme de test en charge CLIF Pratique de la prémétrologie à Orange Labs à travers l'utilisation de la plate forme de test en charge CLIF Bruno Dillenseger, Orange Labs, laboratoire MAPS/AMS 28, chemin du Vieux Chêne, 38243 Meylan

Plus en détail

FILIÈRE METHODOLOGIE & PROJET

FILIÈRE METHODOLOGIE & PROJET FILIÈRE METHODOLOGIE & PROJET 109 Gestion de projet METHODOLOGIE ET PROJET Durée 3 jours Conduite de projet COND-PRO s Intégrer les conditions de réussite d une démarche de management par projet. Impliquer

Plus en détail

La 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)* 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étail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

La solution IBM Rational pour une ALM Agile

La solution IBM Rational pour une ALM Agile La solution IBM pour une ALM Agile Utilisez votre potentiel agile Points clés Adopter l'agilité à votre rythme Supporter une livraison multiplateforme Intégrer la visibilité Démarrer rapidement Que votre

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Génie logiciel avancé

Génie logiciel avancé Université Paris-Sud L3 MIAGE apprentissage Année 2014-2015 Génie logiciel avancé Introduction Delphine Longuet delphine.longuet@lri.fr Logiciel : définitions Ensemble d'entités nécessaires au fonctionnement

Plus en détail

Automatisation en génie logiciel

Automatisation en génie logiciel Automatisation en génie logiciel Plan: Pourquoi et quoi automatiser? Gestion de configuration logicielle. Intégration continue. Traçabilité des changements. Tests unitaires automatisés. 1 Automatisation

Plus en détail

Qu est ce que le Model Based Testing? Bertrand Cornanguer 7 juin 2013 Journées scientifiques Nantes

Qu est ce que le Model Based Testing? Bertrand Cornanguer 7 juin 2013 Journées scientifiques Nantes Qu est ce que le Model Based Testing? Bertrand Cornanguer 7 juin 2013 Journées scientifiques Nantes 1 Sommaire Partie I Introduction au Model-Based Testing Comprendre ce qu est le Model Based Testing Le

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

2. 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 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étail

Cours Gestion de projet

Cours 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étail

Les évolutions des méthodes de développement de logiciels. Depuis Merise de l'eau est passée sous les ponts

Les évolutions des méthodes de développement de logiciels. Depuis Merise de l'eau est passée sous les ponts Les évolutions des méthodes de développement de logiciels Depuis Merise de l'eau est passée sous les ponts Programmation Orientée Objets Encapsulation des données et des traitements Polymorphisme Modularité

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique 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étail

Configuration Interface for MEssage ROuting

Configuration Interface for MEssage ROuting Configuration Interface for MEssage ROuting Cahier des Charges Date : 05/04/07 Version : 1.1 Statut : diffusable Auteurs : BAGNARD Natacha FOROT Julien 1/16 Table des révisions Version Date Modifications

Plus en détail

Accélérez la transition vers le cloud

Accélérez la transition vers le cloud Livre blanc technique Accélérez la transition vers le cloud Architecture HP Converged Cloud Table des matières Une nouvelle informatique pour l'entreprise... 2 Faites évoluer votre stratégie informatique

Plus en détail

IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent

IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent IKAN ALM et HP ALM/HP Quality Center Enterprise Pour que les Equipes de Développement, de Test et de Production se rejoignent Table of contents Sommaire...3 Définition du problème...4 Solution Description...5

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : 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étail

Cours de Génie Logiciel

Cours 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étail

Microsoft Dynamics Mobile Development Tools

Microsoft Dynamics Mobile Development Tools Microsoft Dynamics Mobile Development Tools Microsoft Dynamics Mobile Development Tools AVANTAGES : Bâtir des solutions complètes avec Microsoft Dynamics. Créer rapidement des applications verticales à

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

GL - 2 2.4 Architecture logicielle

GL - 2 2.4 Architecture logicielle GL - 2 2.4 Architecture logicielle Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec Ph. Lalanda Activités logicielles Analyse : récolte des exigences Comment commencer la conception? Analyse

Plus en détail

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

Chapitre 2 - Architecture logicielle et construction d applications client-serveur Chapitre 2 - Architecture logicielle et construction d applications client-serveur «Toute technologie suffisamment avancée est indiscernable de la magie» (Arthur Clarke) Résumé La méthodologie MEDEVER

Plus en détail

Formation Conception orientée objet

Formation Conception orientée objet Objectif La programmation orientée objet (POO) est un paradigme de programmation informatique qui consiste en la définition et l'interaction de briques logicielles appelées objets. Un objet représente

Plus en détail

Introduction au Déploiement

Introduction au Déploiement Introduction au Déploiement Noël De Palma - Projet SARDES - INRIA - IMAG LSR Remerciement à d. donsez 03/03/06 PLAN Définition et problématique OSGI FRACTAL JADE Conclusion 03/03/06 2 Définition Environnement

Plus en détail

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Le tout fichier Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché

Plus en détail

COURS MGL 804 SUJET : ÉVALUATION DE LA MAINTENABILITÉ DES PRODUITS LOGICIELS DU CCI RAPPORT FINAL. Franklin Kamsong

COURS MGL 804 SUJET : ÉVALUATION DE LA MAINTENABILITÉ DES PRODUITS LOGICIELS DU CCI RAPPORT FINAL. Franklin Kamsong COURS MGL 804 SUJET : ÉVALUATION DE LA MAINTENABILITÉ DES PRODUITS LOGICIELS DU CCI RAPPORT FINAL Franklin Kamsong ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC MONTRÉAL HIVER 2012 TABLE DES MATIÈRES

Plus en détail

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280 FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION

Plus en détail

Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010

Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010 Cours 10701A - Configuration et gestion de Microsoft SharePoint 2010 INTRODUCTION Ce cours apprend aux stagiaires comment installer, configurer et administrer SharePoint, ainsi que gérer et surveiller

Plus en détail

Aligner Stratégie d Entreprise et Infrastructure Informatique

Aligner Stratégie d Entreprise et Infrastructure Informatique Logiciels IBM Rational Janvier 2005 Aligner Stratégie d Entreprise et Infrastructure Informatique IBM Rational Software Development Platform & Business-Driven Development Page 2 Table des matières 1 L

Plus en détail

Processus d Informatisation

Processus 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étail

Bibliographie de Master de Recherche Informatique "Logicielles et Méthodes Formelles" (ENST-Bretagne)

Bibliographie de Master de Recherche Informatique Logicielles et Méthodes Formelles (ENST-Bretagne) Bibliographie de Master de Recherche Informatique "Logicielles et Méthodes Formelles" (ENST-Bretagne) Sujet de stage Description de la vue applicative de l'urbanisation des services télécom Et élaboration

Plus en détail

Business Process Management 2010 : La Solution IBM Maximiser l agilité de l entreprise UNE ETUDE DE JEMM RESEARCH

Business Process Management 2010 : La Solution IBM Maximiser l agilité de l entreprise UNE ETUDE DE JEMM RESEARCH Business Process Management 2010 : La Solution IBM Maximiser l agilité de l entreprise UNE ETUDE DE JEMM RESEARCH 2010 Business Process Management 2010 Nota Bene : Ce document «La Solution IBM : Maximiser

Plus en détail

Eclipse Process Framework et Telelogic Harmony/ITSW

Eclipse Process Framework et Telelogic Harmony/ITSW Eclipse Process Framework et Telelogic Harmony/ITSW Boris Baldassari 1 Résumé Une introduction à Eclipse Process Framework (EPF) et au processus OpenUP, et comment tirer profit de ces initiatives dans

Plus en détail

Cybernet : Utilisation de métaphores et des techniques de réalité virtuelle pour la représentation de données. Application à la gestion de réseau.

Cybernet : Utilisation de métaphores et des techniques de réalité virtuelle pour la représentation de données. Application à la gestion de réseau. Cybernet : Utilisation de métaphores et des techniques de réalité virtuelle pour la représentation de données. Application à la gestion de réseau. P. Abel*, P. Gros*, D. Loisel* & J.P. Paris** Institut

Plus en détail

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) LA BOITE A OUTILS DE L ACHETEUR DE BPM Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) La boîte à outils de l acheteur de solution BPM -

Plus en détail

INF2015 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 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étail

IBM Business Process Manager

IBM Business Process Manager IBM Software WebSphere Livre blanc sur le leadership en matière d innovation IBM Business Process Manager Une plateforme de BPM complète, unifiée et facilement adaptable aux projets et aux programmes d

Plus en détail

10 raisons de choisir une solution d intégration d applications open source

10 raisons de choisir une solution d intégration d applications open source 10 raisons de choisir une solution d intégration d applications open source White Paper Table des matières Introduction... 3 #10 La version open source est un véritable produit, pas une version d évaluation...

Plus en détail

Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV

Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV Philippe FAGNIARD Jonathan VANDAL LP-SIL IDSE-JV I ) Qu'est-ce que Symfony? II ) Force et Faiblesse III ) Comparaison de Framework identiques IV ) Exemple d'utilisation I ) Symfony Symfony est un framework

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard IFT630 Processus concurrents et parallélisme Projet final Rapport Présenté à Gabriel Girard par Alexandre Tremblay (06 805 200) Pierre-François Laquerre (05 729 544) 15 avril 2008 Introduction Après plusieurs

Plus en détail

Tableau comparatif des offres Visual Studio

Tableau comparatif des offres Visual Studio Tableau comparatif des offres Visual Studio Visual Studio 2013 avec Test Débogage et diagnostics IntelliTrace en production IntelliTrace (Débogage historique) Indicateurs de performance IntelliTrace Métrique

Plus en détail

IBM Rational Application Developer pour WebSphere Software V8.5 accélère le développement d'applications de haute qualité.

IBM Rational Application Developer pour WebSphere Software V8.5 accélère le développement d'applications de haute qualité. , datée du 24 avril 2012 IBM Rational Application Developer pour WebSphere Software V8.5 accélère le développement d'applications de haute qualité. Table des matières 1 Présentation 2 Date de disponibilité

Plus en détail

SIG 2012 - Conférence francophone Esri Versailles, France. ArcGIS Runtime SDK. Olivier Rossini Fernando Pereira

SIG 2012 - Conférence francophone Esri Versailles, France. ArcGIS Runtime SDK. Olivier Rossini Fernando Pereira SIG 2012 - Conférence francophone Esri Versailles, France Atelier Technique - 4 Oct. 2012 ArcGIS Runtime SDK Olivier Rossini Fernando Pereira Agenda Qu est-ce qu ArcGIS Runtime? Par où commencer? Quelques

Plus en détail

Séminaire «Développement Agile Collaboratif et Modélisation UML», 18 mars 2010 Du modèle au code - techniques de transformation de modèle

Séminaire «Développement Agile Collaboratif et Modélisation UML», 18 mars 2010 Du modèle au code - techniques de transformation de modèle } } Séminaire «Développement Agile Collaboratif et Modélisation UML», 18 mars 2010 Du modèle au code - techniques de transformation de modèle Michel VACHER, Business development Paris November 2009 / Sodius.

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 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étail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

Optimiser vos méthodes d organisation (ITIL, COBIT, PRINCE2, ) par la mise en place d un processus de Gestion & Publication des connaissances adapté

Optimiser vos méthodes d organisation (ITIL, COBIT, PRINCE2, ) par la mise en place d un processus de Gestion & Publication des connaissances adapté Optimiser vos méthodes d organisation (ITIL, COBIT, PRINCE2, ) par la mise en place d un processus de Gestion & Publication des connaissances adapté 25/07/06 JJ Mois Année Présentation générale & Présentation

Plus en détail