0% ont trouvé ce document utile (0 vote)
19 vues49 pages

Introduction au génie logiciel 2024

Le document présente un programme de génie logiciel pour l'ENI-ABT Bamako 2024, dirigé par Dr Yacouba Goïta. Il aborde des sujets tels que la crise du logiciel, les défis et les outils du génie logiciel, ainsi que les normes internationales et les exigences de qualité. Le contenu vise à former des professionnels capables de comprendre et de gérer le développement de logiciels en tenant compte des besoins des utilisateurs.

Transféré par

Amagana Sagara
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)
19 vues49 pages

Introduction au génie logiciel 2024

Le document présente un programme de génie logiciel pour l'ENI-ABT Bamako 2024, dirigé par Dr Yacouba Goïta. Il aborde des sujets tels que la crise du logiciel, les défis et les outils du génie logiciel, ainsi que les normes internationales et les exigences de qualité. Le contenu vise à former des professionnels capables de comprendre et de gérer le développement de logiciels en tenant compte des besoins des utilisateurs.

Transféré par

Amagana Sagara
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

Programme GIT/S6

ENI-ABT BAMAKO 2024

Introduction au génie logiciel


Module1
Chargé de cours:
Dr Yacouba GOÏTA
Tél : [Link]
Email : goita_yacouba@[Link]

Dr Yacouba Goïta
OBJECTIFS Spécifiques

Expliquer la crise du logiciel

Définir le génie logiciel

Comprendre le domaine du
génie logiciel

Les défis du génie logiciel

Dr Yacouba Goïta
OBJECTIFS Spécifiques

Les outils et méthodes du


génie logiciel

Qualité d’un logiciel

Conclusion

Références

Dr Yacouba Goïta
PLAN

Expliquer la crise du logiciel

Dr Yacouba Goïta
La crise du logiciel
 Quand on regarde la petite histoire de
l’informatique, le parcours a été secoué par
des erreurs impliquant parfois de grosses
sommes d’argent, parfois même des vies
humaines. A titre d’exemples, rappelons-
nous les trois évènements suivants:

Dr Yacouba Goïta
Mars climate orbiter (NASA 1999)
 La sonde spatiale supposée amarsir (atterir
sur Mars), s’écrase à la surface de la planète
rouge. Raison principale:
 une composante du système travaillait en
mètres et elle communiquait avec une autre
effectuant ses calculs en pieds.

Dr Yacouba Goïta
Therac-25
 La machine Therac-25 utilisée en radiothérapie
(1987). A cause d’erreurs dues à une mauvaise
connaissance des techniques de programmation
concurrente, des patients ont reçu des surdoses
et en sont morts.

Dr Yacouba Goïta
Le processeur Pentium de Intel (1994)
Un mathématicien découvre que l’algorithme implanté
dans le processeur Pentium de Intel est erroné. Il trouve
une erreur de calcul en tentant d’approximer la somme
des réciproques des nombres premiers jumeaux.

Dr Yacouba Goïta
Synthèse des trois exemples
 Chacun de ces exemples soulève un point
intéressant.
 Le cas de Mars climate orbiter montre qu’une
erreur peut entraîner de grosses pertes en
argent.
 Le cas de la machine Therac-25 reflète bien le
danger des bogues informatiques lorsque des
vies humaines sont en jeu.
 Dr Yacouba Goïta
Synthèse des trois exemples(suite)
 Finalement, le cas du processeur Pentium de Intel
démontre que les erreurs ne sont pas “réservées”
aux programmes, mais qu’elles peuvent aussi
s’immiscer dans les pièces de “hardware”.
 On connaît d’autres exemples, bien sûr, mais il
n’est pas nécessaire d’en citer davantage pour en
arriver à la question suivante:
 Comment peut- on éviter que des problèmes
semblables surviennent ?
Dr Yacouba Goïta
Approche de solution
 Une réponse possible à cette question se trouve
