Composant GANTT. Compétences à mettre en œuvre



Documents pareils
SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Silhouette Studio Leçon N 2

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

EXCEL TUTORIEL 2012/2013

TUTORIAL Microsoft Project 2010 Fonctionalités de base

Gestion des documents avec ALFRESCO

COURS WINDEV NUMERO 3

Manuel d utilisation du logiciel RÉSULTATS. Édition destinée aux départements

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier

Excel 2007 Niveau 3 Page 1

Tutoriel. Votre site web en 30 minutes

EMPRUNTS DE LIVRES NUMÉRIQUES

Manuel d utilisation du site web de l ONRN

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

Création WEB avec DreamweaverMX

Formation. Module WEB 4.1. Support de cours

Table des matières ENVIRONNEMENT

Module 1 : Tableau de bord Excel * 2010 incl.*

Utilisation de l éditeur.

Premier cours d informatique

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

MANUEL GANTT PROJECT

Rapports d activités et financiers par Internet. Manuel Utilisateur

ht t p: // w w w.m e di al o gis.c om E - Ma i l : m ed i a l og i m e di a l o g i s. c om Envoi des SMS

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

Comptabilité. Guide de prise en main

Alfresco Guide Utilisateur

MEGA ITSM Accelerator. Guide de Démarrage

Guide de prise en main Windows 8

@telier d'initiation

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

Transférer des dossiers sur un disque amovible Votre support de formation

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Manuel de formation Spaceman 1 ère journée

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

Sommaire. BilanStat manuel de présentation et d utilisation Page 2

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

«Guide de connexion à l espace privé et déclaration en ligne sur cnv.fr»

Le langage C. Séance n 4

Créer le schéma relationnel d une base de données ACCESS

Aperçu de la sauvegarde sous Windows 7

CREG : versailles.fr/spip.php?article803

GUIDE Excel (version débutante) Version 2013

Conférence et partage avec NetMeeting

MEGA ITSM Accelerator. Guide de démarrage

Documentation Liste des changements apportés

145A, avenue de Port Royal, Bonaventure (Québec) G0C 1E0 Sans frais :

Utiliser un tableau de données

Ouvrir le compte UQÀM

1- Enregistrer le nouveau planning

LES TOUT PREMIERS PAS

Groupe Eyrolles, 2003, ISBN : X

Tutoriel Atout Facture. 14/01/2015 Codelpi

Installation et utilisation du client FirstClass 11

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

ZOTERO Un outil gratuit de gestion de bibliographies

Table des Matières. Pages 3-4. A propos d emblue. Page 5. L environnement emblue. Création d une campagne d marketing. Pages 6-15.

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Niveau 1. Atelier d'initiation à l'ordinateur ... Fondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél.

Procédures d'utilisation de Maitre'D

Création d un formulaire de contact Procédure

Comment utiliser FileMaker Pro avec Microsoft Office

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Si vous décidez d utiliser un autre chemin, c est ce nouveau chemin qu il faudra prendre en compte pour la sauvegarde. Cf. : Chapitre 9 Sauvegarde

Google Drive, le cloud de Google

Planification et suivi de projet avec MSProject

Débuter avec Excel. Excel

Antidote et vos logiciels

Convention sur la conservation des espèces migratrices appartenant à la faune sauvage

Atelier Découverte de Windows. janvier 2012

Débuter avec OOo Base

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Organiser vos documents Windows XP

1- Enregistrer le nouveau planning

Groupe Eyrolles, 2006, pour la présente édition, ISBN :

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

MO-Call pour les Ordinateurs. Guide de l utilisateur

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

Mon aide mémoire traitement de texte (Microsoft Word)

Utiliser une base de données

Utilisation du nouveau webmail académique

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Correction des Travaux Pratiques Organiser son espace de travail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Internet Marketing Manager

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Gestion des fichiers sur micro-ordinateur

Base est le module pour les bases

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

The Grid 2: Manuel d utilisation

MEGA Application Portfolio Management. Guide d utilisation

Transcription:

