La lecture à portée de main
133
pages
Français
Documents
2009
Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus
Découvre YouScribe en t'inscrivant gratuitement
Découvre YouScribe en t'inscrivant gratuitement
133
pages
Français
Ebook
2009
Obtenez un accès à la bibliothèque pour le consulter en ligne En savoir plus
Publié par
Publié le
01 janvier 2009
Nombre de lectures
48
Langue
Français
Poids de l'ouvrage
1 Mo
Publié par
Publié le
01 janvier 2009
Nombre de lectures
48
Langue
Français
Poids de l'ouvrage
1 Mo
Méthodologie et environnement de développement
orientés objets : de l’analyse mathématique à la
programmation
S. Labbé, J. Laminie, V. Louvet
Laboratoire de Mathématique, Analyse Numérique et EDP.
Université Paris Sud, Orsay
6 janvier 2009
Version 1.1iiTable des matières
Avertissement ix
Introduction 1
I De l’analyse mathématique à la conception 3
1 Philosophie et motivations 5
1.1 Environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 La recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 L’enseignement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 L’environnement informatique . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.4 En conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Objetifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Analyse mathématique 11
2.1 Cadre théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Conception préliminaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.1 Conception détaillée du paquetage Problème . . . . . . . . . . . . . . . . . 18
2.4.2 du Opérateur . . . . . . . . . . . . . . . . . 19
2.4.3 détaillée du paquetage Variable . . . . . . . . . . . . . . . . . 22
2.4.4 Conception du Domaine . . . . . . . . . . . . . . . . . . 22
2.4.5 détaillée de la hiérarchie Discrétisation . . . . . . . . . . . . 23
2.4.6 de lahie Stockage . . . . . . . . . . . . . . . . 24
2.4.7 Conception détaillée des classes utilitaires . . . . . . . . . . . . . . . . . . . 24
3 Environnement 27
3.1 Expression du besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Etude préliminaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2 Acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.3 Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.4 Diagramme de contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Conceptualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.1 UC niveau tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.2 UC niveau fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.3 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.4 Spécification du besoin relatif à l’interface graphique . . . . . . . . . . . . . 33
iii3.4 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4.1 Analyse du domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4.2 applicative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4.3 Modèle d’analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.1 Architecture logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.5.2 Architecture matérielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6 Conception préliminaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6.1 Module User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6.2 Module Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6.3 Module Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6.4 Module View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.5 Module Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7 Conception détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7.1 Conception détaillée du sous-système serveur de données . . . . . . . . . . . 50
3.7.2 du code de calcul . . . . . . . . . . . . . 54
3.7.3 détaillée du utilisateur final . . . . . . . . . . . . . 54
3.8 Implémentation et tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.8.1 Choix techniques pour l’implémentation . . . . . . . . . . . . . . . . . . . . 55
3.8.2 Modèle d’implémentation : diagramme de composants . . . . . . . . . . . . 56
3.8.3 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.9 Itération du processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.9.1 Scénarii secondaires des cas d’utilisation . . . . . . . . . . . . . . . . . . . . 60
3.9.2 Nouvelles fonctionnalités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
II De la conception à la programmation 61
4 Application 63
4.1 Discrétisation par éléments finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 par différences finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3 Mise en œuvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.1 Définition du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.2 Le paquetage Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.3 Le paquetage Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.4 Le Operateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.5 Le paquetage Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.6 La classe Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.7 Eléments finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.8 Différences finis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3.9 La classe Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.10 Construction informatique du problème elliptique . . . . . . . . . . . . . . . 76
5 Environnement de travail 79
5.1 Démarrage du serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1.1 Services CORBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1.2 Serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2.1 Langages disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2.2 Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2.3 Initialisations, finalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2.4 Sortie standart : Cout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2.5 Profiling du code : Flow trace . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.6 Instrumentation d’un fichier source . . . . . . . . . . . . . . . . . . . . . . . 86
iv5.3 Exploitation graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3.1 Démarrage de l’interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3.2 Fenêtre principale d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3.3 F de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.3.4 Fenêtre des données utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.5 F des calculs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.6 Fenêtre d’une exécution particulière . . . . . . . . . . . . . . . . . . . . . . 91
5.3.7 F d’un flux particulier . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.3.8 Fenêtre de documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6 Documentation 97
6.1 Niveau de documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.2 Structuration de la documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2.1 Structure de l’entête . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2.2 du corps du programme . . . . . . . . . . . . . . . . . . . . . . . 98
6.3 Utilisation du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.1 Mode en ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.2 Mode graphique . . . . . . . . . . . . . . . . . . .