Respect d'une architecture et détection des violations d'architecture

View: New views
8 Messages — Rating Filter:   Alert me  

Respect d'une architecture et détection des violations d'architecture

by Mourad DACHRAOUI-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bonjour,

Comment peut on imposer le respect d'une architecture logicielle? C'est une question qui peux vous paraître "idiote" où dont la réponse pour certains est évidente. Il est vrai qu'un architecte peux imposer ou délimiter une équipe de développeurs moyennant des formations :) combinée à l'utilisation de "bons" Design patterns, permettant d'imposer un contrat, une logique métier qui permet d'implémenter une fonctionnalité en suivant la logique B et non pas la logique A ou C par exemple.

Cependant il est clair aussi, qu'un développeur peux toujours s'arranger pour introduire une complexité énorme, une dépendance  cyclique ou même succomber à la tentation: " Ça fait la même chose! ce n'est que deux classes à faire! Alors pourquoi toutes ces classes et ces interfaces et ces IDelegateMachin et AbstractBidule que je doit implémenter?? dans des packages différents en plus?? Pourquoi l'architecte se complique tellement la vie!?"

Nous travaillons actuellement sur un projet géré et conduit par l'intégration continue. Nous utilisons maven2, continuum, et une batterie de plugins maven2 pour recueillir la métrique nécessaire pour nous assurer de la qualité du code produit,  et ainsi détecter les erreurs de codage, les bugs les plus communs,  la couverture de code, etc. Mais aucun plugin n'aide les superviseurs du projet à détecter le non respect de l'architecture et de la conception initiale du projet.

Bref, aujourd'hui je viens de tomber sur deux outils assez intéressants! SonarJ (cf. programmez.com) et Structure101 dont la demo flash est très explicative. Malheureusement, ce n'est pas de l'open source. Et puis pour les architectes chevronnés comme le cofondateur de Spring, JDepend est suffisant pour gérer l'organisation d'un projet complexe. (cf. se-radio.net à partir de la 44ème minute pour les impatients ;)

Je pense toute de même que ce genre d'outils où le développeur  est informé en temps réel d'une violation d'architecture est très utile (indispensable pour certains projet).

Et j'arrive donc à développer en détails, mon interrogation :)

Connaissez vous l'équivalent Open Source de SonarJ et Structure101? Sinon, Comment faites vous pour imposer le respect de l'architecture logicielle conçu au départ? Comment faites vous pour savoir si il y a eu une violation d'architecture dans un module donné à un instant T de l'évolution du projet? Et surtout, comment on fait généralement pour s'assurer que le code produit à la fin correspond exactement à l'architecture logicielle de départ?

Merci d'avoir pris le temps de lire mon mail... jusqu'à la fin :) et merci d'avance pour vos réponses.


Mourad DACHRAOUI.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@...
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@...
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---


Re: Respect d'une architecture et détection des violations d'architecture

by foued elguenbri :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Bonjour,
Je ne suis ni un architecte ni un développeur expérimenté pour vous répondre mais tout de même je sais bien que suivre une architecture ce n'est autre que des bonnes pratiques de développement, ça ne complique pas la vie ,au contraire ça vous offre une bonne visibilité de code et une séparation de propos pour facilité la maintenance et l'évolution du code.
Merci pour les outils que vous avez proposé et j'attends comme vous l'équivalent en open source :)
Bonne journée à tous.

Le 25/04/08, Mourad DACHRAOUI <mourad.dachraoui@...> a écrit :
Bonjour,

Comment peut on imposer le respect d'une architecture logicielle? C'est une question qui peux vous paraître "idiote" où dont la réponse pour certains est évidente. Il est vrai qu'un architecte peux imposer ou délimiter une équipe de développeurs moyennant des formations :) combinée à l'utilisation de "bons" Design patterns, permettant d'imposer un contrat, une logique métier qui permet d'implémenter une fonctionnalité en suivant la logique B et non pas la logique A ou C par exemple.

Cependant il est clair aussi, qu'un développeur peux toujours s'arranger pour introduire une complexité énorme, une dépendance  cyclique ou même succomber à la tentation: " Ça fait la même chose! ce n'est que deux classes à faire! Alors pourquoi toutes ces classes et ces interfaces et ces IDelegateMachin et AbstractBidule que je doit implémenter?? dans des packages différents en plus?? Pourquoi l'architecte se complique tellement la vie!?"

