GENIE LOGICIEL POUR L’IA
Abdoul Kader KABORE
1
Planning
• Rappel sur le genie logiciel
• L’IA: Qu’est-ce que c’est ?
• Le genie logiciel pour l’IA
2
Le génie logiciel
Qu’est-ce que c’est le génie logiciel et
sa place dans les sujets d’informatique
Le contenu est basé aux transparents du 7ème édition
de «Software Engineering» de Ian Sommerville
3
Questions de l’ingénierie de logiciel
• Qu’est ce que c’est logiciel?
• Qu’est ce que c’est génie logiciel?
• Quelle est la différence entre génie logiciel et
informatique?
• Quelle est la différence entre génie logiciel et
génie des systèmes?
• Qu’est ce que c’est processus unifié de logiciel?
• Qu’est ce que c’est modèle du processus de
logiciel
4
Questions de l’ingénierie de logiciel
• Combien ça coûte?
• Quelles sont les méthodes du génie logiciel?
• Qu’est ce que c’est CASE (Computer-Aided
Software Engineering)
• Quelles sont les propriétés du bon logiciel?
5
Logiciel
• Programmes et la documentation associée –
cahier de charges, modèles, manuels
• Types
– Générique
– Individuel
– Hérité
6
Génie logiciel
• Par rapport d’informatique
• Par rapport du génie des systèmes
7
Processus du logiciel
• Un ensemble d’activités dont l’objectif est le
développement et l’évolution du logiciel.
• Activités :
– Spécification – qu’est ce que le logiciel doit faire et les
contraintes posées au développement
– Développement - production logiciel
– Validation – vérification si le logiciel est celui qui est
attendu du client.
– Evolution – modification du logiciel en accordance
avec les besoins.
8
Modèle du processus
• Le modèle – une présentation simplifiée d’un
point de vue différent
• Points de vue:
– Flux d’activités
– Flux des données
– Rôles/activités
• Modèles génériques
– Cascade (Waterfall)
– Itérative
– Composants
9
Les coûts
Waterfall model
0 25 50 75 100
• Activités
Specification Design Development Integ ration and testing
– Spécification du logiciel
Iterative development
– Développement 0 25 50 75 1 00
– Validation Specification Iterative development System testing
– Evolution Component-based software eng ineering
0 25 50 75 1 00
Specification Development Integ ration and testing
Development and evolution costs for long-lifetime syst ems
0 10 200 30 400
System development System evolution
• Production 0 25 50 75 100
Specification Development System testing
10
Méthodes de génie logiciel
• Composants des méthodes
– Modèles – graphiques (objets, flux des données,
machine d’états et c.)
– Règles - contraintes
– Recommandations – bonne pratique
– Direction et gestion – la séquence des activités
11
CASE (Computer-Aided Software Engineering)
• Upper-CASE
– Support les activités de conception et de definition
des besoins
• Lower-CASE
– Support les activités tards – programmer, déboguer,
tester
12
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
13
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
14
Les défis devant le GL
15
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
16
Fiabilité
• Panne du matériel
• Echec du logiciel
• Erreur opérationnel – le plus souvent
17
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.
18
Exemple - Insuline pompe
• Organisation
Réservoir d’insuline
Ensemble de
Pompe Horloge
l’aiguille
Capteur Unité de gestion Alarme
Ecran1 Ecran2
Alimentation
19
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
Gestion de délivrance Besoin d’insuline
Pompe d’insuline
d’insuline
20
Exigences de fiabilité
• Le système doit être capable de livrer l’insuline
quand l’organisme a besoin et en quantité qui
assez de neutraliser le glucose.
• L’exigence principale de sûreté et de ne pas
livrer une surdose, qui peut être mortelle.
21
Les coûts de fiabilité
22