Composant GANTT C# Compétences à mettre en œuvre C4.1.6.1 Mettre en place et exploiter un environnement de développement C4.1.6.2 Mettre en place et exploiter un environnement de test C4.1.7.1 Développer les éléments d une solution C4.1.7.2 Créer un composant logiciel C4.1.7.3 Analyser et modifier le code d un composant logiciel C4.2.1.3 Concevoir les mises à jour à effectuer C4.2.1.4 Réaliser les mises à jour C4.2.2.1 Repérer les évolutions des composants utilisés et leurs conséquences C4.2.2.2 Concevoir les mises à jour à effectuer C4.2.2.3 Élaborer et réaliser les tests unitaires des composants mis à jour C5.2.1.1 Évaluer le degré de conformité des pratiques à un référentiel, à une norme ou à un standard adopté par le prestataire informatique C5.2.1.2 Identifier et partager les bonnes pratiques à intégrer C5.2.4.1 Se documenter à propos d une technologie, d un composant, d un outil ou d une méthode C5.2.4.2 Identifier le potentiel et les limites d'une technologie, d un composant, d un outil ou d une méthode par rapport à un service à produire SLAM 2 - Page 1

CONTEXTE et DEMANDE Le but est de pouvoir disposer d un composant capable de gérer un diagramme de Gantt. Le composant pourra, par exemple, être utilisé dans un contexte d une SSII qui souhaite planifier les différentes interventions de ses informaticiens sur ses différents projets. Une interface de saisie est prévue. Elle sera composée d un diagramme de GANTT par projet (il a été décidé de commencer avec 2 projets à planifier). L application devra être capable de vérifier qu il y a pas d incohérence dans la planification (un même intervenant qui intervient à la même date sur les deux projets). Compte tenu de ces besoins, une première analyse a permis de déterminer que le composant doit permettre de : - Définir la durée maximum du projet ; - Saisir la liste des intervenants : pour chaque intervenant, on devra gérer son nom et son prénom ainsi qu une couleur distinctive ; - Saisir la liste des tâches à accomplir : pour chaque tâche, on devra gérer sa désignation ainsi que sa durée prévue et sa durée restante (durée non encore planifiée) ; - Affecter les intervenants aux tâches via un simple clic ou double clic sur la liste des intervenants ; - Dans un premier temps, le composant sera basé sur des unités temporelles simplement numérotées de 1 à n ; - Le composant devra exposer des listes typées : la liste des intervenants et la liste des tâches à réaliser. Le composant à créer sera basé sur une DataGridView. Phase 1 : environnement Afin de mettre en place correctement l environnement de développement, vous devrez créer une solution avec : - Un projet de type Bibliothèque de Classes nommé Gantt ; - Un Contrôle Uilisateur nommé LeDiagramme inclus dans ce projet ; Le composant doit régulièrement être testé dans un projet de type Windows Form par exemple. Afin d optimiser le développement, ce projet de test sera inclus dans la solution : - Ajouter à la solution un projet de test, de type Windows Form, nommé TestComposant ; - Définissez ce projet comme projet de démarrage ; - Renommer le formulaire de test en FormTest.vb ; - Changer son entête en «Test du composant». Le composant va se composer de plusieurs éléments : - Le code du composant lui-même, - Une classe nommée Intervenant, - Une classe nommée Tache, SLAM 2 - Page 2

Vous devez donc créer : - Une classe nommée Intervenant, stockée dans un fichier de même nom ; - Une classe nommée Tache, stockée dans un fichier de même nom ; - Un diagramme de classes permettant de visualiser l ensemble des classes. A ce stade, vous devriez donc avoir : Phase 2 : la classe Intervenant Elle va permettre de gérer les différents intervenants sur le projet. Pour chaque intervenant, on ne gère que leur nom et leur prénom. Le diagramme de GANTT étant un outil de représentation, chaque intervenant devra être associé à une couleur choisie parmi les couleurs standardisées de Windows. Cette classe ne présente aucune difficulté, on pourra donc utiliser le concept de propriété pour permettre l accès aux trois éléments privés cités. Il est également demandé de créer une propriété publique en lecture seule qui permet de récupérer les initiales de l intervenant sous la forme Initiale du prénom suivie de l Initiale du nom. Vous devriez obtenir, à la fin de cette phase : SLAM 2 - Page 3