dans les principes du génie logiciel.
 La notion de génie logiciel a été mentionnée pour
la première fois à une conférence concernant la
crise du logiciel en 1968. La crise du logiciel est
une baisse significative de la qualité des logiciels.
 Mais que est-ce que le génie logiciel ?

Dr Yacouba Goïta
PLAN

Définir le génie logiciel

Dr Yacouba Goïta
Qu'est ce que le génie logiciel ?
 Définition Wikipédia
 « Le terme génie logiciel désigne l’ ensemble des
méthodes, des techniques et outils concourant à
la production d' un logiciel, au-delà de la seule
activité de programmation.»

Dr Yacouba Goïta
L’entreprise face au génie logiciel
L’ art et la manière de créer un logiciel.
 Logiciel=Programmes et la documentation
associée – cahier de charges, modèles, manuels
 Types de logiciel:
 Générique
 Individuel
 Hérité

Dr Yacouba Goïta
Qu'est ce que le génie logiciel ?
le génie logiciel est « l'ensemble des
activités de conception et de mise en
œuvre des produits et des procédures
tendant à rationaliser la production
du logiciel et son suivi ».
 France: Selon l'arrêté ministériel du 30 décembre 1983 relatif à l'enrichissement
du vocabulaire de l'informatique [Journal officiel du 19 février 1984],

Dr Yacouba Goïta
Qu'est ce que le génie logiciel ?
 Le génie logiciel est aussi appelée l'ingénierie
appliquée au logiciel informatique, c'est-à-dire
l'activité par laquelle le code source d'un
logiciel est spécifié puis produit.

Dr Yacouba Goïta
Qu'est ce que le génie logiciel ?
 Le génie logiciel touche au cycle de vie des logiciels.
Toutes les phases de la création d'un logiciel
informatique y sont enseignées : l'analyse du besoin,
l'élaboration des spécifications, la conceptualisation
du mécanisme interne au logiciel ainsi que les
techniques de programmation, le développement, la
phase de test et finalement la maintenance.

Dr Yacouba Goïta
Les professions du génie logiciel
•Le diplômé en génie logiciel peut exercer
dans les diverses professions suivantes :
•Ingénieur en logiciel
•Ingénieur au niveau conception de logiciel
•Ingénieur en informatique

Dr Yacouba Goïta
Pour les non développeurs
•Pour ceux qui choisissent de ne pas
développer:
– Comprendre comment sont
construits les logiciels qu’ ils vont
utiliser;
– Être en mesure d’ exprimer des
besoins et de suivre un
développement de logiciel.
Dr Yacouba Goïta
Employeurs
•Les sociétés de services en ingénierie
informatique;
•les éditeurs de logiciels ;
•les institutions de certification
gouvernementales.

Dr Yacouba Goïta
PLAN

Comprendre le domaine du
génie logiciel

Dr Yacouba Goïta
Domaines de connaissance du génie logiciel

• Le domaine de connaissances du génie logiciel


couvre en particulier:
• le cycle de vie d'un logiciel
• Analyse fonctionnelle,
• architecture,
• la programmation,
• les tests,
• la validation,
• la maintenance
• et la gestion de projet.
Dr Yacouba Goïta
Domaines de connaissance du génie logiciel

•Il couvre également les différentes


personnes impliquées:
•Technico-commercial,
•les ingénieurs,
•les acheteurs,
•les utilisateurs,
•Directeur des systèmes d’information.

Dr Yacouba Goïta
Normes internationales en génie logiciel

• Le génie logiciel repose sur un ensemble de normes


de niveau international permettant de définir le
champ de connaissance et d'application.
• IEEE Standard for Software Quality Assurance Plans
- IEEE Std. 730
• IEEE Standard for Software Configuration Plans -
IEEE Std. 828
• IEEE Standard for Software Test Documentation -
IEEE Std. 829
• IEEE Recommended Practice for Software
Requirements Specifications - IEEE Std. 830.
Dr Yacouba Goïta
Normes internationales en génie logiciel