Nous travaillons actuellement sur un projet géré et conduit par l'intégration continue. Nous utilisons maven2, continuum, et une batterie de plugins maven2 pour recueillir la métrique nécessaire pour nous assurer de la qualité du code produit,  et ainsi détecter les erreurs de codage, les bugs les plus communs,  la couverture de code, etc. Mais aucun plugin n'aide les superviseurs du projet à détecter le non respect de l'architecture et de la conception initiale du projet.

Bref, aujourd'hui je viens de tomber sur deux outils assez intéressants! SonarJ (cf. programmez.com) et Structure101 dont la demo flash est très explicative. Malheureusement, ce n'est pas de l'open source. Et puis pour les architectes chevronnés comme le cofondateur de Spring, JDepend est suffisant pour gérer l'organisation d'un projet complexe. (cf. se-radio.net à partir de la 44ème minute pour les impatients ;)

Je pense toute de même que ce genre d'outils où le développeur  est informé en temps réel d'une violation d'architecture est très utile (indispensable pour certains projet).

Et j'arrive donc à développer en détails, mon interrogation :)

Connaissez vous l'équivalent Open Source de SonarJ et Structure101? Sinon, Comment faites vous pour imposer le respect de l'architecture logicielle conçu au départ? Comment faites vous pour savoir si il y a eu une violation d'architecture dans un module donné à un instant T de l'évolution du projet? Et surtout, comment on fait généralement pour s'assurer que le code produit à la fin correspond exactement à l'architecture logicielle de départ?

Merci d'avoir pris le temps de lire mon mail... jusqu'à la fin :) et merci d'avance pour vos réponses.


Mourad DACHRAOUI.





--
_________________
Cordialement.
ELGUENBRI FOUED
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@...
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@...
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---


Re: Respect d'une architecture et détection des violations d'architecture

by Marouene Khaled :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bonjour à tous,

@ Foued : Tu as raison mais un écart de développement est toujours envisageable et on sait très bien qu'aucun développeur ne respecte pas à 100% les consignes de dév, d'architecture, etc ...

@Mourad : A part les outils, il y a des contrôleurs qualité (des personnes physiques) dont le rôle est de surveiller continuellement les développements et de les valider (ou rejeter) avant le vrai "commit" dans le projet

C'est tout ce que je sais ! :-)

A+

Marouène

2008/4/25 Foued Elguenbri <elguenbri.foued@...>:
Bonjour,
Je ne suis ni un architecte ni un développeur expérimenté pour vous répondre mais tout de même je sais bien que suivre une architecture ce n'est autre que des bonnes pratiques de développement, ça ne complique pas la vie ,au contraire ça vous offre une bonne visibilité de code et une séparation de propos pour facilité la maintenance et l'évolution du code.
Merci pour les outils que vous avez proposé et j'attends comme vous l'équivalent en open source :)
Bonne journée à tous.

Le 25/04/08, Mourad DACHRAOUI <mourad.dachraoui@...> a écrit :
Bonjour,

Comment peut on imposer le respect d'une architecture logicielle? C'est une question qui peux vous paraître "idiote" où dont la réponse pour certains est évidente. Il est vrai qu'un architecte peux imposer ou délimiter une équipe de développeurs moyennant des formations :) combinée à l'utilisation de "bons" Design patterns, permettant d'imposer un contrat, une logique métier qui permet d'implémenter une fonctionnalité en suivant la logique B et non pas la logique A ou C par exemple.

Cependant il est clair aussi, qu'un développeur peux toujours s'arranger pour introduire une complexité énorme, une dépendance  cyclique ou même succomber à la tentation: " Ça fait la même chose! ce n'est que deux classes à faire! Alors pourquoi toutes ces classes et ces interfaces et ces IDelegateMachin et AbstractBidule que je doit implémenter?? dans des packages différents en plus?? Pourquoi l'architecte se complique tellement la vie!?"

Nous travaillons actuellement sur un projet géré et conduit par l'intégration continue. Nous utilisons maven2, continuum, et une batterie de plugins maven2 pour recueillir la métrique nécessaire pour nous assurer de la qualité du code produit,  et ainsi détecter les erreurs de codage, les bugs les plus communs,  la couverture de code, etc. Mais aucun plugin n'aide les superviseurs du projet à détecter le non respect de l'architecture et de la conception initiale du projet.

Bref, aujourd'hui je viens de tomber sur deux outils assez intéressants! SonarJ (cf. programmez.com) et Structure101 dont la demo flash est très explicative. Malheureusement, ce n'est pas de l'open source. Et puis pour les architectes chevronnés comme le cofondateur de Spring, JDepend est suffisant pour gérer l'organisation d'un projet complexe. (cf. se-radio.net à partir de la 44ème minute pour les impatients ;)

Je pense toute de même que ce genre d'outils où le développeur  est informé en temps réel d'une violation d'architecture est très utile (indispensable pour certains projet).

Et j'arrive donc à développer en détails, mon interrogation :)

Connaissez vous l'équivalent Open Source de SonarJ et Structure101? Sinon, Comment faites vous pour imposer le respect de l'architecture logicielle conçu au départ? Comment faites vous pour savoir si il y a eu une violation d'architecture dans un module donné à un instant T de l'évolution du projet? Et surtout, comment on fait généralement pour s'assurer que le code produit à la fin correspond exactement à l'architecture logicielle de départ?

Merci d'avoir pris le temps de lire mon mail... jusqu'à la fin :) et merci d'avance pour vos réponses.


Mourad DACHRAOUI.





--
_________________
Cordialement.
ELGUENBRI FOUED




--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@...
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@...
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---


Re: Respect d'une architecture et détection des violations d'architecture

by Mourad DACHRAOUI-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

@Tous :)

C'est exactement où je veux en venir Marouene:

Comment procède un contrôleur qualité pour détecter un écart ou une violation par rapport à l'architecture?
Comment détecter cet écart avant même que le contrôleur qualité nous "tape sur la main" :) ?
Comment par exemple dans une architecture où seules les classes des packages a.b.* peuvent appeler les classes de a.c.*, être sure que directement ou indirectement, il n'y a pas de cas où l'inverse se produit?

La détection de ce cas de figure est introduit par Structure101 dans sa présentation flash. En effet il s'intègre à l'IDE eclipse, et déclenche une erreur empêchant la compilation, des qu'une instanciation non conforme à l'architecture est codée par le développeur... pareil pour SonarJ grâce à son plugin maven qui applique une vérification au moment du build et génère un rapport disponible avec le reste des rapports maven.

Mourad.





2008/4/25 Marouene Khaled <khaledmarouene@...>:
Bonjour à tous,

@ Foued : Tu as raison mais un écart de développement est toujours envisageable et on sait très bien qu'aucun développeur ne respecte pas à 100% les consignes de dév, d'architecture, etc ...

@Mourad : A part les outils, il y a des contrôleurs qualité (des personnes physiques) dont le rôle est de surveiller continuellement les développements et de les valider (ou rejeter) avant le vrai "commit" dans le projet

C'est tout ce que je sais ! :-)

A+

Marouène

2008/4/25 Foued Elguenbri <elguenbri.foued@...>:

Bonjour,
Je ne suis ni un architecte ni un développeur expérimenté pour vous répondre mais tout de même je sais bien que suivre une architecture ce n'est autre que des bonnes pratiques de développement, ça ne complique pas la vie ,au contraire ça vous offre une bonne visibilité de code et une séparation de propos pour facilité la maintenance et l'évolution du code.
Merci pour les outils que vous avez proposé et j'attends comme vous l'équivalent en open source :)
Bonne journée à tous.

Le 25/04/08, Mourad DACHRAOUI <mourad.dachraoui@...> a écrit :
Bonjour,

Comment peut on imposer le respect d'une architecture logicielle? C'est une question qui peux vous paraître "idiote" où dont la réponse pour certains est évidente. Il est vrai qu'un architecte peux imposer ou délimiter une équipe de développeurs moyennant des formations :) combinée à l'utilisation de "bons" Design patterns, permettant d'imposer un contrat, une logique métier qui permet d'implémenter une fonctionnalité en suivant la logique B et non pas la logique A ou C par exemple.

Cependant il est clair aussi, qu'un développeur peux toujours s'arranger pour introduire une complexité énorme, une dépendance  cyclique ou même succomber à la tentation: " Ça fait la même chose! ce n'est que deux classes à faire! Alors pourquoi toutes ces classes et ces interfaces et ces IDelegateMachin et AbstractBidule que je doit implémenter?? dans des packages différents en plus?? Pourquoi l'architecte se complique tellement la vie!?"

