0% ont trouvé ce document utile (0 vote)
61 vues29 pages

Cours6 Approche Orientee Objet

approche oriente objet

Transféré par

mtspro7755
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
61 vues29 pages

Cours6 Approche Orientee Objet

approche oriente objet

Transféré par

mtspro7755
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE GASTON BERGER DE SAINT-LOUIS

Génie logiciel

Awa DIATTARA
[email protected]

02/02/2024
Analyse et conception
orientée objet
Historique des approches
❑ Année 60 → 90
o Méthodes fonctionnelles (années 70)
o Approches Systémiques (années 80)
o Analyse des éléments globalement en tant que parties intégrantes
d'un ensemble (modélisation des données + les traitements)
▪ Exemples : MERISE (informatique de gestion), AXIAL(IBM –
Systèmes d’information), MEGA (Système d’informations), OSSAD
(Système bureautiques), etc.

o Limites :
▪ Réutilisabilité : modules non généraux → adaptés seulement
aux sous problèmes pour lesquels ils ont été conçus.
▪ Extensibilité : l’architecture du logiciel est fondée sur les
traitements qui sont moins stables que les données →
inadaptés à la conception de gros logiciels.
❑ A partir des années 90
o Émergence des méthodes orientées objet
DIATTARA Awa
Pourquoi et comment modéliser en orienté objet ?

❑ Les approches orientées objet sont basées sur une modélisation


du domaine d’application.

❑ Les « objets » sont une abstraction des entités du monde réel.

❑ On cherche à relier le modèle au monde réel par la notion


d’objet.

❑ Un objet possède un état et réagit selon un comportement.


o L’état évolue au cours du temps, en fonction du
comportement.

❑ Les objets échangent des messages.

DIATTARA Awa
Intérêts des approches orientées objet ?

❑ Les approches objet sont souvent qualifiées de « naturelles »


car elles sont basées sur le domaine d’application. Cela facilite
en particulier la communication avec les utilisateurs.

❑ Ces approches supportent mieux l’évolution des besoins que


les approches fonctionnelles car la modélisation est plus
stable, et les évolutions fonctionnelles ne remettent par
l'architecture du système en cause.

❑ Les approches objet facilitent la réutilisation des composants


(qui sont moins spécifiques que lorsqu'on réalise une
décomposition fonctionnelle).

DIATTARA Awa
Intérêts des approches orientées objet ?

❑ Les approches objets donnent la capacité de :


o Réduire l'écart sémantique entre la réalité et les modèles.
o Regrouper ce qui a été séparé.
o Construire le complexe à partir de l’élémentaire.
o Apporter des modifications locales aux modèles.

DIATTARA Awa
Généralités sur
l’approche objet
Classes et Objet

❑ Objets : Astou, Chaise, Université Gaston Berger, Banque,


Voitures, Equation, Match de Foot, GroupeDeTravail…

❑ Classe
o Regroupement d’objets de même types.

❑ Un objet est une instance de sa classe.

❑ " Un objet est une entité capable de mémoriser un état


(information) et qui offre des opérations (comportement) pour
à la fois explorer et modifier cet état ". (Jacobson, 1992).

DIATTARA Awa
Classes et Objet

❑ Un objet réunit des données (attributs) et des opérations


(méthodes) qui opérèrent sur ces données.

❑ Un objet réalise une opération lorsqu’il reçoit une requête (ou


message) de la part d’un client.

❑ Les requêtes sont les seuls moyens de faire exécuter une


opération.

❑ Les opérations sont les seuls moyens de modifier les données


internes d’un objet.

DIATTARA Awa
Classe et Objet

❑ Exemples
➢ Les attributs

➢ Les méthodes

Classe : Personne
Exemples d'objets
Astou : Personne Modou : Personne

25 ans 18 ans
Astou Dia Modou Diop
Ngallele Sanar
DIATTARA Awa
Les trois grands principes de l’approche objet

❑ Trois grands principes de l’approche Objet :

o L’encapsulation : la structure d’un objet n’est pas connue de


l’extérieur (intégrité → garantie d’un bon développement).

o L’héritage : une classe dite dérivée contient les attributs et


méthodes d’une classe existante (une façon de réutiliser).

o Le polymorphisme est la possibilité d’envoyer une requête


à un objet sans connaître le type de l’objet.

DIATTARA Awa
Les trois grands principes de l’approche objet

❑ Encapsulation :
o Regroupement des attributs
et des méthodes
o Modularité
▪ Protège les données
d’une utilisation erronée
▪ Cache les détails des
méthodes
o Évolutivité, fiabilité

✓ La structure d’un objet n’est pas connue de l’extérieur.

DIATTARA Awa
Les trois grands principes de l’approche objet

❑ Héritage :
o Relation entre classes
▪ Oiseaux est un cas
particulier de Animaux.
▪ Animaux généralise
Oiseaux.
o Classe fille
▪ Hérite des attributs et des
comportements.
▪ Peut avoir des attributs et
des méthodes nouvelles.
▪ Peut avoir un
comportement modifié.