• IEEE Recommended Practice for Software Design Descriptions -


IEEE Std. 1016
• IEEE Standard for Software User Documentation - IEEE Std.
1063
• Guide SWEBOK - Software Engineering Book of Knowledge
• Software engineering for small organizations - ISO 29110
• Software life cycle - ISO 12207
• Également, ISO 15504 fourni un ensemble structuré de bonnes
pratiques destinées à appréhender, mesurer et améliorer la
qualité des produits d'une entreprise d'ingénierie informatique.

Dr Yacouba Goïta
PLAN

Les défis du génie logiciel

Dr Yacouba Goïta
Les propriétés du bon logiciel
• Avoir la fonctionnalité désirée.
• Facilement maintenu – de couvre les besoins changés
• Sûr – on doit avoir confiance en lui
• Efficace – de ne pas gaspiller le ressources du système
• Accepté, compris par les usagers

Dr Yacouba Goïta
Les défis devant le GL
• Hétérogénéité des plateformes
• Délivrance (respecter les termes et la qualité à la fois)
• Confiance des usagers
• Responsabilité professionnelles et éthiques

Dr Yacouba Goïta
Systèmes critiques
• Système critique par rapport de sécurité
• Perdre la vie ou la santé. Ex. Usine chimique
• Système critique par rapport de mission
• Une activité essentielle est échouée - Navire d’espace
• Système critique par rapport de commerce
• Grand pertes d’argent – système de comptabilité d’une banque

Dr Yacouba Goïta
PLAN

Les outils et méthodes du


génie logiciel

Dr Yacouba Goïta
Les outils et méthodes

• D'autres domaines sont connexes au génie logiciel


dans la mesure où ils partagent des outils
communs : description formelle du code,
grammaires des langages manipulés. Ces domaines
sont par exemple :
• la compilation ;
• l‘interprétation de code ;
• la traduction de code d'un langage de programmation
vers un autre.
• un éditeur dédié au langage de programmation
• les bibliothèques de composants
Dr Yacouba Goïta
Atelier de génie logiciel (AGL)

•Un atelier de génie logiciel (AGL), ou des


outils CASE pour Computer Aided Software
Engineering, désigne un ensemble de
programmes informatiques permettant eux-
mêmes de produire des programmes de
manière industrielle.

Dr Yacouba Goïta
Atelier de génie logiciel (AGL)

• Un AGL est basé sur un dictionnaire de données, (qui fait


implicitement référence à un méta modèle de données). Il est
généralement interfacé avec une interface graphique permettant la
modélisation, suivant un ou plusieurs formalismes tels que MERISE
ou UML.
• Les AGL couvrent donc un champ au-delà des environnements de
développement intégrés.

• la réalisation de programmes, notamment au sein d'équipes


nombreuses, requiert un AGL.

Dr Yacouba Goïta
Avantages liés à l'utilisation d'un AGL

• Un apport essentiel de l'AGL est de permettre de documenter


automatiquement un programme, et de maintenir en permanence à
jour cette documentation, et, ce tout au long de sa conception.
• Certains AGL peuvent aller jusqu'à la génération de code Enfin
certains peuvent faciliter la génération de jeux de test.
• Un AGL facilite la collaboration des différents programmeurs
(urbanisme informatique) ainsi que la maintenance ultérieure des
programmes en les incitant à partager les mêmes méthodes.

Dr Yacouba Goïta
Exemple d’AGL
• AD-Cycle d'IBM,
• AGL Merise/2
• ArgoUML
• Eclipse
• NSDK de Nat System
• Objecteering
• Optima PLC atelier d'automatisme sur PC (norme IEC 61131-3)
• Pacbase
• Perceptory
• NetBeans

