* Magento Versailles
***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe
Magento Versailles
Article:
Les principales causes7 des dégradations logicielles constituent les modifications tenues au code, à la documentation dans le non-respect des règles architecturales. Ces changements sont nécessaires pour suivantes raisons. l'une des importantes causes des dégradations dans les architectures reste l'évolution du besoin client. Le client essaye d'apporter des mutations aux spécifications. Ce ème est également constaté lorsque les spécifications ne sont pas assez précises. Ces deux points déterminent les deux principaux types de vieillissement logiciels : les défaillances issues des modifications des propriétaires du produit suite aux évolutions du besoin, et le résultat des modifications effectuées suite à des incompréhensions des deux parties (client/concepteur du logiciel) lors de la conception et du développement du produit. Une autre cause de dégradations de logicielles est le matériel auquel se rattache le logiciel. Les architectures logicielles sont conçues dans le respect du matériel dont le logiciel dépend. Au fil du temps, le matériel est susceptible de changer8 et cela peut provoquer une instabilité et compromettre l'architecture prévue. Les modifications apportées au logiciel durant sa durée de vie entraînent un ème d'allocation mémoire9. En effet, des changements dans le code font grandir la taille du programme, et plus la taille du programme grandit plus la mémoire demandée au système est homogène. Il est difficile de prédéfinir la mémoire à ater. Pour éliminer les dégradations logicielles, il existe plusieurs solutions permettant de ralentir le vieillissement1 mais également de garantir la qualité tout en essayant de garder un équilibre entre l'architecture et l'implémentation. Il ya des technologies (citées plus bas) permettent de faire face aux dégradations. Toutefois il existe des éléments pratiques à mettre en place pour conserver la qualité des logiciels. La phase de conception permet de créer un design capable d'accepter des demandes de changements futurs. Ceci est en contradiction avec l'itérative nature de nombreuses méthodes de développement (extrême pro- programming, le prototypage rapide, etc.) car ces méthodologies incorporent généralement de nouvelles exigences qui peuvent avoir un impact architectural, au cours du développement alors qu'une bonne conception nécessite des connaissances au sujet de ces exigences à l'avance10. Il reste donc important d'envisager des architectures s'adaptant aux changements mais également compatibles avec les méthodologies de développement utilisées. Ainsi, il semble possible de parler d'architectures agiles11 pour des développements agiles et l'appliquer pour mieux garantir la durée de vie du logiciel. Lorsqu'il y a des modifications à apporter au logiciel, il semble plus simple (moins cher) d'appliquer ces modifications dans le code.