Nous travaillons actuellement sur un projet géré et conduit par l'intégration continue. Nous utilisons maven2, continuum, et une batterie de plugins maven2 pour recueillir la métrique nécessaire pour nous assurer de la qualité du code produit,  et ainsi détecter les erreurs de codage, les bugs les plus communs,  la couverture de code, etc. Mais aucun plugin n'aide les superviseurs du projet à détecter le non respect de l'architecture et de la conception initiale du projet.

Bref, aujourd'hui je viens de tomber sur deux outils assez intéressants! SonarJ (cf. programmez.com) et Structure101 dont la demo flash est très explicative. Malheureusement, ce n'est pas de l'open source. Et puis pour les architectes chevronnés comme le cofondateur de Spring, JDepend est suffisant pour gérer l'organisation d'un projet complexe. (cf. se-radio.net à partir de la 44ème minute pour les impatients ;)

Je pense toute de même que ce genre d'outils où le développeur  est informé en temps réel d'une violation d'architecture est très utile (indispensable pour certains projet).

Et j'arrive donc à développer en détails, mon interrogation :)

Connaissez vous l'équivalent Open Source de SonarJ et Structure101? Sinon, Comment faites vous pour imposer le respect de l'architecture logicielle conçu au départ? Comment faites vous pour savoir si il y a eu une violation d'architecture dans un module donné à un instant T de l'évolution du projet? Et surtout, comment on fait généralement pour s'assurer que le code produit à la fin correspond exactement à l'architecture logicielle de départ?

Merci d'avoir pris le temps de lire mon mail... jusqu'à la fin :) et merci d'avance pour vos réponses.


Mourad DACHRAOUI.





--
_________________
Cordialement.
ELGUENBRI FOUED







--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@...
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@...
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---


Re: Respect d'une architecture et détection des violations d'architecture

by Skandy :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bonjour,

Très bonnes questions Mourad, j'attends les mêmes réponses que toi.

Généralement, (du moins la dernière expérience que j'ai eue sur ce sujet) en l'absence de suivi de la qualité des développements, le non respect de l'architecture logicielle est détectée lors des tests de montée en charge. Ces tests permettent de voir par exemple qu'un module de l'application bouffe beaucoup trop de ressources mémoire ou encore génère beaucoup de trafic réseau. C'est que les développeurs se font taper sur les doigts..

Pourrais-tu nous faire un retour sur l'utilisation des outils que t'as présentés?
--
Skander ESSID
UMANIS Consultant
SkanderEssid[at]gmail[dot]com

2008/4/25 Mourad DACHRAOUI <mourad.dachraoui@...>:
@Tous :)

C'est exactement où je veux en venir Marouene:

Comment procède un contrôleur qualité pour détecter un écart ou une violation par rapport à l'architecture?
Comment détecter cet écart avant même que le contrôleur qualité nous "tape sur la main" :) ?
Comment par exemple dans une architecture où seules les classes des packages a.b.* peuvent appeler les classes de a.c.*, être sure que directement ou indirectement, il n'y a pas de cas où l'inverse se produit?

La détection de ce cas de figure est introduit par Structure101 dans sa présentation flash. En effet il s'intègre à l'IDE eclipse, et déclenche une erreur empêchant la compilation, des qu'une instanciation non conforme à l'architecture est codée par le développeur... pareil pour SonarJ grâce à son plugin maven qui applique une vérification au moment du build et génère un rapport disponible avec le reste des rapports maven.

Mourad.





2008/4/25 Marouene Khaled <khaledmarouene@...>:

Bonjour à tous,

@ Foued : Tu as raison mais un écart de développement est toujours envisageable et on sait très bien qu'aucun développeur ne respecte pas à 100% les consignes de dév, d'architecture, etc ...

@Mourad : A part les outils, il y a des contrôleurs qualité (des personnes physiques) dont le rôle est de surveiller continuellement les développements et de les valider (ou rejeter) avant le vrai "commit" dans le projet

C'est tout ce que je sais ! :-)

A+

Marouène

2008/4/25 Foued Elguenbri <elguenbri.foued@...>:

Bonjour,
Je ne suis ni un architecte ni un développeur expérimenté pour vous répondre mais tout de même je sais bien que suivre une architecture ce n'est autre que des bonnes pratiques de développement, ça ne complique pas la vie ,au contraire ça vous offre une bonne visibilité de code et une séparation de propos pour facilité la maintenance et l'évolution du code.
Merci pour les outils que vous avez proposé et j'attends comme vous l'équivalent en open source :)
Bonne journée à tous.

Le 25/04/08, Mourad DACHRAOUI <mourad.dachraoui@...> a écrit :
Bonjour,

Comment peut on imposer le respect d'une architecture logicielle? C'est une question qui peux vous paraître "idiote" où dont la réponse pour certains est évidente. Il est vrai qu'un architecte peux imposer ou délimiter une équipe de développeurs moyennant des formations :) combinée à l'utilisation de "bons" Design patterns, permettant d'imposer un contrat, une logique métier qui permet d'implémenter une fonctionnalité en suivant la logique B et non pas la logique A ou C par exemple.

Cependant il est clair aussi, qu'un développeur peux toujours s'arranger pour introduire une complexité énorme, une dépendance  cyclique ou même succomber à la tentation: " Ça fait la même chose! ce n'est que deux classes à faire! Alors pourquoi toutes ces classes et ces interfaces et ces IDelegateMachin et AbstractBidule que je doit implémenter?? dans des packages différents en plus?? Pourquoi l'architecte se complique tellement la vie!?"

Nous travaillons actuellement sur un projet géré et conduit par l'intégration continue. Nous utilisons maven2, continuum, et une batterie de plugins maven2 pour recueillir la métrique nécessaire pour nous assurer de la qualité du code produit,  et ainsi détecter les erreurs de codage, les bugs les plus communs,  la couverture de code, etc. Mais aucun plugin n'aide les superviseurs du projet à détecter le non respect de l'architecture et de la conception initiale du projet.

Bref, aujourd'hui je viens de tomber sur deux outils assez intéressants! SonarJ (cf. programmez.com) et Structure101 dont la demo flash est très explicative. Malheureusement, ce n'est pas de l'open source. Et puis pour les architectes chevronnés comme le cofondateur de Spring, JDepend est suffisant pour gérer l'organisation d'un projet complexe. (cf. se-radio.net à partir de la 44ème minute pour les impatients ;)

Je pense toute de même que ce genre d'outils où le développeur  est informé en temps réel d'une violation d'architecture est très utile (indispensable pour certains projet).

Et j'arrive donc à développer en détails, mon interrogation :)

Connaissez vous l'équivalent Open Source de SonarJ et Structure101? Sinon, Comment faites vous pour imposer le respect de l'architecture logicielle conçu au départ? Comment faites vous pour savoir si il y a eu une violation d'architecture dans un module donné à un instant T de l'évolution du projet? Et surtout, comment on fait généralement pour s'assurer que le code produit à la fin correspond exactement à l'architecture logicielle de départ?

Merci d'avoir pris le temps de lire mon mail... jusqu'à la fin :) et merci d'avance pour vos réponses.


Mourad DACHRAOUI.





--
_________________
Cordialement.
ELGUENBRI FOUED









--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@...
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@...
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---


Re: Respect d'une architecture et détection des violations d'architecture

by Hamed KOUBAA :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bonjour,

Call(Mourad && * * ) :

conecernant le point évoquer "En effet il s'intègre à l'IDE eclipse, et déclenche une erreur empêchant la compilation, des qu'une instanciation non conforme à l'architecture est codée par le développeur"
tu peux implémenter des trucs pareils utilisant Aspectj voici un exemple et plus de détail.

Bon travail

--
Hamed KOUBAA

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@...
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@...
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---


Re: Respect d'une architecture et détection des violations d'architecture

by Mourad DACHRAOUI-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Merci Hamed pour ta réponse. Sauf que l'Aspect de ma question n'est pas orienté technique ;) alors que ta réponse n'est qu'une technique de l'orienté Aspect... enfin si on peu dire ca comme ca :o)

Sinon Skander, je n'ai pas eu le temps de tester ces outils mais des que j'y arriverai j'en ferai un retour, cependant tu peux avoir un retour d'expérience de Juergen Hoeller le cofondateur de spring lors de cette conférence (cf. www.infoq.com) ... après 1h10min de conférence à peux pres ;) ...



2008/4/25 Hamed KOUBAA <hamed.koubaa@...>:
Bonjour,

