IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cas d'utilisation Discussion :

Pb sur capture des cas d'utilisations.


Sujet :

Cas d'utilisation

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Pb sur capture des cas d'utilisations.
    Bonjour,

    Je suis actuellement sur un projet pour élaborer un petit programme de dessin basé sur le web, programme permettant la fabrication du dessin sur divers support dans un but d'acheter son propre dessin.
    J'ai rédigé une étude préliminaire dans laquelle j'ai recensé 2 acteurs: l'internaute et le membre; le membre étant une spécialisation de l'internaute. L'internaute ne peut que dessiner, là ou le membre possèdera d'autres fonctionnalités.

    A ce jour j'en suis à la capture des besoins fonctionnels et j'avoue buter sur plusieurs choses.

    Voici donc les cas d'utilisations que j'ai recensé:
    UC internaute: - dessiner (ajouter, modifier et supprimer des figures).
    UC membre : - dessiner (ajouter, modifier et supprimer des figures).
    - gérer dessin (ouvrir, enregistrer, modifier dessin).
    - charger image de fond.
    - consulter des dessins mis à disposition.
    - ajouter au panier (un dessin en cour de réalisation ou
    bien un dessin préalablement enregistré).

    la 1ère question: Est ce que l'enregistrement du dessin (donc en cour) fait partie du cas "gérer dessin" ou fait il partie du cas "dessiner" ou bien est-ce qu'il faut inclure le cas "gérer dessin" dans celui de "dessiner". Ce dernier point me paraissant être la meilleur solution car je dois donner la possibilité au membre d'enregistrer un dessin a tout moment donc de l'inclure pendant le cas d'utilisation "dessiner". Il en est de même pour "ajouter au panier"

    2ème question: les figures sont une spécialisation de la classe FIGURE et chaque figure a donc sa propre classe CERCLE, RECTANGLE, LIGNE, POLYGONE, TEXTE. Afin que chaque figure ait ses propres caractéristiques de dessin, dois-je implémenter une classe CARACTÉRISTIQUE qui servira pour les propriétés de couleurs, épaisseur de trait ,police de caractères...etc?
    Mon problème est que je ne vois pas comment la décrire. Je pense mettre les enchainements suivants : modifier couleur trait, modifier couleur remplissage, modifier épaisseur pinceau, modifier police de caractères mais j'en suis pas certain.

    L'image jointe est un début de diagramme de classe participante pour le cas "dessiner"

    toute aide sera la bienvenue et je vous en remercie d'avance.
    Images attachées Images attachées  

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    pour la question 2 je dirais que tu devrais utiliser une interface puis tu pourras implémenter plusieurs classes différentes pour les caractèristiques. Pourquoi pas ensuite avoir une factory ?
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Je suis tout a fait d'accord avec l'interface mais a ce sujet Interface ou classe abstraite ?.
    Sur le diagramme la classe FIGURE est en italique; abstraite ainsi que la méthode "dessiner"...A chaque figure de savoir se dessiner ;-)

    Pour le pattern factory, j'ai trouvé ce bout code (pourquoi réécrire ce qui existe déjà)... D'ailleurs, je ne connaissais pas ce principe, sans doute une négligeance de mon prof de formation Oo. Bref, j'ai rattrapé un peu cette lacune ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    	/** la methode qui implemente un design pattern "factory".
    		Morceau de codage récupéré sur internet.
    	*/
        Object createObject(String name){
              try{
                Class c = Class.forName(name);
                Object o = c.newInstance();
    
                return(o);
              }
              catch(ClassNotFoundException e){
                System.out.println("Classe inconnue : "+ e.getMessage());
              }
              catch(InstantiationException e){
                System.out.println("instantiation erreur : " + e.getMessage());
              }
              catch(IllegalAccessException e){
                System.out.println("Classe inconnue : " + e.getMessage());
              }
             return(null);
            }
        public void createFigure(String name){
            fig = (Figure) createObject("Dessin."+name);
        }
    Pour revenir sur l'application, j'ai bien cerné le coté programmation objet. J'ai effectué 2,3 ébauches avant de modéliser afin de voir surtout coté IHM ce que je devais prévoir; conseil que l'on m'a donné et qui s'avère très utile pour décrire les cas d'utilisations.
    Cela dit, je suis toujours à me demander si mon descriptif textuel est valable ou non, si mes enchainements coïncident bien avec ce qu'attend l'utilisateur.

    Exemple: Cas d'utilisation dessiner:
    enchainement 1: Créer nouveau dessin
    - Le dessinateur demande la création d'un nouveau dessin
    - Le système fournit une boite pour les dimensions du dessin
    - Le dessinateur renseigne les dimensions et valide
    - Le système enregistre les dimensions, ouvre un nouvel espace de dessin et affiche les outils
    Enchainement 2: Ajouter figure
    - Le dessinateur ajoute une figure
    - Le système associe les caractéristiques de tracé(couleur_trait, couleur remplissage, épaisseur_pinceau, police) à la figure et dessine la figure (x, y, longueur, hauteur, orientation).
    Enchainement 3: Modifier figure
    - Le dessinateur sélectionne une figure et la modifie.
    - Le système met a jour les caractéristiques de tracé, la figure et la redessine.
    Enchainement 4: Supprimer figure
    - Le dessinateur sélectionne une figure et la supprime
    - Le système redessine tout.

    Le cas se termine quand le dessinateur ne veut plus ajouter de figure ou annule son dessin
    A ce moment là , je me demande si je mentionne que le cas se termine aussi quand le dessinateur enregistre le dessin. Si oui, est-ce une extension du cas "gérer dessin", enchainement "enregistrer dessin" ?

    PS: petite info sur le bout de code, je développe en JAVA

Discussions similaires

  1. Précision sur le include des cas d'utilisation
    Par tmanta7 dans le forum Cas d'utilisation
    Réponses: 13
    Dernier message: 25/11/2009, 08h58
  2. Avis sur Diagramme des Cas d'Utilisation
    Par medaadi dans le forum Cas d'utilisation
    Réponses: 0
    Dernier message: 09/11/2009, 10h06
  3. Rational Rose et diagramme des cas d'utilisations
    Par id_sa dans le forum Rational
    Réponses: 1
    Dernier message: 02/02/2007, 16h25
  4. Réponses: 2
    Dernier message: 22/04/2006, 18h18
  5. [Modélisation] Maille des cas d'utilisation
    Par ftrifiro dans le forum Cas d'utilisation
    Réponses: 14
    Dernier message: 28/08/2005, 18h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo