[Toulibre] Re: [Toulouse-ll] Façon de penser :-)

Thomas Petazzoni thomas.petazzoni at enix.org
Sam 24 Sep 14:05:15 CEST 2005


Salut,

jc.champarnaud at free.fr a écrit :

> En effet 'programmeur' autodidacte, j'ai des difficultés après que le
> cahier des charges à structurer mon travail pour produire une
> application qui se tienne et surtout qui puisse évoluer sans avoir
> besoin de 'tout' ré-écrire.

La question est très floue, la réponse le sera donc aussi. Ça va
ressembler à un article de 01Net, avec plein de buzzwords partout. Note:
je ne suis absolument pas un spécialiste du domaine.

Je suppose que tu veux parler de la structuration du logiciel, sa
décomposition en sous-ensembles, etc ? Je crois qu'il n'y a pas de
magie, c'est l'expérience qui permet de savoir comment la structurer.

Néanmoins, il existe divers outils pour faire cela:

 - un langage de modélisation, UML [1] qui est un formalisme pour
réaliser différents diagrammes décrivant l'application. Ces diagrammes
permettent de mettre sur papier le fonctionnement de l'appli, de
réfléchir dessus, etc.

 - un paradigme de programmation, la programmation orientée objet [2],
qui doit permettre de structurer une application et permettre la
réutilisation de code.

 - des « designs patterns » [3] qui sont des solutions toutes faites à
des problèmes classiques rencontrés lors de la conception d'une
application utilisant la programmation orientée objet.

Il existe différentes méthodes de développement. Les deux que je
connaiss sont:

 - la méthode du Cycle en V [4] qui prévoit un développement très
structuré de l'application, avec des phases bien définies, etc. Dans
cette méthode, la totalité de l'application est conçue et spécifiée (à
l'aide du formalisme UML, notamment) avant de commencer l'implémentation.

 - la méthode Extreme Programming [5] qui est une tentative de
formalisation et d'adaptation à l'entreprise des méthodes utilisées dans
de nombreux projets de Logiciels Libres. Dans cette méthode, il n'y a
pas réellement de conception de l'application. On commence par faire
quelque chose qui répond à un certain nombre de besoins, et quand de
nouveaux besoins apparaissent, on rajoute les fonctionnalités, tout en
refactorisant et en réarchitecturant l'application au fur et à mesure.

> Merci à celui qui a lu jusque là. Et toute ma reconnaissance celui ou
> celle qui me donnera une piste.

Je ne sais pas si mon blabla va te donner une piste, mais au moins il
aura le mérite de lancer la discussion.

Le problème, c'est que ta demande n'est pas très précise. Peut-être
qu'avec ces quelques informations, tu vas pouvoir préciser un peu ?

Bonne journée,

Thomas

[1] http://fr.wikipedia.org/wiki/Unified_Modeling_Language
[2] http://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_objet
[3] http://fr.wikipedia.org/wiki/Design_pattern
[4] http://fr.wikipedia.org/wiki/Cycle_en_V
[5] http://fr.wikipedia.org/wiki/Extreme_programming
-- 
PETAZZONI Thomas - thomas.petazzoni at enix.org
http://{thomas,sos,kos}.enix.org - Jabber: thomas.petazzoni at jabber.dk
http://{agenda,livret}dulibre.org
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E  1624 F653 CB30 98D3 F7A7

-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 256 octets
Desc: OpenPGP digital signature
URL: <http://toulibre.org/pipermail/toulouse-ll/attachments/20050924/a8f481e0/attachment.sig>


Plus d'informations sur la liste de diffusion Toulouse-ll