24.12.2014 Views

Génie Logiciel Avancé Cours 1 : Introduction Qu'est-ce que le génie ...

Génie Logiciel Avancé Cours 1 : Introduction Qu'est-ce que le génie ...

Génie Logiciel Avancé Cours 1 : Introduction Qu'est-ce que le génie ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Criti<strong>que</strong> du modè<strong>le</strong> de développement évolutif<br />

Modè<strong>le</strong> de développement à livraison incrémenta<strong>le</strong><br />

◮ Il est plus diffici<strong>le</strong> de gérer un projet utilisant <strong>ce</strong> modè<strong>le</strong> car la visibilité de<br />

l’avan<strong>ce</strong>ment du développement est peu clair.<br />

⇒ Dans <strong>ce</strong> cadre, encore plus <strong>que</strong> dans un autre, un chef de projet doit aussi<br />

être un bon programmeur puisqu’il doit être capab<strong>le</strong> de se faire une idée de<br />

l’état du système en observant <strong>le</strong> développement (possib<strong>le</strong>ment chaoti<strong>que</strong>)<br />

des prototypes.<br />

◮ Il est diffici<strong>le</strong> de structurer correctement <strong>le</strong> logiciel (définir de bonnes<br />

abstractions, modulariser effica<strong>ce</strong>ment) car <strong>le</strong>s prototypes sont par définition<br />

des produits “bricolés”.<br />

◮ Le coût en termes de tests et de validation du produit final peuvent être très<br />

importants.<br />

⇒ Des approches mixtes intégrant modè<strong>le</strong> de développement évolutif pour<br />

produire un premier prototype validé et un modè<strong>le</strong> en cascade pour<br />

reconstruire correctement un produit final constituent en général de bons<br />

compromis.<br />

◮ Une approche à mi-chemin entre <strong>le</strong> modè<strong>le</strong> en cascade et <strong>le</strong> modè<strong>le</strong> de<br />

développement évolutif s’appuie sur une livraison incrémenta<strong>le</strong> du produit.<br />

◮ On hiérarchise <strong>le</strong>s besoins du client en termes de priorité.<br />

◮ Cha<strong>que</strong> itération du modè<strong>le</strong> vise à obtenir un ensemb<strong>le</strong> de fonctionnalités par<br />

ordre de priorité.<br />

◮ Traiter <strong>le</strong>s parties <strong>le</strong>s plus criti<strong>que</strong>s du système en premier permet de<br />

minimiser <strong>le</strong>s ris<strong>que</strong>s d’inadéquation avec <strong>le</strong> produit final.<br />

◮ Cependant, il se peut <strong>que</strong> <strong>le</strong>s choix pris en amont, trop focalisés sur <strong>ce</strong> noyau<br />

de fonctionnalités, compromettent <strong>le</strong> développement des fonctionnalités<br />

secondaires.<br />

Modè<strong>le</strong> de développement par composants<br />

Modè<strong>le</strong> de développement par composants<br />

Définition des besoins<br />

Analyse des composants<br />

Modification des besoins<br />

Con<strong>ce</strong>ption par réutilisation<br />

Développement et intégration<br />

◮ Ce modè<strong>le</strong> vise à développer un logiciel en grande partie à l’aide d’une base<br />

de composants généri<strong>que</strong>s pré-existants.<br />

◮ L’élaboration de la spécification est dirigée par <strong>ce</strong>tte base : une<br />

fonctionnalité est proposée à l’utilisateur en fonction de sa facilité à l’obtenir<br />

à l’aide d’un composant existant.<br />

⇒ Situation typi<strong>que</strong> chez <strong>le</strong>s sociétés de servi<strong>ce</strong>s (hébergement de serveurs,<br />

déploiement automati<strong>que</strong> de site web, etc . . . ).<br />

◮ Ce modè<strong>le</strong> permet d’obtenir rapidement des produits de bonne qualité<br />

puisqu’ils sont construits à partir de composants qui ont fait <strong>le</strong>ur preuve.<br />

◮ Le travail d’intégration peut s’appuyer sur des outils dirigés par des<br />

descriptions de haut-niveau du système qui génèrent <strong>le</strong> code de “glue” par<br />

exemp<strong>le</strong>.<br />

Validation du système

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!