0% ont trouvé ce document utile (0 vote)
14 vues43 pages

1 Généralités

Transféré par

xaviernjab
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues43 pages

1 Généralités

Transféré par

xaviernjab
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

GENERALITES

Définitions de logiciel Cycle de vie d’un logiciel


CaraCtéristiques d’un logiCiel etapes du CyCle de vie d’un logiCiel
Crise du logiciel Documents courants du cycle de vie
d’un logiCiel
Raison de la faible qualité de
logiciel Modèle en cascade
Définition de génie logiciel Modèle en V
Réponse à la crise de logiciel Modèle incrémental
Objectifs du génie logiciel Modèle en spirale
Critères de qualité d’un logiCiel

1
Définitions de Logiciel
Logiciel
Ensemble d'entités (programmes, données,
documentation, etc.) nécessaires au fonctionnement d'un
processus de traitement automatique de l'information
Ensemble de programmes qui permet à un système
informatique d’assurer une tâche ou une fonction en
particulier
Logiciel = programme + utilisation

2
Crise du Logiciel
Constat fait sur le développement logiciel fait en fin
années 60
Les délais de livraison non respectés
Les budgets non respectés
Les logiciels ne répondent pas aux besoins de l'utilisateur
ou du client
Les logiciels difficiles à utiliser, maintenir, et faire évoluer

3
Crise du Logiciel
Une étude du Department of Defense des États-Unis
réalisée en 1995 sur les logiciels produits dans le cadre de
9 gros projets militaires a donné lieu au diagramme
suivant

4
Crise du Logiciel

5
Crise du Logiciel
Une enquête menée en 2013 par la Standish group sur
des milliers de projets, de toutes tailles et de tous secteurs
a donné lieu à l’histogramme suivant

6
Crise du Logiciel

7
Crise du Logiciel
Comparaison entre petits et grands projets

8
Raisons de la faible
qualité des logiciels
Tâche complexe
Taille et complexité des logiciels
Taille des équipes de conception/développement
Manque de méthodes et de rigueur
Manque de méthodes de conception
Négligence et manque de méthodes et d'outils des phases de
validation/vérification
Mauvaise compréhension des besoins
Négligence de la phase d'analyse des besoins du client
Manque d'implication du client dans le processus

9
Raisons de la faible
qualité des logiciels
Difficultés spécifiques du logiciel
Conséquences critiques causées par modifications infimes
Mises à jour et maintenance dues à l'évolution rapide de la
technologie
Défaillances logicielles principalement humaines

10
Définition du Génie
Logiciel
Génie logiciel: Ensemble des méthodes, des techniques
et d’outils dédiés à la conception, au développement et à
la maintenance des systèmes informatiques
 L’Idée est d’appliquer les méthodes classiques
d'ingénierie au domaine du logiciel
Ingénierie (ou génie) : Ensemble des fonctions allant de
la conception et des études à la responsabilité de la
construction et au contrôle des équipements d'une
installation technique ou industrielle
11
Réponse à la crise du
logiciel
La solution imaginée pour répondre à cette crise a été
l’industrialisation de la production du logiciel.
Cette industrialisation vise la maîtrise du processus de
développement et définit pour cela des procédés de fabrication de
manière à satisfaire :
 les besoins des utilisateurs,
 la qualité du logiciel,
 les coûts du logiciel,
 les délais de production du logiciel.

12
Réponse à la crise du
logiciel
Le Génie Logiciel a ainsi pour principal objectif, la recherche
permanente des moyens pour réussir à maîtriser :
le développement,
le fonctionnement,
Et la maintenance du logiciel.
Ces moyens sont les suivants :
les modèles,
les langages,
la démarche,
les outils
13
Réponse à la crise du
logiciel
Les modèles
Un modèle est une représentation simplifiée d’une réalité.
Ils sont conçus avec un ensemble de concepts, dotés de
règles d’utilisation et de représentation (souvent
graphiques).
Ils guident le raisonnement dans l’identification des
aspects pertinents du domaine qu’on étudie.

14
Réponse à la crise du
logiciel
Les langages
Ils permettent de décrire les aspects pertinents du
système.
Ils peuvent être textuels ou graphiques, naturels ou
formels
La démarche
Elle découpe le processus de conception en étapes
successives à enchaîner.

15
Réponse à la crise du
logiciel
Les outils
Ils constituent le support automatique ou semi-
automatique pour les méthodes.
Ils permettent ainsi d’automatiser partiellement ou
totalement certaines phases du processus de conception.
On trouve ainsi des outils d’aide à la conception, des outils
de simulation, des outils d’aide à la vérification, etc.

