Anda di halaman 1dari 19

Universit dAvignon Master Informatique 2012-2013 Modlisation du Logiciel (RGLA) TP : Modlisation du systme directory

1. Objectif du TP

partir de la spcification du systme directory dtermine dans le cours Use Case , vous allez modliser ce systme, le raliser et le tester avec une application de tests. Ce TP est not et chaque tudiant doit rendre son projet Eclispe sous forme d'une archive qu'il dposera sur la plateforme e-UAPV. Ce projet comprendra les sources Java et les diagrammes UML. Le but est que chaque tudiant ralise l'ensemble des tches de ce TP. Naturellement il pourra changer avec ses camarades et les enseignants sur les solutions dvelopper. Mais il est indispensable qu'il ralise lui mme l'ensemble des tches. Tous projets qui seront considrs comme des plagias ne seront pas nots, la place les tudiants impliqus dans ces plagias devront passer un oral. Pour raliser ce TP, nous utiliserons Eclipse classic 3.7 et le plugin Green UML qui sont des logiciels open source que vous pouvez installer sur vos ordinateurs. Pour tlcharger et installer Eclispe : http://www.eclipse.org/downloads/ Pour installer les plug-ins, voici la marche suivre : 1) ouvrir l'installeur Eclipse "Help>Install New Software" 2) dans le champ "work with" mettre l'adresse du site du plug-in http://www.cse.buffalo.edu/faculty/alphonce/green 3) slectionner les lments installer puis faire Next. Pour Green, il faut tous les installer. 4) confirmer les lments installer par Next. 5) Accepter la licence et faire Finish.

Modlisation du Logiciel (RGLA) - directory (09/12)

2.
2.1.

Apprendre Green
Objectif

Vous commencerez crer le diagramme de classes qui dbute l'analyse cf. transparent 20 du cours Analyse . On a l'habitude en Java d'interner les paquetages au sein de paquetages reprsentants l'organisation pour viter les conflits de nom, la hirarchie de paquetages sera donc : fr.univavignon.m1informatique.rgla.directory . Dans la suite du document quand on parlera d'un nom du paquetage, on sous-entendra dans le nom la partie correspondant l'organisation. Par exemple pour

fr.univavignon.m1informatique.rgla.directory on crira directory . Vous crerez ce diagramme en utilisant l'diteur de diagramme de Green et l'diteur Java d'Eclipse, ce qui vous permettra de choisir la reprsentation la plus adapte votre travail. Le tutoriel qui suit va vous permettre d'effectuer cette tche et vous apprendre les rudiments d'Eclipse et de Green UML.

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

Mais rappelez-vous qu' tout moment, vous trouverez l'ensemble de la documentation intressante sur Eclispe et Green UML dans la documentation en ligne que vous pouvez atteindre partir du menu Help .

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

2.2.

Tutoriel

Cration du projet Java :

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

Cration du paquetage directory

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

Cration du digramme de classes CD1

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

Dfinition du digramme de classes CD1

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

Cration de la classe DistinguishedNamedObject - slectionnez classe et dposez la classe.

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

Dfinissez la classe :

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

10

Complter la classe directement dans l'diteur Java. Pour cela, cliquez 2 fois sur la classe dans le diagramme de classes.

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

11

Le code et le diagramme sont synchroniss, vous pouvez utiliser la reprsentation dans laquelle vous tes les plus l'aise. Ne vous cassez pas la tte utilisez Eclipse pour corriger vos erreurs.

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

12

Maintenant, crez la classe DistinguishedNamedObjectServer directement en Java

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

13

Dposez la classe sur le diagramme de classe :

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

14

Construisez, par l'une ou l'autre des mthodes, les autres objets du diagramme. Attention les classes User et DNObject1 sont faites pour tester, il ne faut donc pas les mettre dans le package directory , mais dans un package directory.tests . Une fois les classes cres, nous allons crer les relations. Pour cela, il suffit de slectionner dans la palette la relation que vous voulez positionner et connecter deux objets.

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

15

Vous rptez l'opration pour les autres oprations et vous devez obtenir le schma suivant :

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

16

3.

Complter L'analyse

Vous allez maintenant complter l'analyse en suivant les tapes suivantes. Attention, les diagrammes du cours ne sont que des exemples pour vous faire comprendre la dmarche d'analyse, ils ne sont en aucun cas une correction de l'analyse. Pour que votre travail d'analyse soit conserv, vous allez faire l'analyse dans un sous package de directory analyse . Pour ne pas mettre le travail que vous venez de faire, il suffit de renommer le paquetage directory en directory.analysis (cf. copie d'cran).

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

17

3.1.

Compltez les classes existantes

