Vous êtes sur la page 1sur 24

Méthodologie de Concep

ption Objet

Page : 1
Chapitre 1 : Introduction

Page : 2
Logiciels et société

 Aujourd’hui la société dépennd à tous les niveaux de systèmes

informatiques

 Banque: comptes, guichhets auto., bourse, …

 Bureau: courriel, Traiteement de texte, Tableur,…

Transport:
p véhicules,, rooutes,, horaires,, ...

 Communication: téléphhone, vidéo, web, ...

 Recherche:
R h h bioinforma
bi i f atique,
ti nanotechnologie,
t h l i ...

 Divertissement: films, jeux,


j musique, ...

Page : 3
Les logiciels ?

Un logiciel est:

 Du code exécutable

 Les données associées au programme

 Des documents: besoinns des usagers, design, guide

d’utilisateur, guide de programmation, etc.

 Les logiciels jouent un rôle clé:

 Produisent, gèrent et présenttent de l’information

 Définition : Un logiciel est un ensemble d’entités

nécessaires au fonctionnemen
nt d’un processus de

traitement automatique de l’in


nformation.

Page : 4
Les logiciels ?

Spécificités du logiciel
 Un produit immatériel, doont l’existence est
indépendante du support phyysique
 Semblable à une œuvre d’art (roman, partition…)
 Un objet technique fortem
ment contraint
 Fonctionne ou ne fonctionnne pas
 Structure complexe
 Relève des modes de travvail du domaine technique
 Un cycle de production diifférent
 La reproduction pose peuu de problèmes, seule la
première
 copie d’un logiciel a un coût
 Production à l’unité

Page : 5
Problématique

Comment faire des logiiciels de qualité ? Génie


Logiciel (Software Enggineering)

Page : 6
Le génie logiciels ?

 Le génie logiciel est un


u domaine des sciences de

l’ingénieur dont l’objet d’étude est la conception, la

fabrication, et la maintenancce des systèmes informatiques

complexes.

 Une discipline qui comprennd:

 Le processus de développement de logiciels

 La méthodologie pouur l’analyse, la conception, le

développement, la vériffication et la maintenance de

logiciels

 Des
D outils
til quii suppportent
t t le
l processus ett la
l

méthodologie

Page : 7
Le génie logiciels ?

 Motivations

La « Crise du logiciel »

 Mise en évidence au déébut des années 70, la crise se


caractérise par

 l'absence de maîtrrise des projets, au niveau des


coûts et des délais,

 la mauvaise qualitté des produits: les produits ne


répondent pas aux besoins
b définis et des erreurs
résiduelles persistent dans le produit final

 un stock importannt de projets en attente faute


d'une gestion rigoureuuse

Page : 8
Le génie logiciels ?

 Motivations
La « Crise du logiciel »

La fausse attaque de missiles (Novembre 1979): la

perception d une men


d'une nace imminente provenant dd'un
un pays

possédant l'arme nuclléaire »

Gigantesque pannee de téléphone au US un bug sur le

réseau ATT

L’explosion d’Ariaane 5 provoquée par une erreur de

conception de logiciell informatique (juin 1996)

1991 : Le Missilee Patriot: le radar l'a repéré une

seconde
d trop
t t d et n’a
tard ’ pas réussi
é i à intercepter
i t t les
l

missiles

Page : 9
Le génie logiciels ?

 Motivations
 La « Crise du logiciel »

 l ’an 2000 (qui a fait dépeenser des millions de $ pour des

logiciels développés pour la plupart en pleine crise du logiciel)

qui a finalement été bien abbsorbée sans provoquer trop de

défaillances.
défaillances

 Etude sur 8 380 projets (Staandish Group, 1995)


 Succès : 16 %
 Problématique : 53 % (budget ou délais non respectés,
défaut de fonctionnalités))
 Echec : 31 % (abandonnné)
Le taux de succès décrroît avec la taille des projets et la
taille des entreprises.

Page : 10
Le génie logiciels ?

 Motivations
 Matériel et logiciel

 Systèmes informatiques

 80 % dde llogiciel
i i l

 20 % de matériel

 Depuis
p plusieurs
p années,, laa fabrication du matériel est

assurée par quelques fabricantts seulement

 Le matériel est relativeement fiable

 Le marche est standarddise

 Les problèmes liés à l’informatique sont

essentiellement des probllèmes de Logiciel.

Page : 11
Le génie logiciels ?

 Le Génie Logiciel

Conférence de l’OTAN à Garm


mish, Allemagne (1968)

L
L’informatique
informatique ne répond paas aux attentes qu
qu’elle
elle suscite

 L’informatique coûte très chher et désorganise les entreprises

 Introduction de l’expressioon « Génie Logiciel » (Software

Engineering)

 Comment faire des logicielss de qualité ?

 Qu’attend-on d’un logiciel ? Quels sont les critères de qualité

pour un logiciel ?

Page : 12
Le génie logiciels ?

 Un processus de fabricatioon original

 Le logiciel partage des proopriétés contradictoires avec

