Vous êtes sur la page 1sur 4

BTS 2 DSI Pr.

EF FAJJAJ

Resumé de Génie logiciel


Définition d’un logiciel : « Le logiciel est l'ensemble des programmes, procédés et règles,
et éventuellement de la documentation, relatifs au fonctionnement d'un ensemble de
traitement de l'information’ »
 le génie logiciel : est la discipline de l’informatique basée sur des principes d’ingénierie ,des
savoirs techniques et non technique (communication …..)visant à produire des logiciel avec
meilleur rapport qualité/prix .
 classification de logiciel : logiciel de base et logiciel d’application
 Les conditions de naissance du « génie logiciel » :
o construction de logiciels coute chère ;
o cout de maintenance excessive
o les logiciels n’étaient pas évolutifs
 Quelques malheurs logiciels
 Perte de 72 ballons météo (1971)
 Abandon compilateur PL1 (Control Data)
 Retard 1er lancement navette spatiale
 Les fonctions de l’ingénieur en génie logiciel
 Capacité de modélisation.
 Capacité de communication interpersonnelle.
 Capacité d’organisation et de planification.
 Les grands principes du génie logiciel
 1. La Rigueur.
 2. La Décomposition des problèmes en sous-problèmes.
 3. La Modularité.
 6. La Généralisation.
Les facteurs qui influencent la qualité d’un logiciel :
 Maintenabilité
 Efficacité
 Portabilité
 Testabilité
 Le « cycle de vie d'un logiciel » désigne toutes les étapes du développement d'un logiciel,
de sa conception à son apparition.
Les étapes :
 analyse des besoins (cahier des charges)
 Analyse des besoins (spécification)
 Conception générale
 Conception détaillée
 Développement (codage, test, intégration)
 Vérification & Validation
 teste ( unitaire, d’intégration, système ou fonctionnel)
 Installation
 Exploitation
 Maintenance
 Gestion de configuration

1
BTS 2 DSI Pr. EF FAJJAJ

Caractéristiques de Cahier de charge


 Corrects
 Clairs, sans ambiguïtés, intelligibles
 Cohérents
 Complets (interne et externe)
 Réalistes
Les types de spécifications
 informelles : basée sur le langage naturel (selon un plan type, le glossaire, présentation
formatée…)
 semi-formelles : basée sur un langage structuré graphique et textuel (dont la sémantique
est faible)
 formelles : basée sur un langage formel dont le vocabulaire, la syntaxe et la sémantique
sont formels
Les types de conception
 La conception architecturale (conception globale)
 la spécification abstraite
 la conception de l’interface
 la conception des composants, architectures des sous-systèmes
 la conception des structures des données
 la conception des algorithmes

Avantages de Modèle en cascade :


 Facile à comprendre
 Le test est important à chaque phase
 Beaucoup de documentations
Inconvénients de Modèle en cascade :
 Il est rare que le client puisse fournir toutes les spécifications dès le
début du projet.
 Le client ne reçoit pas les résultats concrets pendant le développement
du logiciel
Modèle en V : Avantages & Inconvénients

2
BTS 2 DSI Pr. EF FAJJAJ

Avantage :
 L’obligation de concevoir les jeux de tests et leurs résultats
 Les étapes de la branche droite du V peuvent être mieux préparés et
planifiés.
Inconvénients :
 Le modèle idéalisé, ne tient pas compte de la nature itérative d’un projet
 Le logiciel délivré seulement à la fin du projet
 Le coût de gestion très important

Définition de test :
 Le test est l’exécution ou l’évaluation d’un système ou d’un composant
par des moyens automatiques ou manuels, pour vérifier qu’il répond à
ses spécifications ou identifier les différences entre les résultats
attendus et les résultats obtenus.

Objectif de test :
 De détecter d'éventuels écarts entre le comportement attendu et le
comportement observé au cours des tests, ce qui élimine un grand
nombre de fautes présentes dans le logiciel.
Les types de tests :
 Tests unitaires : fonctionnement correct des procédures
 Tests modules : teste coopération des modules
 Tests du sous-système : certain nombres de modules
 Test d'intégration :
 fonctionnement correct de l'ensemble
 adéquation aux spécifications des besoins
 Test d'acceptation : données réelles + client

 le test fonctionnel (boite noire) : basé sur les spécifications du programme


Avantages : pas besoin du code source
s'applique aussi bien aux tests unitaires que systèmes
Désavantages : ne test pas les fonctions cachées
 test structurel (boite blanche) : est basé sur l'analyse du programme et cela
nécessite le code source du programme.
 Avantage : test ce qui est là
 Dé-avantage : fonctionnalité présente dans la spec mais non implémentée peut
être manquée

Définition de la Qualité logicielle ?


 Le degré avec lequel un système, un composant ou un processus satisfait à ses exigences
spécifiées et aux besoins ou attentes de ses clients/usagers.

3
BTS 2 DSI Pr. EF FAJJAJ

Facteur Critères

Fiabilité Tolérance aux fautes, cohérence, précision, simplicité.

Conformité Traçabilité, complétude, cohérence.

Facilité d’emplois Apprentissage, Communicabilité , Volume d'E/S ; Taux d'E/S

Intégrité (Sécurité) Contrôle des accès

Maintenabilité (Réutilisabilité) simplicité, modularité, concision

Flexibilité (Adaptabilité) Généralité, auto-descriptivite

Portabilité indépendance machine, indépendance système

Interopérabilité modularité, données banalisées , communications banalisées

Testabilité Simplicité, instrumentation

Efficacité efficacité mémoire ,efficacité d'exécution.

Trois principes généraux de QL :


• Savoir mesurer la différence Savoir ce que vous faites Savoir ce que vous devriez faire
Définition de maintenance :
Les changements qui doivent être effectués à un logiciel après sa livraison à l’utilisateur.
TYPES DE MAINTENANCE :
 Maintenance perfective (évolutive) : Elle consiste à maintenir les fonctionnalités
antérieures tout en ajoutant des nouvelles fonctionnalités qui modifient profondément
l'architecture.
 La maintennce adaptative consiste à faire évoluer une application
lorsque son environnement change, afin d'assurer sa continuité de
fonctionnement.
 Maintenance corrective :
Critère important de la qualité qui corrige les anomalies ou erreurs
mises à jour par le client et non pas lors des tests de vérification et
de validation.
 Maintenance perfective (évolutive) :
Elle consiste à maintenir les fonctionnalités antérieures tout en
ajoutant des nouvelles fonctionnalités qui modifient profondément
l'architecture.

Vous aimerez peut-être aussi