Conception générique

Conception générique

La conception générique consiste à développer la solution qui répond aux spécifications techniques que nous vous avons présentées au chapitre 5. Cette conception est qualifiée de générique car elle est entièrement indépendante des aspects fonctionnels spécifiés en branche gauche. La conception géné- rique reste donc une activité de la branche droite. Cette étape de conception constitue les préconisations qu’il vous faut inventer, en tant qu’architecte logi- ciel de SIVEx, pour que la dizaine de développeurs qui y participe, utilise les composants, idiomes et frameworks les plus efficaces. Identiquement à notre remarque concernant la spécification technique, la stan- dardisation des techniques de développement, à laquelle nous avons assisté ces dernières années, rend cette étape moins conséquente qu’avant. En effet, la diffusion de frameworks et de composants gratuits, tels qu’EJB, Struts ou JDO, propose en quelque sorte des architectures logicielles clés en main, et généralement de qualité, qu’il suffit de réutiliser.La conception générique est terminée lorsque le niveau de détail des diagrammes donne une image suffisante des classes et des composants techni- ques à intégrer dans le système. Le développement d’un prototype peut succéder à la conception générique de manière à en valider les principes par le codage et le test. Cette phase de prototypage est fortement conseillée, car la qualité d’une conception géné- rique conditionne généralement celle du développement pour le reste du projet.

En définitive, la conception générique permet de formaliser, sous la forme de classes techniques réutilisables, les règles de conception pour l’ensemble d’un système à développer. Ces règles définissent l’intégrité de conception citée par Brooks [Brooks 90] comme condition de succès d’un projet. On peut encore considérer que la conception générique développe le squelette technique d’un projet. Si ce squelette est robuste et bien conçu, il pourra soutenir toutes les évolutions fonctionnelles possibles. Si, au contraire, il est mal conçu et qu’il nécessite par la suite de nombreuses retouches, la reprise des erreurs aura des répercussions pouvant se révéler très coûteuses pour la suite du projet.En préambule à ce premier chapitre de conception, nous vous suggérons d’utili- ser UML comme langage de conception entre développeurs. En effet, les con- cepteurs spécifient d’abord les besoins techniques auxquels le système devra répondre, avant d’en développer la solution. UML se révèle un langage de com- munication efficace pour à la fois spécifier, esquisser et construire une concep- tion.UML n’entre pas systématiquement en action avec un outil de type CASE (Computer Aided Software Engineering). C’est parfois sur la nappe d’une table de restaurant, lors d’une négociation entre plusieurs concepteurs, que s’élaborent les meilleures solutions ! Aurions-nous pu imaginer un tel sup- port de communication avec du pseudo-code ? C’est par son universalité et sa relative simplicité schématique qu’UML est devenu l’outil des architectes et des concepteurs qui construisent l’intégrité de conception d’un système. Si vous êtes sceptique, nous vous conseillons d’essayer dès maintenant. En tout état de cause, nous vous suggérons de vous entraîner à toute occasion pour acquérir la pratique de la conception objet avec UML.

Classes et frameworks techniques

L’intégrité de conception s’exprime sous la forme d’un ensemble de classes techniques que les concepteurs du projet vont par la suite réutiliser pour déve- lopper les différentes composantes fonctionnelles du système. À titre d’illus- tration, le mécanisme de contrôle des transactions peut être conçu par un ensemble de classes techniques réutilisées, quelle que soit l’application envi- sagée dans SIVEx. En d’autres termes, depuis l’application de saisie des commandes jusqu’à l’édition des plans de transport, les applications de SIVEx réutiliseront, grâce à la conception générique, les mêmes classes pour gérer leurs transactions.Structurellement, une interface ressemble à une classe avec le mot-clé « interface », qui ne peut ni définir d’attributs, ni définir d’associations navi- gables vers d’autres classes. Par ailleurs, toutes les opérations d’une inter- face sont abstraites. Ce concept UML correspond assez directement au concept d’interface dans Java.

 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *