View
242
Download
0
Category
Preview:
Citation preview
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Les différents paradigmes de programmation
La programmation procédurale (ou impérative)La programmation objetsLa programmation fonctionnelleLa programmation déclarativeLa programmation concurrente
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Chronologie d’apparition des principauxlangages de programmation (1)
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Chronologie d’apparition des principauxlangages de programmation (2)
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Les difficultés du développement (1)
La flexibilitéAbsence de contrainte physique( 6= aéronautique, architecture, automobile, ...)Absence de limite à la complexité (a priori)Possibilité de modifier le programme a posterioriPossibilité de commencer le programme a priori(avant d’avoir défini précisément la tâche à réaliser)Un succès local n’implique la réussite du projet global
L’absence de références standardsChaque logiciel est un prototypeUne application est souvent une innovation
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Les difficultés du développement (2)
La complexitéLa complexité croît avec le nombre d’interactions
Au sein de l’applicationEntre l’application et son environnement
La complexité émerge lorsque ces interactions empêchentleur propre
planificationcompréhensionanticipationlimitation
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Les difficultés du développement (3)
L’intangibilité
Interfaces abstraitesDifficile à tester et à gérerDépendance au matériel sous-jacentDifficile de diagnostiquer un éventuel problème
Le nombre d’états possiblesEspace discret (explosition combinatoire)Absence de structure répétitiveImpossible de tester de manière exhaustive
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Comment surmonter ces difficultés ? (1)
Pour surmonter les difficultés du développementApproche cartésienne : réduction analytique du problème
Décomposer le problème en sous-problèmes moinscomplexesExaminer chaque partie séparément
Hypothèses sous-jacentes :
La décomposition du problème ne fausse pas sonétudeLe comportement de chaque sous-problème resteconstant qu’il soit étudié seul ou au sein du problèmeauquel il appartientLa solution du problème s’obtient aisément à partir dessolutions de chaque sous-problème.
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Comment surmonter ces difficultés ? (2)
Démarche scientifiqueL’approche cartésienne conduit à ...
RationnaliserFormaliserModéliserEtudierEvaluer
... le processus de développement
Cette démarche rend nécessaire la prise en comptel’ensemble des activités allant du recueil des besoins dufutur utilisateur (client) à la mise en service de logicielsrépondant aux besoins énoncés.
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mationUn peu d’histoire ...
Les difficultés dudéveloppementlogiciel
Comment surmonterces difficultés ?
En résumé
Comment surmonter ces difficultés ? (3)
ConstatEcrire un programme est insuffisant : il faut répondre auxbesoins de l’utilisateur
Evolution du rôle de l’informaticienOn passe de l’écriture d’un programme à la conceptiond’application
Cours deGénie Logiciel
DavidJaniszek
Un peud’histoire...
Lesproblèmesposés par leslogiciels
La program-mation
En résumé
En résumé
Le développement d’application pose des difficultésL’échec (partiel ou total) est extrêmement coûteuxLa solution : une approche rigoureuse de la conceptiond’application
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Le génie logiciel
Définition [Arrêté Ministériel du 30.12.1983]Le génie logiciel est l’ensemble des activités de conceptionet de mise en oeuvre des produits et des procédurestendant à rationaliser la production du logiciel et son suivi.
Autre définitionLe génie logiciel vise à définir et à résoudre les problèmesposés par le développement d’applications de grandeampleur, c’est à dire, nécessitant des moyens humainsimportants et dont le déroulement est relativement long
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
La génèse du génie logiciel
Point de départLe comité scientifique de l’OTAN organise du 7 au 11octobre 1968 la première conférence à propos du génielogiciel
L’apparition du génie logiciel accompagne l’industrialisationet l’ingéniérisation du processus de développementd’application.
Industrie Période
Textile début du 18ème siècle
Machines début du 19ème siècle
Chimie début du 19ème siècle
Alimentaire moitié du 19ème siècle
Automobile début du 20ème siècle
TAB.: Quelques dates d’industrialisations
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
La notion de qualité
Définition : la norme ISO 8402-94La qualité est l’ensemble des caractéristiques d’une entitéqui lui confèrent l’aptitude à satisfaire des besoins expriméset implicites
Définition : la norme ISO 9000 :2000La qualité est l’aptitude d’un ensemble de caractéristiquesintrinsèques à satisfaire des exigences
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Les qualités d’un logiciel (1)
1 FiabilitéValidité : le logiciel réalise bien ce que l’on attendRobustesse : le logiciel fonctionne même dans desconditions non prévues au départ
2 ErgonomieAptitude à communiquer de façon efficace avecl’utilisateur
3 ExtensibilitéAptitude d’un logiciel à être enrichi
4 RéutilisabilitéAptitude d’un logiciel (ou de certaines de ses parties) àêtre utilisé plusieurs fois dans des contextes différents
5 Compatibilité / interopérabilitéAptitude d’un programme à fonctionner correctement encollaboration avec d’autres logiciels
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Les qualités d’un logiciel (2)
6 PortabilitéAptitude d’un logiciel à être adapté à desenvironnements informatiques variés
7 CoûtCoût monétaire occasionné par le développement et lamaintenance d’un logiciel lors de son cycle de vieCoût monétaire indirect lié à la possession et àl’utilisation d’un logiciel lors de son cycle de vie
8 PerformancesEn terme de vitesse d’exécutionEn terme d’occupation mémoire
9 MesurabilitéAptitude d’un logiciel à être évalué
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Quelques organismes de normalisation
AFNOR (Association Française de Normalisation)ANSI (American National Standard Institute)DIN (Deutschen Institut für Norming)DOD (Department of Defense)IEEE (Institute of Electrical and Electronic Engineers)ISO (International System Organization)
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Les normes de qualité (1)
Exemple : la qualité des logiciels
La norme française NF ISO/CEI 9126 (octobre 1992)concerne les technologies de l’information(Évaluation des produits logiciels)
Reprise de la norme ISO 9126 + un glossaireEncadre la définition et l’évaluation de la qualité deslogiciels
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Les normes de qualité (2)
Dénomination Contenu
ISO 9000, EN 29000 Gestion et assurance de la qualité. Lignes directrices pour la
sélection et l’utilisation
ISO 9004, EN 29004 Recommandation pour un système de gestion de la qualité à l’usage
des entreprises
ISO 9004-2 Lignes directrices pour les services
ISO DIS 9004-2 Gestion de la qualité et éléments de système qualité
TAB.: Gestion de la qualité dans l’entreprise
Dénomination Contenu
ISO 10013 Lignes directrices pour l’élaboration des manuels qualité
NF S50-113/16 Guide pour l’établissement d’un manuel qualité
TAB.: Référentiels qualité
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Les normes de qualité (3)
Dénomination Contenu
ISO 9001, EN 29001 Modèle pour l’assurance qualité en conception/développement
ISO 9002, EN 29002 Modèle pour l’assurance qualité en production/installation
et soutien après vente
ISO 9003, EN 29003 Modèle pour l’assurance qualité en contôle et essais finaux
TAB.: Relation client/fournisseur
Dénomination Contenu
NE 270-001 Système de traitement de l’information
AFNOR 267-101 Recommandations pour la conduite de projets informatiques
IEEE P1074 Standard for software quality program requirements
NF ISO 12207 Traitement de l’information. Processus du cycle de vie du logiciel
TAB.: Qualité d’un projet
Cours deGénie Logiciel
DavidJaniszek
Le génielogicielDéfinition
La notion de qualité
En résumé
Les normes de qualité (4)
Et bien d’autres encore :La documentation du logicielLa gestion des configurations et des modificationsL’évaluation d’un projetLe cahier des chargesLes spécificationsLa conceptionLe codageLes tests et les essaisLa validationLa maintenanceLa qualité du produitLes logiciels spécifiques (militaires)
Recommended