En rflchissant la vocation de chaque classe et en vous inspirant du cours, compltez le diagramme. 3.2. Introduction de la classe DistinguishedName

On vous demande d'introduire cette classe et de modifier votre diagramme pour la prendre en compte. 3.3. Analyse du programme de tests

Le programme de test est trs simple, il est compos des classes suivantes : Message : qui hrite de DNO, cette classe contient un message qui peut tre lu. Reader : qui lit un message la console et qui cre un objet Message . Reader passe le nom du message Writer pour qu'il puisse l'crire. Writer : qui demande le message au DNOServer et qui l'imprime la console. Main : qui est la classe qui contient la mthode principale main qui cre et active les autres classes. Vous allez faire l'analyse de votre application de tests pour vous assurer que vous avez bien compris. Cette analyse sera ralise dans le paquetage directory.tests.analysis .

4.

Conception itrative de prototypes

Pour bien comprendre l'activit de design vous allez partir de votre analyse concevoir des prototypes itratifs qui chaque fois introduiront des concepts de design de plus en plus en plus complexes. La ralisation et le test de ces prototypes vous permettront de vous assurer que votre design est pertinent et que les concepts Java manipuls sont bien compris. Le programme de tests des diffrents prototypes fera toujours la mme chose, mais il sera chaque fois implment avec des versions diffrentes de votre package directory . Pour que l'on puisse valuer chacune de ces versions, vous les dvelopperez dans des packages diffrents et vous ferez chaque fois un programme de test diffrent dans un sous paquetage de tests . Pour chaque programme de tests quand vous l'excuter par le menu contextuel (Run As Java Application) vous crez un launcher que vous pouvez excuter partir de l'icone run () et diter partir de cette icne ( Run Configurations) en particulier pour en changer le nom. Pour crer un prototype partir du prototype prcdent, il vous suffit de copier coller le paquetage contenant le prototype, ATTENTION vous devez dtruire les diagrammes de classes Green et les recrer partir du menu contextuel (Green UML add to new class diagramm), ce qui a effet de placer toutes les classes dans le diagramme. Le copier-coller de paquetage recre les classes mais gardes les anciennes dpendances, pour les changer il faut diter les import .

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

18

4.1.

Directory simple

partir de votre analyse, vous allez concevoir (diagramme de classes) et implmenter (codes Java) un prototype le plus simple possible. Ce prototype sera ralis dans le paquetage directory.design1 . Vous allez concevoir et implmenter votre application de tests dans le package directory.tests.design1 . Vous allez tester et modifier jusqu' avoir un programme qui fonctionne correctement.

4.2.

Directory avec un DNOServer Abstrait

En suivant le cours, vous allez concevoir et implmenter un prototype permettant d'avoir plusieurs implmentations du DNOServer. Ce prototype sera ralis dans le paquetage directory.design2 . Vous raliserez deux implmentations locales avec des structures de donnes diffrentes dans les paquetages directory.design2.local1 , directory.design2.local2 . Vous allez concevoir et implmenter votre application de tests dans le package directory.tests.design2 . Vous allez tester et modifier jusqu' avoir un programme qui fonctionne correctement. 4.3. Directory avec un DNOServer scuris

En vous inspirant du cours, vous allez amliorer le prototype prcdent pour que l'application n'accde qu' des mthodes de DNOServer. Ce prototype sera ralis dans le paquetage directory.design3 . Vous allez concevoir et implmenter votre application de tests dans le package directory.tests.design3 . Vous allez tester et modifier jusqu' avoir un programme qui fonctionne correctement.

5.

Plan de travail

Le plan de travail est donn avec un objectif en dbut de sance. Si lors de la fin de sance prcdente, vous n'avez pas atteint cet objectif, vous devez travailler chez vous pour arriver en dbut de sance avec l'objectif atteint. Dbut de premire sance : le cours revu. Dbut de deuxime sance : matrise d'eclipse et de green, l'analyse complte.

Master Informatique Universit dAvignon

Michel Benoit

Modlisation du Logiciel (RGLA) - directory (09/12)

19

Dbut de troisime sance : une application simple (design1) qui fonctionne. Dbut de quatrime sance : le design2 qui fonctionne. L'amlioration de ce design pour obtenir le design3 se faisant au cours de la sance. Rendu du TP : les diagrammes de classes et le code de tous les prototypes. Les applications de tests qui fonctionnent. Barme : Analyse (3) : 5 Design1 (4.1, 4.2) : 5 Design2 (4.3) : 5 Design3 (4.4) : 5

Bon travail.

Master Informatique Universit dAvignon

Michel Benoit

Anda mungkin juga menyukai