Vous êtes sur la page 1sur 17

Introduction au Génie

Logiciel
Le génie logiciel
 Est un domaine de recherche qui a été défini (fait rare) du 7 au 11 octobre
1968, à Garmisch-Partenkirchen, sous le parrainage de l'OTAN.
 Le génie logiciel est la discipline née en réponse à la crise du logiciel.
 Le génie logiciel se caractérise par une approche rigoureuse et systématique à
la construction de logiciels ne pouvant être maîtrisés par une seule personne.
 Le génie logiciel est donc l'art :
 De spécifier, de concevoir, de réaliser, et de faire évoluer des programmes,
des documentations et des procédures de qualité
 Avec des moyens et dans des délais raisonnables, en vu d'utiliser un système
informatique pour résoudre certains problèmes.

M. DIAW TCPL
Le génie logiciel
 Objectif du génie logiciel

 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 60 :

 augmentation des coûts ;

 difficultés d'évolution ;

 non fiabilité ;

 non respect des spécifications ;

 non respect des délais.

M. DIAW TCPL
Concepts et Définition
 Analyse orientée objet
 Méthode d’analyse qui examine les besoins en termes
de classes et d’objets trouvé dans l’espace du

problème.

 Conception orientée objet


 Méthode de conception qui mène à une décomposition
orientée objet et utilise une notation pour représenter les
différents aspects du système en cours de conception

M. DIAW TCPL
Méthode: Démarche et formalisme
 Démarche : succession d’ étapes pour
 mieux maîtriser le déroulement d’un projet
 Meilleure visibilité pour les utilisateurs sur certains résultats intermédiaires
et garantir que le résultat final sera celui attendu
 Formalisme défini par:
 Un langage formel
 Un langage semi-formel généralement graphique
 Un langage naturel

 Fonction :
 Représenter le monde réel tel qu’il est perçu par le concepteur
 Outil de communication entre informaticiens et utilisateurs
 Constitué par un ensemble de modèles permettant d’assurer une bonne
compréhension des besoins des utilisateurs
M. DIAW TCPL
Modèle
 Représentation abstraite de la réalité qui exclut certains détails du monde réel

 un artéfact formulé dans un langage de modélisation tel que UML, et décrivant un


système à travers différents types de diagrammes [Rumbaugh et al., 1999].

 Dans [Bézivin et al., 2001], un modèle est défini comme une représentation d’un ou
d’une partie d’un système construit pour un objectif précis. Le modèle doit répondre
aux questions que les utilisateurs se posent sur le système qu’il représente.

 Dans [Kleppe et al., 2003] un modèle est défini comme une description d’un ou d’une
partie d’un système dans un langage bien défini. Un langage bien défini est un langage
qui a une syntaxe et une sémantique bien définie et qui est interprétable par un outil.
M. DIAW TCPL
Logiciel et Génie logiciel
 Cycle de vie de logiciel
 Dans la réalisation d'un programme simple, fait par une personne, il est
possible de distinguer 3 phases:

 la phase d'analyse du problème;

 la phase de codage et de mise au point;

 la phase d'opération (le programme est opérationnel).

 Cette approche n'est pas appropriée pour un projet important impliquant


plusieurs personnes.

 Dans un tel cas il est nécessaire de distinguer plus de phases

M. DIAW TCPL
Logiciel et Génie logiciel

L'approche traditionnelle distingue 6 phases
Projet abondonné dans la vie du logiciel

non  La phase de pré-analyse : étude


d'opportunité;
Pourquoi ? Pré-analye
 La phase de spécification (software
Oui requirements) :l'analyse des besoins ;
Quoi ? Spécification
 La phase de conception (software design):
Cahier des charges la spécification globale, la conception
Comment ?Conception
architecturale et détaillée.
 La phase d'implémentation : la
Décopage du logiciel en modules
Impémentation programmation

Code  La phase de test : la validation et


vérification
Test
 La phase de maintenance, la gestion de
Logiciel opérationnel
M. configuration
DIAW TCPL et intégration.
Maintenance
Cycle de vie de logiciel
 La qualité du processus de fabrication est garante de la
qualité du produit
 Pour obtenir un logiciel de qualité, il faut en maîtriser le
processus d’ élaboration
 La vie d’un logiciel est composée de différentes étapes
La succession de ces étapes forme le cycle de vie du
logiciel
 Il faut contrôler la succession de ces différentes étapes

M. DIAW TCPL
Etude de faisabilité
 Déterminer si le développement proposé vaut la
peine d’être mis en œuvre, compte tenu de
attentes et de la difficultés de développement

 Etude de marché : Déterminer s’il existe un


marché potentiel pour le produit.

M. DIAW TCPL
Spécification: Analyse des besoins
 Déterminer les fonctionnalités que doit posséder le
logiciel

 Collecte des exigences : obtenir de l’utilisateur ses


exigences pour le logiciel

 Analyse du domaine : déterminer les tâches et les


structures qui se répètent dans le problème

M. DIAW TCPL
Organisation du projet
 Déterminer comment on va développer le logiciel

 Analyse des coûts : établir une estimation du prix du projet

 Planification : établir un calendrier de développement

 Assurance qualité du logiciel : déterminer les actions qui


permettront de s’assurer de la qualité du produit fini

 Répartition des tâches : hiérarchiser les tâches et sous-


tâches nécessaires au développement du logiciel

M. DIAW TCPL
Conception
 Déterminer la façon dont dont le logiciel fournit les
différentes fonctionnalités recherchées

 Conception générale
 Conception architecturale : déterminer la structure du système

 Conception des interfaces : déterminer la façon dont les


différentes parties du système agissent entre elles

 Conception détaillée : déterminer les algorithmes pour les


différentes parties du système
M. DIAW TCPL
Implémentation
 Ecrire le logiciel

M. DIAW TCPL
Test
 Essayer le logiciel sur des données d’exemple pour s’assurer qu’il fonctionne
correctement

 Tests unitaires : faire tester les parties du logiciel par leurs développeurs

 Tests d’intégration : tester pendant l’intégration des modules qui composent le logiciel

 Tests système : tester dans un environnement proche de l’environnement de production

 Tests de validation : pour acceptation par l’acheteur


 Tests Alpha : faire tester par le client sur le site de développement

 Tests Bêta : faire tester par le client sur le site de production

 Tests de régression : enregistrer les résultats des tests et les comparer à ceux des
anciennes versions pour vérifier si la nouvelle n’en a pas dégradée d’autres
M. DIAW TCPL
Livraison
 Fournir au client une solution logicielle qui fonctionne
correctement

 Installation : rendre le logiciel opérationnel sur le site du client

 Formation : enseigner aux utilisateurs à se servir du logiciel

 Assistance : répondre aux questions des utilisateurs

M. DIAW TCPL
Maintenance
 Mettre à jour et améliorer le logiciel pour assurer
sa pérennité

 Pour limiter le temps et les coûts de maintenance,


il faut porter ses efforts sur les étapes antérieures

M. DIAW TCPL

Vous aimerez peut-être aussi