Vous êtes sur la page 1sur 28

Université Joseph KI-ZERBO

INSTITUT DE FORMATION OUVERTE ET A DISTANCE(IFOAD)

Génie Logiciel

Enseignante: Nabi Rasidatou

Année universitaire: 2022-2023


A PROPOS DU COURS
Volume horaire : 28 h
Évaluation : Un contrôle ou un projet
Objectifs
 Avoir un aperçu général du Génie Logiciel (GL)
 Connaître les principales étapes, activités et tâches et leurs possibles agencements
dans le développement d’un logiciel
 Définir les facteurs de la qualité du logiciel
PLAN DU COURS
 Généralités sur le GL
 Cycles de vie du logiciel
 Ingénierie du logiciel
 Gestion de la qualité du logiciel
 Gestion du versionnement
 Évaluation des coûts et délais
Généralités sur le GL
Définitions(1) : Génie et ingénierie

● Gén i e : science de l’ingénieur → mise au


point de bases théoriques, outils,
méthodes validés par la pratique. En lien
avec un domaine
● Ingéniérie : création (élaboration)...
– … par application d’un savoir scientifique, …
… de solutions coût-efficaces …
… à des problèmes concrets
Généralités sur le GL
Définitions(2) : Logiciel

● Logiciel :
⁻ Objet manufacturé complexe avec ses propres techniques de
fabrication(programme informatiques, document associée, nécessaire pour
développer, exploiter et maintenir ses programmes)
⁻ Entités…
• manuel d’utilisateurs, spécifications,
• codes (source, binaires), librairies,
• dossiers de conceptions, jeux de tests
• … nécessaires au fonctionnement d’un processus de traitement
automatique de l’information
Généralités sur le GL

Définitions(3) : Génie Logiciel

●G é n i e L o g i c i e l
– expression née à la conférence OTAN en 1968
● Méthodes, techniques e t outils …
… conception e t réalisation …
… logiciels de qualité industrielle
– Travail en équipe
– Taille conséquente des logiciels
– Haute qualité escomptée (correction, fiabilité, robustesse,
performance, qualité IHM, facilité de vérification et de
maintenance, documentation, etc.)
Généralités sur le GL
Définitions(4) : Génie Logiciel

● G é n i e Logiciel
– Discipline informatique dont l’objet est de
construire des logiciels de taille ou de
complexité considérables, amenés à évoluer
durant leur vie (plusieurs années)

– « Multi-person construction of multi-


version software » (D. Parnas)
Généralités sur le GL
Définitions(4) : Génie Logiciel


G é n i e Logiciel
– « Établissement et utilisation de bons principes de génie
pour réaliser des logiciels économiques, fiables et
efficaces sur des machines réelles » (F. Bauer)

– Art de spécifier, de concevoir, de réaliser et de faire


évoluer avec des moyens et des délais raisonnables des
programmes de qualité, des documentations et des
procédures en vue d'utiliser un ordinateur à certaines fins
Généralités sur le GL
Ingénierie du logiciel et programmation

Il s’agit des deux approches de développement logiciel,


la première incluant la deuxième
→ En GL, savoir programmer est loin d’être
suffisant. Il faut aussi savoir: Spécifier,
Concevoir, Intégrer, Gérer la qualité ,Gérer les
versions…
Généralités sur le GL
Ingénierie du logiciel et programmation

Éléments de P ro g ram m a t io n G L ( g ran d s projets)


comparaison (petits projets)

Taille < 2KISL >5 0 KILS


Durée 1-2 mois 2 – 5 ans
Équipe 1 personne 1 ou plusieurs équipes
Suivi, gestion projet Centralisée, Répartie, organisée
informelle
Compréhension pb, Immédiate, Difficile, explicite
spec informelle
Sources d’erreurs Programmation Prog, fonctionnalités,
interf
Généralités sur le GL
Ingénierie du logiciel et programmation

P ro g ra m m a t io n G L ( g ran d s projets)
(petits projets)
Utilisateur développeur Nombreux, < > des
développeurs
Conséq erreurs, Faibles, par l’usage Lourdes, soigneuse et
validation complète
Déploiement 1 machine En réseau, postes
hétérogènes
Interface, doc. Util Minimale Explicite, complète
Maintenance, doc tech Facile Difficile à organiser,
indisp.
Gestion des versions 1 seule en cours Multiplicité des config et
des postes de travail
Généralités sur le GL
Evolution de l’informatique (1) : Années 50

Les débuts:
• Prix du matériel élevé, peu d’utilisateurs
• Petits programmes (batch, peu distribués)
• Utilisateur = programmeur
• La programmation suffit pour le développement
des logiciels
Généralités sur le GL
Evolution de l’informatique (2) : Années 60 et 70

● 1 e r s gros logiciels commercialisés


– Produits logiciels vendus à des milliers de clients
– Logiciels multi-utilisateurs, temps-réel
– Apparition des bases de données

● Avènement de la crise du logiciel Caractérisée par


• Logiciels non conformes aux attentes (50%, Gartner)
• Fiabilité insuffisante ;
• Coûts exorbitants (dépassement de 50%) et délais non tenus (90%)
• Absence de réutilisation
• Nombreux projets inachevés (30%, Aberdeen)
Généralités sur le GL
Evolution de l’informatique (3) : Années 60 et 70

● 1 e r s gros logiciels commercialisés