Phase 3 : la classe Tache Cette classe va permettre de gérer les différentes tâches du projet. Chaque tâche est liée à une désignation et à une durée de planifiée. Il est préférable de gérer également la durée non encore répartie entre les différents intervenants. Par défaut, lors de l instanciation d une tâche, cette durée est initialisée à la durée de la tâche. On définira 3 propriétés publiques pour accéder aisément à ces attributs privés : - DescriptionTache : valorise et retourne la désignation de la tâche ; - DureeTache : valorise et retourne la durée de la tâche ; - ResteTache : retourne la durée restante (la durée non encore planifiée) de la tâche. Cette propriété est en lecture seule. Il est également demandé de gérer les méthodes publiques suivantes : - Fonction booléenne Enlever (entier) qui enlève des unités de temps à la durée de la tâche. Cette fonction retourne faux si une erreur est apparue, vrai sinon. - Fonction booléenne FinDePlanification() : retourne vrai si la tâche est entièrement répartie ; - Fonction booléenne AucunePlanification() : retourne vrai si la tâche n a pas commencé à être planifiée. Vous devriez obtenir, à la fin de cette phase : SLAM 2 - Page 4

Phase 4 : Dessinons le composant Si vous regardez l interface graphique DiagrammeDeGantt.vb, vous aurez un écran qui vous semble vide : En réalité, ce que vous obtenez, correspond à l espace utilisé par votre composant dans le Windows Form dans lequel il sera utilisé. Il convient donc de calculer au plus juste la taille de votre contrôle. Notre composant sera basé sur un DataGridView. - Placez un contrôle de ce type dans votre composant, et nommé «dg» le DataGridView que vous avez placé. Afin de simplifier les traitements à venir, il faut ajuster les bords de votre composant avec les bords du Data GridView. Ainsi, il faut éviter : dg Espace du composant Vous devriez plutôt obtenir : SLAM 2 - Page 5

Quand un programmeur utilisera ce composant, il sera amené à le redimensionner à sa guise. Afin de lier le DataGridView au bord du composant, modifiez la propriété Anchor du DataGridView. Phase 5 : Générons et utilisons le composant Le composant est désormais, graphiquement, créé. Nous devons le générer afin de pouvoir l utiliser et le tester dans notre formulaire de test. La génération d un composant est une génération de bibliothèques de classes que vous connaissez. - Générer la bibliothèque nommée MonComposant. Le composant doit pouvoir être utilisé dans notre projet de test. - La boîte à outil contient, de manière automatique, le nouveau composant.net que vous êtes en train de créer. Vous devriez obtenir : Pour manipuler le composant, il suffit de le manipuler comme tout autre composant et d utiliser le glisserdéplacer sur le formulaire. - Poser un composant «LeDiagramme» sur votre interface et répondez aux questions suivantes : o Comment se nomme le composant dans votre interface? o Voyez-vous le nom «dg» quelque part dans la liste des propriétés? o Avez-vous possibilités d ajouter des lignes ou des colonnes dans votre composant? - Renommer le composant en «Planning1». Phase 6 : Premiers pas dans la programmation du composant Compte tenu de ce que vous avez observé dans la phase précédente, notre composant n expose aucune méthode. Il faut donc que notre composant expose des méthodes qui permettent d agir sur le DataGridView qui le compose. SLAM 2 - Page 6

