Institut supérieur de technologie du cinquantenaire /Cycle BTS/GL/ Introduction au génie logiciel
Chapitre
2
Cycle de vie de developpement
Objectifs
• Definition
• Citer les differentes phases du cycle de vie
• Comprendre les differentes phases du cycle de vie
Themes couverts
• Analyse et definition des besoins
• Conception et realisation
• Realisation , test et maintenance
•
Introduction
Les méthodes de conception et de développement de logiciels couvrent une ou plusieurs étapes du
cycle de vie et ont pour but de permettre la construction de tout type de composants logiciels. On
parle de méthodes fonctionnelles, de méthodes systémiques et de méthodes orientées objets.
Les méthodes orientées objets semblent parmi les plus avantageuses. Elles prennent en compte des
critères de qualité dont les critères de qualité de la conception.
Enseignant : M.MINKA JOEL RUBEN | [email protected] 1
Institut supérieur de technologie du cinquantenaire /Cycle BTS/GL/ Introduction au génie logiciel
1- Definition
Le cycle de vie du logiciel est une modélisation conventionnelle de la succession d'étapes
permettant la mise en oeuvre d'un produit logiciel.
2- Genie logiciel
L'objectif du génie logiciel est d'optimiser le coût de développement du logiciel.
L'importance d'une approche méthodologique s'est montrée par la crise de l'industrie du logiciel à la
fin des années 70 :
- augmentation des coûts,
- difficultés d'évolution,
- non fiabilité,
- non respect des spécifications,
- non respect des délais.
3- Facteurs de qualite
En génie logiciel, divers travaux ont mené à la définition de la qualité du logiciel en termes de
facteurs :
- Validité: aptitude d'un produit logiciel à remplir exactement ses fonctions, définies par le
cahier des charges et les spécifications.
- Fiabilité(ou robustesse) : aptitude d'un produit logiciel à fonctionner dans des conditions
anormales.
- Extensibilité: facilité avec laquelle un logiciel se prête à une modification ou à une
extension des fonctions qui lui sont demandées.
- Réutilisabilité: aptitude d'un logiciel à être réutilisé, en tout ou en partie, dans de nouvelles
applications.
- Compatibilité: facilité avec laquelle un logiciel peut être combiné avec d'autres logiciels.
- Efficacité: Utilisation optimale des ressources matérielles.
- Portabilité: facilité avec laquelle un logiciel peut être transféré sous différents
environnements matériels et logiciels.
- Vérifiabilité: facilité de préparation des procédures de test.
Enseignant : M.MINKA JOEL RUBEN | [email protected] 2
Institut supérieur de technologie du cinquantenaire /Cycle BTS/GL/ Introduction au génie logiciel
- Intégrité: aptitude d'un logiciel à protéger son code et ses données contre des accès non
autorisés.
- Facilité d'emploi : facilité d'apprentissage, d'utilisation, de préparation des données,
d'interprétation des erreurs et de rattrapage en cas d'erreur d'utilisation.
4- Cycle de vie du logiciel
Le cycle de vie du logiciel passe par les phases (ou étapes) suivantes :
- Analyse et définition des besoins : les fonctionnalités du système et les contraintes sont
établies en consultant les utilisateurs. Elles doivent être définies de façon compréhensibles à
la fois pour les utilisateurs et pour l’équipe de développement.
- Conception du logiciel : c'est le processus qui consiste à représenter les diverses fonctions
du système d'une manière qui permettra d'obtenir rapidement un ou plusieurs programmes
réalisant ces fonctions.
Déterminer la façon dont le logiciel fournit les différentes fonctionnalités recherchées ; En
définissant d’abord la structure du système (conception architecturale) ensuite déterminer la
façon dont les différentes parties du système agissent entre elles (conception des interfaces)
et finalement les algorithmes pour ces différentes parties (conception détaillée).
- Réalisation et test unitaires: lors de cette étape, on réalise les programmes écrits dans un
langage de programmation; les tests unitaires permettent de vérifier que chaque programme
fonctionne correctement indépendamment des autres.
- Intégration et tests du logiciel: on intègre les unités de programmes et on réalise des tests
globaux pour être sûr que les besoins logiciel ont été satisfaits, le système est alors livré.
- Maintenance: c'est le processus qui permet de garder opérationnel un logiciel ou de
l'améliorer.
Pour mieux maîtriser le processus de développement on se réfère à des modèles de cycle de vie,
permettant de prendre en compte, en plus des aspects techniques, l'organisation et les aspects
humains.
Enseignant : M.MINKA JOEL RUBEN | [email protected] 3