Analyse et conception orient - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Analyse et conception orient

Description:

Analyse et conception orient e objet R alisation des transparents : M. Exbrayat, I. Todinca Approche fonctionnelle : la mod lisation est r alis e partir de ... – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 35
Provided by: todi7
Category:

less

Transcript and Presenter's Notes

Title: Analyse et conception orient


1
Analyse et conception orientée objetRéalisation
des transparents M. Exbrayat, I. Todinca
  • Approche fonctionnelle la modélisation est
    réalisée à partir de fonctions que doit réaliser
    le système.
  • Approche orientée objet on identifie les objets
    manipulés par le système, avec leurs états et
    leurs comportements.

2
Approche objet
  • Lidée est connue depuis 1976
  • Programmation orientée objet 1980, version
    industrielle de SmallTalk
  • Langages de programmation Ada, C, Java
  • Les outils de POO existent, quen est-il de
    lanalyse et de la conception?

3
Historique
  • Méthodes fonctionnelles et Systémiques
  • Années 60 ? 90
  • Apparitions de méthodes objets 90
  • Booch, OMT (Rumbaugh), Objectory (Jacobson)
  • Insuffisances
  • Méthodes partielles, cantonnées à des domaines
    distincts
  •  Abondance de biens nuit 

4
Naissance dUML
UML 2
Soumission OMG
juin 1999
UML 1.3
UML 1.2
juin 1998
Standardisation OMG Soumission OMG
UML 1.1
Novembre 1997 Septembre 1997
Soumission OMG
UML 1.0
Janvier 1997
OOPSLA  96
UML 0.9
Juin 1996
Méthode Unifiée 0.8
Octobre 1995
OOPSLA  95
Booch  93
OMT-2
Objectory
OMT-1
Partenaires
Autres méthodes
Booch 91
5
UML ?
  • Cest
  • Une notation, un langage de modélisation objet
  • Une description complète, évolutive, publique
  • Un standard, utilisé par des AGL
  • Ce nest pas
  • Une méthodologie

6
Généralités sur lapproche objet
  • Dans la vie courante on manipule des objets.
  • Un objet possède un état et réagit selon un
    comportement.
  • Létat évolue au cours du temps, en fonction du
    comportement
  • Les objets échanges des messages.

7
Les classes
  • Objets Alice, Pierre, Paul université
    dOrléans, université Paris 7, université Lyon 1.
  • Classe regroupement d objets de même type.
  • Personne
  • Université
  • Lobjet est une instance de sa classe.

8
Les attributs
  • Objet
  • Classe

Pierre Personne 25 ans Pierre Durand 40 rue
ZOLA
Personne Age int Nom string Adresse string
9
Les méthodes
Personne
Age int Nom, Adresse string
renvoie Nom
SePrésenter() Vieillir() ChangerNom()
Age Age1
10
Encapsulation
  • Regroupement des attributs et des méthodes
  • Modularité
  • protège les données d une utilisation erronée
  • cache les détails des méthodes
  • Evolutivité, fiabilité

Personne
Age int Nom, Adresse string
SePrésenter() Vieillir() ChangerNom()
11
Héritage
  • Relation entre classes
  • Oiseaux est un cas particulier de Animaux
  • Animaux généralise Oiseaux
  • La classe fille
  • hérite les attributs et les comportements
  • peut avoir des attributs et des méthodes
    nouvelles
  • peut avoir un comportement modifié

Animaux
Reptiles
Oiseaux
12
Polymorphisme
Animaux SeDeplacer()
  • Tout animal peut se déplacer
  • Il le fait différemment sil sagit dun oiseau
    ou dun serpent

Reptiles
Serpents
SeDeplacer() en volant
SeDeplacer() en glissant
13
Les diagrammes UML
Diagramme
Diagramme structurel
Diagramme comportemental
Vue statique
Vue dynamique
14
Les diagrammes
  • Diagramme structurel
  • dobjets
  • de classes
  • de composants
  • de déploiement
  • Diagramme comportemental
  • de cas dutilisation
  • de collaboration
  • de séquence
  • dactivités
  • détats-transitions

15
Diagramme de classes
Nom de classe
Nom de classe
attributs
Attributs attr1 attr2
méthodes
Opérations op 1 op 2...
dautres séparateurs peuvent être rajoutés pour
mieux regrouper des attributs ou des méthodes
Exceptions ex1 ex2
16
Attributs
  • ltVisibilitégtltnom d attributgtnom de type ou
    de classegtltvaleur initialegt
  • Visibilité
  • Publique
  • Privée -
  • Protégée
  • Attribut de classe ou d instance
  • sa valeur est la même pour tous les objets de la
    classe (ex TVA)
  • on souligne la définition de l attribut
  • Attribut référençant un autre objet
  • Par valeur
  • Par référence