16
Objectifs du Génie
Logiciel
Le Génie Logiciel se préoccupe des procédés de fabrication
de logiciels de façon à s’assurer que le produit qui est
fabriqué :
Réponde aux besoins des utilisateurs : Fonctionnalités
Reste dans les limites financières prévues au départ : Coût
Corresponde au contrat de service initial : Qualité
Reste dans les limites de temps prévues au départ : Délai
=> Règle du CQFD: Coût Qualité Fonctionnalités Délai

17
Critères de qualité d’un
logiciel
L'utilité: adéquation entre le besoin effectif de l’utilisateur
et les fonctions offertes par le logiciel.
Il faut mettre l’accent sur l’analyse des besoins
La Fiabilité: aptitude d’un logiciel à être conforme à ses
spécifications, et produire les résultats attendus
La robustesse: aptitude d’un logiciel à fonctionner
raisonnablement en toutes circonstances, tout en évitant
des situations catastrophiques même en dehors des
conditions d’utilisation prévues

18
Critères de qualité d’un
logiciel
L'interopérabilité: aptitude pour un logiciel à pouvoir
interagir en synergie avec d’autres logiciels
La performance: aptitude pour un logiciel à pouvoir
satisfaire aux contraintes de temps d’exécution.
 Pour y arriver, il faut veiller à la complexité des
algorithmes et opter pour des machines plus
performantes
La facilité d’utilisation: aptitude pour le logiciel à
nécessiter le moins d’effort possible de la part de ses
utilisateurs, tout en produisant les résultats escomptés

19
Critères de qualité d’un
logiciel
La portabilité: aptitude pour un même logiciel à pouvoir
fonctionner sur plusieurs machines.
Il faut pour cela rendre le logiciel indépendant de son
environnement d’exécution
La maintenabilité: aptitude pour un logiciel à pouvoir
subir des corrections et/ou des améliorations.
La réutilisabilité: aptitude pour un code à être réutilisable
par d’autres.
L’idéal est donc de construire son logiciel à partir de
composants prêts à l’emploi

20
Cycle de vie d’un logiciel
Le cycle de vie d'un logiciel est l’ensemble des étapes de
développement du logiciel, depuis sa conception jusqu’à sa
disparition
Cela couvre de la création du logiciel à sa disparition en
passant par son utilisation
Le but du découpage du processus est de maîtriser les
risques, maîtriser au mieux les délais et les coûts et
obtenir une qualité conforme aux exigences.

21
Etapes du cycle de vie
d’un logiciel
Etude de faisabilité: Il s’agit de déterminer si le
développement proposé vaut la peine d’être mis en œuvre,
compte tenu des attentes et de la difficulté de
développement

22
Etapes du cycle de vie
d’un logiciel
Analyse des besoins: Il s’agit de comprendre les besoins
du client
Objectifs généraux, environnement du futur système,
ressources disponibles, contraintes de performance…
Fournie par le client (expert du domaine d'application,
futur utilisateur…)

=> Rédaction d’un cahier des charges fonctionnel


(document côté métier/utilisateur).
23
Etapes du cycle de vie
d’un logiciel
Spécification : Il s’agit de la traduction des besoins
analysés en exigences techniques et détaillées.
Spécifications fonctionnelles détaillées (cas d’utilisation
UML, règles métiers).
Spécifications techniques (choix des technologies,
architecture, contraintes techniques).
Interfaces attendues (maquettes, IHM, API).

=> Rédaction du document de spécifications techniques


(DST).
24
Etapes du cycle de vie
d’un logiciel
Organisation du projet: Il s’agit de déterminer comment le logiciel
sera développé. Elle passe par :
L’analyse des coûts: Il s’agit d’établir une estimation du prix du
projet.
La planification des taches: Il s’agit d’établir un calendrier de
développement du projet.
L’assurance qualité du logiciel: Il s’agit de déterminer les actions
qui permettront de s’assurer de la qualité du produit fini.
La répartition des tâches: Il s’agit de hiérarchiser les tâches et les
sous-taches nécessaires au développement du logiciel.
=> Rédaction du plan de gestion de projet logiciel ou Software Project
Management Plan (SPMP)
25
Etapes du cycle de vie
d’un logiciel
Conception: Il s’agit de déterminer la façon dont le logiciel
fournit les différentes fonctionnalités recherchées. Elle englobe :
La conception générale: Il s’agit de déterminer la structure du
système (conception architecturale), et de déterminer la
façon dont les différentes parties du système agissent entre
elles (conception des interfaces).
La conception détaillée: Il s’agit de déterminer les algorithmes
pour les différentes parties du système.

=> Rédaction du document de conception logicielle ou Software


Design Document (SDD)
26
Etapes du cycle de vie
d’un logiciel
Implémentation ou codage: Il s’agit de l’implantation de la
solution conçue
Choix de l'environnement de développement
Choix du/des langage(s) de programmation
Choix des normes de développement...

