analyse et conception orient ees objet - lacl.frpolonowski/cours/moo/chapitre1.pdf · plan du cours...

30
Analyse et conception orient´ ees objet Emmanuel Polonowski [email protected] 1

Upload: hakhue

Post on 10-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Analyse et conception

orientees objet

Emmanuel Polonowski

[email protected]

1

Objectifs du cours

1. Analyse et conception orientees objet.

2. Modelisation avec UML 2.0.

2

Plan du cours

I. Introduction

A. Processus de developpement

B. Unified Modeling Language

II. Analyse

A. Identification des besoins : Cas d’utilisation

B. Cas d’utilisation et Use Case Diagrams

C. Processus metiers : Activity Diagrams

III. Conception

A. Comportement dynamique (UML : Sequence, Communication)

B. Visualisation des concepts (UML : Class, Package)

C. Diagrammes UML et code Java

IV. Autres diagrammes UML

3

Bibliographie

• UML distilled

M. Fowler, Addison-Wesley Pearson Education, 2004.

• UML2 et les Design Patterns

C. Larman, Pearson Education, 2005.

• Design Patterns

E. Gamma et al., Addison-Wesley, 1995.

4

Chapitre I

Introduction

5

Plan du chapitre I

I. Introduction

A. Processus de developpement

1. Fondements et cycle de vie global

2. Developpement iteratif ou en cascade

3. Langages de modelisation

4. Design Patterns

B. Unified Modeling Language

1. Historique et motivations

2. Definition et principes

3. Les diagrammes

4. Modes d’utilisation et limites

5. Utilisation des diagrammes dans le processus de developpement

6

I. Introduction

A. Processus de developpement

7

I.A.1. Generalites

des charges

Cahier

Maintenance Livraison

Réalisation

Client

8

I.A.2. Developpement en cascade

Client

Livraison

Cahier

des charges

Temps

Tes

t

Impl

anta

tion

Con

cept

ion

Ana

lyse

9

I.A.3. Developpement iteratif

Client

Cahier

des charges

Livraison finale

Livraisons intermédiaires

feed−back

10

I.A.3. Developpement iteratif ou en cascade

Avantages du developpement en Cascade :

• Plus simple a mettre en œuvre

• Planification plus precoce

Avantages du developpement Iteratif :

• Diminution des echecs, amelioration de la productivite et de la

qualite

• Gestion precoce des risques eleves

• Progres immediatement visibles

• Feed-back, implication des utilisateurs et adaptation precoces

• Complexite mieux geree

11

I.A.3

.D

evelo

ppem

ent

iteratif

Test

Implantation

Conception

Analyse

Test

Implantation

Conception

Analyse

Itération 1Itération 2

Itération n

Tem

ps

Test

Implantation

Conception

Analyse

Inception

12

I.A.3. La phase d’inception

But de l’inception :

• Etablir une vision commune du projet.

• Definir le perimetre de base du projet.

Pour cela :

→ Analyse detaillee d’environ 10% des cas d’utilisation :

– significatifs pour l’architecture,

– de grande valeur pour le client,

– ou a haut risque.

→ Analyse des besoins non fonctionnels critiques.

→ Realisation de l’etude d’opportunite.

13

I.A.3. Principes des iterations

Buts :

• Analyser les besoins.

• Concevoir une solution.

• Implanter le code.

• Tester et livrer le produit.

Pour cela :

→ Decoupage en phases :

elaboration ⇒ construction ⇒ transition ⇒ livraison finale.

→ Augmentation iterative des fonctionnalites.

→ Livraisons successives de code operationnel avec feedback du

client.

14

I.A.3. Developpement iteratif - suite

Temps

Ince

ptio

nPhase d’élaboration

15

I.A.3. Developpement iteratif - phase d’elaboration

Exi

genc

es

20%

Log

icie

l

2%

50%

8%

Itération 1 Itération 2 Itération 3 Itération 4 Itération 5

Exi

genc

es

Log

icie

l

30%5%

90% 90%

10%20%

16

I.A.3. Developpement iteratif - Exemple d’iteration