17
Attributs (suite)
Par valeur losange noir du cote du conteneur
Boissons
Boissons
- nbrBoissonsint 100 - produitsEnsemble
boissonPrepareeBoisson
Produits 1
1 boissonPreparee
Ensemble
Boisson
Par référence losange blanc du cote de la
classe référençante
Affecter
Camion
Chauffeur
18
Attributs dérivés
Rectangle
Rectangle
longueur largeur /Surface
longueur largeur Surface ( )
Conception
Surfacelongueurlargeur
19
Méthodes
  • ltnom_operationgt(nom_paramtype_paramvaleur-par-
    defaut,)type_retour
  • Exemple
  • ChangerNom(nouveauNom String)
  • SePrésenter()String
  • Méthode abstraite
  • indique une méthode non implémentée dans cette
    classe
  • Définition en Italique ou précédée de abstrait

20
Classes utilitaires
  • On ne crée pas d instance de la classe
  • Equivalent en C classe ayant uniquement des
    mambres statiques

 utilitaire  Maths
Pi Réel e Réel
sin(Degré)Réel sqrt(Réel)Réel
21
Classe paramétrable
Paramètres formels
Classe paramétrable
  •  templates  du C

Eléments
Table générique
Deux notations possibles
 lie  (Entreprise)
Table générique ltEntreprisegt
Annuaire d entreprises
22
Relations entre classes
  • Association
  • Composition / agrégation
  • Utilisation ou délégation
  • Dépendance
  • Héritage

23
Associations
Très semblable au modèle entité-association
Classe A
Classe B
Cardinalité 1 0..1 N M..N 0..1 0.. 1.
.
employeur
Société
Personne
employé
lt travaille pour
Société
Personne
1
0..
24
Associations (suite)
Association n-aire
Classe 4
1..
1
1
Classe 1
Classe 3
0..1
nom
1 instance de 3 correspond a plusieurs de 5
Navigabilité

1
1..
Classe 5
Classe 2

25
Association attribué
Elève
Matière
Elève
Matière
Résultat
Note
Note
26
Qualification
A
B
Qualif.
Réseau
B
B
B
B
email
B
B
B
0..1
A
Personne
27
La Navigation
Classe A
Classe B
Classe A
Classe B
  • Idée voire une association comme un canal de
    navigation entre objets
  • A priori on peut aller de A à B ou de B à A
  • Flèche seulement la classe A  voit  la classe
    B
  • implémentation seulement les objets de la
    classe A ont un pointeur vers des objets de la
    classe B

28
Contraintes sur les associations
Société
Personne
  • Les employés sont triés par leur numéro
  • Les délégués font partie des parents
  • On ne peut que rajouter des faits à un historique

ordonné
lt Parents élèves
Classe d école
Personne
sous-ensemble
lt Délégués
Historique
Fait
ajout uniquement
29
Composition / agrégation
Classe 1
Classe 1
Classe 3
o1
Classe 2
O2.1
Classe 4
o1
o2
O2.2
Classe 5
Classe 3
Classe 2
Nom
o2
0..
O2.2
O2.1
Classe 4
Classe 5
Structure multivaluée
Classe 1
o1
o2
Par référence
Classe 3
Classe 2
O2.1
O2.2
Par valeur
Classe 4
Classe 5
30
Héritage
Heritage contraint disjoint / complet /
incomplet chevauchement
Animaux
disjoint
Héritage simple
Reptiles
Oiseaux
Mammifères
Héritage multiple
  • Plus délicat à gérer!
  • certaines langages de programmation n'acceptent
    pas l'héritage multiple
  • provient quelquefois dune erreur de
    classification...

Classe A
Classe B
Un peu de chaque
31
Diagrammes dobjets
  • Visualisation dinstances
  • Montrer un contexte
  • Influence des interactions
  • Faciliter la compréhension
  • Structures récursives
  • Structures complexes
  • Illustrer, tout simplement

32
Diagrammes d objets
Classe C
Attention, ne pas confondre avec  instancie 
 instance de 
On souligne le nom
Une instance de C
JeanPersonne
JeanGestionPersonne
Personne
 Exception  Erreur I/O
Voiture
marqueRenault  puissance120
33
Liens entre objets
NicolasPersonne
Voiture
stagiaire
1
4
MatthieuPersonne
Passagers
Roues
directeur
LionelPersonne
34
Et encore...
Tout
Objet composite
Partie
Partie
Partie
Etudiant
ObjetActif
Si réussi exams
 devient 
Diplômé
Write a Comment
User Comments (0)
About PowerShow.com