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

Description et illustration du processus unifié

Description et illustration du processus unifié USDP Description et illustration du processus unifié Définit un enchaînement d activités Est réalisé par un ensemble de travailleurs Avec des rôles, des métiers Avec pour objectifs de passer des besoins

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Gestion de Projet Informatique http://www.rzo.free.fr Pierre PARREND 1 Mars 2005 Sommaire Gestion de projet informatique Cycle de vie du logiciel Modèles de Méthodes

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

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

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

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

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

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

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

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

Positionnement de UP

Positionnement de UP UNIFIED PROCESS Positionnement de UP Unified Process Langage Méthode Outil logiciel UML UP RUP 6 BONNES PRATIQUES développement itératif gestion des exigences architecture basée sur des composants modélisation

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon MDE Model Driven Engineering http://www.rzo.free.fr Pierre PARREND 1 Mai 2005 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns

Plus en détail

Modèle d implémentation

Modèle d implémentation Modèle d implémentation Les packages UML: Unified modeling Language Leçon 5/6-9-16/10/2008 Les packages - Modèle d implémentation - Méthodologie (RUP) Un package ou sous-système est un regroupement logique

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

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

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

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting)

Travaux soutenus par l ANR. Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) Travaux soutenus par l ANR Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) 03 Avril 2012 1. Test de sécurité et génération de tests à partir de modèle 2. Le projet SecurTest à DGA Maîtrise de l

Plus en détail

Projet : Plan Assurance Qualité

Projet : Plan Assurance Qualité Projet : Document : Plan Assurance Qualité 2UP_SPEC_DEV1 VERSION 1.00 Objet Ce document a pour objectif de définir la démarche d analyse et de conception objet ainsi les activités liées. Auteur Eric PAPET

Plus en détail

Déploiement adaptatif des composants dans les sessions collaboratives

Déploiement adaptatif des composants dans les sessions collaboratives NOuvelles TEchnologies de la REpartition NOTERE 2005 Déploiement adaptatif des composants dans les sessions collaboratives Emir HAMMAMI, Thierry VILLEMUR {ehammami, villemur}@laas.fr LAAS-CNRS 7, avenue

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

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

Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises

Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises Aide à la conception de Système d Information Collaboratif, support de l interopérabilité des entreprises Jihed Touzi, Frédérick Bénaben, Hervé Pingaud Thèse soutenue au Centre de Génie Industriel - 9

Plus en détail

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23

Table des Matières. Table des Figures 7. Introduction Générale 9. Chapitre 1 - Langages de description d architectures matérielles hybrides 23 Table des Figures 7 Introduction Générale 9 1. Outils et plate-formes de construction d application 9 2. Intégration de paradigmes de conception dans le cycle de vie 10 2.1. Equilibrage de charge et équilibrage

Plus en détail

Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés

Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés Christophe Dumez Laboratoire Systèmes et Transports (SeT) Université de Technologie

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

Processus Unifié de développement de logiciel

Processus Unifié de développement de logiciel Processus Unifié de développement de logiciel Plan 1. SUP : une simplification de RUP 2. Les éléments de modélisation de SUP 3. Description de la dynamique de SUP 4. SUP sur une étude de cas 2 SUP : une

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

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

PLAN. I. Pourquoi : les besoins, les types d applications

PLAN. I. Pourquoi : les besoins, les types d applications PLAN I. Pourquoi : les besoins, les types d applications II. Comment : les technos et pratiques dont on dispose pour mettre en œuvre les applications III. Avec quels outils III.1 Introduction aux IDE III.2

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

Cours d architecture logicielle. Philippe Lalanda

Cours d architecture logicielle. Philippe Lalanda Cours d architecture logicielle Tactiques de conception Philippe Lalanda Philippe.lalanda@imag.fr Rappel n Approches pour la conception n Identification des composants fonctionnels n dérivation à partir

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

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

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

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Journée de l'action spécifique CNRS-GET Systèmes répartis et réseaux adaptatifs au contexte ( Context-Aware ) Laboratoire

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

IFT2251 : Génie logiciel

IFT2251 : Génie logiciel 4.1. Introduction à UML IFT2251 : Génie logiciel 1. Approches de développement 2. Introduction à UML (une méthodologie basée sur l approche orientée aspect) 3. Rappel de quelques concepts objets Chapitre

Plus en détail

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and

Plus en détail

Architectures à composants

Architectures à composants Interaction requête/réponse Architectures à composants!communication par requête/réponse client requête réponse serveur Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique

Plus en détail

Introduction aux Composants Logiciels

