Vous êtes sur la page 1sur 11

Analyse et Conception objet du logiciel

Analyse et conception objet du logiciel : Mthode de conception objet et notation UML


Services des Tlcommunications de l'Informatique et du Multimdia

Rmy Courdier

15, Avenue Ren Cassin - BP 7151 97715 Saint Denis La Runion Email : Remy.Courdier@univ-reunion.fr
Rmy Courdier - V1.8 2

Analyse et Conception objet du logiciel

Plan du cours
Services des Tlcommunications de l'Informatique et du Multimdia

!Introduction
! Lapproche ! Les

au Gnie Logiciel

Oriente Objet et Notation UML

diagrammes de modlisation entre les diffrents diagrammes

! Relations ! De

lanalyse la conception entre les notations OMT et UML

! Relation ! Les

design patterns

Rmy Courdier - V1.8

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel

Chapitre 1 : Introduction au Gnie Logiciel


Services des Tlcommunications de l'Informatique et du Multimdia

! Le

Gnie Logiciel : Gense et Objectifs

! Les

Cycles de vie de dveloppement industriel de logiciels bases de la qualit du logiciel mthodes fonctionnelles aux mthodes Objet

! Les ! Des

Rmy Courdier - V1.8

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.1. Le Gnie logiciel Gense et Objectifs (2)

1.1 Le Gnie logiciel : Gense et Objectifs


Services des Tlcommunications de l'Informatique et du Multimdia

! Difficult

de matrise des cots ! Difficult de ralisation de plannings ! Difficult de matrise des dlais de ralisation ! Difficult damlioration de la productivit et de la qualit des logiciels ! Difficult de gestion de projets logiciels de grande ampleur (Programming in the Large) ! Nombreux checs : rsultats fournis par les logiciels insatisfaisants pour les clients finaux. Tout ceci dans un contexte de comptition internationale svre
Rmy Courdier - V1.8 5

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.1. Le Gnie logiciel Gense et Objectifs (2)

Quelques ides sur les cots...


Services des Tlcommunications de l'Informatique et du Multimdia

! Rpartition

: (Ref. Boehm)

!Analyse/Conception
" 33-34 % : Systme dexploitation, Arospatiale " 44-46 % : Contrle et Rgul. indus., Calcul scientifique, Gestion

!Codage
" 17-20 % : Systme dexpl., Contrle et Rgul. indus., Arospatiale " 26-28 % : Calcul scientifique, Gestion

!Test/Intgration
" 28-34 % : Contrle et Rgul. indus., Calcul scientifique, Gestion " 46-50 % : Systme dexploitation, Arospatiale

!Maintenance
" cots trs importants...

! Peu

de capitaux dinvestissement ncessaires ! Frais de personnel levs


Rmy Courdier - V1.8 6

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.1. Le Gnie logiciel Gense et Objectifs (3)

Quelques thmes tirs par le Gnie Logiciel


Services des Tlcommunications de l'Informatique et du Multimdia

Il ny a pas de remde miracle, mais quelques voies creuser...

Rmy Courdier - V1.8

Analyse et Conception objet du logiciel

1.2. Les Cycles de vie de dveloppement industriel de logiciels


!

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel

Services des Tlcommunications de l'Informatique et du Multimdia

quest-ce quun cycle de vie logiciel?


!Enchanement des activits de dveloppement logiciel !Dfinition des Pr et Post conditions pour chaque phase !Procdures de gestion et dencadrement !Procdures de mesures !Cycle de vie logiciel : synonyme de mthodologie logiciel

! Etapes

dun cycle de vie

!Analyse : opportunit fonctionnelle et faisabilit technique !Conception : choix tactiques de ralisation et darchitecture !Codage : ralisation informatique du dtail des oprations !Test : tests unitaires et dintgration + Exploitation / Maintenance ! Les deux grandes catgorie de cycles de vie : !Les cycles linaires : succession dtapes ordonnes !Les cycles itratifs : ralisation incrmentale par volutions
Rmy Courdier - V1.8 8

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel(2)

Les cycles de vie linaires


Services des Tlcommunications de l'Informatique et du Multimdia

! Cycle

en cascade : ouvre des points de visibilits


Analyse Concep. Codage

Anticipation Investigation

Test

Lancement ou Livraison

! Cycle

en V : variante courante du cycle en cascade


Analyse Concep. Codage Test Test Test

Problme de leffet tunnel o lon ne voit tourner quelque chose qu la fin. => Dtection derreurs tardive
Rmy Courdier - V1.8 9

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel(3)

limites du modle linaire


Services des Tlcommunications de l'Informatique et du Multimdia