=> Rédaction d’une documentation technique de


développement

27
Etapes du cycle de vie
d’un logiciel
Tests: Il s’agit d’essayer le logiciel sur des données
d’exemple afin de s’assurer qu’il fonctionne correctement.
Ils englobent :
Les tests unitaires: Il s’agit de faire tester les parties du
logiciel par leurs développeurs
Les tests d’intégration: Ce sont les tests effectués pendant
l’intégration des modules
Les tests de validation: Il s’agit des tests pour
l’acceptation par l’acheteur
28
Etapes du cycle de vie
d’un logiciel
Les tests système: Il s’agit de faire des tests dans un
environnement proche de l’environnement de production
Les tests de régression: Il s’agit d’enregistrer les résultats
des tests et de les comparer à ceux des anciennes versions
pour vérifier si la nouvelle n’en a pas dégradé d’autres

=> Rédaction d’un rapport de tests ou Test Report

29
Etapes du cycle de vie
d’un logiciel
Déploiement: Il s’agit de fournir au client une solution
logicielle qui fonctionne correctement. Elle englobe :
L’installation: Il s’agit de rendre le logiciel opérationnel sur le
site du client
La formation: Il s’agit d’enseigner aux utilisateurs à se servir du
logiciel
L’assistance: Il s’agit de répondre aux questions des utilisateurs

=> Rédaction d’un manuel utilisateur / guide d’installation


=> Rédaction d’un guide de formation (si formation prévue)

30
Etapes du cycle de vie
d’un logiciel
Maintenance: Il s’agit de Mettre à jour et d’améliorer le
logiciel pour assurer sa pérennité. Il existe 3 types de
maintenance:
La maintenance corrective: Il s’agit d’identifier les
défaillances de fonctionnement, de localiser les parties de
code responsables, puis de corriger et d’estimer l’impact
de la modification.
La maintenance perfective: Il s’agit d’accroître ou
d’améliorer les possibilités du logiciel

31
Etapes du cycle de vie
d’un logiciel
La maintenance adaptative: Il s’agit d’ajuster le logiciel
pour qu’il continue de remplir son rôle en tenant compte
de l’évolution des environnements d’exécution, des
fonctions à satisfaire et des conditions d’utilisation

=> Rédaction d’un rapport de maintenance (par


intervention)
=> Rédaction d’un journal de maintenance (suivi global)
=> Rédaction d’une documentation mise à jour (technique
et utilisateur)
32
Modèles de développement
d’un logiciel
Il existe plusieurs modèles de développement de logiciels,
parmi les plus courants:
Le modèle en cascade
Le modèle en V
Le modèle incrémental
Le modèle en spirale
Les méthodes agiles
…

33
Modèle en cascade
Modèle en cascade
Il a été formalisé en 1970.
Il s’agit d’un modèle linéaire avec phases séquentielles qui
s’assure des vérifications à chacune des phases avec à l’issue,
production de document avant de passer à la phase suivante.
La découverte d'une erreur entraîne retour à la phase à
l'origine de l'erreur et nouvelle cascade, avec de nouveaux
documents
Ce modèle est adapté aux projets de petite taille, et dont le
domaine est bien maîtrisé
34
Modèle en cascade

35
Modèle en V
Modèle en V
Il a vu le jour dans les années 1980.
Il s’agit d’un modèle linéaire, dérivé du modèle en cascade
Il est adapté à des projets dont le domaine est bien maîtrisé

36
Modèle en V

37
Modèle incrémental
Modèle incrémental
Ce modèle prend en compte le fait qu'un logiciel peut
être construit étape par étape.
La réalisation se fait par incréments de fonctionnalités.
Chaque incrément est intégré à l'ensemble des
précédents et à chaque étape le produit est testé,
exploité et maintenu dans son ensemble.

38
Modèle incrémental
Modèle incrémental
Principe :
• Hiérarchiser les besoins du client
•Concevoir et livrer au client un produit implantant un
sous ensemble de fonctionnalités par ordre de priorité

39
Modèle incrémental

40
Modèle incrémental

41
Modèle en spirale
Le modèle en spirale met l'accent sur l'activité d'analyse des risques.
Chaque cycle de la spirale se déroule en quatre phases :
1. Détermination des objectifs du cycle, des alternatives pour les
atteindre et des contraintes,
2. Identification et résolution des risques : évaluation des
alternatives et, éventuellement maquettage,
3. Développement et vérification/validation de la solution retenue,
un modèle « classique » (cascade ou en V) peut être utilisé ici,
4. Planification, revue des résultats et vérification du cycle suivant.

42
Modèle en spirale

43

Vous aimerez peut-être aussi