Introduction aux Composants Logiciels Introduction aux Composants Logiciels Christian Pérez LIP/INRIA Année 2010-11 Plan Introduction aux composants logiciels Pourquoi des composants logiciels Notions de composants logiciels Conclusion Survol

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

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

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

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

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Retour d expérience RATP Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Les intervenants Alexis Bourgeois Chef de projet MOE (front web)

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

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

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

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

Systèmes Logiciels et Applications Réparties

Systèmes Logiciels et Applications Réparties des Systèmes Logiciels et Applications Réparties GOAL/ADAM Team Laboratoire d Informatique Fondamentale de Lille & INRIA Institut National des Télecommunications, Evry 16 janvier 2008 Plan Introduction

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

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

Projet de Programmation Benoit Donnet Année Académique 2015-2016

Projet de Programmation Benoit Donnet Année Académique 2015-2016 Projet de Programmation Benoit Donnet Année Académique 2015-2016 1 Agenda Partie 4: Introduction au Génie Logiciel Chapitre 1: Bases du Génie Logiciel 2 Agenda Chapitre 1: Bases du Génie Logiciel - Principe

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

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

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

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

Développement de logiciel

Développement de logiciel approche formelle et approche à objets Pascal ANDRE Université de Nantes Master Miage M1 Plan Introduction Développement formel du logiciel Développement du logiciel à objets Projection Développement du

Plus en détail

Bonnes pratiques PHP. Forum PHP 2005 - http://www.afup.org

Bonnes pratiques PHP. Forum PHP 2005 - http://www.afup.org Bonnes pratiques PHP 1 Plan de la présentation 0 Comment aborder cette présentation? Développement 1 2 3 4 Exploitation S'organiser et choisir ses outils Gagner performances et fiabilité Améliorer sa compétitivité

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

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

OpenText Content Server v10 Cours 3-0126 (ex 215)

OpenText Content Server v10 Cours 3-0126 (ex 215) v10 Cours 3-0126 (ex 215) Administration système et indexation-recherche Durée : 5 jours Ce cours de 5 jours apprendra aux administrateurs, aux architectes système et aux services support comment installer,

Plus en détail

IFT3913 Qualité du logiciel et métriques. Chapitre 5 Mesure de la qualité du logiciel

IFT3913 Qualité du logiciel et métriques. Chapitre 5 Mesure de la qualité du logiciel IFT3913 Qualité du logiciel et métriques Chapitre 5 Mesure de la qualité du logiciel Plan du cours Introduction Théorie de la mesure Qualité du logiciel Mesure du produit logiciel Mesure de la qualité

Plus en détail

Application de gestion d une bibliothèque municipale

Application de gestion d une bibliothèque municipale Application de gestion d une bibliothèque municipale Réalisé par : TARIK NASRAOUI NAMEZ MOHAMED 08/03/ Cadre réservé à l encadrant : Code d identification du Candidat : Nom des Validateurs Commentaires

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

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

Modèle spagetthi et solution EAI

Modèle spagetthi et solution EAI EAI Définition L'EAI est une notion ancienne mais toujours d'actualité. En effet, le besoin de faire communiquer des applications développées à des moments différents, dans des technologies différentes

Plus en détail

Architecture Orientée Services d Entreprise (esoa)

Architecture Orientée Services d Entreprise (esoa) Architecture Orientée Services d Entreprise (esoa) SAPNW SOA100 SOA110 SOA200 5 jours SOA400 4 jours Introduction à SAP NetWeaver Architecture orientée services d entreprise SAP: les fondamentaux SAP Enterprise

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

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Service de réconciliation pour la synchronisation de copies

Service de réconciliation pour la synchronisation de copies Service de réconciliation pour la synchronisation de copies L. Chateigner, S. Chabridon, N. Sabri et G. Bernard CNRS UMR SAMOVAR 01-03 juin 2004 Plan Service de réconciliation pour la synchronisation de

Plus en détail

VisualAge Pacbase 3.0 et WebSphere

VisualAge Pacbase 3.0 et WebSphere VisualAge Pacbase 3.0 et WebSphere Conférence VisualAge Pacbase 13 décembre 2001 Fernand Bonaguidi Jean-François Lévi 1 La plateforme logicielle WebSphere Applications de s et de Partenaires Accélérateurs

Plus en détail

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation

Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Concepts et langages du cadre RM-ODP de l'iso pour analyser et articuler les pratiques de projets libres de système de formation Système de formation fédérant trois projets du logiciel libre (Moodle, OpenGLM

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

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation

Les langages informatiques modernes orientés objet permettent la réutilisation Importance de la clarté de la documentation Clues from other disciplines (from E. Gamma) Patrons de conception («Design Patterns») ESIR2, GL (LSI) Benoit Combemale Université de Rennes 1, ESIR & IRISA (Triskell team) Benoit.Combemale@irisa.fr Inspiré