Dr Yacouba Goïta
• PowerAMC de Sybase
• Rational Rose d'IBM
• Visual Studio
• UNIFACE
• WinDev (AGL, UML, FAA, WLangage, Wdscript, gestion de projet, etc.)
• WinDev Mobile (AGL, UML, FAA, WLangage, Wdscript, gestion de
projet, etc.)
• WebDev (AGL, UML, FAA, WLangage, Wdscript, gestion de projet,
etc.)
• XL Cibles pour Unix, Linux, DPS7 et VMS avec interface Web
• Microsoft VISIO

Dr Yacouba Goïta
PLAN

Qualité d’un logiciel

Dr Yacouba Goïta
La Gestion de la Qualité

•La gestion de la qualité permet de contrôler


l'organisation de la production du code.
•La qualité repose sur des méthodes.
•La qualité est mesurée sur la base des critères

Dr Yacouba Goïta
Les coûts d’un logiciel
Waterfall mo del

• Activités
0 25 50 75 100

• Spécification du logiciel Specificatio n Design Dev elo pment Integratio n and testing

• Développement 0
Iterative develop ment

25 50 75 1 00

• Validation
• Evolution Specificatio n Iterative developm en t System testin g

Com pon ent-based so ftware eng ineering

0 25 50 75 1 00

Specificatio n Dev elo pment Integratio n and testing

Dev elo pment and ev olution costs for lon g-lifetime syst ems
0 10 200 30 400

System dev elo pment System evolution

• Production
0 25 50 75 100

Specificatio n Dev elo pment System t estin g

Dr Yacouba Goïta
Fiabilité
• Panne du matériel
• Echec du logiciel
• Erreur opérationnel – le plus souvent

Dr Yacouba Goïta
Fiabilité
• Composants de la fiabilité (Dependability)
• Disponibilité
• Fiabilité (Reliability)– l’habilité de assurer les services comme ils sont
spécifiées
• Sécurité
• (Safety)De fonctionner sans échec catastrophique
• (Security)De se protéger des attaques externes
• Habilité de restauration après un échec
• Habilité d’être maintenu – à quel degré il s’adapter vers de nouvelles
exigences
• Habilité de survivre – de quel degré il continue de fonctionner sous
attaque
• Tolérance d’erreurs – à quel degré il tolère les erreur de l’utilisateur.

Dr Yacouba Goïta
Exemple: Insuline pompe
• Organisation

Réservoir d’insuline

Ensemble de
Pompe Horloge
l’aiguille

Capteur Unité de gestion Alarme

Ecran1 Ecran2

Alimentation

Dr Yacouba Goïta
Exemple: Insuline pompe
• Flux de données
Paramètres du sang
sang
Capteur de Analyse de Niveau du glucose
glucose sanguin glucose sanguin

Calcul du besoin
d’insuline
Instructions vers la pompe
insuline

Pompe d’insuline
Gestion de délivrance Besoin d’insuline
d’insuline

Dr Yacouba Goïta
Exigences de fiabilité

•Le système doit être capable de livrer


l’insuline quand l’organisme a besoin et
en quantité pour neutraliser le glucose.
•L’exigence principale de sûreté et de ne
pas livrer une surdose, qui peut être
mortelle.

Dr Yacouba Goïta
Les coûts de fiabilité

Dr Yacouba Goïta
Conclusions:
• Les utilisateurs d’ un logiciel
doivent être impliqués
dans son développement
• Les besoins du client sont
imprécis et changeants:
Dr Yacouba Goïta
QUESTIONS

-Faut- il faire un effort pour préciser et figer le


besoin du client en début de projet?

-Faut- il développer de manière à être tolérant aux


imprécisions et aux changements de besoins?

Dr Yacouba Goïta
Recommandations
Vers le cahier des charges

Dr Yacouba Goïta
Références
• Strohmeier A., Buchs D., Génie logiciel : principes,
méthodes et techniques, Lausanne, Presses
polytechniques et universitaires romandes, 1996.
• SWEBOK: Software Engineering Body Of Knowledge,
norme IEEE, 2004. Voir SWEBOK.

Dr Yacouba Goïta

Vous aimerez peut-être aussi