Les projets prsentent bien souvent une part dinconnu et donc de risques.
! Mconnaissance

des besoins par le client ! Incomprhension des besoins par le fournisseur ! Instabilit des besoins ! Choix technologiques ! Mouvements de personnels ! ...

Le processus de dveloppement dun logiciel nest pas naturellement linaire...


Rmy Courdier - V1.8 10

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.2. Cycles de vie de dv. industriel de logiciel(4)

Les cycles de vie itratifs


Services des Tlcommunications de l'Informatique et du Multimdia

! Evaluation

dlments concrets au cours du dveloppement : limination de leffet tunnel


!bas sur lvolution de prototypes excutables, mesurables !diminution de limportance des documents de spc. dtaille !livraisons intermdiaires => rsultats concrets rguliers de lquipe de dveloppement !meilleurs anticipation et prise en compte des problmes !meilleurs gestion de la prise en compte de modifications de spcification qui peuvent tre intgres dans une itration future !intgration progressive de composants !...

! En

gnral, dans les cycles de dveloppement itratifs, chaque itration reproduit le cycle en cascade une plus petite chelle.
11

Rmy Courdier - V1.8

Analyse et Conception objet du logiciel

Le cycle en spirale (Boehm)


Services des Tlcommunications de l'Informatique et du Multimdia
!

A chaque spire, il y a itration complte sur les phases :


" " " " Analyse Conception Codage Test

A chaque itration, le logiciel doit tre dans un tat quasi commercialisable Grand intrt en prototypage incrmental Trs utilis sur les projets reposant sur lobjet.

!Design a little, code a Rmy Courdier - V1.8 little!

La premire spire doit comprendre les lments les plus abstraits et Le cur fonctionnel minimum du systme
12

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel

1.3. Bases pour la Qualit logiciel


Services des Tlcommunications de l'Informatique et du Multimdia
!

CMM (Capability Maturity Model)


! Outil de mesure de qualit des socits de dveloppement informatique. ! Le Niveau 2 est de plus en plus souvent requise par les grands groupes industriel ! Origine : 1987 - SEI Software Ingineering Institute de la Carnegie Mellon University L'tat du CMM est maintenue par Software Engineering Measurement and Analysis (SEMA) l'adresse http://www.sei.cmu.edu/activities/sema/profile.html

Rmy Courdier - V1.8

13

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel

1.3. Bases pour la Qualit logiciel


Services des Tlcommunications de l'Informatique et du Multimdia
!

CMM (Capability Maturity Model) du SEI (Carnegie Mellon)


!Niveau 1 : Initial
" Peu de formalisation, Abandon de toute mthode en cas de crise " Le processus de dveloppement est ad hoc , et parfois mme chaotique. Peu de procdures sont dfinies et le succs repose sur des efforts individuels.

!Niveau 2 : Rptable - Mthodes lmentaires de gestion


" Processus stabiliss, rsultats statistiquement rptables " Une procdure de gestion minimale est dfinie pour suivre les cots, les dlais et les fonctions. Les procdures ncessaires sont en places pour rpter les succs antrieurs des projets similaires.

!Niveau 3 : Dfini - Dfinition du processus de dveloppement


" Les processus de gestion et technique sont documents, standardiss un processus standard de lorganisation. Tous les projets utilisent une version approuve et adapte des processus standards pour dvelopper et maintenir le logiciel. " Gestion de configuration rigoureuse, respects des normes et standards, inspections et tests formels, existence dun service de GL ou Qualit logiciel.

!Niveau 4 : Matris : Gestion du processus de dveloppement


" Des mesures dtailles du dveloppement et de qualit sont collectes. Les processus et le produit sont quantitativement compris et contrls.

!Niveau 5 : Optimis : Contrle et optimisation


" Les processus sont continment amliors par les analyses des mesures.

Rmy Courdier - V1.8

14

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel

Services des Tlcommunications de l'Informatique et du Multimdia

L'tat du CMM est maintenue par : Software Engineering Measurement and Analysis (SEMA) l'adresse http://www.sei.cmu.edu/ activities/sema/ profile.html

Zoom sur CMM ppt pdf - format IE

Rmy Courdier - V1.8

15

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel(2)

Facteurs de qualit logiciel


Services des Tlcommunications de l'Informatique et du Multimdia

! Facteurs

externes (visibles par le client)

!Exactitude : le logiciel fournit les bons rsultats !Robustesse : le logiciel ragit correctement des donnes fausses !Stabilit : possibilit dintgrer des modif. de spcification lgres !Fiabilit : exactitude + robustesse !Efficacit : performances dexcution, encombrement mmoire,... ! Facteurs

internes