Plus en détail

Unified Modeling Langage UML. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Unified Modeling Langage UML. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Unified Modeling Langage UML Modèle musical Langage En avant la musique http://partitions.metronimo.com http://fr.wikipedia.org/ Méthode Créateur Outil En avant l informatique Modèle informatique public

Plus en détail

IFT 3901 Analyse et Conception des Logiciels

IFT 3901 Analyse et Conception des Logiciels IFT 3901 Analyse et Conception des Logiciels Automne 2005 Petko Valtchev Petko Valtchev Université de Montréal Septembre 2005 1 Analyse et Conception 1. L analyse et la conception OO (survol) Petko Valtchev

Plus en détail

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org

Scub Foundation. Socle technique Java Open Source http://www.scub-foundation.org Scub Foundation Socle technique Java Open Source http://www.scub-foundation.org Présentation de Scub Présentation de Scub Scub est une société de service en informatique qui a pour but de fournir du conseil

Plus en détail

Les Bonnes PRATIQUES DU TEST LOGICIEL

Les Bonnes PRATIQUES DU TEST LOGICIEL Les Bonnes PRATIQUES DU TEST LOGICIEL SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce

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

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech

Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech Projets Logiciels: Processus de développement pratiqué à TELECOM ParisTech INF380-2013! Sylvie.Vignes@telecomParistech.fr Département INFRES, groupe S3 Cadre du processus 2! q Basé sur un processus incrémental:

Plus en détail

CAHIER DES CHARGES D IMPLANTATION D EvRP V3

CAHIER DES CHARGES D IMPLANTATION D EvRP V3 CAHIER DES CHARGES D IMPLANTATION D EvRP V3 Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP V3 Version 42 Etabli par Département Accompagnement des Logiciels Vérifié

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

Rational Unified Process

Rational Unified Process Rational Unified Process Hafedh Mili Rational Unified Process 1. Principes de base 2. Les phases 3. Les activités (workflows) Copyright Hafedh Mili 2005 2 1 Rational Unified Process Processus de développement

Plus en détail

Implémentation d'une base de données SQL Server 2005

Implémentation d'une base de données SQL Server 2005 Implémentation d'une base de données SQL Server 2005 Dates : 26 30 Septembre 2011 Durée : 05 Jours PARTICIPANTS : Ce cours est destiné aux professionnels des technologies de l'information qui souhaitent

Plus en détail

Mise en place d'une solution libre de gestion d'entreprise. Maurice MORETTI Directeur associé

Mise en place d'une solution libre de gestion d'entreprise. Maurice MORETTI Directeur associé Mise en place d'une solution libre de gestion d'entreprise Maurice MORETTI Directeur associé Plan de la présentation Le contexte de l'erp OpenERP : Logiciel Libre Motivations / Critères de choix Méthodologie

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

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

EJB avancés. Transactions Sécurité Ressources Performances

EJB avancés. Transactions Sécurité Ressources Performances EJB avancés Transactions Sécurité Ressources Performances Les transactions Concept fondamental dans les applications distribuées Indispensable pour une exécution sure des services Difficile à mettre en

Plus en détail

L approche processus. Muriel Pinel Laurent Tabourot

L approche processus. Muriel Pinel Laurent Tabourot L approche processus Muriel Pinel Laurent Tabourot Introduction Des exigences venues de l ISO La Norme ISO 9001 v 2000 «encourage l'adoption d'une approche processus lors du développement, de la mise en

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

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

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

Élasticité des applications à base de services Samir Tata, Télécom SudParis UMR Samovar Équipe ACMES

Élasticité des applications à base de services Samir Tata, Télécom SudParis UMR Samovar Équipe ACMES Élasticité des applications à base de services Samir Tata, Télécom SudParis UMR Samovar Équipe ACMES Élasticité : Définitions et Concepts Samir Tata, Télécom SudParis Élasticité Définitions Élasticité

Plus en détail

Synergies entre Artisan Studio et outils PLM

Synergies entre Artisan Studio et outils PLM SysML France 13 Novembre 2012 William Boyer-Vidal Regional Sales Manager Southern Europe Synergies entre Artisan Studio et outils PLM 2012 2012 Atego. Atego. 1 Challenges & Tendances Complexité des produits

Plus en détail

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture.

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture. Développement d une application JAVA EE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AZRAGUE Abdelhaq Email : abdlhaqmilan@gmail.com GSM : 00212640108250 Organisme Scolaire : Gestion d'une agence

Plus en détail

Composition de Services Web

Composition de Services Web Composition de Services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri 127

Plus en détail