● Avènement de la crise du logiciel
– Quelques causes
• Communication de mauvaise qualité
– Méconnaissance des langages métier (concepteurs) et/ou informatique
(utilisateurs)
- Mauvaise coordination de l’équipe

• Problèmes de conception et de réalisation


– Augmentation de la complexité des logiciels
- Tests non représentatifs ou insuffisants
- Évolution des besoins des utilisateurs
Généralités sur le GL
Evolution de l’informatique (4) : Années 60 et 70

• 1 e r s gros logiciels commercialisés


• Avènement de la crise du logiciel
• Nécessité d’encadrer la production du
logiciel → naissance du GL en 1968
Généralités sur le GL
Evolution de l’informatique (6) : A partir des années 80

● Baisse du coût des ordinateurs

– Plus d’ordinateurs vendus


– Plus de logiciels vendus


Réseaux et systèmes répartis → complexification
des logiciels

● La crise du logiciel perdure


Généralités sur le GL
Evolution de l’informatique (6) : De nos jours


Omniprésence des systèmes informatiques
– Produits (appareils, outils de production, contrôle appareils … ) ;
Métiers (traitements de l’information, ordinateurs au travail … ) ;
Activités de la vie privée (courriers, comptes, jeux, …)

● Composantes des systèmes informatiques


– Matériel : Industrie mature (matériel relativement fiable)
– Logiciel
● Proportion (par rapport au matériel) croissante
Taille et complexité croissante

→ les problèmes liés à l’informatique sont des problèmes de logiciel.


Généralités sur le GL
Domaines et critères d’invocations du GL

• D o m a i n e s : réalisation de logiciels
Complexes (équipe d’ingénieurs)
– …

- Plusieurs années vie


- Multiples versions
- Evolution des fonctionnalités

• C ri tères (deux des trois)


– Équipe de développement
- Logiciels critiques
- Concepteurs ≠ utilisateurs
Généralités sur le GL

Problématique du GL

Détecter la majorité des erreurs au plus tôt en assurant la


qualité des méthodes de développement et de maintenance
des logiciels :


Pas de garantie de logiciel sans erreurs : la plupart des
logiciels peuvent avoir des erreurs on apprend à vivre
avec …


La correction d’une erreur peut en introduire d’autres


Coût d’une erreur est d’autant plus élevé que celle-ci
est découverte tard
Généralités sur le GL

Objectifs du GL
● Bonne construction du bon logiciel
– Maîtrise des

Coûts

Délais
● Risques

Qualité
- Résultat : un logiciel respectant des critères (de qualité)
● généraux
● externes
● internes
● Étude des lois suivies par les logiciels
Généralités sur le GL

Bénéfices escomptés du GL

● Donner l’assurance de logiciel de qualité

● Capitaliser les acquis pour permettre

– La réutilisation systématique de l’existant


– L’automatisation partielle du développement
– L’analyse du savoir-faire
Généralités sur le GL

Facteurs de choix des techniques de GL (1)



Facteurs liés au logiciel
– Taille (KISL = Kilo Instructions Sources Livrées) ;
- Complexité (code, exécution)
- Type de logiciels
● Systèmes informatiques et télécom ;
● Industrielle (temps réel) ;
● SI ou informatique de gestion ;
● scientifique ;
– Taux (degré) de procéduralité (activité bien maîtrisée) Taux

– d’innovation (activité bien connue)

– Dépendances vis-à-vis
● L’environnement d’exécution

D’autres applications
Généralités sur le GL
Facteurs de choix des techniques de GL (2)
● Facteurs liés au processus de développement
– Partenariat
● Développement en interne
● Sous-traitance

Commande …
– Compétence et disponibilité des intervenants;
– Technologie
– Déploiement (unitaire, selon la cible, selon les
fonctions)
– Contraintes de budget et de délai
Généralités sur le GL
Facteurs de choix des techniques de GL (3)
● Facteurs liés à l’utilisation du logiciel
– Criticité ;
Durée de vie
● Brève (une utilisation, utilisation limitée dans le temps)
● Très longue

– Cible : nombre et hétérogénéité des


● utilisateurs ;

sites de déploiement ;
● configurations, des versions du logiciel ;
● plates-formes d’exécution.

– Utilisateurs ( logiciel embarqué, grand public, professionnel...)


Généralités sur le GL

Voie de définition des méthodes de GL

• Voie méthodologique
- Méthodes de travail strictes
- Largement éprouvées
- Non nécessairement (raisonnablement) rigoureuses

● Voie formelle : associer à une notation précise de


type mathématique un sens rigoureux et des
moyens de raisonner
Généralités sur le GL

Principes du GL (Ghezzi, 2002) (1)


Rigueur (de la part des intervenants dans la
conception), utiliser les outils dédiés s’il y en a

Décomposition (séparation) des problèmes :
considérer séparément différents aspects d’un
problème afin d’en maîtriser la complexité

Modularité : décomposition du logiciel en
composants discrets (cohérents, faible couplage,
ne communiquant que le strict nécessaire)
Généralités sur le GL

Principes du GL (Ghezzi, 2002) (2)


Abstraction : utiliser des concepts généraux plutôt
que sur les cas particuliers (niveaux de détails).
Utilisation de types abstraits
● Anticipation des évolutions

Généricité : regroupement des fonctionnalités
semblables en une seule paramétrable

Construction incrémentale
QUESTIONS?

Vous aimerez peut-être aussi