DIATTARA Awa
Les trois grands principes de l’approche objet

❑ Polymorphisme :
o Tout animal peut se déplacer.
o Il le fait différemment s’il
s’agit d’un oiseau ou d’un
serpent.

✓ Le polymorphisme est relatif aux méthodes de l’objet.

DIATTARA Awa
Les méthodes orienté objet
Méthodes orientées objets

❑ En 1994, plus de 50 méthodes orientée objet :


o Fusion, ROOM, Classe-relation, BOOM, OMT, BOOCH,
OOSE, Objectory,…

o Les méta-modèles se ressemblent de plus en plus.

o Les notations graphiques sont toutes différentes

✓ L’industrie a besoin de standards…

DIATTARA Awa
Naissance d’UML

UML 2

Soumission OMG UML 1.3 juin 1999

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

OOPSLA ‘ 95 Méthode Unifiée 0.8 Octobre 1995

Booch ’93 OMT-2


17
Autres méthodes Booch ’91 OMT-1 Objectory Partenaires

DIATTARA Awa Cours Génie Logiciel


UML ?

❑ C’est :
o Une notation graphique, un langage de modélisation objet
o Une description complète, évolutive, publique
o Un standard, utilisé par des AGL (Ateliers de Génie
Logiciel)

❑ Peut être utilisé avec tout processus de développement objet.

❑ Convient à tous les langages objets : C++, Java, etc.

✓ UML n’est pas une méthode


méthode = Outils + Démarches + Langage + Normes de description

DIATTARA Awa
UML
(Unified Modeling Language)
UML (Unified Modeling Language)

❑ C’est un langage pour :


- Visualiser : chaque symbole possède une sémantique,
- Spécifier : de manière précise et complète, sans ambiguïté
- Construire : une partie du code des classes peut être
générée automatiquement.
- Documenter : les différents diagrammes, notes, contraintes,
exigences sont conservés dans un document.

DIATTARA Awa
UML (Unified Modeling Language)

❑ La version actuelle de UML(2) s’articule autour de 14


diagrammes.
▪ 5 ont été introduits dans UML 2, Juillet 2005.

❑ Chaque diagramme fournit une représentation du système


suivant un point de vue particulier.

DIATTARA Awa
UML (Unified Modeling Language)

❑ UML modélise le système suivant 3 modes de représentation


(nécessaires et complémentaires) :
o Mode statique (ou structurel) : concerne la structure du
système pris au repos.
o Mode dynamique (ou comportemental) : concerne la
dynamique de fonctionnement du système.
o Mode fonctionnel : concerne les fonctions du système.

➔ UML schématise la manière dont le système est composé


et comment ses composantes sont liées.

DIATTARA Awa
Axes de modélisation du système

DIATTARA Awa
UML : exemples de diagramme
1. Use cases : description des fonctionnalités du point de vue
user.
2. Classes : structuration des entités manipulées par les
utilisateurs (classes, interfaces)
3. Packages : hiérarchie des modules du système (UML 2)
4. Objets : illustration des structures de classes complexes en
montrant des exemples d’instances et leurs relations.
5. Structure composite : description de la composition d’un objet
complexe lors de son exécution (UML 2).
6. Composants : architecture des composants physiques du
système.
7. Déploiement : description de l’installation des composants du
système sur le matériel et sur le réseau .
DIATTARA Awa
UML : exemples de diagramme
8. États : représentation du cycle de vie commun aux objets
d’une même classe.
9. Activités : règles d’enchaînement des activités du système.
10. Séquences : description d’échanges de messages entre objets
dans le cadre d’un fonctionnement particulier du système ;
représentation des scénarios d’utilisation du système.
11. Communication (ou collaboration) : représentation simplifiée
du diagramme de séquences.
12. Etats-transitions : représentation des transitions entre objets.
13. Global d’interactions : association entre diagrammes de
séquences et d’activités (UML 2).
14. De temps : description de contraintes temps-réel délicates
(UML 2).
DIATTARA Awa
UML (Unified Modeling Language)

❑ UML modélise le système suivant 3 modes de représentation


(nécessaires et complémentaires) :
o Mode statique (ou structurel) : concerne la structure du
système pris au repos.
o Mode dynamique (ou comportemental) : concerne la
dynamique de fonctionnement du système.
o Mode fonctionnel : concerne les fonctions du système.

➔ UML schématise la manière dont le système est composé


et comment ses composantes sont liées.

DIATTARA Awa
Quelques outils UML

❑Rational Rose, http://www-306.ibm.com/software/rational/


❑WinDesign, http://www.win-design.com/
❑Objecteering/UML, http://www.objecteering.com/
❑Poseidon, http://www.gentleware.com/
❑ArgoUML,
http://argouml.tigris.org/
❑EclipseUML, http://www.eclipsedownload.com/
❑Etc.

DIATTARA Awa
Étude de cas en TD

Vous aimerez peut-être aussi