Quels outils pour une bonne analyse

J’ai besion de conseil pour l’analyse et la conception de programme (Java dans mon cas).

Quels sont les meilleurs outils pour faire une analyse de qualité, j’ai toujours fais l’analyse un peu à l’arrache et j’aimerai améliorer mes compétances la dessus.

J’avais trouver un bon cours d’une université canadienne sur la façon de concevoir des programmes orienté objet mais pas moyen de retrouver le lien pour vous demander ce que vous en pensez, tant pis, connaissez vous d’autres liens, ou livre qui explique comment concevoir et développer des logiciels ?

Une dernière question, en cherchant un peu sur le net, j’ai trouvé cet outil : http://www.visual-paradigm.com/, une version Community gratuite est disponible, je n’ai pas encore eu le temps de la tester mais qu’en penssez vous ?

A croire que personne ne fait d’analyse avant de commencer à coder :P" .

On code tous comme des gros sagouins , on replatre le code comme des porcs à grands coups de GOTO.

D’ailleurs on code qu’en GOTO++ qui est un langage orienté Abject

Ben en fait, tu parle de programme JAVA, mais l’analyse et la conception c’est totalement indépendant du langage utilisé pour coder ensuite.
La méthode utilisée par la plupart des concepteurs est la méthode UML ou encore MERISE.
Pour avoir fini mes études d’info (DUT), nous on a utilisé UML pour conceptualiser nos projets. Analyse des besoins, conception architecturale, etc, etc… avec des diagrammes a n’en plus finir.
Coder a l’arrach ne sert quasiment plus aujourd’hui sauf pour ses petits prog persos.

Vous pourriez citer des programmes sympas pour les diagrammes UML ?
Se les tapper à la main devient vite lourd :P" .

[quote name=‘Asarnil’ date=’ 3 Jul 2005, 22:16’]Vous pourriez citer des programmes sympas pour les diagrammes UML ?
Se les tapper à la main devient vite lourd  :P" .
[right][post=“374153”]<{POST_SNAPBACK}>[/post][/right][/quote]
Le traçage de diagramme uml sur tableaux blanc (si possible en binôme) est jusqu’à maintenant, la méthode que je préfère avant d’amorcer un bout de projet… Je parle de bouts de projets, parce que je préfère (et il semble que cela porte ces fruits) travailler par itérations plutôt que de concevoir tout un système pour l’implémenter ensuite.

