Вы находитесь на странице: 1из 22

Analyse et Conception objet du logiciel

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

.L. G

Rmy Courdier
Universit de la Runion

15, Avenue Ren Cassin - BP 7151 97715 Saint Denis La Runion Tl. : 02 62 93 82 83 - Fax : 02 93 82 60 Email : Remy.Courdier@univ-reunion.fr
Rmy Courdier - V1.7 1

Analyse et Conception objet du logiciel

Plan du cours

.L. G

G Introduction au Gnie Logiciel


Lapproche Oriente Objet et Notation UML Les diagrammes de modlisation Relations entre les diffrents diagrammes De lanalyse la conception Relation entre les notations OMT et UML Les design patterns

Rmy Courdier - V1.7

Analyse et Conception objet du logiciel

1. Introduction au Gnie Logiciel

Chapitre 1 : Introduction au Gnie Logiciel


Le Gnie Logiciel : Gense et Objectifs

.L. G

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

Rmy Courdier - V1.7

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

.L. G

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.7 4

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...


Rpartition : (Ref. Boehm)
Analyse/Conception

.L. G

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.7 5

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


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

.L. G

Qualification du personnel par la formation Procdures de gestion de la qualit logiciel Outils ddis au GL (CASE, Logiscopes) Langages et environnements de programmation Prototypage Mthodes formelles et semi-formelles Rutilisabilit

Lapproche objet
Rmy Courdier - V1.7 6

Analyse et Conception objet du logiciel

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

1.2. Les Cycles de vie de dveloppement industriel de logiciels


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

.L. G

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

Les deux grandes catgorie de cycles de vie :


Les cycles linaires : succession dtapes ordonnes Les cycles de vie itratifs : ralisation incrmentale par volutions
Rmy Courdier - V1.7 7

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

.L. G

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.7 8

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 Les projets prsentent bien souvent une part dinconnu et donc de risques.

.L. G

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.7 9

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


Evaluation dlments concrets au cours du dveloppement : limination de leffet tunnel

.L. G

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.
Rmy Courdier - V1.7 10

Analyse et Conception objet du logiciel

Le cycle en spirale (Boehm)


A chaque spire, il y a itration complte sur les phases :
Analyse Conception Codage Test

.L. G

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.7 little

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

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


CMM (Capability Maturity Model)

.L. G

qualit soci d Outil de mesure de qualit des socits de dveloppement informatique. groupes 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' 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.7

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


Mellon) CMM (Capability Maturity Model) du SEI (Carnegie Mellon)
Niveau 1 : Initial

.L. G

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.7

13

Analyse et Conception objet du logiciel

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

Modle dvolution des capacits logiciel de CMM

.L. G

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

Zoom sur CMM ppt pdf - format IE

Rmy Courdier - V1.7

14

Analyse et Conception objet du logiciel

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

Facteurs de qualit logiciel


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,...

.L. G

Facteurs internes
Maintenabilit (support du temps..., testabilit, traabilit) Portabilit Cohsion : forte cohsion dans les modules Faible couplage entre les modules
Rmy Courdier - V1.7 15

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...

.L. G

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.7 16

Analyse et Conception objet du logiciel

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

1.4. Des mthodes fonctionnelles aux mth. objet Lapproche fonctionnelle

.L. G

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


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

Dcomposition fonctionnelle descendante Hros


Marcher Courir Sauter Tomber
struct Heros {nom char*; int taille; ... int rapidite };

Coucher
Coucher(heros,...);

Application MonJeu
Rmy Courdier - V1.7 17

Analyse et Conception objet du logiciel

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

Lapproche Objet

.L. G

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.7

18

Analyse et Conception objet du logiciel

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

Evolution des mthodes

.L. G
Conception

Analys e 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

Programmation

PF & PS POO

SD SD POO

SA SA OOD SA OOA
19

Les mthodes objet couvrent lensemble du cycle logiciel


Rmy Courdier - V1.7

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


Mthodes structures
programmation structure (Dijkstra) Dcomposition fonctionnelle descendante (SA/SD) SADT/SART

.L. G

Modlisation de Systmes dInformation


Diagrammes entits-relations Merise

Mthodes 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.7

UML
20

Analyse et Conception objet du logiciel

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

La spcification UML

.L. G
UML V0.8 diffuse en 10/95

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

UML
Unified Modeling Langage Objectfor 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.7

21

Analyse et Conception objet du logiciel

.L. G

Fin du Chapitre 1

Introduction au gnie logiciel

Rmy Courdier - V1.7

22