!Maintenabilit (support du temps..., testabilit, traabilit) !Portabilit !Cohsion : forte cohsion dans les modules !Faible couplage entre les modules
Rmy Courdier - V1.8 16

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.3. Bases de la qualit logiciel(3)

La modularit o les boites noires rutilisables...


Services des Tlcommunications de l'Informatique et du Multimdia

Dcoupage du logiciel en modules indpendants prsentant des caractristiques dabstraction, dencapsulation, et de faible couplage
!abstraction : chaque module doit correspondre une abstraction
pr-existante et doit pouvoir tre dfini de faon abstraite, indpendamment de tout traitement susceptible dutiliser le module.

!encapsulation : masquage de la mise en uvre effective du module,


du comment cest fait . Seules les lments accessibles de lextrieurs sont visibles et spcifis prcisment.

!faible couplage : limitation des connexions entre modules


(dpendances de gnration,...). Il est indispensable que les liens entres modules soient bien dfinis (couches logicielles) et le moins nombreux possible pour quil y ait effectivement modularit.
Rmy Courdier - V1.8 17

Analyse et Conception objet du logiciel

1.4. Des mthodes fonctionnelles aux mth. objet Lapproche fonctionnelle


Services des Tlcommunications de l'Informatique et du Multimdia

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets

! Raisonnement

en terme de fonctions du systme

!laccent est mis sur les fonctions et non sur les donnes ! Sparation des donnes et du code de traitement ! transposition dans les mthodes des contraintes du matriel ! Diffusion

des responsabilits fonctionnelle descendante Hros


struct Heros {nom char*; int taille; ... int rapidite };

!intgrit des donnes non garanties !ajout possible de nouvelles oprations tout moment ! Dcomposition

Marcher

Courir

Sauter

Tomber

Coucher
Coucher(heros,...);

Application MonJeu
Rmy Courdier - V1.8 18

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets(2)

Lapproche Objet
Services des Tlcommunications de l'Informatique et du Multimdia
! !

Regroupement donnes-traitements Diminution de lcart entre le monde rel et sa reprsentation informatique (approche naturelle)
Les informaticiens sont pervertis : le monde est avant tout objet

! !

Localisation des responsabilits : encapsulation Dcomposition par identification des relations entre objets :
association, composition , gnralisation/spcialisation

Hros Application MonJeu


heros.coucher(...)

Marcher Courir Sauter


nom, taille rapidite, ...

Tomber Coucher

Rmy Courdier - V1.8

19

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets(3)

Evolution des mthodes


Services des Tlcommunications de l'Informatique et du Multimdia

Programmation

Conception

Analyse

Lvolution des mthodes sest faite de la programmation vers lanalyse


PF & PS : Prog. fonctionnelle et structure SD : Conception structure SA : Analyse structure POO : Programmation oriente objet OOD : conception objet OOA : Analyse objet

PF & PS POO

SD SD POO

SA SA OOD SA OOA
20

Les mthodes objet couvrent lensemble du cycle logiciel


Rmy Courdier - V1.8

POO

OOD

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets (4)

Panorama des mthodes


Services des Tlcommunications de l'Informatique et du Multimdia

! Mthodes

structures

!programmation structure (Dijkstra) !Dcomposition fonctionnelle descendante (SA/SD) !SADT/SART ! Modlisation de Systmes !Diagrammes entits-relations !Merise ! Mthodes

dInformation

Objet

!OOD : Booch (91,93) !OOA : Coad-Yourdon (90) !HOOD : pour Ada (88) !OOM : Bouzeghoub (93) merise !OOSE : Jacobson !...Shlafer-Mellor, Meyer, Embley !OMT : Rumbaugh (91,93)
Rmy Courdier - V1.8 21

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel 1.4. Des mthodes fonctionnelles aux mthodes. Objets (4)

La spcification UML
Services des Tlcommunications de l'Informatique et du Multimdia

Grady Booch Jim Rumbauch Ivar Jacobson (trois amigos) Groupe de travail dirig par Mary Loomis et Jim Odell

UML V0.8 diffuse en 10/95

Unified Modeling Langage for Object-Oriented Development UML V1.0 remise lOMG le 17/01/97

Jim Rumbauch, UML 2.0 Guide de rfrence UML Ouvrage de rfrence pour les notations UML

UML V2.0 remise lOMG en 2004 www.omg.org & www.uml.org

Rmy Courdier - V1.8

22

Analyse et Conception objet du logiciel

Services des Tlcommunications de l'Informatique et du Multimdia

Fin du Chapitre 1

Rmy Courdier - V1.8

23

Vous aimerez peut-être aussi