l’art, les technologies et lee Génie Civil

 Les possibilités de réutiliseer les savoir‐faire des autres

technologies sont (très) lim


mitées

 Compte tenu du cycle de production, il faut bien faire

tout de suite « La qualité


é du processus de fabrication

est garante de la qualité du produit »

Page : 13
Qualités d’un logiciell

 Utilité

 Adéquation entre :

 Le besoin effectif de l’utilisateur

Les fonctions offertees par le logiciel

 Solutions :

 Emphase sur l’analyyse des besoins

 Améliorer la commuunication (langage commun,

démarche participatiive)

 Travailler avec rigueeur.

Page : 14
Qualités d’un logiciell

 Utilisabilité

 « Effectivité, efficacité ett satisfaction avec laquelle des

utilisateurs spécifiés
p accoomplissent
p des objectifs
j

spécifiés dans un environnnement particulier »

 Facilité d’apprentissage : comprendre ce que l’on


peut faire avec le logicieel, et savoir comment le faire
 Facilité d’utilisation : im
mportance de l’effort nécessaire
pour utiliser le logiciel à des fins données
 Solutions :
 Analyse du mode oppératoire des utilisateurs
 Adapter l’ergonomiie des logiciels aux utilisateurs.

Page : 15
Qualités d’un logiciell

 Fiabilité
 Correction, justesse, confformité : le logiciel est conforme

 à ses spécifications, less résultats sont ceux attendus

 Robustesse, sûreté : le logiciel fonctionne

raisonnablement en touutes circonstances, rien de

catastrophique ne peut suurvenir, même en dehors des

conditions d’utilisation prévues

 Disponibilité
Di ibilité (pourcentag
( t ge du
d temps
t pendant
d t lequel
l l le
l

système est utilisable)


 Solutions :
 Utiliser des méthodees formelles,
formelles des langages et des
méthodes de programm mation de haut niveau
 Vérifications, tests

Page : 16
Qualités d’un logiciell

 Performance
 Les logiciels doivent sattisfaire aux contraintes de temps

d exécution
d’exécution

Solutions :

 Logiciels plus simpples

Veiller à la complexxité des algorithmes

 Machines plus perfformantes

Page : 17
Le génie logiciels ?

 Portabilité

 Un même logiciel doit poouvoir fonctionner sur plusieurs

machines et plusieurs platteformes (systèmes d'exploitation)

Solutions :

Rendre le logiciel inddépendant de son environnement

d’exécution

Machines virtuelles

Page : 18
Le génie logiciels ?

Ré tili ti ((ré-utilisabilit


Réutilisation é tili bilitté)
 On peut espérer des gains considéraables car dans la plupart des logiciels :
 80 % du code est du « tout vennant » qu’on retrouve à peu près partout
 20 % du code est spécifique
 Solutions :
 Abstraction, généricité
 Construire un logiciel à paartir de composants prêts à ll’emploi
emploi

(Développement par composantss)

 « Design Patterns » (les patronns de conception).

Page : 19
Le génie logiciels ?

 Facilité de maintenance
 Objectifs
 Réduire la quantité de maintenannce corrective (zéro défaut)
 Rendre moins coûteuses les autrees maintenances
 Enjeux
 Les coûts de maintenance se jouent très tôt dans le processus d’élaboration du
logiciel

 Au fur et à mesure de la dégradaation de la structure,


structure la maintenance devient de

plus en plus difficile

 Solutions :
 Ré-utilisabilité, modularité
 Vérifier, tester
 Structures de données complexes et algorithmes simples
 Anticiper les changements à vennir

Page : 20
Le génie logiciels ?

 Facilité de maintenancee

 Un logiciel ne s’use pas. Pourtant, la maintenance absorbe une très grosse partie
des efforts de développement.

Page : 21
Maintenance d’un loggiciel

 Maintenance correctivee
 Corriger les erreurs : défauts d’utilité, d’utilisabilité, de fiabilité…
 Identifier la défaillance, lee fonctionnement
 Localiser la partie du codee responsable
 Corriger et estimer l’impaact d’une modification
 Attention
 La
L plupart
l t des
d corrections
ti s introduisent
i t d i t ded nouvelles
ll erreurs

Les coûts de correction auugmentent exponentiellement avec le délai


de détection

 La maintenance corrective donnne lieu à de nouvelles livraisons (release)

Page : 22
Maintenance d’un loggiciel

 Maintenance adaptativee

 Ajuster le logiciel pour qu’il conntinue à remplir son rôle compte tenu du
l’évolution des

 Environnements d’exécutioon
Fonctions à satisfaire
Conditions d’utilisation
 Ex : changement de SGBD, de machine,
m de systèmes d'exploitation, de

taux de TVA, an 2000, …

Page : 23
Maintenance d’un loggiciel

 Maintenance
M i t perfective,
f ti , d’extension
d’ t i

Accroître/améliorer les possibilittés du logiciel

Ex : les services offerts, l’interfaace utilisateur, les performances…

Donne lieu à de nouvelles versioons.

Page : 24

Vous aimerez peut-être aussi