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