Rapport Final Gilberto Matos 31 mai 2007 version 0.7 Rapport final SWS travail de diplôme B.37.15 / 2007 Classification * Non classé / Interne / Confidentiel Statut ** En exécution / En étude / Terminé Nom de projet HERMES Manager pour le PDA Raccourci de projet HePocket Numéro de projet 371507 Chef de projet Gilberto Antonio Matias de Matos Donneur d'ordre USIC Auteur Gilberto Antonio Matias de Matos Initiale GAMM Traitement Gilberto Antonio Matias de Matos Expert M. Flückiger - Zuehlke Approbation Messieurs Réne Bach et Markus Flückiger Distributeur USIC Contrôle de modification, examen, approbation Version Date Description, 0.7 31.05.2007 remarques nom et rôles Gilberto Matos : Elaboration et rédaction du rapport final. Définitions, acronymes et raccourcis Notion/raccourci Importance Références Signe d'identification Titre, source Gilberto Matos - Rapport Final - Hermes Manager 1/65 Tables des matières 1. Introduction...................................................................................................... 2 2. Hermes Manager .............................................................................................. 3 2.1 Historique ................................................................................................ 4 3. Le travail........................................................................................................... 5 3.1 Ma contribution ....................................................................................... 6 3.3 Coût et rentabilité du projet..................................................................... 7 3.4 Réalisation ............................................................................................... 8 3.2 Phase de test ........................................................................................... 6 3.5 4. Mon concept de développement............................................................... 8 Architecture (.NET Framework utilisé) ............................................................. 9 5 Architecture HePocket .................................................................................. 10 5. Multilinguisme................................................................................................ 17 5.1 Gestion du multilinguisme ..................................................................... 17 6. Exportation et importation d’un projet ......................................................... 18 7 HePocket ...................................................................................................... 21 8. 4.5 Le pré requis matériels........................................................................... 21 4.6 Le pré requis logiciels ............................................................................ 21 4.7 Comment installer le HePocket............................................................... 22 Evaluation des SGBD (Système de gestion de base de données) .................... 25 9. Base de données .......................................................................................... 26 9 Le future ...................................................................................................... 33 10 Discussion ................................................................................................ 34 11 Conclusion ................................................................................................ 35 12 Bibliographie............................................................................................. 37 13 Annexes.................................................................................................... 39 13.1 Visual Studio .NET............................................................................... 39 13.3 Les classes HePocket .......................................................................... 44 13.4 Les concurrents de .NET Compact Framework..................................... 45 13.2 13.5 Architecture des classes (.NET Framework) ......................................... 41 Les schémas relationnels et les tables (ERD) ...................................... 48 Gilberto Matos - Rapport Final - Hermes Manager 2/65 1. Introduction Vous avez en main le rapport final du travail de diplôme "HERMES Manager" sur PDA. L’idée de départ est de rendre la méthode HERMES accessible aux managers et autres donneurs d’ordre. La forme et le mécanisme d’accès à la méthode varient complètement, parce que pour le moment la méthode HERMES et disponible en format papier et sur le site Hermes. Mon travail met la méthode Hermes sur un PDA et permet aux managers et donneurs d’ordres de rester en contact avec elle à tout moment. De plus une partie permettant la gestion des projets ainsi que l’évaluation des candidats est disponible. La valeur ajoutée de mon travail est la gestion de projet, inscription des candidats, la récupération de contenus du fichier Microsoft Excel (p. ex. le ROI, les valeurs de l’investissement), l’exportation et importation de projets. Gilberto Matos - Rapport Final - Hermes Manager 3/65 2. Hermes Manager Le HERMES Manager et la méthode HERMES Hermes manager est un outil que décrit, montre et facilite l’utilisation et la compréhension de la méthode HERMES du point de vue du manager. Le manager est la personne responsable de plusieurs projets et qui supervise les chefs de projets qui sont responsables directement pour un projet donné. Hermes manager est divisé en deux parties, que sont : les connaissances de base et l’exécution. Connaissances de base : Décrit et présente la partie théorique de la méthode ainsi que les principes généraux. Exécution : C’est la description de la partie pratique (directives d’actions) pour le manager dans le suivi d’un ou plusieurs projets. HERMES est en fait la méthode permettant la gestion du processus, élaborer des solutions, l’un des processus informatiques de l’Administration fédérale. (Réf. : Lik 6) La directive pour la conduite de projets informatiques, utilisation d’HERMES): du conseil informatique de la Confédération, qui fait référence à la Loi sur l’Organisation du Gouvernement et de l’Administration, précise d’ailleurs que tous les projets informatiques doivent être réalisés selon la méthode de gestion de projet HERMES. (Réf. : DocP 6) Cette directive est appuyée par la Norme pour la conduite de projets informatiques en cyberadministration, qui fait également la promotion d’HERMES. (Réf. : DocP 6) Gilberto Matos - Rapport Final - Hermes Manager 4/65 2.1 Historique Divinité de l’Olympe, dont il était le messager, Hermès était notamment le dieu du commerce et des voyageurs. Son nom a été quelque peu galvaudé, mais en ce qui nous intéresse HERMES est le nom d’une méthode de gestion de projets informatique et qui fait de plus en plus parler d’elle dans sa version remise au goût du jour à l’occasion des projets NOVE-IT et NEO HERMES. (Réf. : DocP 6) La méthode Hermes est née dans les années 70, sous l’égide de l’administration fédérale, les CFF et les PTT (actuellement Swisscom et La Poste) ayant comme objectif principal la définition d’un langage commun pour mieux maîtriser leurs projets. Depuis 31 ans qu’Hermes est une réalité, après le déploiement de la première version dans les administrations cantonales, communales et dans le secteur privé, la méthode de gestion de projet Hermes a été continuellement adaptée et révisée. (Réf. : Lik 5) Motivations personnelles La motivation est un des points pour la bonne conduite du travail. Je suis motivé et j’espère mener le présent travail à terme. Ce travail a aussi un aspect pédagogiques et didactique. Vu que je suis d’origine africaine et au vide existant en Afrique au niveau de la gestion de projets, je pense exploiter les connaissances acquises dans ce travail pour les utiliser plus tard. Je suis intéressé par ce thème parce qu’il représente un grand défi ainsi qu’une bonne introduction dans l’univers d’Hermes. Il m’offre la possibilité de comprendre la gestion de projet, la programmation du HePocket et l’appréhension des besoins du public cible. Gilberto Matos - Rapport Final - Hermes Manager 5/65 3. Le travail HePocket est divisé en deux parties : la 1er partie englobe la transposition de la brochure "Hermes Manager" et la 2ème comporte les fonctionnalités supplémentaires, comme par exemple suivi des projets, la base de données et l’échange de projets entre le PDA et l’ordinateur PC. DB Guide de poche Hermes 3 2 1 HePC Manager. Edition 2003 HePocket 1. : schéma de la démarche "Full" 1 Transposition de la brochure "Hermes Manager" sur le PDA. Le texte de la brochure sera partiellement repris sans grande modification. Les graphiques exposés dans la brochure seront représentés et adaptés d’une autre manière afin de les rendre visibles et lisibles dans le PDA. 2 La base de données, sera utilisée pour la sauvegarde des projets et des données sur les candidats (p. ex. inscription d’un candidat). 3 L’échange de fichier (Importation et Exportation des projets) : Les fichiers importés ou exportés ont le format XML ou Texte. La démarche "Full" a donnée naissance à HePocket, parce qu’elle couvre touts les besoins du client. Elle offre à l’utilisateur la possibilité de créer et de sauvegarder des projets, évaluer un candidat et avoir la méthode Hermes toujours à sa disposition. Gilberto Matos - Rapport Final - Hermes Manager 6/65 3.1 Ma contribution - transposition du contenu papier vers un PDA - manuel d’utilisation du HePocket - une présentation de HERMES, par la mise en place de la méthode sur un PDA - le contenu du HePocket est partiellement différent de la brochure Hermes Manager - rendre Hermes manager plus attractif et utile aux gestionnaires des projets 3.2 Phase de test Pendant la phase de test, il y a eu trois groupes des testeurs : M. Bach, USIC et 3 étudiants (Marc Mathys, Orlando França et Mandu Schneider). HePocket a reçu pendant sa phase de test un écho positif de la part de testeurs et les objectifs fixés ont tous été atteints. Testeur USIC : "… Die effektiven Bedürfnisse für eine Weiterentwicklung müssen jetzt eruiert werden. Ohne diesen Prototyp wäre es nicht möglich gewesen. “ Testeur USIC 1 : " Generell: - Eine sinnvolle Anwendung (mobile Unterstützung) finde ich vor allem den Guide! - Generell gute Benutzerführung (einfach, verständlich) - Gute Performance - Inhaltliche Beschränkung auf das Wichtigste. Gesamthaft aus meiner Sicht sicher eine würdige und interessante Diplomarbeit. Entspricht in meinen Augen in etwa dem, was wir früher von einer Diplomarbeit erwartet haben. ". Je suis content de la phase de test parce qu’elle a bien fonctionné, la qualité du travail a été garantie, les directives du cahier des charges respectée, donc les bases sont posées. Gilberto Matos - Rapport Final - Hermes Manager 7/65 3.3 Coût et rentabilité du projet J’ai respecté les heures (536 h) de travail prévu dans le cahier des charges. Le tableau ci-dessous présente les heurs de travail : Etape Les tâches Temps 1er Cahier des charges 2 semaines 64 Sfr. 4200 2ème Base de données (DBA) 2 jours 16 Sfr. 840 3ème Fichier projet (Excel) 1 jours 8 Sfr. 560 4ème Prototype PDA, rapport final et manuel d’aide 2 mois 416 Sfr. 16 800 5ème Présentation 3 jours 32 Sfr. 2800 3 mois 536 h Sfr. 18 750 pour l’utilisateur Total Heures Coût en Sfr. Dans le cahier de charges, j’ai calculé le coût de la mise en place du présent projet à Sfr. 22 381.85, voir le tableau ci dessous. Coûts Description Montants Frais d'examen Sfr. 2950 Licence Etudiant Microsoft Visual Studio .NET Sfr. 82,60 Déplacement en train entre Zürich et Bern (6 fois pendant 3 mois avec 1/2 Sfr. 270 tarifs) Déplacement en train entre Zürich et Schlieren (6 fois pendant 3 mois) Sfr. 46.80 Licence Adobe Professional 7.0 Sfr. 272.45 Total Sfr. 22 381.85 Après trois mois de travail, le coût effectif de la mise en place du HePocket est de Sfr. 22 345.05, la différence entre l’estimation et le coût effectif réside dans la le nombre des voyages plus petit à Schlieren que prévu et au fait qu’un logiciel (Screen Capture) a été acheté. Le HePocket est un travail non commercial, son première objectif est de valider et d’approfondir des connaissances, donc mon gain dans le présent projet est la réussite du travail afin d’obtenir le diplôme, la connaissance de la méthode HERMES, le génération d’application pour HePocket, documentation, les contacts avec la Confédération, etc. Gilberto Matos - Rapport Final - Hermes Manager la rédaction de 8/65 3.4 Réalisation La phase de réalisation a servi à l’élaboration du système pour qu’il soit prêt à l’introduction et crée les conditions préalables à cette dernière. Le plus grand défi de cette phase été de respecter les directives du cahier des charges et de venir à bout d'obstacles et de difficultés imprévus, d'estimer et ré-estimer correctement la situation, et d'adapter les mesures en conséquence. Les éléments implantés - Transposition de brochure Hermes édition 2003 - Le multilinguisme - Conception et développement de la base de données (hermesDataBase.sdf) - Intégration du fichier projet (Microsoft Excel) 3.5 Mon concept de développement Pour la mise en place du HePocket, j’ai choisit un concept de programmation objet afin de réutiliser au maximum le code et éviter les doublures ou réécritures du code et afin d’améliorer la qualité. La modélisation objet qui j’ai suivit est basée sur le modèle méthode OOSE de Jacobson et des concepts décrits par Bertrand Meyer dans son livre „Objectoriented software Construction“. (Réf : DocP 10) J’ai crée un modèle le proche possible de la réalité de manière à simplifier ma tâche. Ma réalité est la brochure Hermes est mon modèle le prototype (format PowerPoint) est de cette ensemble est née le HePocket (Hermes for Pocket PC). Mon objectif consisté à créer une représentation informatique des éléments de la brochure auxquels j’ai été 'intéresse, sans me préoccuper de l'implémentation, ce qui signifie indépendamment du langage de programmation. Il s'agit donc de déterminer les objets présents et d'isoler leurs données et leurs fonctions. Pour cela j’ai mis en place des méthodes. Gilberto Matos - Rapport Final - Hermes Manager 9/65 4. Architecture (.NET Framework utilisé) J’ai choisit l’environnement de développement Visual Studio .NET, parce qu’il y a deux points forts de la stratégie de Microsoft, qui sont la standardisation, aussi bien du point de vue de l'utilisateur que de celui du développeur et les outils (Visual C# .NET) mis à disposition qui sont bien compatibles avec les structures de Windows CE, le système d’exploitation pour PDA La figure ci-dessous montre les éléments utilisés pour la réalisation du HePocket. Le Visual Studio .NET est la couche supérieure et CLR est la dernière couche. 2. : Architecture ".NET FrameWork t" J’utilise le langage de programmation « Visual C# .NET », la traduction du code est prise en charge par la partie « IL », les interfaces (formulaires) sont produites par le bloc « Application Windows Winforms », les classes importées depuis le bloc « Basic classes » et l’exécutable produits par la bloc « CLR ». Gilberto Matos - Rapport Final - Hermes Manager 10/65 5 Architecture HePocket Mais pourquoi utiliser .NET Framework ? Le développement de logiciels est encore une activité fortement demandeuse de main-d'œuvre et prône aux erreurs. En revanche, les progrès réalisés dans la densité de la silicone, de même que les outils de conception de circuits complexes dans la silicone, ont donné lieu à des progrès considérables pour les performances du matériel (ordinateurs). (Réf : 8) Le HePocket est un prototype développé dans l’environnement .NET de Microsoft (Réf. : 1) et qui permet l’installation de l’application sur un iPAQ (Pocket PC, Windows CE) plus précisément ".NET Compact Framework". Le HePocket utilise largement les bibliothèques de classes .NET Framework. Le HePocket utilise la classe pour l'accès au système de fichiers, les contrôles de l'interface, WinForms (Windows Forms) et le traitement de chaînes de caractères (String). 3. : Architecture de l’environnement de travail "HePocket" Les progrès dans le développement de logiciels ont été nettement plus modestes. Toutefois, étant donné l'importance des logiciels (pour certaines sociétés, le logiciel est le domaine de prédilection de valeur ajoutée), les efforts visant à améliorer la productivité dans le développement de logiciels ont de grandes chances de donner des résultats significatifs et durables. (Réf : 2) Gilberto Matos - Rapport Final - Hermes Manager 11/65 Visual C# .NET considère les interfaces comme classes, mais je ne suis pas d’accord. Je considère une classe, la structure d’un objet, c'est-à-dire la déclaration de l’ensemble qui composera un objet. Un objet est issu d’une classe, c’est le produit qui sort d’un moule. Un objet est une instanciation d’une classe, c’est une instance. Avec Visual C# .NET on peut créer des classes, mais chaque interface générée est aussi considérée comme une classe. Dans la figure ci-dessous je représente la séparation qu’il faut tenir compte entre les interfaces générées et les classes vitales (classes effectives) qui j’ai crée pour la mise en place et la gestion des événements produits depuis les interfaces. 4. : Architecture de séparation des classes "HePocket" Les classes effectives sont : German.cs, TheWorkingLanguage.cs, TheDataBaseManagement.cs, HermesProjectManagement.cs, French.cs, English.cs, TheCandidateDBmanagement.cs, TheProjectDBmanagement.cs, HermesPreAnalysisPhaseManagement.cs, HermesInitializationPhaseManagement.cs, HermesConceptPhaseManagement.cs, HermesCandidateManagement.cs, HermesCandidateAdressManagement.cs. La description des classes effectives du HePocket se trouve dans la partie annexe du présent rapport ainsi qui l’architecture des classes .NET Framework. Gilberto Matos - Rapport Final - Hermes Manager 12/65 Comment le code du HePocket est-il généré ? La classe « Object » est la classe est la classe ou sommait de l’hiérarchie des classes, à première vue la classe « MainHermesMenu.cs » fait figure de classe principal par contre l’assemblage (compilation) et la création de l’exécutable est pris en charge par la méthode principal (Main) qui se trouve dans la classe « Program.cs ». Voir le code ci-dessous. 5. : Le code de la classe « Program.cs » La classe « Program.cs » est généré (automatiquement) par l’environnement Visual Studio .NET. 6. : Architecture de production du code (exécutable) Gilberto Matos - Rapport Final - Hermes Manager 13/65 Voici deux exemples de classes HePocket : MainMenuHermes. La MainMenuHermes et les autres classes sont décrites dans l’annexe. La classe « MainMenuHermes » est cliente des classes « TheWorkingLanguage », « FullFillDemoDataBase » et « TheDataBaseManagement ». La classe « MainMenuHermes » est cliente des classes « German », « English » et « French ». Gilberto Matos - Rapport Final - Hermes Manager 14/65 L’avantage de l’environnement .NET Framework, ce que le code produit peut être exécuté dans tout les PDA sans modifier le code écrit au moment du développement de l’application, en extrayant les méta données d'un projet (par exemple, son modèle de base de données) et en les combinant à certains modèles de conception et de règles de comportement. (Réf. : 1) La figure ci-dessous représente l’architecture du HePocket. 7. : Architecture "HePocket" Le premier bloc est composé de fichiers sources C# (p. ex. German.cs), des références (p. ex. System) et des ressources (p. ex. Microsoft.Windows.CE). Le fichier exécutable p. ex. « HePocket.exe » est généré selon la machine (dans le cas du HePocket c’est un « PDA ») source choisie au moment du développement. Gilberto Matos - Rapport Final - Hermes Manager 15/65 La conception d'une interface utilisateur claire et intuitive pour les applications .NET est très simple. Il est difficile de le décrire de manière simple, alors je vous demanderai un peu de patience, le temps que j'essaie de fournir une explication claire. La figure ci-dessous représente le processus d’interface utilisateur. 8. : Processus d’interface utilisateur "HePocket" Par ce processus de création d’interface toutes les interfaces du HePocket présente dans le HePocket héritent du menu présent « MenuHermesManager.cs », voir le code ci-dessous. Gilberto Matos - Rapport Final - Hermes Manager dans la classe 16/65 Le Binding ou le fait de lier des éléments entre eux, par exemple pour passer d'une représentation de données à une autre. Un bindingContext est créé par l’interface (formulaire), cet objet est une sorte de contrôleur de collections pour les composants graphiques liés, les abonnés. A chaque changement de position, le bindingContext prévient l'ensemble de ses abonnés via un mécanisme d'Observer/Observable. Si l'élément en cours change, le CurrencyManager avertit tous les abonnés, par exemple les contrôles liés, pour qu'ils puissent actualiser leurs données. De plus, vous pouvez définir la propriété Position pour spécifier la ligne dans le DataTable vers lesquels les contrôles pointent. Pour déterminer le nombre de lignes dans la source de données, utilisez la propriété correspondante. 9. : Architecture de l'attache de données d’une interface (formulaires) "HePocket" Le CurrencyManager est nécessaire parce que les sources de données ne gèrent pas nécessairement un pointeur d'élément en cours. Par exemple, les tableaux et les objets ArrayList peuvent être des sources de données, mais ils ne comportent pas de propriété qui retourne l'élément en cours. Pour obtenir l'élément en cours, utilisez la propriété Current. (Réf. : 1) Gilberto Matos - Rapport Final - Hermes Manager 17/65 5. Multilinguisme Le HePocket est une application multi langue. L’utilisateur a le choix entre 3 langues de travail (Allemand, Anglais, Français). Le français est la langue de travail par défaut. L’utilisateur a la possibilité de changer la langue de travail depuis le menu "Fichier". Le changement reste conservé jusqu’à la prochaine modification. L’application ne change pas la langue de travail automatiquement. 5.1 Gestion du multilinguisme La langue de travail est sauvegardée dans un fichier texte, nommé « SaveLanguage.txt ». Le fichier sera créer au premier démarrage du HePocket. FR HePocket SaveLanguage.txt Fig. 10: représentation de la sauvegarde de la langue de travail J’utilise les symboles suivants pour identifier les langues de travail : FR (français), ENG (anglais) et DE (Allemand). Si l’utilisateur supprime le fichier « SaveLanguage.txt », il sera crée au prochain démarrage. La modification du contenu du fichier, implique le maintien de la langue de travail par défaut jusqu’au prochain changement. (Réf. : DocP 9) Ci-dessous une fine partie code pour la gestion du multilinguisme Gilberto Matos - Rapport Final - Hermes Manager 18/65 6. Exportation et importation d’un projet Pour l’exportation ou importation de projets, l’utilisateur a le choix entre le format XML et le format texte. L’exportation des projets Les données des projets exportés sont lues depuis la base de données « hermesDataBase.sdf » et exportées vers un support choisit par l’utilisateur. Celui-ci doit saisir un nom pour le fichier. Chaque projet a une clef d’identification unique, pour garantir l’intégrité des enregistrements qu’elle représente. DB XML Disque Fichier projet TXT Fig. 11 : représentation de l’exportation d’un projet L’utilisateur choisit le projet qu’il souhaite exporter. Le choix de l’utilisateur est conservé dans une variable et ensuite, à l’aide d’une requête de sélection son contenu est sauvegardé temporairement dans un fichier. (Réf. : DocP 9) Dans le chapitre 12, titre : Fichier projet format Texte (import / export) et Fichier projet format XML (import / export), vous pouvez voir un exemple de fichier. Extrait fine d’une partie code pour le traitement de l’exportation d’un projet Gilberto Matos - Rapport Final - Hermes Manager 19/65 L’importation des projets L’utilisateur choisit le fichier (projet) qu’il souhaite importer depuis un support, p. ex. une carte mémoire. Avant d’introduire les données dans la base de données, la clef d’identification du projet à importer sera comparée aux clefs des projets existants. Si la clé d’identification est présente dans la base de données, les données du projet seront actualisées, sinon ajoutées dans la base de données. De cette manière il est impossible d’avoir de doublons dans la base de données. (Réf. : DocP 9) XML DB Disque Fichier projet TXT Fig. 12 : représentation de l’importation d’un projet Dans le chapitre 12, titre : Fichier projet format Texte (import / export) et Fichier projet format XML (import / export), vous pouvez voir un exemple de fichier. Extrait fine d’une partie code pour l’importation d’un projet Gilberto Matos - Rapport Final - Hermes Manager 20/65 Clef d’identification La clef d’identification est un élément unique qui permet une meilleure identification des projets et l’intégrité des données. La clef d’identification est un élément unique qui permet une meilleure identification des projets et l’intégralité des données. Nom du projet Heure Code Année Exemple : Si l’utilisateur crée un projet à 18:30h sur son Pocket PC avec le nom "Demo USIC" en 2007, sa clef d’identification aura la structure suivante : DemoUSIC18:30POC2007 Eléments de la clef Description Nom Représente le nom du projet. Heure Indique l’heure de la création de l’enregistrement. Code Représente le support utilisé pour la création du projet Année Indique l’année de la création de l’enregistrement. PC : pour l’ordinateur POC : pour le Pocket PC. Ci-dessous une fine partie code pour la création de la clef d’identification Gilberto Matos - Rapport Final - Hermes Manager 21/65 7 HePocket Réalisation du HePocket La réalisation du HePocket, ou comment les différentes classes ont été assemblées est un des points les plus importants dans la réalisation du prototype. Pour développer une application .NET Compact Framework, il faut avoir Microsoft Visual Studio 2005 ou le Kit de développement Microsoft .NET Framework 2.0 SDK. 4.5 Le pré requis matériels Pour l’exécution, les critères suivants doivent être remplis: - Processeur : Intel ® PXA255 - espace disque : 3 MB 4.6 Le pré requis logiciels Pour le fonctionnement du HePocket, les logiciels suivants sont nécessaires: - SQL Mobile - .NET Compact Framework 2.0 - Windows Mobile 2003 SE Pour l’installation de ces logiciels, il faut consulter le Manuel de l’utilisateur. Gilberto Matos - Rapport Final - Hermes Manager 22/65 4.7 Comment installer le HePocket Il n’y a pas d’ « installeur » pour l’installer le HePocket. Je n’ai pas développé un installeur à cause du temps nécessaire pour le développement d’une telle application et le coût de l’achat d’un programme d’installation comme par exemple InstallShield 11.5. J’ai donc renoncé parce que cette fonction n’avait pas de priorité dans ce travail. Pour exécuter le HePocket dans un PDA, il suffit de transférer le fichier HePocket.exe dans le PDA. Interface principale L’interface principale du HePocket est définie par la classe « MainMenuHermes.cs ». Elle met à disposition de l’utilisateur la barre de menus, les menus et les sous-menus. L’utilisateur interagit avec le HePocket par les différentes interfaces. L’interface principale est composée de 4 menus. 13. : Interface principale "HePocket" Les menus Descriptions Fichier Le menu « fichier » regroupe en grande partie les fonctions extra « Hermes ». Ce menu est composé de cinq sous-menus : Candidats, Exporter, Importer, Langue et Quitter. Projets Ce menu regroupe la partie gestion de projet. Il offre à l’utilisateur la possibilité Guide Ce menu regroupe toute la partie théorique de la méthode « Hermes ».Il est de créer, supprimer, modifier et consulter des projets. composé de trois sous-menus : Connaissances de base, Méthode Hermes, Annexes Aide Comme son nom l’indique, le menu « Aide » offre à l’utilisateur les informations dont il a besoin pour l’aider à travailler avec le HePocket. Il est composé de deux sous-menus : Aide HePocket et Information. Gilberto Matos - Rapport Final - Hermes Manager 23/65 Interaction utilisateur & HePocket L’utilisateur interagit avec le Hepocket par l’interface principale, dont il peut accéder aux différents menus de l’application. Parce que la proposition faite, pendant l’élaboration du prototype version PowerPoint, ne permettait pas aux utilisateurs de se retrouver, il faut dire qui beaucoup était perdus par le système de navigation proposé. La mise en place de la navigation dont l’emplacement des menus a été décidé après plusieurs teste et la navigation amélioré. La figure ci-dessus représente un utilisateur qui entre en contact avec le HePocket, l’objectif est de montrer les elements (interfaces) qui l’utilisateur trouvera en lançant le HePocket. Pour plus d’information sur les menus et leur fonction, veuillez consulter le « Manuel de l’utilisateur ». (Réf. : DocP 9) Gilberto Matos - Rapport Final - Hermes Manager 24/65 Connexion vers la base de données L’application ne se connecte pas à la base de données au moment de son lancement. L’utilisateur peut utiliser le HePocket sans jamais se connecter à la base de données parce que pour la navigation dans la partie théorique (p. ex. Guide) aucune connexion n’est nécessaire. La figure ci-dessous est une représentation simplifiée de la connexion entre le la DB et les interfaces. 14. : PDA – DB – interfaces utilisateurs "HePocket" Une connexion vers la base de données est crée, si l’utilisateur décide de créer, consulter, modifier ou supprimer : les données d’un projet ou candidat. Le code ci-dessous représente la connexion vers la base de données. Les données saisies ou consulter par l’utilisateur sont toujours stockées dans des fichiers temporaires et supprimer après avoir quitter le HePocket. Gilberto Matos - Rapport Final - Hermes Manager 25/65 8. Evaluation des SGBD (Système de gestion de base de données) J’ai analysé plusieurs systèmes de gestion de bases de données, comme SQL Mobile, Microsoft Access, FileMaker, SyBase. Avant de prendre une décision, j’ai regardé la partie technique, le prix et les solutions existantes. En ce qui concerne les logiciels libres (open source), je n’est pas regardé de tels types de solution, parce que je ne suis pas adhérent de ce type de logiciel. Le système de gestion de base de données (en anglais "DBMS", Database Management System) est une application qui organise les données dans un cadre structuré composé de tables (de lignes et de colonnes), et qui utilise cette structure pour fournir un accès aux données ainsi que des moyens pour les traiter. (Réf. : 5) Les activités supportées sont la définition d'une base de données (spécification des types de données à stocker), la construction d'une base de données (stockage des données proprement dites) et la manipulation des données (principalement ajouter, supprimer, consultation des données). Un système de gestion de base de données est un programme informatique gérant les bases de données, par exemple Microsoft Access (avec restrictions), Oracle, Informix, Sybase etc. Gilberto Matos - Rapport Final - Hermes Manager des 26/65 9. Base de données Une base de données est une structure de données destinée aux traitements d’informations et à la gestion des données. Dans le cadre de mon travail de diplôme, plus concrètement la mise en place de HePocket, la base de données est destinée à la gestion des projets. C'est une entité logiquement cohérente et représentant une sémantique. Tout d'abord, il faut rappeler que Microsoft Access n'est pas une base de données, mais un outil, limité, de gestion de bases de données. Le système de gestion de base de données désigne l'ensemble des fonctions permettant de définir la structure des données, de formuler des requêtes, de modifier et de stocker des informations (créer et maintenir une base de données). (Réf. : DocP 8) La base de données est destinée à la sauvegarde des projets qui seront crées et pour la sauvegarde des informations sur les candidats. L’accent sera mis sur la partie création et consultation de projet ainsi que sur la partie représentant les phases de travail « HERMES ». J’utilise une base de données parce que de mon point de vue, c’est la meilleure structure pour la gestion des données que je souhaite traiter. Voir les informations plus détaillées aux chapitres « 8 et 9 ». Un système de gestion de bases de données est un programme supportant la définition de bases de données, leur exploitation efficace, la définition d'utilisateurs, le tout dans un contexte multi-utilisateurs. C’est là que Access a, entre autre, des limites. La vitesse des requêtes, la compatibilité SQL étendue mais pas SQL Mobile. Aujourd’hui il y a différente génération de système de gestion de base de données. Les systèmes de gestion de base de données relationnels, supportent des bases de données décrites selon le modèle relationnel et ils sont compatibles avec le langage SQL. Gilberto Matos - Rapport Final - Hermes Manager 27/65 Un modèle de données est un ensemble de concepts permettant de décrire la structure d'une base de données. La plupart des modèles de données incluent des opérations permettant de mettre à jour et de questionner la base. Le modèle de données le plus utilisé est le modèle relationnel. Il existe depuis longtemps des systèmes de gestion de base de données orienté objet. Une grande part des applications construites sur le système de gestion de base de données ne peuvent se permettre d'exécuter les programmes et requêtes de leurs utilisateurs les uns après les autres, car cela impliquerait des temps d'attente beaucoup trop long. C'est le cas, par exemple, des applications gérant les transactions boursières, les réservations de places d'avion etc. Le système de gestion de base de données doit donc exécuter simultanément - autant que possible - les programmes et requêtes des utilisateurs. Dans ce chapitre, on emploiera le mot de transaction pour désigner toute unité de traitement (programme ou requête utilisateur) exécutée sur le SGBD. On appellera transaction correcte, toute transaction qui, s'exécutant seule (sans concurrence) sur une base de données cohérente (dont toutes les contraintes d'intégrité sont vérifiées), fournit en résultat un état cohérent de la base de données. Ci-dessous extrait d’une partie code, représentant la sauvegarde d’un projet dans la DB et la connexion. Gilberto Matos - Rapport Final - Hermes Manager 28/65 Afin de conserver la cohérence de la base, le système doit garantir l'"atomicité" de l'exécution des transactions : toute transaction est soit complètement exécutée, soit pas du tout, SQL Mobile respect cette règle. Il y a deux point qui doivent être évalués avant la choix et la création d’une base de données pour un PDA : la taille de l’application et de la consommation de l’espace mémoire. Comme développeur d’une application fonctionnant sur un PDA, je ne peux pas supposer que les utilisateurs ont aujourd'hui une carte de stockage disponible, sauf si une telle condition soit acceptable par l’utilisateur. La SQL Mobile est un serveur base de données destiné aux PDA et Smartphone. Elle offre un accès Multi-Utilisateurs, des mécanisme de transaction, synchronisation et connexion avec un serveur central. La SQL Mobile a été spécialement conçu par Microsoft pour le développement des applications sur PDA. J’ai choisit SQL Mobile comme système de gestion de base de données, c’est un choix économique parce que le produit est gratuit et parce qu’il a été conçu pour les application sur un PDA dans l’univers windows et par sa taille (1.5 MB). J’ai nommé la base de données « hermesDataBase.sdf », le choix du nom est lié au thème du travail. SQL Mobile Manager est un outil portatif pour le contrôle et l’administration du Microsoft SQL Server. Il permet aux gestionnaires de bases de données de gérer un environnement SQL Server à distance par le biais de Windows Mobile comme un téléphone portable ou un PDA. Facile à installer et à utiliser, SQL Mobile Manager permet aux gestionnaires de bases de données de gérer leurs SQL Servers d’une façon sécurisée à n’importe quel moment, n’importe où et de répondre en un temps record aux incidents et alertes. (Réf. : 1) Avec SQL Mobile Manager, les gestionnaires de base de données acquièrent la commodité d’un accès sécurisé, 24 sur 24, 7 jours sur 7, peu importe où se trouve leur SQL Server. (Réf. : 1) Gilberto Matos - Rapport Final - Hermes Manager 29/65 La base de données (hermesDataBase.sdf) est utilisée pour sauvegarder les projets, les informations sur le candidat, les phases Hermes. Les relations entre les tables sont établies entre la clef primaire et le champ de référence. Les concurrents de SQL Mobile (SQL Server SE) L’objectif de cette partie est de montrer ce que les concurrents de Microsoft proposent comme solution au niveau de base de données mobile. Pour les développeurs de l’environnement Windows, le serveur mobile SQL est le choix logique et inclus de base de données, pour le IPAQ et de Smartphones. Le serveur 2005 Editon mobile de SQL (mobile de SQL ou SSM) a comme grand frère, SQL édition du serveur 2005. PostgreSQL 8.0 Considéré comme le système de bases de données relationnelles open source le plus pointu, PostgreSQL 8.0 s'exécute nativement sous Windows alors qu'il fallait auparavant utiliser une couche d'émulation (Cygwin) qui réduisait ses performances et sa stabilité. Co-développée par le groupe de "Développement Global de PostgreSQL" et des éditeurs de logiciels tels que Red Hat, Fujitsu, Afilias, SRA, 2nd Quadrant et Command Prompt, cette nouvelle version intègre une gestion très avancée des points de retournement qui permettent la restauration complète des données à partir d'une sauvegarde. (Réf. : 11) PostgreSQL 8.0 supporte aussi la gestion des "table space" qui permet de répartir une base de données volumineuse sur plusieurs disques durs afin d'accroître les performances. D'autres améliorations ont été apportées telles qu'un système de cache mémoire plus efficace, la haute disponibilité via l'outil de réplication Slony et l'utilitaire de pooling de connection pgPool, de nouveaux langages de procédures stockées (PL/Java, PL/PHP et PL/Perl), un nouveau connecteur pour Microsoft .NET, etc. Avec de telles caractéristiques, PostgreSQL 8.0 se hisse sans effort au niveau des meilleurs SGBD commerciaux fournis par IBM, Oracle et Microsoft. Gilberto Matos - Rapport Final - Hermes Manager 30/65 DB2 Everyplace Snyc Server Le serveur de DB2® Everyplace pour soutenir les clients mobiles dans différentes plateformes de langue à l'aide du développement d'application de la connectivité de base de données de Java (JDBC) et du serveur de synchro de DB2 Everyplace. Avec l'arrivée des technologies de calcul dominantes, plus d'entreprises veulent prolonger leurs solutions de legs aux dispositifs mobiles tels que PDAs ou téléphones pendant un meilleur temps de réponse et une satisfaction de client améliorée. (Réf. : 2) Le serveur DB2 Everyplace Sync Server avec la base de données mobile, peut être employée dans tous les dispositifs mobiles, contrairement à SQL Mobile (SQL Server CE). DB2 Everyplace est un logiciel open source. Le serveur de synchronisation de DB2 Everyplace contrôle la synchronisation bidirectionnelle de données entre la source et les bases de données de cible. Il agit en tant que pont entre le logiciel de client dans des dispositifs mobiles et un serveur de base de données de JDBC. IBM emploie le client de serveur de synchronisation de DB2 Everyplace pour réaliser la synchronisation de données et d'application entre les dispositifs et les points d'émission de données mobiles de l'entreprise. L'exécution d'une telle technologie comme DB2 Everyplace permet les professionnels mobiles, inspecteurs, auditeurs, techniciens de service de champ, médecins, agents immobiliers, et les régleurs de déclaration de sinistre de rester en contact avec des données essentielles quand ils ne sont pas au bureau. DB2 Everyplace est un open source mais avec un prix varient entre $65 - $ 500. Codebase Bien que cette base de données ne soutienne pas le système d’exploitation Windows mobile 5, elle a beaucoup de dispositifs gentils. En premier lieu, elle vient avec le code source, une version de bureau vient également avec le code source. L’utilisateur n’a pas besoin de payer de redevance pour la distribuer. Gilberto Matos - Rapport Final - Hermes Manager 31/65 Codebase est écrit dans le langage de programmation C/C++ qui fournit non seulement la plus grande exécution dans un dispositif mobile, mais est également le plus portatif. Ils disent qu'ils ont un API Visual C # .NET pour le Pocket PC et au-dessus de tout, le Compact Framework, mais puisqu'elles n'ont aucune version d'évaluation je ne pouvais pas essayer le produit. One$db One$db est une base de données open source écrite en Java. Le permis d’exploitation en vue de développer, peut être obtenue à la LGPL (http://opensource.org/licens...), qui tient compte de l'usage libre et peut être librement distribué incorporé ou employé par n’importe quel application. Des changements au code source, cependant, plus strictement sont surveillés par un tel permis. Le dispositif réglé est très impressionnant et concurrentiel avec plusieurs des bases de données commerciales. La version commerciale du produit est Daffodil DB; ceci ajoute le chiffrage et la réplique à l'ensemble de dispositif. Bien qu'une excellente base de données incluse, je n’ai trouvé aucune référence au Windows CE ou au Windows Mobile sur leur emplacement, ainsi je suppose qu'il exigerait une quantité considérable de travail pour mettre en communication et examiner ceci sur une nouvelle plateforme. J'ai également trouvé un API ODBC dans la base de données. ITTIA FUEL DB Cette base de données semble être populaire avec quelques dans le mileieu du développement des applications mobiles mais, Je trouver peu d'information sur elle. Il soutient le système d’exploitation Windows Mobile 5 mais je ne pense pas qu'il a un fournisseur d'ADO.Net. La base de données FUEL DB semble être plus adapté pour les systèmes qui ont les ressources très limitées. Il semble être embarqués dans votre programme mais elle plutôt une base de données in-memory. Gilberto Matos - Rapport Final - Hermes Manager 32/65 Oracle9i Lite Release 5.0.2 for Windows CE, Pocket PC L'oracle est peut-être le meilleur fournisseur connu des bases de données, mais l'oracle n'est pas la solution la meilleure marchée, pour un étudiant son prix fait froid au dos, mais les dispositifs soutenus sont impressionnants et l'oracle Lite a été nommé récompense du logiciel 2005 de magazine Smartphone & Pocket PC, comme le meilleure. L'oracle offre des moteurs de base de données pour tous les logiciels d'exploitation de serveur principal comme Oracle XE for desktop development. Bien que Windows CE et Windows Pocket PC 2003 soient soutenus, je n'ai vu aucun appui pour le Windows Mobile 5 ou l'ADO.Net dans le cadre de contrat de NET. Naturellement ODBC peut toujours être employé pour se relier par l'intermédiaire d'ADO.NET. La quantité de dispositifs contre l'empreinte de pas de l'installation est très impressionnante. Sybase UltraLite.NET 9.0.2 Sybase est connu particulier pour leurs produits de synchronisation et de réplique. Le serveur de synchronisation de MobiLink ajoute des puissances en chevaux très sérieuses à ce produit. Sybase fournit également beaucoup de des éditions de serveur et de dessus de bureau de leur moteur de base de données. Bien qu'il ait été difficile de déterminer le prix, la petite taille de la base de données est étonnante (150 KB). L’entreprise Sybase à une solution pour les appareils du type Pocket pc appelé Mobile Solutions (Sybase SQL Anywhere). La solution proposée par l’entreprise Sybase est intéressante mais le prix n’est pas accessible, avec mon petit budget et la solution de Sybase me prendrait un certain temps pour bien comprendre l’idée et le concept du produit Mobile Solutions. Sybase et sa filiale iAnywhere sont non seulement les leaders des marchés des intergiciels (middleware) et des bases de données mobiles mais le service Internet mobile AvantGo de Sybase. Gilberto Matos - Rapport Final - Hermes Manager 33/65 9 Le future Le HePocket a posé la base pour le développement d’une application future, donc les difficultés, les expériences, les contraintes vécues pendant sa mise en place doivent servir d’exemple. - Élargissement de langue de travail p. ex. Italien - Système d’information sur les projets (pour les gestionnaires) - Mise en place d’un système de support de décision et d’évaluation - Développement d’un module d’installation intégrée dans Hermes PowerUser pour faciliter la configuration d’un PDA - Développement (adaptation) du prototype vers le PALM, Blueberry et autres PDA - Définir des passerelles (transfert de données) entre les outils de gestion de portefeuille de projets, voir de Hermes PowerUser, vers le PDA Le développement mobile est différent du développement pour les ordinateurs (PC) d'une manière très importante : des dispositifs mobiles sont limités dans les ressources. Gilberto Matos - Rapport Final - Hermes Manager 34/65 10 Discussion Je ne suis pas d’accord avec le concept de classe exprimé dans l’environnement C#. La structure des classes et la structure qui je proposé et la navigation proposé par la version PowerPoint étaient des points de grande discorde pendant la mise en place du HePocket, dont se sont des points toujours discutables. Visual C# .NET est un langage de programmation pour le monde Windows (Microsoft), j’ai eu du plaisir et aussi profité de l’occasion pour approfondir mes connaissances sur le présent langage et son environnement de développement. Une solution Open source serait mois cher et permettrais un plus large contrôle des logicielles utilisé. Puis, je devez faire l'essai de performance pour garantir que les temps d'accès et plus longs pour la mémoire démontable sont acceptables. Microsoft a découvert le marché des appareils embarqués avec un certain retard, si nous comparons à ses principaux concurrents p. ex. SUN, Symbian, PALM etc. Vers la fin de 2006, Microsoft a lancé SSE (SQL Server Express) pour l'usage sur tous les PCS courant fonctionnant avec la version Win32 ou précédent système d’exploitation. Une version de SQL Server Management Studio Express (SSMSE), mis à jour pour soutenir SSE est prévue. Ces dispositifs qualifieront SSE comme une base de données incluse universelle pour des applications de client et de IPAQ pour Windows. Gilberto Matos - Rapport Final - Hermes Manager 35/65 11 Conclusion Le HePocket répond aux exigences (buts) fixés dans le cahier des charges. Mon grand problème été l’assemblage, regroupement des différents composants mis à disposition par Microsoft, p. ex. la base de données (SQL Mobile) proposées. Dans le développement pour ordinateur (PC) presque n'importe quelle base de données suffira, mais pour le développement mobile je dois me rendre compte des limitations de ressource afin de concevoir un système qui exécute en juste proportion. L’objectif de Microsoft est de créer un monopole au niveau de appareils embarquées, ainsi son logiciel Microsoft ActiveSync est devenue en peu de temps un standard dans la synchronisation des données entre le PDA et l’ordinateur (PC), alors que le logiciel AvantGo de Sybase était plus intéressant et de qualité plus supérieur. (Réf : SmartPhone & Pocket PC Magazine) ActiveSync est non seulement disponibles pour les PDA mais des entreprises comme, Symbian et Nokia ont obtenus des licences pour tourner ActiveSync comme un standard, pour leurs produits. (Réf. : 13) La seule alternative sur le marché contre ActiveSync est SyncML, une norme ouverte par l'alliance mobile ouverte. Elle est installée à 700 millions de téléphones, 80% des dispositifs vendus l'année dernière. Elle fait quel ActiveSync fait et bien mieux. (Réf. : 12) Microsoft se à livre une guerre féroce avec ses concurrents ainsi, la firme de Richmond a annoncé qu’elle avait l’intention d’intégrer le SQL Mobile dans les prochaines versions de son système d’exploitation Windows Mobile (Windows CE). Une telle mesure pourrait conduire les développeurs à ne plus chercher une DB pour leurs développements et ainsi consolider l’intérêt monopoliste de Microsoft. Les produits utilisés pour la mise en place du HePocket s’adapte bien au cadre du travail demandé et les buts qui je me suis fixés et il se pourrait que dans un autre travail plus approfondie les produits (logiciels) et forme de travail peuvent changer. Gilberto Matos - Rapport Final - Hermes Manager 36/65 Je trouve le frais d’exam (Sfr. 2950.-) demandé par la SWS, trop élevée. Je considère l’expérience acquise durant les trois derniers mois des positifs, parce qu’elle ma permis de connaître la méthode Hermes, découvrir l’univers de la programmation d’un PDA. Il faut être honnête j’ai eu grand plaisir et je suis content d’avoir une application qui tourne sur un PDA mais je n’aime pas la rédaction des documents parce à chaque fois je saigne dans le nez depuis que je suis petit. Je suis content du résultat obtenu dans l’ensemble. Il est vrai que certains points ou situations pourraient être abordés d’une autre manière, mais nous sommes dans un monde ou chaque personne à sa vision, voir perception de chose et il voit se qu’il veut voir, ou important pour son bien être. Je profite de l’occasion pour remercier tout ces qui mon accompagner pendant l’élaboration et la mise en place du présent projet, les participants à la phase de teste du HePocket, sans leur aide un telle travaille ne serait pas possible. Gilberto Matos - Rapport Final - Hermes Manager 37/65 12 Bibliographie J’ai listé les liens, documents et des ouvrages qu’ont servis de base à la création du cahier des charges. Abréviations Abréviation Description CLR Common Language Runtime DB Database (base de données) DocP Documents et publications FCL Framework Classes Library LiK Lien MSIL Microsoft Intermediate Language Réf Référence SWS Software Schule Schweiz TIC Technologies de l’information et de la communication USIC Unité de stratégie informatique de la confédération Références Référence Description 1 Microsoft MSDN (Microsoft Developer Network) 2 IBM (IBM Solution) 3 Sun Microsystems (Sun Solution Portofolio) 4 Qualcomm Brew (Developer Home) 5 Oracle (Oracle Data Base) 6 Sybase (Sybase développement) 7 Access Linux Platfform 8 Intel (Intel Software Network) 9 Palm INC. 10 UBS Quotes 11 Indexel (L’informatique professionnelle) 12 OMA (Open Mobile Alliance) 13 Microsoft Press Gilberto Matos - Rapport Final - Hermes Manager 38/65 Documents et publications Nr. Description 1 HERMES Manager "Guide de poche" Edition 2003 USIC 2 Le management 3 HERMES "Conduite et déroulement de projets dans le domaine des technologies de 4 Inside XML 5 Visual C# .NET 6 Article sur la méthode Hermes du EPFL 7 Definitive XML Application Development Auteur : Bob Nelson & Peter Economy Edition : First l’information et de la communication (TIC)" Développement de systèmes Edition 2003 Auteur : Steven Holzner Edition : New Riders Auteur : Jason Price & Mike Gunderloy Edition : Sybex [email protected], EPFL-DII - Management Auteur : Lars Marius Garshol Edition : Prentice Hall PTR 8 .NET Wireless Programming 9 Manuel de l’utilisateur pour HePocket 10 Objected – Oriented software construction Auteur : Mark Ridgeway Edition : Sybex Auteur : Gilberto A. M. de Matos second edition Auteur : Bertrand Meyer Edition : Prentice Hall Liens Nr. Nom Les liens 1 Compact http://www.microsoft.com/downloads/details.aspx?FamilyID=0c1b0a88 2 Microsoft http://www.microsoft.com/downloads/details.aspx?displaylang=de&Fam 3 SQL Mobile http://www.microsoft.com/downloads/details.aspx?FamilyID=85e0c3ce- 4 SWS http://diplom.sws.bfh.ch/portal.php?id=053f201cf37e3b1b21796e608d (Gilberto 0b784b 5 Hermes http://www.hermes.admin.ch/ 6 NOVE-IT http://www.nove-it.admin.ch/f/ziele/zieledefinition-f.php/ 7 USIC http://www.isb.admin.ch 8 Windows CE http://www.microsoft.com/france/windows/embedded/windowsce.asp/ 9 Pocket PC http://h10010.www1.hp.com/wwpc/fr/fr/sm/WF05a/22239-22245- Framework ActiveSync Matos) -59e2-4eba-a70e-4cd851c5fcc4&DisplayLang=de ilyID=9E641C34-6F7F-404D-A04B-DC09F8141141 3fa1-453a-8ce9-af6ca20946c3&DisplayLang=de 22245-22245-298101-12343180.html/ Gilberto Matos - Rapport Final - Hermes Manager 39/65 13 Annexes 13.1 Visual Studio .NET Pour le développeur travaillant avec Visual Basic et MS Office, la première étape a consisté à utiliser le même langage et le même environnement de développement. Le besoin de portabilité et d'intégration a en outre fait émerger la nécessité de disposer de nouveaux standards ouverts tels que XML. Pour répondre efficacement à cette évolution, Visual Studio a été entièrement remanié de manière à standardiser les méthodes de développement à destination de ces deux environnements qui cohabitent de plus en plus étroitement aujourd'hui (Réf. : 1) : - Les applications Windows (WinForms) - Les applications Internet (WebForms et WebServices) La figure ci-dessous représente l’architecture .NET Framework et logiciel Visual Studio .NET. Visual Studio .NET VB .NET C++ C# …… JScript IL (Common Language System) Application Windows WinForms Application Internet WebForms - WebServices Basic classes CLR (Common Language Runtime) 2. : Architecture ".NET FrameWork et Visual Studio" Gilberto Matos - Rapport Final - Hermes Manager 40/65 CLR : Environnement d’exécution des exécutables .NET, assurant le chargement du programme, la gestion de la mémoire et d’autres fonctions centrales du système d’exploitation. C’est l’équivalent de la machine virtuelle Java.[REF] MSIL : Le code de niveau de langage machine standard, indépendant de l’UC (CPU) dans lequel tous les exécutables .NET sont écrits. Une application se compose de fenêtres nommées Forms. Pour les applications Windows, il s'agit de WinForms tandis qu'il s'agit de WebForms pour les applications dédiées au Web. Le HePocket utilise WinForms. Si les caractéristiques de ces deux types de Forms sont très différentes, le tour de force de Visual Studio.NET consiste à rendre le développement similaire dans les deux cas. Visual Studio.NET regroupe ainsi des fonctionnalités telles que la conception de l'interface utilisateur, l'édition du code, la mise au point (généralement nommée Débogage), système d'aide, etc., dans un même environnement intégré pour développer les deux types d'applications Gilberto Matos - Rapport Final - Hermes Manager 41/65 13.2 Architecture des classes (.NET Framework) La bibliothèque de classes est organisée en espaces de noms, chacun contenant un jeu de structures et de classes connexes. Par exemple, l'espace de noms System.Drawing, contient des nombreux types qui représentent des polices, stylets, lignes, formes, couleurs, et ainsi de suite. Le .NET Framework est une API orientée objet conçue pour une utilisation facile. (Réf. 1) Utilisation de directives et de références Avant de pouvoir utiliser les classes dans un espace de noms donné dans un programme C#, vous devez ajouter une directive using pour cet espace de noms à votre fichier source C#. La librairie objet du Framework Microsoft .NET (Framework Classes Library) est un ensemble de classes unifié et hiérarchisé offrant un grand nombre de fonctionnalités standard. La FCL permet ainsi d'utiliser un grand nombre d'interfaces prédéfinies sans avoir à gérer de multiples librairies. Les classes du Framework .NET sont généralement présentées dans un tableau comme suit (Réf : DocP 5) : La figure ci-dessous représente la structure des classes de l’environnement de travail .NET. Si nous créons un lien entre la figure 2 et 3, l’architecture des classes appartient (se situe) au niveau de la partie « Basic Classes ». Gilberto Matos - Rapport Final - Hermes Manager 42/65 Les classes Système Le HePocket est composé de quatorze classes et par des interfaces, par exemple « MainMenuHermes.cs ». Microsoft considère les interfaces comme des classes mais je ne suis pas d’accord avec ce point de vue (voir le chapitre « Bibliographies »). Les classes .NET Framework (Compact Framework) utilisés : Nr. 1 Les Descriptions System contient des classes fondamentales et des classes de base qui définissent des classes types de données valeur et référence, des événements et des gestionnaires d'événements, des interfaces, des attributs, ainsi que des exceptions de traitement couramment utilisés. (réf. : 1). 2 System. Data Permet d’accéder aux classes qui représentent l’architecture ADO.NET. ADO.NET permet à l’utilisateur de générer des composants qui gèrent de manière efficace les données en provenance de plusieurs sources de données, p. ex. le base de données. (réf. : 1). La pièce maîtrise de l’architecture ADO.NET est la classe DataSet. La DataSet peut contenir plusieurs objets DataTable. La DataTable contient des données provenant d’une source unique telle que SQL Server. (réf. : 1) 3 4 System. Cet classe contient les classes qui prennent en charge les fonctionnalités L une connexion vers une base de données SQL. (réf. : 1) System. Cette classe est référencé par défaut dans une application Visual C#. Elle ns le tableau, les listes etc. (réf. : 1) Data.SQ Collectio 5 System.I 6 System. O Text spécifiques à SQL Server, en d’autre terme elle permet à l’utilisateur de crée contient des interfaces et classes qui définissent différentes collections, p. ex. Elle contient des types qui permettent la lecture et l’écriture dans des fichiers (File, FileInfo) et flux de données (FileStream, StreamReader etc.), ainsi que des types permettent la prise en charge de fichiers et répertoires de base. Les classes pour le codage des caractères ASCII, UTF-8, sont représentées par la présente classe. Elle a des classes abstraites pour la conversion de blocs de caractères en blocs d’octets et inversement et une classe d’assistance qui gérer et met en forme des objets String. (réf. : 1) 7 8 System. XML System. Drawing Cette classe fournit une prise en charge standard pour des opérations avec des éléments XML. Elle offre des mécanismes pour la manipulation et traitement de documents XML, p. ex. la création et validation. (réf. : 1) L’offre l’accès aux fonctionnalités graphiques de la base GDI+. Cet une classe référencé par défaut. (réf. : 1) Gilberto Matos - Rapport Final - Hermes Manager 43/65 Nr. Les classes Descriptions 9 System.Messaging Cet une classe référencé par défaut. Elle fournit des classes qui permettent de se connecter aux files d’attente de messages, de les analyser et de les gérer sur le réseau, ainsi que d’envoyer, de recevoir ou lire des messages, échangés par les objets. (réf. : 1) 10 System.Web.Service s Elle permet la création des services Web XML à partir de clients de services Web ASP.NET et XML. Les services Web XML sont des applications qui donnent la possibilité d’échanger des messages dans un environnement faiblement couplé utilisant des protocoles standard tels que http, XML, XSD, SOAP et WSDL. (réf. : 1) 11 System.Net.IrDA Cette classe met un socket en état d’écoute pour contrôler les connexions infrarouges à partir d’un service ou d’une adresse réseau spécifiés. (réf. : 1) Les références (DLL) .NET Framework (Compact Framework) utilisés : Nr. Les références Descriptions 1 Mscorlib Cette DLL contient les types de base du Framework .NET, comme la classe System.Object, la classe System.Int32. Elle constitue le module contenant le manifeste de l’assemblage .NET. Cette référence est crée automatiquement par tous les compilateurs qui produisent du code CIL. C’est le DLL qui regroupe toutes les classes .NET. (réf. : 1) 2 Microsoft.WindowsCE .Forms Elle contient des classes pour le développement (création) des fenêtres pour PDA et SmartPhone à l’aide du .NET Compact Framework. (réf. : 1) 3 Microsoft.WindowsMo bile.DirectX Elle fournit la référence pour la gestion de la partie graphique p. ex. pour les imagens, pour les PDA et Smartphone et d’autres périphériques exécutant Windows CE avec le .NET Compact Framework. (réf. : 1) Gilberto Matos - Rapport Final - Hermes Manager 44/65 13.3 Les classes HePocket Nr. Les classes Descriptions 1 English.cs Cette classe gère le texte en Allemand. Tout le texte affiché en anglais 2 French.cs Cette classe gère le texte en Allemand. Tout le texte affiché en français 3 FullFillDemo Cette classe est utilisée pour l’introduction des valeurs par défaut. Le DataBase.cs projet « Demo USIC » et le candidat « Gilberto Matos » sont introduits 4 German.cs Cette classe gère le texte en Allemand. Tout le texte affiché en Allemand 5 HermesCand Cette classe est utilisée pour la gestion des fichiers temporaires lier à idateAdress Management dans l’application provient de la présente classe. dans l’application provient de la présente classe. depuis la présente classe. dans l’application provient de la présente classe. l’adresse du candidat. .cs 6 HermesCand Cette classe est utilisée pour la gestion des fichiers temporaires lier au idateManage candidat. HermesProje Cette classe est utilisée pour la gestion des fichiers temporaires lier au ment.cs 7 ctManageme nt.cs 8 projet crée par l’utilisateur. HermesConc Cette classe est utilisée pour la gestion de la phase de conception. La nagement.cs (de la phase de Conception) sont prises en charge par la présente classe. eptPhaseMa sauvegarde, la consultation, la suppression et la modification des données Cette classe est le pole de liaison entre les différentes interfaces lier à la phase de Conception et la base de données. 9 HermesInitia Cette classe est utilisée pour la gestion de la phase d’initialisation. La eManageme (de la phase d’initialisation) sont prises en charge par la présente classe. lizationPhas nt.cs 10 Cette classe est le pole de liaison entre les différentes interfaces lier à la phase d’Initialisation et la base de données. HermesPreA Cette classe est utilisée pour la gestion de la phase d’analyse préliminaire. nalysisPhase La sauvegarde, la consultation, la suppression et la modification des .cs présente classe. Cette classe est le pole de liaison entre les différentes Management 11 sauvegarde, la consultation, la suppression et la modification des données données (de la phase d’Analyse préliminaire) sont prises en charge par la interfaces lier à la phase d’Analyse préliminaire et la base de données. TheCandidat La sauvegarde, la consultation, la suppression et la modification des ment.cs classe est le pole de liaison entre les différentes interfaces lier au candidat eDBmanage données (du candidat) sont prises en charge par la présente classe. Cette et la base de données. Gilberto Matos - Rapport Final - Hermes Manager 45/65 Nr. Les classes Descriptions 12 TheDataBase Cette classe est utilisée pour la création de la base de données Management « hermesDataBase.sdf ». La base de données est crée au premier TheProjectD La sauvegarde, la consultation, la suppression et la modification des nt.cs classe est le pole de liaison entre les différentes interfaces lier au projet et .cs 13 14 démarrage du HePocket. données (du projet) sont prises en charge par la présente classe. Cette Bmanageme la base de données. TheWorking Cette classe gérer la langue de travail. Elle sauvegarde ou modifie la langue Language.cs de travail dans le fichier « SaveLanguage.TXT ». Le langage Visual C# ajoute automatiquement des références aux DLL de la bibliothèque de classes les plus couramment utilisées, par exemple « System.Data ». 13.4 Les concurrents de .NET Compact Framework Pour le développement des applications sur des appareils de poches, comme les PDA, Smartphone etc. il existe plusieurs environnent de travail et développement, p. ex. Java 2 Mobile Edition, Brew (Qualcomm), Palm OS et naturellement .NET Compact Framework. .Net est un ensemble de technologies conçu pour améliorer la productivité du développeur, l'accent étant mis plus spécifiquement sur les exigences des programmes dans un environnement réseau (c'est-à-dire Internet). (Réf : DocP 5) Les développeurs élaborent leurs programmes au moyen des blocs fonctionnels qu'ils trouvent dans .Net. Ce dernier remplit également la fonction d'environnement contrôlé dans lequel ces programmes peuvent être exécutés. (Réf : 1) Cet environnement contrôlé empêche totalement de commettre certaines erreurs courantes de programmation qui peuvent avoir des répercussions sur la sécurité, par exemple des dépassements de mémoire tampon, tout en multipliant le nombre des options de sécurité disponibles. Bref, une "structure de développement" comme .Net permet de produire du code qui contient moins de bugs, est plus sûr, possède plus de fonctions et est plus facile à développer. Gilberto Matos - Rapport Final - Hermes Manager 46/65 Palm OS : Palm OS est un système d'exploitation pour appareils mobiles édité par Palm source, séparé en 2003 de la société Palm (PalmOne depuis). Initialement conçus pour les PDA (assistants personnels numériques) de Palm, Palm OS a été adopté par beaucoup d'autres fabricants. (Réf : 9) Palm OS vient d'être abandonné par la compagnie qui l'avait acheté il y a quelques années. Access à annoncer le 18 octobre 2006 que le système Palm OS allait être remplacé définitivement par Access Linux Plateforme. (Réf : 7) Java 2 Mobile Edition : Java 2 Micro Edition est une architecture technique dont le but est de fournir une base de développement des applications embarquées. L’intérêt étant de proposer toute la puissance d’un langage tel que Java associé aux services proposés par une version bridée du Framework J2SE : J2ME. (Réf : 3) JavaFX Mobile est un logiciel dédié aux appareils mobiles. Il est disponible via les licences OEM accordées aux opérateurs, aux fabricants de combinés et aux autres sociétés désireuses de simplifier et d'accélérer le développement d'un logiciel standardisé puissant qui peut être exploité sur une large palette d'appareils grand public. (Réf : 3) Les terminaux n’ayant pas la même capacité en terme de ressources que les ordinateurs de bureau classiques (mémoire, disque et puissance de calcul), la solution passe par la fourniture d’un environnement allégé afin de tenir compte des différentes contraintes d’exécution. Cependant, comment faire en sorte d’intégrer la diversité de l’offre à une base technique dont la cible n’est pas définie à priori ? La solution proposée par J2ME consiste à regrouper par catégories certaines familles de produits, tout en proposant la possibilité d’implémenter des routines spécifiques à un terminal donné. (Réf : 3) Brew (Binary Runtime Environment for Wireless) : de Qualcomm est une technologie émergente permettant de télécharger des applications à partir du Web. Ces applications peuvent ensuite extraire d'autres données du Web ou être exécutées hors ligne. (Réf : 4) Gilberto Matos - Rapport Final - Hermes Manager 47/65 Quels sont les avantages de .NET ? L'initiative .NET représente un effort systématique visant à rendre la programmation plus efficace. Il faut savoir que .NET n'est pas une seule chose, mais plusieurs. Chaque élément de .NET représente une manière de faciliter l'écriture du code ; regroupés, ils représentent une réorientation majeure voire, pour certain, une petite révolution. (Réf. 1) Pour les clients Microsoft de longue date, il s'agit quasiment d'une réinvention de Microsoft, résolument axée sur Internet. Et tous ceux qui développent des logiciels pour une version quelconque de Windows — bureau ou embarquée — doivent évaluer dans quelle mesure (et non pas si) .NET les concerne. (Réf. 1) Quels sont les désavantages de .NET ? En développement une application sur l’environnement .NET Framework, il y a une certaine forme de dépendance. Il est bien moins coûteux de faire évoluer la technologie existante que de la changer radicalement, mais lorsque la décision est prise d’interrompre le support, il faut y aller et se former - sans quoi l'on se retrouve dans une situation d’outsider. Le .NET Framework est plus lourd au niveau des DLL, donc pas rentable sur des petits projets et il est normalisé par Microsoft. Gilberto Matos - Rapport Final - Hermes Manager 48/65 13.5 Les schémas relationnels et les tables (ERD) La table est un ensemble de données organisé selon un modèle de lignes et de colonnes, pouvant varié selon le fabricant. Chaque table est l'implémentation physique d'une relation, c’est la représentation d’un objet, par exemple la table « Candidate » représente l’objet candidat. Les tables sont un des éléments importants dans la création de la base de données « hermesDataBase.sdf », parce que les saisies qui seront effectué par l’utilisateur seront sauvegardées dans les tables. J’ai choisit l’anglais comme langue, pour l’écriture des noms des tables et des champs. Le SQL est le langage par défaut pour travailler avec les tables. Le schéma relationnel Ce document décrit les tables qui constituent la base de données "hermesDataBase.sdf". Vous trouvez dans ce document le schéma relationnel entre les tables. Pour la création de la base de données "hermesDataBase.sdf" j’utilise le programme SQL Mobile et QueryAnalyzer pour visualiser son contenu. L’objectif principal est de montré comme la base de données a été conçue et rendre les éléments constituant de la base de données visibles. Gilberto Matos - Rapport Final - Hermes Manager 49/65 Le candidat et son adresse Un candidat a une adresse et une adresse appartient à un candidat. L’addition et la suppression d’un candidat et de son adresse sont garanties par la SGBD. En additionnant une adresse le système attribue au candidat le respectif numéro de référence vers la table Address. Candidate Habite Candidate_id 1,1 Address AddressCandidate_id street title streetNumber lastName zip firstName city birthday phone profession mobile 1,1 observation Email Ref_Candidate Website Le candidat et le projet Un candidat participe à un ou plusieurs projets et un projet a un candidat comme leader. Candidate Candidate_id 1,1 Project Participe Project_id title projectName lastName creationDate firstName birthday profession observation RefAddress creationHour 1,1 Identificationkey projectGoals projectNotes RefCandidate Gilberto Matos - Rapport Final - Hermes Manager 50/65 La table projet et la table phase d’initialisation Un projet est constitué d’une phase d’initialisation et une phase d’initialisation est liée à un projet. 1,1 Project InitializationPhase InitializationPhase_id Project_id finishedPhase projectName Constitué creationDate creationHour RefCheckListSelectingleader RefCheckListComposingBoard RefDecisionPointProjectMandate identificationKey projectGoals RefManagerResponsibilities 1,1 projectDescription RefInitializationPhase La table projet et la table phase d’analyse préliminaire Un projet est constitué d’une phase d’analyse préliminaire et une phase d’analyse préliminaire est liée à un projet. 1,1 Project PreAnalysisPhase Project_id Constitué projectName PreAnalysisPhase_id creationDate finishedPhase identificationKey RefDecisionPointSolutionSelection RefDecisionPointAgreementGoals creationHour projectGoals projectDescription 1,1 RefPhaseReleaseConcept RefPreAnalysis Gilberto Matos - Rapport Final - Hermes Manager 51/65 La table projet et la table phase de conception Un projet est constitué d’une phase de conception et une phase de conception est liée à un projet. Project 1,1 Project_id projectName Constitué creationDate ConceptPhase ConceptPhase_id finishedPhase creationHour RefDecisionPointConcept identificationKey projectGoals projectDescription RefPhaseReleaseImplementation 1,1 RefConceptPhase La table projet et la table phase de réalisation Un projet est constitué d’une phase de réalisation et une phase de réalisation est liée à un projet. Project 1,1 Project_id projectName Constitué creationDate ImplementationPhase ImplementationPhase_id creationHour finishedPhase identificationKey projectGoals projectDescription RefImplementationPhase 1,1 RefDecisionPtSysSpfication RefDecisionPtSysCopletion RefPhaseReleaseDeployme nt Gilberto Matos - Rapport Final - Hermes Manager 52/65 La table projet et la table phase d’introduction Un projet est constitué d’une phase d’introduction et une phase d’introduction est liée à un projet. 1,1 Project Project_id DeployementPhase Constitué projectName DeploymentPhase_id creationDate finishedPhase creationHour Ref_DecisionPointSysMigration identificationKey projectGoals 1,1 projectDescription RefDeploymentPhase Ref_DecisionPtSysAcceptance Ref_PhaseReleaseFinalization Ref_Project La table projet et la table phase de finalisation Un projet est constitué d’une phase de finalisation et une phase de finalisation est liée à un projet. Project Project_id 1,1 projectName Constitué creationDate creationHour projectDescription FinalizationPhase_id RefCheckListProjectFinalization identificationKey projectGoals FinalizationPhase 1,1 finishedPhase RefManagerTask RefFinalizationPhase Gilberto Matos - Rapport Final - Hermes Manager 53/65 Les tables (champs et types de valeurs) Les champs sont des constituent des tables. L’accès aux informations stockées dans les tables, s’est effectué depuis les champs. J’utilise la table « Candidate » pour le traitement et stockage des données sur le candidat. Le candidat est un objet actif. Il est évalué par l’utilisateur du HePocket comme un possible élément capable de diriger un projet. La table candidat Table : Candidate Nom du champ Type Taille Candidate_id LongInteger title texte 10 lastName texte 20 firstName texte 20 birthday date profession texte observation memo Ref_Address LongInteger Remarques Clef d’identification primaire Format : jj.mm.aaa (p. ex. 19.02.1978) 15 Référence vers la table « AddressCandidate » La table adresse du candidat J’utilise la table « AddressCandidate » pour le traitement et stockage de l’adresse du candidat. L’adresse du candidat offre à l’utilisateur du HePocket des informations supplémentaires sur le candidat. Table : AddressCandidate Nom du champ Type Taille ID_AddressCandidate LongInteger Street texte 20 streetNumber texte 6 Zip texte 6 City texte 20 Phone texte 20 Mobile texte 20 Email hypertexte Website hypertexte Remarques Clef d’identification primaire Gilberto Matos - Rapport Final - Hermes Manager 54/65 La table projet La table « Project » est destinée au stockage et traitements des informations des projets. Table : Project Nom du champ Type Project_id LongInteger Taille Remarques projectName Texte creationDate date Format : jj.mm.aaa (p. ex. 19.02.1978) creationHour date Format : 24 heures (p. ex. 12:30) identificationKey texte projectGoals memo projectDescription memo projectNotes memo refInitializationPhase LongInteger Référence vers la table « InitializationPhase » refIPreAnalysisPhase LongInteger Référence vers la table « PreAnalysisPhase » refConceptPhase LongInteger Référence vers la table « ConceptPhase » Clef d’identification primaire 25 50 La table pour la phase d’initialisation La table «InitializationPhase » est destinée à la sauvegarde des informations concernant la phase de Initialisation. Table : InitializationPhase Nom du champ Type Taill ID_InitializationPhase LongInteger Clef d’identification primaire finishedPhase boolean Valeur par défaut « non ». Indique la refCheckListSelectingleader LongInteger Référence vers la table refDecisionPointprojectMandate LongInteger Référence vers la table refManagerResponsibilities LongInteger Référence vers la table refCheckListComposingBoard LongInteger Référence vers la table refDecisionPointProjectMandate LongInteger Référence vers la table e Remarques conclusion de la phase « CheckListSelectingleader » « DecisionPointProjectMandate » « ManagerResponsibilities » « checkListComposingBoard » « DecisionPointProjectMandate » Gilberto Matos - Rapport Final - Hermes Manager 55/65 La table pour la check liste : choix d’un chef de projet La table « CheckListSelectingleader » est destinée au stockage des informations concernant la check liste « choix d’un chef de projet ». Table : CheckListSelectingleader Nom du champ Type CheckListSelectingleader_id LongInteger Taille InternalEmployee boolean ExternalEmployee boolean CommunicationSkillsNo boolean CommunicationSkillsYes boolean projectLeaderShipNo boolean projectLeaderShipYes boolean SuccessfulProjectsNo boolean SuccessfulProjectsYes boolean Remarques Clef d’identification primaire La table pour la check liste : composition du comité de projet La table « checkListComposingBoard » est destinée au stockage des informations concernant la check liste « composition du comité de projet ». Table : CheckListComposingBoard Nom du champ Type checkListComposingBoard_id LongInteger DecisionMakingInvolvedYes boolean DecisionMakingInvolvedNo boolean PeopleResponsibleYes boolean PeopleResponsibleNo boolean RepresentativeRelevantGroupsYes boolean RepresentativeRelevantGroupsNo boolean Taille Remarques Clef d’identification primaire Gilberto Matos - Rapport Final - Hermes Manager 56/65 La table pour le Point de décision mandat de projet La table « DecisionPointProjectMandate » est destinée au informations concernant le point de décision « mandat de projet ». stockage des Table : DecisionPointProjectMandate Nom du champ Type DecisionPointProjectMandate_id LongInteger CorporateStrategyYes boolean CorporateStrategyNo boolean ProjectNecessaryYes boolean ProjectNecessaryNo boolean GoalsClearYes boolean GoalsClearNo boolean scheduleFeasibleNo boolean scheduleFeasibleYes boolean Taille Remarques Clef d’identification primaire La table pour la phase d’analyse préliminaire La table « PreAnalysisPhase » est destinée au stockage des informations sur la phase d’analyse préliminaire. Table : PreAnalysisPhase Nom du champ Type Taille Remarques PreAnalysisPhase_id LongInteger Clef d’identification primaire finishedPhase boolean Valeur par défaut « non ». Indique la refDecisionPointAgreementGoals LongInteger Référence vers la table refDecisionPointSolutionSelection LongInteger Référence vers la table refPhaseReleaseConcept LongInteger conclusion de la phase « DecisionPointAgreementGoals » « DecisionPointSolutionSelection » Référence vers la table « PhaseReleaseConcept » Gilberto Matos - Rapport Final - Hermes Manager 57/65 La table pour le Point de décision : accord sur objectifs La table «DecisionPointAgreementGoals » est destinée informations sur le point de décision « Accord sur objectifs ». au stockage des Table : DecisionPointAgreementGoals Nom du champ Type DecisionPointAgreementGoals_id LongInteger Taille Remarques Clef d’identification primaire refResultAssessmentSituation LongInteger Référence vers la table refResultSystemObjectives LongInteger Référence vers la table « ResultAssessmentSituation » « ResultSystemObjectives » La table pour le résultat : analyse de la situation La table « ResultAssessmentSituation » est destinée au stockage des informations sur le résultat « Analyse de la situation » du point de décision « accord sur objectifs ». Table : ResultAssessmentSituation Nom du champ Type ResultAssessmentSituation_id LongInteger ScopeInvestigationYes boolean ScopeInvestigationNo boolean AnalyseDepthYes boolean AnalyseDepthNo boolean ConsiderationsITYes boolean ConsiderationsITNo boolean Taille Remarques Clef d’identification primaire Gilberto Matos - Rapport Final - Hermes Manager 58/65 La table pour le résultat : objectifs du système La table « ResultSystemObjectives » est destinée au stockage des informations sur le résultat « Objectifs du système » du point de décision « accord sur objectifs ». Table : ResultSystemObjectives Nom du champ Type ResultSystemObjectives_id LongInteger SystemObjectivesYes boolean SystemObjectivesNo boolean SystemConflictYes boolean SystemConflictNo boolean SystemCorporateYes boolean SystemCorporateNo boolean Taille Remarques Clef d’identification primaire La table pour le Point de décision : choix de la solution La table «DecisionPointSolutionSelection » est destinée au stockage des informations sur le point de décision « Choix de la solution ». Table : DecisionPointSolutionSelection Nom du champ Type DecisionPointSolutionSelection_id LongInteger Taille Remarques Clef d’identification primaire refResultSystemRequirements LongInteger Référence vers la table refResultProposedSolutions LongInteger Référence vers la table « ResultSystemRequirements » « ResultProposedSolutions » Gilberto Matos - Rapport Final - Hermes Manager 59/65 La table pour le résultat : exigences envers le système La table « ResultSystemRequirements » est destinée au stockage des informations sur le résultat « exigences envers le système » du point de décision « choix de la solution ». Table : ResultSystemRequirements Nom du champ Type ResultSystemRequirements_id LongInteger SystemRequirementsYes boolean SystemRequirementsNo boolean ImportantPartYes boolean ImportantPartNo boolean PresentPhaseYes boolean PresentPhaseNo boolean Taille Remarques Clef d’identification primaire La table pour le résultat : propositions de solution La table « ResultProposedSolutions » est destinée au stockage des informations sur le résultat « proposition des solutions » du point de décision « choix de la solution ». Table : ResultProposedSolutions Nom du champ Type ResultProposedSolutions_id LongInteger SearchSolutionsYes boolean SearchSolutionsNo boolean ObjectivesAttainableYes boolean ObjectivesAttainableNo boolean ReasonableSolutionsYes boolean ReasonableSolutionsNo boolean ProjectedSolutionsYes boolean ProjectedSolutionsNo boolean Taille Remarques Clef d’identification primaire Gilberto Matos - Rapport Final - Hermes Manager 60/65 La table pour la phase de conception La table « ConceptPhase » est destinée à la sauvegarde des informations concernant la phase de conception. Table : ConceptPhase Nom du champ Type ConceptPhase_id LongInteger Taille Remarques Clef d’identification primaire finishedPhase boolean Valeur par défaut « non ». Indique la refDecisionPointConcept LongInteger Référence vers la table refPhaseReleaseImplementation LongInteger Référence vers la table conclusion de la phase « DecisionPointConcept » « PhaseReleaseImplementation » La table pour le Point de décision : concept La table «DecisionPointConcept » est destinée au stockage des informations sur le point de décision « Concept ». Table : DecisionPointConcept Nom du champ Type Taille Remarques DecisionPointConcept_id LongInteger Clef d’identification primaire Ref_ResultSolutionEquipement LongInteger Référence vers la table Ref_ResultStudyHePockets LongInteger Référence vers la table Ref_ResultsConcept LongInteger Référence vers la table « « ResultSolutionEquipement » « ResultStudyHePockets » ResultsConcept » Gilberto Matos - Rapport Final - Hermes Manager 61/65 La table pour le résultat : produits finis et moyens matériels La table «ResultSolutionEquipement » est destinée au stockage des informations sur le résultat « Produits finis et moyens matériels » du point de décision « concept ». Table : ResultSolutionEquipement Nom du champ Type ResultSolutionEquipement_id LongInteger OffShelfProductsYes boolean OffShelfProductsNo boolean FavourImplementationYes boolean FavourImplementationNo boolean MethodsIntroducedYes boolean MethodsIntroducedNo boolean Taille Remarques Clef d’identification primaire La table pour le résultat : études détaillées et prototypes La table « ResultStudyPrototypes » est destinée au stockage des informations sur le résultat « Etudes détaillées et prototypes » du point de décision « concept ». Table : ResultStudyPrototypes Nom du champ Type ResultStudyHePockets_id LongInteger CriticalSubSystemsYes boolean CriticalSubSystemsNo boolean ObjectivesScopeYes boolean ObjectivesScopeNo boolean HePocketsConceptYes boolean ObjectivesScopeNo boolean Taille Remarques Clef d’identification primaire Gilberto Matos - Rapport Final - Hermes Manager 62/65 Fichier projet format Texte (import / export) Gilberto Matos - Rapport Final - Hermes Manager 63/65 Fichier projet format XML (import / export) Gilberto Matos - Rapport Final - Hermes Manager