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

UML Discussion :

Modéliser les interfaces utilisateurs


Sujet :

UML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 80
    Par défaut Modéliser les interfaces utilisateurs
    Bonjour,

    voilà tout est dans le titre, j'ai une appli qui contient des enchainements d'écrans , un peu à la manière des Wizard et je souhaiterais les modéliser pour bien comprendre les enchainements genre quand il clique sur tel bouton ca doit charger tel écran etc ...

    Quel diagramme UML me conseilleriez vous ?

    Merci

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Citation Envoyé par loverdose
    Bonjour,

    voilà tout est dans le titre, j'ai une appli qui contient des enchainements d'écrans , un peu à la manière des Wizard et je souhaiterais les modéliser pour bien comprendre les enchainements genre quand il clique sur tel bouton ca doit charger tel écran etc ...

    Quel diagramme UML me conseilleriez vous ?

    Merci
    Un diagramme d'état transition, avec une sémantique détournée, car chaque état va représenter une fenêtre/IHM de ton applications. Chaque transition pourra être étiquettée par le label d'un boutton par exemple.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 80
    Par défaut
    merci , il semble effectivement que c'est le diagramme qu'il me faut

    tant que , je sais pas si tu t'y connais un peu en design pattern mais est ce que tu crois qu'il y a des design pattern que l'on pourrait utiliser avec ce genre de problème ? sachant que sur chaque écran on devrait pouvoir revenir ou avancer , comme dans un wizard en fait .. le pattern Command me semblerait approprié mais j'aurai besoin de confirmation

    merci encore

  4. #4
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Non, le pattern commande est plutôt utilisé pour pouvoir effectuer une liste de tâches, mais aussi pouvoir les annuler. (exemple dans les traitements de texte).
    Toi tu as besoin d'exprimer les transitions possibles d'une fenêtre à une autre. Il n'y a rien de mieux qu'un diagramme d'états-transitions dans ce cas .
    Mais je comprends ton interrogation, tout cela est subtil.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 80
    Par défaut
    Helllo
    merci pour ta réponse, maintenant j'ai fini de modéiliser les enchainements de mes écrans grace au graphe d'etat ... maintenana mon grosproblème c'est que j'arrive pas à voir comment je pourrai transformer ca en algorithme programmable
    Si vous avez des lients intéréssants sur l'implémentation des graphes d'etat ca m'intéresse , merci d'avance du coup de main

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Est-ce que http://pcaboche.developpez.com/artic...patterns/etat/ peut t'aider ? Ca ne parle pas directement de wizard, mais c'est proche

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 80
    Par défaut
    Merci pour le lien ! Oui le pattern State m'a aidé même si je ne l'ai pas appliqué aussi scrupuleusement , et la j'ai un bel enchainement d'écrans qui marche bien .

    J'ai juste une derniere ptite question pas très difficile en fait car c'est juste un problème d'architecture.
    Le problème se présente comme ceci :

    Je tiens d'abord à préciser que je programme en VB6 donc les notions d'héritages etc ... c'est pas terrible.
    J'ai plusieurs écrans qui contiennent exactement les mêmes controles sauf que les textes sur les controles sont différents et aussi les traitements lors de click sur les boutons. Flemmard comme je suis , je me suis dit que j'avais qu'à faire une seule feuille et utiliser cette unique feuille pour chaque écran en changeant juste les textes et en rajoutant tous les traitements possible selon le type d'écran à afficher .. j'espère que c'est plutôt clair jusque là ..
    Le souci c'est que cela m'oblige à avoir dans le code de la feuille des codes du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select case TypeEcran
    
    case ECRAN_BLEU:
    monBouton.Caption = "Suivant"
    
    case ECRAN_VERT:
    monBouton.Caption = "Précédent"
    
    ...
    
    end select
    bref un énorme "Select case" ou "Switch" qui va etre très dur à entretenir et qui fait grosse tâche dans un code.

    Je me suis donc dit pour résoudre mon problème que je vais créer des classes (qui auront une interface commune) pour chaque type d'écran et que comme ca selon le type d'écran , je vais lier ma feuille à une classe qui correspond donc à un type d'écran.

    Le souci c'est que dans chacune de mes classes, je suis obligé d'avoir une référence sur la feuille pour pouvoir initialiser les textes des controles , donc comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Dans une classe qui gère un type d'écran
    
    Public MaFeuille as Form
    
    Public sub UneFonction ()
    
    MaFeuille.unBoutonDeMaFeuille.Caption = "Suivant"
    ...
    
    End Sub
    Et tout ca tourne bien sauf que je me suis dit que maintenant mes classes (donc les couches en dessous d'apres le pattern Model-View-Controller) , reposent pas mal sur mes feuilles alors que ca devrait etre le contraire et c'est ca qui me gene un peu car on est obligé de modifier la classe par exemple si on efface un controle de la feuille (dans mon exemple ci-dessus , si le bouton "unBoutonDeMaFeuille" est éffacé de ma feuille, cela m'oblige à modifier ma classe aussi) et ca je trouve ca pas terrible , cependant je trouve pas non plus meilleure organisation ou meilleur moyen de résoudre mon souci , voilà voilà , si vous avez un avis ca m'intéresse beaucoup merci

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Tu ne peux pas avoir une méthode à appeler dans ta classe feuille qui remplirait correctement l'interface graphique ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 80
    Par défaut
    si bien sur mais comme je le mentionnais un peu plus haut ca m'obligerait à faire des SELECT CASE énorme genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT CASE TypeEcran
    
          CASE EcranBleu :
                   'Ici remplissage écran bleu
    
          CASE EcranRouge :
                   'Ici remplissage écran rouge
          
          ....
    
    END SELECT
    et je trouve ca pas tres objet et pas tres propre sachant que pour les boutons je vais etre obligé de faire pareil :

    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
    
    Private sub Monbouton_Click ()
    
    SELECT CASE 
    
    
          CASE EcranBleu :
                   'Ici traitement du bouton quand l'écran est bleu
    
          CASE EcranRouge :
                   'Ici traitement du bouton quand l'écran est rouge
          
          ....
    
    END SELECT
    
    End Sub
    tu vois le truc ? En fait je me demandais comment les gens font quand ils veulent réutiliser une même feuille pour afficher différent type d'écrans , je me dis qu'il doit y avoir une sorte de design pattern ou une astuce mais j'ai pas trouvé jusque là ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Alta UI : Oracle veut moderniser les interfaces utilisateur
    Par Amine Horseman dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 04/10/2014, 19h54
  2. Réponses: 3
    Dernier message: 25/02/2011, 16h35
  3. Réponses: 13
    Dernier message: 26/03/2010, 21h47
  4. Réponses: 2
    Dernier message: 31/10/2003, 16h32

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