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

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

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

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

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

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

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

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

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

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

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

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

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

OFFRES DE STAGES REGION EST. Market Unit 8 - Software Engineering & Testing

OFFRES DE STAGES REGION EST. Market Unit 8 - Software Engineering & Testing OFFRES DE STAGES REGION EST Market Unit 8 - Software Engineering & Testing 2013 EDITO Chère étudiante, cher étudiant Vous avez entre les mains notre catalogue rassemblant les opportunités de stages que

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Services et composants

Services et composants - 1 - Services et composants Module BPM & SOA SI5 - Master 2 IFI - 2 - Quels sont les liens entre objets et services? Évolution des paradigmes liés à la réutilisation Technologie procedurale 1980 1995

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

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

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

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

Ingénierie des Modèles. Introduction Générale

Ingénierie des Modèles. Introduction Générale Ingénierie des Modèles Introduction Générale Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

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

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

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

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

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

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

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

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

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

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

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

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

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

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

VALIDATION DES ACQUIS DE L EXPERIENCE (VAE) Expert en ingénierie du logiciel. 1) Conditions de recevabilité de la demande des candidats

VALIDATION DES ACQUIS DE L EXPERIENCE (VAE) Expert en ingénierie du logiciel. 1) Conditions de recevabilité de la demande des candidats VALIDATION DES ACQUIS DE L EXPERIENCE (VAE) Expert en ingénierie du logiciel 1) Conditions de recevabilité de la demande des candidats Le candidat souhaitant acquérir le titre professionnel d Expert en

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

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

Processus de développement UP

Processus de développement UP Chapitre 1 Processus de développement UP I. Pourquoi UP? II. Définition III. Activités et phases IV. Modèles mis en place 1. Pourquoi UP? Les notions de base acquises dans le module ACOO1, notamment la

Plus en détail

FileMaker Pro 11. Exécution de FileMaker Pro 11 sur Citrix XenApp

FileMaker Pro 11. Exécution de FileMaker Pro 11 sur Citrix XenApp FileMaker Pro 11 Exécution de FileMaker Pro 11 sur Citrix XenApp 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker est une

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

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

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

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen final 24 avril 2014 17:30 à 20:30 Examen final 24 avril 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Qu'est-ce qu'un test de régression? Question #2 5% Selon extreme Programming,

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

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

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

Diagrammes de classe UML

Diagrammes de classe UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de classe UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Introduction aux diagrammes de classe Description

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

Module Génie Logiciel à Objet

Module Génie Logiciel à Objet Module Génie Logiciel à Objet Chapitre 1 - Introduction Mohamed Bakhouya - Benoît Delahaye Université Internationale de Rabat - Université de Nantes Remerciements Pascal André Gerson Sunyé 2013 Jacques

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

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

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

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

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

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

CAHIER DES CHARGES. . Changements clés depuis la dernière version : - Mise en page et correction orthographique.

CAHIER DES CHARGES. . Changements clés depuis la dernière version : - Mise en page et correction orthographique. CAHIER DES CHARGES. Projet : TER Fractal TV. Date : 6 avril 2005. Version : 1.5. Encadrant : Philippe Collet. Auteurs : NICOLAS Yohann BARBIER Thomas CASTILLEJOS Nicolas SAUVAN Bastien SALAGEANU Emil.

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

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

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

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

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

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

Ports composites de composants logiciels

Ports composites de composants logiciels UNIVERSITE MONTPELLIER II SCIENCES ET TECHNIQUES DU LANGUEDOC T H E S E pour obtenir le grade de DOCTEUR DE L'UNIVERSITE MONTPELLIER II Discipline : Informatique Ecole Doctorale : I2S présentée et soutenue

Plus en détail

Éditeur Logiciel Open Source

Éditeur Logiciel Open Source Éditeur Logiciel Open Source De la gestion de l'infrastructure à la conformité Normation 87, rue de Turbigo 75003 PARIS France contact@normation.com 01.83.62.26.96 http://www.normation.com/ Pour la petite

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

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

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

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

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

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

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

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

Tamago: Une plateforme pour des comportements

Tamago: Une plateforme pour des comportements Tamago: Une plateforme pour des comportements d agent sûre Séminaire DESIR Hakim Belhaouari Encadrant: Frederic Peschanski Laboratoire d Informatique de Paris 6 & UMPC Paris Universitas Equipe SMA 18 février

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

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

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

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

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

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

Dossier de conception

Dossier de conception Dossier de conception Sujet : Gestion de Stock-Pharma Réaliser par : FADIL Ghizlane ECH CHARFAOUY Abdelouahad Encadré par : M. LACHGAR Mohammed Développement d une application JAVA EE Cadre réservé à l

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