Dans un premier temps, notre contrôle doit se baser sur un ensemble de Tâches et d Intervenants qui vont devoir accomplir ses tâches. Dans notre composant, nous allons donc utiliser deux listes privées typées : private List<Intervenant> LesIntervenants = new List<Intervenant>(); private List<Tache> LesTaches = new List<Tache>(); Ainsi qu un entier permettant de gérer le nombre d unité de temps maximum du projet Gantt : private int dureeprojet = 0 Ces données étant privées, il faut utiliser des propriétés pour permettre leur manipulation par l utilisateur du composant. - Ecrire les 2 propriétés publiques permettant de gérer les accès à ces propriétés privées. Vous nommerez ces propriétés : o ToutesLesTâches pour gérer LesTâches (propriété en lecture seule) o TousLesIntervenants pour gérer Intervenants - Créer une méthode AjouterUneTache. Cette méthode ajouter une tâche passée en paramètre à la LIST des tâches. Cette méthode commence à construire le DataGridView en ajoutant des colonnes en fonction de la durée de la tâche à ajouter. Ainsi, si la tâche a une durée de 3, la méthode ajoute 3 colonnes à dg (voir la propriété Colums de dg pour réaliser ce traitement). - Créer une méthode AjouterUnIntervenant qui ajoute un intervenant passé en paramètre à la LIST des intervenants. - Générer le composant ; - Utiliser l évènement Form_Load du formulaire de test afin de créer le planning suivant : Tâche T1, durée 4 Tâche T2, durée 2 Tâche T3, durée 3 Intervenants : Delphine BOCQ en Color.Purple Frédéric BAURAND, en Color.Red Rui ALVES, en Color.Green Geoffray JUILLARD, en Color.Orange Olivier THEVENIN en Color.Silver - Tester la syntaxe de votre code et le bon chargement. - Examiner votre composant en mode réel : il doit se composer de 3 lignes et de 9 colonnes. Phase 7 : Paramètres du DataGridView Il faut maintenant remplir le DataGridView avec les informations contenues dans les différentes listes typées. SLAM 2 - Page 7

- Modifier la méthode AjouterTâche pour qu elle remplisse l entête de la ligne avec le nom de la tâche et qu elle renseigne les entêtes de colonnes avec l unité de temps. - Modifier le constructeur du composant afin qu il créée 2 colonnes qui présentent la durée de la tâche et sa durée restante. Vous devriez obtenir : Phase 8 : Affectation des ressources à chaque tâche Dans cette phase, nous allons affecter les ressources (les intervenants) aux différentes tâches. De nombreuses solutions sont envisageables. Parmi ces possibilités, voici celle qui est retenue : - L utilisateur du composant sélectionne des cases à affecter dans le diagramme de GANTT ; - Il utilise le clic DROIT de la souris pour faire apparaître la liste des intervenants ; - Les intervenants apparaissent sur fond clair et dans la couleur qui les représente ; - Il utilise le clic sur la liste pour sélectionner son intervenant ; - La liste des intervenants s occulte, les initiales de l intervenant ainsi que la couleur qui le représente apparaissent dans les cases sélectionnées. - Vous devriez obtenir : Et si on clique sur Delphine Bocq, on aura : SLAM 2 - Page 8

- Pour réaliser cela, il suffit d ajouter un composant de type ContextMenuStrip au composant. Ce composant sera enrichi par les noms des intervenants lors de l ajout des intervenants au composant. - Un clic droit sur la sélection des cellules dans dg fait apparaitre le menu contextuel (utiliser Cursor.Position pour leur faire apparaître au bon endroit!). - Un click sur un item du menu contextuel placera les initiales de l intervenant sélectionné dans la grille. Cela décrémentera également la durée restante de la tâche à l aide de la méthode appropriée. Vous devriez avoir : Phase 9 : finalisations Voici quelques pistes pour aller plus loin dans le développement de ce composant : - Contrôle sur la durée de la tâche : quand on place un intervenant sur une tâche, il serait bon de contrôler que la durée qui lui est affecté ne dépasse pas la durée totale de la tâche, compte tenu des précédentes affectations. - Le composant utilise une unité de temps non précisé. Il serait bon de pouvoir choisir cette unité. - Il est possible d étendre le composant en lui permettant d exposer des évènements, comme le fait qu une tâche soit totalement affectée ou que toutes les tâches soient planifiées. - Il serait intéressant que le composant puisse retourner un tableau à deux dimensions ou une collection permettant de connaître les dates d interventions des intervenants, et la tâche sur laquelle ils interviennent. - Si l utilisateur du composant se trompe, il faut qu il recommence toute sa planification. Il serait bon de pouvoir annuler une affectation. - Il serait sympathique de changer l icône représentative du composant. SLAM 2 - Page 9