[quote name=‹ delovan › date=’ 3 Jul 2005, 19:52’]Coder a l’arrach ne sert quasiment plus aujourd’hui sauf pour ses petits prog persos.
[right][post=« 374125 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Si seulement c’était vrai… :stuck_out_tongue:

[quote name=‹ Twin › date=’ 4 Jul 2005, 08:19’]Si seulement c’était vrai…  :stuck_out_tongue:
[right][post=« 374194 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Je confirme et je :stuck_out_tongue: aussi. Parfois dans les gros projets totalement à la bourre c’est folklo et ça respecte pas des masses les étapes de conception.

Au passage pour du Merise on utilisait WinDesign, en IUT. Pour de l’UML ? Une feuille de papier.

Enfin moi je trouve que pour la majoritee des projets info UML sapu et que c’est plein de formalisme qui n’apporte aucun benefice concret a la realisation du projet du moment que t’as pas a te mettre d’accord sur un standard pour communiquer ton design a 5 equipes differentes sur 3 continents sans passer des heures a te mettre d’acord sur la maniere avant (et encore…). Et qu’il y a des methodes plus ou moins custom qui sans etre la fete du slip du nawak « je fais comme je veux » sont, je trouve, bien plus optimisees. Mais bon c’est que mon avis perso a moi que je l’ai :stuck_out_tongue:

Je vais recentrer un peu le débat. Pour Merise, la partie MCD, MLD, c’est pour les BDD, là je parle uniquement de l’architechture d’une application donc on oublie et le reste de cette méthode est plutôt utilisé dans des trucs “ringards” :P" comme Cobol.

Pour UML, ben oui, c’est une méthode pour faire des applications, mais dans ma question je ne cherche pas une méthode mais un outil qui utilise cette méthode.
Certaint m’on dit, un tableau blanc, un papier, c’est vrai que c’est une méthode mais il n’y a rien de plus informatisé ?

GloP, tu parles de méthode Custom, tu peux expliquer un peu plus comment tu t’y prend ?

Sinon pour les méthodes utilisées en FAC ou en IUT, je connais aussi mais je recherche plutot quelque chose de plus professionnels.

[EDIT]
Voici le lien vers le cours de GLOO (Génie logiciel orienté objet) GLOO.pdf

[quote name=‘ZGoblin’ date=’ 4 Jul 2005, 08:52’]Je vais recentrer un peu le débat. Pour Merise, la partie MCD, MLD, c’est pour les BDD, là je parle uniquement de l’architechture d’une application donc on oublie et le reste de cette méthode est plutôt utilisé dans des trucs “ringards”  :P" comme Cobol.

Pour UML, ben oui, c’est une méthode pour faire des applications, mais dans ma question je ne cherche pas une méthode mais un outil qui utilise cette méthode.
Certaint m’on dit, un tableau blanc, un papier, c’est vrai que c’est une méthode mais il n’y a rien de plus informatisé ?

GloP, tu parles de méthode Custom, tu peux expliquer un peu plus comment tu t’y prend ?

Sinon pour les méthodes utilisées en FAC ou en IUT, je connais aussi mais je recherche plutot quelque chose de plus professionnels.
[right][post=“374219”]<{POST_SNAPBACK}>[/post][/right][/quote]
C’est nouveau ca, la façon dont sont stockées les données ne constitue plus une des composante de l’architecure d’une application?

UML n’est pas une méthode, mais un language graphique. UML en lui même ne fait rien, la valeur ajouté que peut te procurer UML ne s’exprime que par la facon dont tu l’utilise. UML en soit n’apporte rien. Il éxiste cependant des méthodes qui utilisent UML comme support d’échange d’idées et de support pour l’analyse et la conception. On peut citer XP, SCRUM, RUP et autres méthodes Agile… Certaines préconisent l’utilisation d’UML sur tableau blanc, d’autre l’utilisation de générateurs de code qui font passés des diagrammes de classes UML designés sous Rationnal Rose par exemple (toi qui voulait un éditeur UML c’est un bon choix) en code C#, C++, Java ou autre. D’autres même préconisent l’utilisation de languages graphiques customs (du style de ce que Glop utilise visiblement :P) souvent plus adaptés au contexte (un exemple tout con, comment représenter une propriété internal dans un diagramme UML?).

Qui dit tableau blanc ou papier ne dit pas forcément “non informatisé”. En effet la méthodologie RUP préconise par exemple que les ébauche de conception faites en binomes sur tableau blanc soient photographiées / numérisées et mises en ligne sur le WIKI du projet.

De l’avis de Glop (si j’ai bien compris). La branlette UML c’est comme “coder” un projet en algo avant de passer à la phase de codage dans le langage choisi, c’est du non sens total.

Spécifier et concevoir je l’ai toujours fait avec des shémas blocs respectant une certaine syntaxe mais sans le formalisme àlacon d’UML. Un bloc, quelques flèches un autre bloc inclu dans le premier, les messages décrit sous forme de services …

On essaie de faire de véritables “couches” avec des APIs et d’exprimer les blocs en fonctions des services et non des noms. Ca va tout seul comme ça je trouve. Les algos et les structures de données “compliqués” et/ou centraux sont décrites avec le plus grand soin, le reste on s’arrête au niveau du service.

Mon avis.

Effectivement, après relecture, je n’avais pas assez précisé, dans ce thread je parle de concevoir des applications SANS bases de données.

Ca devient intéressant, j’ai déjà jeté un oeil sur la méthode XP, sans trop m’attarder, tu as plus de détails sur les différentes méthodes ?

[quote name=‹ girafologue › date=’ 4 Jul 2005, 10:11’]Qui dit tableau blanc ou papier ne dit pas forcément « non informatisé ». En effet la méthodologie RUP préconise par exemple que les ébauche de conception faites en binomes sur tableau blanc soient photographiées / numérisées et mises en ligne sur le WIKI du projet.
[right][post=« 374225 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Effectivement, c’est une solution comme une autre et je ne la critique pas, mais dans mon cas, je n’ai pas de binomes, ni de tableau blanc mais juste un PC :stuck_out_tongue:

Moi pour l’UML j’ai testé ça:

  • Objecteering: super complet, tu fais une modif c’est répercuté partout, tu choisis ce que tu veux faire apparaitre sur quel diagramme, etc… il te vérifie tout, te permet de générer de la doc, et du code. Yabon, mais: licence + pas super joli, intuitif. C’est ce qu’ils utilisent néanmoins en génie info dans mon école.

  • Poseidon: free, en java (rame un peu hum…), existe une community edition sympa pour tester un peu. Fait des diagrammes pas trop mal, le logiciel est plutôt cool à prendre en main.

  • ArgoUML: c’est la version totalement free de Poseidon (et poseidon a continué le projet en faisant payer certains types de licences) (enfin je crois hein). Il est un peu berk je trouve, enfin quand tu as testé Poséidon tu vois ça comme une régression.

  • Fujaba: mon tuteur de stage voulait que j’utilise ça… c’est assez bouseux. A éviter je trouve.

edit: du gras.
dsl j’ai la flemme pr les urls… google, premier résultat, marchera bien :stuck_out_tongue:

[quote name=‹ Moktar › date=’ 4 Jul 2005, 00:15’]De l’avis de Glop (si j’ai bien compris). La branlette UML c’est comme « coder » un projet en algo avant de passer à la phase de codage dans le langage choisi, c’est du non sens total.
[right][post=« 374227 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Oui enfin j’ai pas dit ca, ca c’est de la caricature de ce que j’ai dit :stuck_out_tongue:

[quote name=‹ LeGzo › date=’ 4 Jul 2005, 10:20’]Moi pour l’UML j’ai testé ça:

  • Objecteering: super complet, tu fais une modif c’est répercuté partout, tu choisis ce que tu veux faire apparaitre sur quel diagramme, etc… il te vérifie tout, te permet de générer de la doc, et du code. Yabon, mais: licence + pas super joli, intuitif. C’est ce qu’ils utilisent néanmoins en génie info dans mon école.[/quote]
    Ah owned by la flemme d’aller sur le forum.
    Oui, Objecteering c’est ce qu’on a utilisé a notre IUT (Vélizy, pour ceux que ça intéressent :stuck_out_tongue: )
    Je confirme que c’est extrement puissant, mais pas extrement fini niveau ergonomie. C super chaud à utiliser mais après avoir compris ça, ça roule tout seul.

Personellement, j’ai jamais appouver la conception tout ce caca là, pour mon projet de fin d’année moi je codais, je spécifiai pas :P" , c’est ce qu’on appelle « l’époque des héros », coder sans avoir spécifié avant ^^.

J’ai testé pas mal d’autres outils entre deux, et à vrai dire, celui qui me parait le mieux est bien visual paradigm, malheureusement la version gratuite n’est pas très complète et la payante beaucoup trop chère. Dans les solutions gratuites mon choix s’est tourné vers Poseidon qui a lui aussi une version payante.

GloP, tu n’as pas vraiment détaillé ta façon de faire l’analyse, c’est top secret ?

Donne moi : Cerveau, Crayon, Papier, je vais te montrer
Ce qu’est un Codeur Raleur.
Donne moi : Cerveau, Crayon, Papier, je vais te montrer
Ce qu’est un codeur raleur !

Hehe