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 :

Diagramme de séquence ou diagramme d'activité ou les 2 ?


Sujet :

UML

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 98
    Points
    98
    Par défaut Diagramme de séquence ou diagramme d'activité ou les 2 ?
    Bonjour les UMLeurs.

    Bon problème du jour. J'ai terminé mon diagramme de cas d'utilisation. Et pour chaque cas j'ai fait une fiche descriptive (Qui reprend les acteurs, le résumé, la description détaillée, les pré conditions, et les post conditions).

    J'ai maintenant le choix entre faire les diagrammes de séquences, et les diagrammes d'activité (ou encore diagramme de collaboration).

    Mais je ne sais pas lequel choisir, (Je peux aussi tous les faire). Le but étant de bien comprendre les intéractions et écran à coder.

    Que me conseiller vous de faire? => Je sens que la réponse va être, " Fais les tous ! ".

    Est ce que vous pouvez justifier pourquoi je devrais faire l'un plus que l'autre?

    Autre question :

    J'ai une double vision des diagramme de séquence. La première assez simple, avec des intéractions entre acteurs et système sans détaillés plus que ça les composants.

    Une autre beaucoup plus complexe, où on détaille les intéractions entre les acteurs et le système, mais cette fois en découpant le système en classe. (Ceci pour identifier les classes qui appartiendront à telle ou telle couche du modèl MVC).

    Quel approche me conseilleriez vous de faire dans le cas où vous éstimez qu'il est nécessaire de faire le diag de séquence?

  2. #2
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 608
    Points
    19 608
    Par défaut
    A mon humble avis (d'étudiant mébon on a quand même bien potassé cette question ) le diagramme de séquence est une nécessité absolue. C'est lui qui va déterminer tes méthodes et les paramètres associés, quand instancier tes objets, quand les détruires etc... Bref toute la logique du programme.

    Ce que je te conseille ( ce qu'on fait dans mon stage développeur ), c'est un premier diagramme de séquence pour chaque cas d'utilisation sans détailler réellement, c'est à dire que tu as une colonne "acteur" et une colonne "système". Là tu notes consciensieusement tous les messages échangés. ( ce que tu appelles la vision simple :p )

    Ensuite tu fais un autre diagramme de séquence pour le même cas, sur la base du diagramme de séquence simple, où tu éclates "système" en classes métiers. ( les classes que tu as dû normalement définir dans ton analyse après la rédaction des cas d'utilisation ) C'est à ce stade que tu vas déterminer quelle classe aura une collection ou pas.

    Tu es également censé rajouter une colonne/classe "IHM" entre "Acteur" et "le reste"

    Je te suggère également de rajouter une classe "controleur" entre ton IHM et tes classes métiers et enfin une classe persistance complètement à droite de ton diagramme ( après les classes métiers ) ceci afin d'y concentrer tout le code relatif à la persistance. Ainsi, si par la suite ton client veut passer d'un SGBD à un autre, il te suffit de réécrire/modifier la classe persistance plutôt que d'aller dans les méthodes de chaque classe.

    La classe controleur "contrôle" la logique du cas. C'est au choix, on peut faire un controleur par cas, ou bien un controleur pour l'ensemble de ton module ( préfère la 2ème option ). Quand je dis qu'elle controle la logique du cas, cela veut dire qu'elle à accès à toutes les classes directement ( référence en attribut de la classe ) ou indirectement au travers des objets qu'elle à en référence ( oObjectA.oObjectB.etc...MaMethodeX() ) ( à ce sujet cf mon post sur cette page qui n'a pas de réponses :'( )
    Tout passe par le contrôleur. C'est dans le controleur que tu vas gérer tes exceptions, et dans ton IHM tes contrôles de saisies.

    'fin bref voilà

    Pour les diagrammes de collaboration j'aime pas. C'est exactement les mêmes infos que les diag de séquences. Mébon c'est personnel.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 98
    Points
    98
    Par défaut
    Merci j'aime bien ta réponse, elle est assez claire.

    Je suis tout à fait d'accord avec toi, dans l'idéal faire un diagramme de séquence "vue simple , entre acteur et système" puis l'éclater.

    Le soucis que j'ai c'est que je n'ai pas encore fait le diagramme de classes, pour la simple et bonne raison que toutes mes classes sont générées à l'aide d'Adalon (Tu connais ? ). Et que j'ai environ une cinquantaine de classe pour seulement 6 cas d'utilisations, donc mon diagramme de séquence va être compliqué à faire.

    Sinon pour ce que tu as décrit plus bas, c'est ce que j'ennonce sour le nom MVC (Modèle Vue Controleur).

    Je voulais savoir ton stage informatique tu le fais avec quel boîte ? Dans quel contexte?

    Pour ta question sans réponse, je peux pas t'aider perso, (J'ai pas tout compris)

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 608
    Points
    19 608
    Par défaut
    Bah pour mon message tu comprendras quand tu vas coder je pense A condition que tu fasses bien le diag de séquence éclaté

    Donc je fais une formation AFPA développeur info. Je suis financé par les assedics mais on peut se faire financer directement par l'afpa. Le chemin des démarches commence à l'anpe. Ya pas de rapport avec une entreprise quelconque ( si ce n'est que l'afpa est une "organisation" tri-partite : 1 tier état, 1 tier syndicats, 1 tier entreprise )

    Donc en fait la partie UML de ma formation se fait avec UML 1.4 et la méthode 2TUP de Valtech ( voir le livre UML en Action ya une référence dans la bibliographie de la partie UML de ce site ). Ce qui fait que avec cette méthode, si tu la suis, tu as ton modèle statique ( MS = diagramme de classe raffiné avec les agrégations composition etc... ) AVANT de faire ton diagramme de séquence éclaté. Je vois pas trop comment tu peux faire ton diag de séquence sans le MS. Pour rédiger ou pour lire un diag de Séq correctement il te faut le modèle statique.

    Je ne sais pas ce que c'est qu'Adalon dsl.

    50 classes pour 6 cas je trouve que c'est beaucoup. Le plus gros que j'ai vu en cours c'est une vingtaine de classes pour une dizaine de cas. Et le projet est déjà relativement sérieux. ( gestion de réservation d'un théatre en ligne ).
    A mon avis il y a certaines classes que tu peux regrouper dans d'autres pour simplifier. Ex pour un livre dans une bibliothèque : Tu vas avoir une classe ouvrage, une classe exemplaires, une classe auteur, et une classe éditeur ( je laisse tomber le système de classement par thème de ttes biblio ). Et bien tu peux tout a fait regrouper les données de auteur ( si il n'y a qu'un seul auteur par ouvrage ) et éditeur dans ouvrage pour simplifier ton diagramme de classe. C'est pas super top pour la BDD si tu as des éditeurs/auteurs récurrents mébon tout dépend de la taille du projet.

    Au fait je comprends pas 2 choses par rapport à Adalon :
    1- A partir de quelles infos ton soft génère les classes
    2- Il génère les classes mais ne fait pas de diagramme avec les multiplicités ?

    Ok pour MVC, je connaissais pas ce terme

    Donc en fait, je te suggère d'accompagner UML d'une méthode, UML n'est qu'un langage, ce n'est pas une méthode.
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par Marco46
    Bah pour mon message tu comprendras quand tu vas coder je pense A condition que tu fasses bien le diag de séquence éclaté
    Non mais t'inquiète j'avais bien compris ton message, y'a pas de problème.

    Citation Envoyé par Marco46
    Donc en fait la partie UML de ma formation se fait avec UML 1.4 et la méthode 2TUP de Valtech ( voir le livre UML en Action ya une référence dans la bibliographie de la partie UML de ce site ). Ce qui fait que avec cette méthode, si tu la suis, tu as ton modèle statique ( MS = diagramme de classe raffiné avec les agrégations composition etc... ) AVANT de faire ton diagramme de séquence éclaté. Je vois pas trop comment tu peux faire ton diag de séquence sans le MS. Pour rédiger ou pour lire un diag de Séq correctement il te faut le modèle statique.
    Ouai je connais bien 2TUP je l'ai étudié aussi, (J'ai aussi étudié RUP). Mais dans l'environnement de travail dans lequel je travaille actuellement faire le diagramme de classe serait une perte de temps, car les classes sont, comme je te disais, généré par Adalon. (http://www.adalon.net/)

    Citation Envoyé par Marco46
    50 classes pour 6 cas je trouve que c'est beaucoup. Le plus gros que j'ai vu en cours c'est une vingtaine de classes pour une dizaine de cas. Et le projet est déjà relativement sérieux. ( gestion de réservation d'un théatre en ligne ).
    A mon avis il y a certaines classes que tu peux regrouper dans d'autres pour simplifier. Ex pour un livre dans une bibliothèque : Tu vas avoir une classe ouvrage, une classe exemplaires, une classe auteur, et une classe éditeur ( je laisse tomber le système de classement par thème de ttes biblio ). Et bien tu peux tout a fait regrouper les données de auteur ( si il n'y a qu'un seul auteur par ouvrage ) et éditeur dans ouvrage pour simplifier ton diagramme de classe. C'est pas super top pour la BDD si tu as des éditeurs/auteurs récurrents mébon tout dépend de la taille du projet.
    Oui je peux d'un point de vue conceptuel mais tehniquement c'est fastidieux, et ça serait remettre en question l'outil Adalon ...


    Citation Envoyé par Marco46
    Au fait je comprends pas 2 choses par rapport à Adalon :
    1- A partir de quelles infos ton soft génère les classes
    2- Il génère les classes mais ne fait pas de diagramme avec les multiplicités ?
    Avec Adalon tu lies les process et les pages (écrans) en gros, en précisant des états de sortie en cas de failure et en cas de success, et là ça fait des chocapics; enfin des classes java tout du moins ...

    Citation Envoyé par Marco46
    Ok pour MVC, je connaissais pas ce terme
    C'est bizarre qu'à l'AFPA il ne t'apprenne le concept sans te donner le nom...
    Citation Envoyé par Marco46
    Donc en fait, je te suggère d'accompagner UML d'une méthode, UML n'est qu'un langage, ce n'est pas une méthode.
    Ouai t'inquiète je sais ça, c'est claire qu'UML sans méthode c'est un peu débile .... Enfin faire des diagrammes pour faire des diagrammes c'est pas non plus le but hein!?

    En tout cas merci

  6. #6
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 608
    Points
    19 608
    Par défaut
    Avec Adalon tu lies les process et les pages (écrans) en gros, en précisant des états de sortie en cas de failure et en cas de success, et là ça fait des chocapics; enfin des classes java tout du moins ...


    Dsl je capte pas. M'enfin spagrave Je regarderai ton lien quand j'aurai un moment
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 98
    Points
    98
    Par défaut
    Non mais de toute façon laisse tomber Adalon, c'est un outil qui pour 1 écran te génère au minimum 4 classes, et par action une dixaine... Enfin voilà en fait j'ai regardé combien j'avais de .java, et j'en ai 292 classes

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je voudrais faire une petite précision...
    EN général un DCL (diagramme de classes) n'est pas un diagramme d'objet.
    En schématisant , Un DCL sert à avoir toutes (ou presque) tes classes métier (si tu n'avais pas avant un modèle métier / du domaine...)... Il te sert à aller vers l'analyse avec eclatement en classes "métier, contrôleur, frontière". te permet de compléter et améliorer tes classes (attributs, méthodes, etc... je ne parlerai pas des diagrammes de séquences, Etat, et autres....), voir d'en rajouter et d'aller vers ta conception avec des classes d'implémentation, des patterns pour résoudre certains pb, etc....

    A priori (car je ne connais pas) adalon te fait directement des classes d'implémentation, et je ne suis pas sûr qu'il te permet de passer partout...

    Quant à la notion de MVC, personnellement, j'ai fait un Master en Ingénierie & gestion des SI (par Foncgécif à l'Université) et nous avons vu pas mal de patterns sans toutefois entendre une seule fois leurs noms (hormis le mvc) : le principal étant de comprendre la problèmatique et la solution apportée, et pas de savoir le nom qui n'est pas très important d'ailleurs ....

    CARPE DIEM

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

Discussions similaires

  1. [argoUML] Diagramme de séquence
    Par LordBob dans le forum Outils
    Réponses: 5
    Dernier message: 11/01/2013, 08h55
  2. Réponses: 2
    Dernier message: 23/04/2010, 12h01
  3. Réponses: 3
    Dernier message: 03/03/2009, 13h29
  4. conseils pour diagramme de séquence système et d'activités
    Par maa dans le forum Autres Diagrammes
    Réponses: 34
    Dernier message: 08/12/2008, 14h18
  5. Réponses: 18
    Dernier message: 08/07/2006, 15h26

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