Lu Ma Me Je Ve Lu Ma Me Je Ve Lu Ma Me Je Ve

Rappel des objectifs

Modélisation et conception

(esquisses UML)

Début du codage

et des testsRévision éventuelle

des objectifs

Vérification et

gel du code Démonstrations et

atelier d’expression

des besoins

Planification de

l’itération suivante

17

I.A.3. Analyse et Conception

Objectifs de l’analyse :

• Etude du metier du client

• Etude des besoins des utilisateurs

• Reformulation du cahier des charges sous une forme exploitable

en conception

Objectifs de la conception :

• Definition de l’architecture logicielle

• Definition du comportement de l’application

18

I.A.4. Langages de modelisation

Interet :

• Formalisation des principes

• Communication des idees

• Representation graphique

Utilisation dans le processus de developpement :

• Representation de cas d’utilisation

• Representation du modele du systeme

• Representation des interactions

• Representation des classes de conception

• ...

19

I.A.5. Design Patterns - Patrons de conception

Interet :

Apporter des solutions a des problemes simples connus

Utilisation dans le processus de developpement :

Pendant la modelisation et l’implantation

20

I. Introduction

B. Unified Modeling Language

21

I.B.1 Historique et motivations

1995

Fin 97

1998

1999

2003

1996

2004

Début 1997

Autres méthodes PartenairesOOSEOMT−1Booch’91

OMT−2Booch’93

Méthode unifiée 0.8

UML 0.9

UML 1.0

UML 1.1

UML 1.2

UML 1.3

UML 1.5

UML 2.0

22

I.B.2. Definition et principes

Definition :

UML est un langage visuel dedie a la specification,

la construction et la documentation des artefacts d’un systeme.

Principes :

1. Une famille de notations graphiques...

2. basee sur un meta-modele formel...

3. permettant la generation automatique de code.

23

I.B.3. Les diagrammes

Six diagrammes de structure (ou statiques) :

• Class • Object • Package

• Component • Deployment • Composite

Sept diagrammes de comportement (ou dynamiques) :

• Activity • Use Case • State Machine

Interaction

Diagrams

• Sequence • Communication

• Interaction Overview • Timing

24

I.B.3. Les diagrammes - Exemple

Client

Traiter une vente

Caissier

<< actor >>

Service d’auto.

des paiements

25

I.B.4. Modes d’utilisation

Esquisse :

→ Informel, dynamique, exploratoire et ephemere.

Plan :

→ Direction, processus en cascade, complet et persistant.

⇒ Necessite une tres bonne connaissance d’UML (diagrammes).

Langage de programmation :

→ Le code est genere uniquement a partir d’UML.

⇒ Necessite une excellente connaissance d’UML (diagrammes et

meta-modele).

26

I.B.4. Limites

• Le langage de modelisation ne remplacera jamais la competence de

l’analyste-concepteur.

• Une bonne conception illegale en UML est preferable a une mauvaise

conception legale en UML.

⇒ Mieux vaut chercher a se perfectionner en conception qu’en UML !

• UML n’est pas suffisant pour representer tous les aspects utiles a la

conception.

• Remarque : Dans 80% des cas, seulement 20% d’UML sont

necessaire...

27

I.B.5. Qualites des diagrammes

• Clarte de presentation.

• Coherence avec le fond.

• Niveau de detail homogene.

• Clarte de presentation.

28

I.B.6. Utilisation des diagrammes dans le processus de developpement

Inception :

• Use Case • Activity

Iteration - Analyse des besoins :

• Use Case • Activity

• Class • State Machine

Iteration - Conception :

• Class • Sequence • Package

• State Machine • Communication Diagram

29

I.B.7. Ordre de presentation

Importance/Utilite Utilisation

Class 1 Use Case

Sequence 2 Activity

Package 3 Component

State Machine 4 Sequence

Activity 5 Communication

Use Case 6 Class

Object 7 Package

Communication 8 State Machine

Deployment 9 Deployment

Component 10 Object

Composite Structures 11 Composite Structures

Interaction Overview 12 Interaction Overview

Timing 13 Timing

30