Call(Mourad && * * ) :

conecernant le point évoquer "En effet il s'intègre à l'IDE eclipse, et déclenche une erreur empêchant la compilation, des qu'une instanciation non conforme à l'architecture est codée par le développeur"
tu peux implémenter des trucs pareils utilisant Aspectj voici un exemple et plus de détail.

Bon travail

--
Hamed KOUBAA





--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@...
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@...
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---


Re: Respect d'une architecture et détection des violations d'architecture

by pth81 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bonjour Mourad,

Structure101 est gratuit a utiliser de l'open source. Il y a plusieurs projets qui utilise deja.

http://www.headwaysoftware.com/about/partners.php#opensource

Si vous voulez utilise Structure101 de l'open source, vous pouvez nous contacter.

Merci et cordialement,
Paul


Mourad DACHRAOUI-2 wrote:
Bonjour,

Comment peut on imposer le respect d'une architecture logicielle? C'est une
question qui peux vous paraître "idiote" où dont la réponse pour certains
est évidente. Il est vrai qu'un architecte peux imposer ou délimiter une
équipe de développeurs moyennant des formations :) combinée à l'utilisation
de "bons" Design patterns, permettant d'imposer un contrat, une logique
métier qui permet d'implémenter une fonctionnalité en suivant la logique B
et non pas la logique A ou C par exemple.

Cependant il est clair aussi, qu'un développeur peux toujours s'arranger
pour introduire une complexité énorme, une dépendance  cyclique ou même
succomber à la tentation: " Ça fait la même chose! ce n'est que deux classes
à faire! Alors pourquoi toutes ces classes et ces interfaces et ces
IDelegateMachin et AbstractBidule que je doit implémenter?? dans des
packages différents en plus?? Pourquoi l'architecte se complique tellement
la vie!?"

Nous travaillons actuellement sur un projet géré et conduit par
l'intégration continue. Nous utilisons maven2, continuum, et une batterie de
plugins maven2 pour recueillir la métrique nécessaire pour nous assurer de
la qualité du code produit,  et ainsi détecter les erreurs de codage, les
bugs les plus communs,  la couverture de code, etc. Mais aucun plugin n'aide
les superviseurs du projet à détecter le non respect de l'architecture et de
la conception initiale du projet.

Bref, aujourd'hui je viens de tomber sur deux outils assez intéressants!
SonarJ <http://www.hello2morrow.com/en/sonarj/sonarj.php> (cf.
programmez.com<http://www.programmez.com/magazine_articles.php?id_article=1009&&titre=SonarJ%20et%20Maven%20surveillent%20votre%20architecture%20Java>)
et Structure101 <http://www.headwaysoftware.com/index.php> dont la demo
flash<http://www.headwaysoftware.com/products/structure101/demos/structure101overview_viewlet_swf.html>est
très explicative. Malheureusement, ce n'est pas de l'open source. Et
puis pour les architectes chevronnés comme le cofondateur de Spring, JDepend
<http://clarkware.com/software/JDepend.html>est suffisant pour gérer
l'organisation d'un projet complexe. (cf.
se-radio.net<http://se-radio.net/podcast/2008-01/episode-82-organization-large-code-bases-juergen-hoeller
partir de la 44ème minute pour les impatients ;)

Je pense toute de même que ce genre d'outils où le développeur  est informé
en temps réel d'une violation d'architecture est très utile (indispensable
pour certains projet).

Et j'arrive donc à développer en détails, mon interrogation :)

Connaissez vous l'équivalent Open Source de SonarJ et Structure101? Sinon,
Comment faites vous pour imposer le respect de l'architecture logicielle
conçu au départ? Comment faites vous pour savoir si il y a eu une violation
d'architecture dans un module donné à un instant T de l'évolution du projet?
Et surtout, comment on fait généralement pour s'assurer que le code produit
à la fin correspond exactement à l'architecture logicielle de départ?

Merci d'avoir pris le temps de lire mon mail... jusqu'à la fin :) et merci
d'avance pour vos réponses.


Mourad DACHRAOUI.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "TeeJUG" de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse teejug@googlegroups.com
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse teejug-unsubscribe@googlegroups.com
 Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/teejug?hl=fr
-~----------~----~----~----~------~----~------~--~---
LightInTheBox - Buy quality products at wholesale price