Upload
maxime-savary-leblanc
View
229
Download
0
Embed Size (px)
Citation preview
8/19/2019 GL P1 Caractérisations P2 Langages
1/13
© C. Kolski
Génie Logiciel
Christophe Kolski Professeur en Informatique
LAMIH-UMR CNRS 8201
Groupe de Recherche en Informatique “Décision, Interaction, Mobilité”
Université de Valenciennes et du Hainaut-Cambrésis
http://www.univ-valenciennes.fr/LAMIH/
8/19/2019 GL P1 Caractérisations P2 Langages
2/13
© C. Kolski
Introduction
Statistiques (fin
des années 80,
gros projets) :
=> Pb très actuels
Délivré mais pas utilisé
(avec succés)29 %
Fortementremodelé
19 %
Utilisé 5%
Payé mais pasdélivré47 %
Résultat : Coûts :
Coûts de lamaintenance :
Conception
15 %
Maintenance65 %
Codage 5%
Test 15%
Changement despécifications
41%
Corrections21%
Divers 6%
Améliorations 6%
Changement dematériel 6%
Changementformat desdonnées 20%
8/19/2019 GL P1 Caractérisations P2 Langages
3/13
© C. Kolski
Introduction
Autopsie globale
(REDOUIN, 1991) :
Mise en cause
de la pérennité
de l'entreprise
Inadéquation
du système
réalisé
Incapacité des
applications à
communiquer
entre elles
Organisation
non-optimisée
Pérennité de
système
informatique
problématique
Pertes
d'exploitation
Le pay back
prévu ne se
réalise
jamais
Le système
comporte
des erreurs
Projets plus
couteux et
plus longs
que prévu
Absence de
conduite
de projet
Absence planification
informatique
Concertation
insuffisanteavec la
direction
Documentation
technique
insuffisante
ou absente
Charge de
maintenance
trop
importante
Spécifications
incomplètes
Le passif
d'application
ne cesse de
croitreProfusion
de demandes
non coordonnées
Les informaticiens
se confinentdans la technique
Documentation
d'utilisation
insuffisante
ou inexistante
Qualité de
dialogue
avec usagers
insuffisante
Formation
des usagésinsuffisante
Matériel
saturé
Incapacité à
alimenter
le système
de pilotage
Impossibilité
de l'utilisation
stratégique
Incapacité à
intégrer lesévolutions
de l'entreprise
Absence de
méthode et
technique
d'analyse Processus de
spécification et
de conception
non maîtrisé
Conception
technique des
applications
inappropriée
Temps de
réponse
non optimisé
Non utilisationdes potentialités
de l'outil
Légende
Problèmeà l'originede tous
les autres
Problèmeintermédiaire
Problèmeconséquence
de tous
les autres
8/19/2019 GL P1 Caractérisations P2 Langages
4/13
© C. Kolski
Plan
Introduction
Définitions et caractérisations du Génie Logiciel
Les langages et le Génie Logiciel
Modèles de développement de logiciel
Qualité du logiciel et qualimétrie
Les méthodes du Génie Logiciel
Techniques de base
Méthodes cartésiennes
Méthodes systémiques Méthodes orientées objets (Cf. UML en Master 1, S7)
Quelques éléments de planification et estimation des projets
Conclusion et avenir du Génie Logiciel
8/19/2019 GL P1 Caractérisations P2 Langages
5/13
© C. Kolski
Définitions et caractérisations du Génie Logiciel
- Science de l'ingénieur ; finalité : fabrication de systèmes informatisés (complexes) ;
terme apparu en 1968, Department of Defense (DoD)
- Définitions :"Ensemble des activités de conception et de mise en oeuvre des produits et des
procédures tendant à rationaliser la production de logiciel et son suivi"
(Arrêté ministériel du 30/12/1983)
"Ensemble des procédures, méthodes, langages, ateliers, imposés ou préconisés par les
normes adaptées à l'environnement d'utilisation, afin de favoriser la production et la
maintenance de composants logiciels de qualité" (JAULENT, 1990)
► Logiciels sûrs, conviviaux, évolutifs, économiques
- Caractéristiques de la production industrielle de logiciels :
► Projet, taille importante, longue durée ; travail en équipe
► Produits de longue durée de vie
► Complexité ; haut degré de fiabilité ; confidentialité
► Assurance qualité
► Réutilisation de produits (ou composants) existants► Utilisation systématique d'outils informatique
8/19/2019 GL P1 Caractérisations P2 Langages
6/13
© C. Kolski
Définitions et caractérisations du Génie Logiciel
(selon CONSTANTINIDIS, 2006)
- Projet : ensemble d’activités dont on a défini l’objectif, les délais et les ressources
= œuvre (ensemble de travaux) destinée à produire (concevoir, réaliser, installer) un ouvrage conforme à ses spécifications
Expression des besoins Ouvrage
Oeuvre
Maîtrise d’ouvrage
Pilotage - décision
Maîtrise d’oeuvre
Conduite
Utilisateurs
consultation
Equipe projet
réalisationExpertise
Conseil aux différents acteurs
- Maître d’ouvrage : propriétaire du produit du projet ; responsable de l’expression des
besoins auxquels doit satisfaire l’ouvrage final, agit au nom de l’ensemble des futurs
utilisateurs de l’ouvrage
- Maître d’oeuvre : conduit les travaux (l’œuvre) en respectant les conditions de coûts et
de délais, doit livrer un résultat (ouvrage) de qualité
8/19/2019 GL P1 Caractérisations P2 Langages
7/13© C. Kolski
Définitions et caractérisations du Génie Logiciel-Tentatives de typologie des logiciels :
1 : Informatique de gestion / Informatique Industrielle
2 : Source "Le Génie Logiciel », collection « Que sais-je » (PRINTZ, 1995, cf. aussi la
5ème éd., 2005)
Domaine
Gestion
Analyse numérique,simulation
Télécommunications
Temps réel
Traitement etanalyse des données
Systèmes d'exploitation,compilateur
Structure
de données
Difficile
Simple
Simple
Simple
Très difficile
Très difficile
Algorithmes
Simples
Difficiles
Simples
Difficiles
Difficiles
Difficiles
Contrôle
Simple(sauf si client-serveur)
Simple
Très difficile
Difficile
Simple
Difficile
- Prépondérance du logiciel dans les systèmes socio-techniques, problèmes de sûreté
(ARLAT et al., 1995) :► Risque humains (transports, contrôle de la navigation aérienne...)
► Risques économiques (transactions boursières, centres téléphoniques...), écologiques
► Risques sociaux (rejets par les utilisateurs, délinquance informatique...)
► Erreurs humaines d'analyse, de conception, de programmation (conséquences critiques,sérieuses, modérées, tolérables)
► Purger le logiciel de ses erreurs (techniques mais aussi ergonomiques), nécessité de méthodesde travail rigoureuses et systématiques (certaines dites centrées utilisateur)
A généraliser :
-Web- Réalité virtuelle
- Jeux
- etc.
8/19/2019 GL P1 Caractérisations P2 Langages
8/13© C. Kolski
Définitions et caractérisations du Génie Logiciel
- Prépondérance des systèmes interactifs dans tous les domaines de la société :
► Systèmes multimédia (sites Web, CD-ROM…) ; applications ludiques, culturelles, pédagogiques... ► Systèmes d'information dans les entreprises, Systèmes Interactifs d‘Aide à la Décision (SIAD)
► Logiciels de bureautique, environnements de développement, CAO► Systèmes de services grand public► Salles de contrôle de systèmes industriels complexes…
Nécessitéde systèmes interactifs de plus en plus conviviaux , intelligents , adaptés aux besoinsdes uti l isateurs
Théorie de l’action de NORMAN (1986)
Importance des interactions
homme-machine
Tâches complexes, travail coopératif…
8/19/2019 GL P1 Caractérisations P2 Langages
9/13© C. Kolski
Définitions et caractérisations du Génie Logiciel
- Caractéristique des coûts/revenus pour un progiciel :
- Veiller au déroulement du processus de fabrication :
► Coûts, délais dans des limites fixées au départ
► Répondre aux besoins du client, le satisfaire
► Respecter un contrat de service (performance, sûreté de fonctionnement,
ergonomie, sécurité...) lors de l'exploitation future du logiciel
Revenus
Coûts
Temps
T1(1ère
livraison)
Amortissement
des coûts de développement
Gains
T2 T3
Problèmes fréquents :Retard de livraison -> (T2, T3)Manque de fiabilité -> Coût de maintenance
Maintenance corrective
8/19/2019 GL P1 Caractérisations P2 Langages
10/13© C. Kolski
Les langages et le Génie Logiciel
FORTRAN
ALGOL 58
FLOWMATIC
IPL/V
Première "vague" : 1954-1958
BCPL
ALGOL 60
COBOL
LISPSeconde "vague" : 1959-1961
B ALGOL 68BASIC LISP 1.5
FORTH PASCALSIMULA 67 GAP 68
Troisième "vague" : 1962-1970
FLAVORS MODULA 2CLU Smalltalk 72
C L4GPLASMA
Quatrième "vague" : 1971-1980
Smalltalk 80
Objective COBJVLISP C++
ACT1/ACT2
ADA 83FORMES
Cinquième "vague" : 1981-1985
LOOPS
YAFOOL OBJLOG EIFFEL ART
ACT1/ACT2 New FlavorsCLOS
Sixième "vague" : 1986-1990
ABCL/1
Années 90
ADA 95 Visual C++
JAVA
Prolog II
Prolog III
etc
etc
etc
etc
etc
etc
etc
Visual BasicProlog IV +langages à basede contraintes
Années 00
Programmation par composant, approches à base de modèles
Source d’inspiration
initiale : JAULENT (1990)
, 10 et suivantes
8/19/2019 GL P1 Caractérisations P2 Langages
11/13© C. Kolski
Les langages et le Génie Logiciel
- Quatre grands courants de pensée, association à des types de langage
- Pensée impérative : prône une programmation algorithmique, à
l'origine de la programmation structurée, langages compilés
Procédurale : à partir des successeurs d'Algol (Fortran, Pascal, C...)
Modulaire : à partir des langages de type Modula 2 et ADA
► G.L. : apparition de méthodes d'analyse et de conceptiondites structurées ou cartésiennes (tels SADT, SASD, SA-RT)
- Pensée applicative : développe une pensée purement fonctionnelle et déclarative
A partir des fils de Lisp (Plasma, Caml, Smalltalk...), langages interprétés
Généralisation par la programmation par objets, LOO
► G.L. : apparition de méthodes d'analyse et de conception dites
orientées objets ; actuellement : UML (nécessaire association à
un processus méthodologique), recherches à ce sujet…
8/19/2019 GL P1 Caractérisations P2 Langages
12/13© C. Kolski
Les langages et le Génie Logiciel
- Pensée acteurs (actuellement : agents) :
Propose de nouvelles structures de contrôle liées
au parallélisme, langages ACT1, ACT2...
► G.L. : manque de méthodes associées ; vers des
méthodes orientées agents (entités humaines et logiciels constituant une
organisation), influences de l'Intelligence Artificielle Distribuée (SMA :
Systèmes Multi-Agents) ; lire : FERBER (1995), MANDIAU et al. (2002)
► Sujets de projets et de thèse dans le thème :
« Interaction et agents » au LAMIH
(Contact : Prof. René MANDIAU)
- Pensée logique : par raisonnement simulant la logique humaine
(Cf. cours d'Intelligence Artificielle)
Langage de référence : Prolog
► G.L. : pas de méthodes associées (cf. les méthodes de Génie Cognitif ,
conception de systèmes intelligents, à base de connaissances, ex. : KADS)
http://images.google.fr/imgres?imgurl=http://www.deskdeco.net/movies/terminator/t3_3.jpg&imgrefurl=http://www.koreus.com/modules/news/article4093.html&usg=__sc1FRtKCfWhJK7dzsE680_9I2c4=&h=768&w=1024&sz=78&hl=fr&start=45&um=1&tbnid=byK_Uzdumtx8wM:&tbnh=113&tbnw=150&prev=/images%3Fq%3Dterminator%26ndsp%3D21%26hl%3Dfr%26sa%3DN%26start%3D42%26um%3D1
8/19/2019 GL P1 Caractérisations P2 Langages
13/13© C K l ki
ARLAT J. et collègues (1995). Guide de la sûreté de fonctionnement . Cépaduès Editions,
Toulouse.
CONSTANTINIDIS Y. (2006). Définition des besoins pour le logiciel . Editions Hermes,Paris.
FERBER J. (1995). Les systèmes multi-agents. InterEditions, Paris.
JAULENT P. (1990). Génie Logiciel, les méthodes. Armand Colin, Paris.
MANDIAU R., GRISLIN-LE STRUGEON E., PENINOU A. (2002). Organisation et
applications des SMA, Paris: Hermes, 2002.
NORMAN D.A. (1986). Cognitive engineering. In D.A. Norman & S.W Draper (Eds),User centred system design : new perspectives on human computer interaction.
Hillsdale, NJ : Erlbaum.
PRINTZ J. (1995). Le génie logiciel . Collection Que sais-je ?, Paris, Presses
Universitaires de France. Cf. la cinquième édition de 2005.
REDOUIN P. (1991). Réussir en ingénierie de l'information. Les Editions
d'Organisation, Paris.
Pour un complément d’introduction, voir :
http://tisserant.org/cours/qualite-logiciel/qualite_logiciel.html
Bibliographie
Webographie