Documente Academic
Documente Profesional
Documente Cultură
MÉTHODOLOGIE DE CONCEPTION
ORIENTÉE OBJET
Définition
Un système est un tout constitué d’éléments unis par des relations, ces éléments et ces relations
étant munis de propriétés.
Exemple
Système: entreprise
Relations: un employé est rattaché à un service, un article est stocké dans un entrepôt
Ces contraintes obligent le système à réagir en déclenchant des activités tendant à le ramener à un
état stationnaire.
Les sous-systèmes d’un même système sont unis par des relations.
Exemple
Définitions
1
Le système d’information est une représentation possible de n’importe quel système,
notamment tout système humain organisé.
Système informatisé et
Système informatique.
Remarques
La frontière entre système d’information opérant et système d’information de pilotage n’est pas toujours
claire.
Saisie : Saisie des données faisant partie du SI pour qu’elles aient une existence réelle.
Traitement : Permet d’accéder aux données, les mettre à jour et les mettre en forme.
Appliquer une méthodologie pour produire des applications informatiques de qualité. Une telle
méthodologie propose une démarche, des modèles, des langages, des outils spécifiques.
UML
Méthodes d’analyse et de Unified Modeling Language
conception +
APPROCHE OBJET UP
Unified Process
MÉTHODOLOGIE DE CONCEPTION
ORIENTÉE OBJET
Conception
Orientée
objet
Objet BD
Programmation Orientées
Orientée objet objet
Les concepts structuraux (ou statiques) tels que classes et interfaces sont fondamentaux aussi bien en UML qu’en Java.
Ils sont représentés en UML dans les diagrammes de classes, et constituent le squelette d’un code orienté objet.
CLASSE
La classe est le concept fondamental de toute technologie objet. Le mot-clé correspondant existe aussi bien en Java.
Par défaut chaque classe UML devient un fichier .java (Java).
INTERFACE
La notion UML d’interface (représentée sous ses deux formes graphiques) se traduit par le mot-clé correspondant aussi
bien en Java qu’en C#.
PACKAGE
Le package en tant que regroupement de classes ou d’interfaces existe aussi bien en Java qu’en C#, mais avec une
syntaxe différente.
ATTRIBUT
Les attributs deviennent des variables en Java. Leur type est soit un type primitif (int, etc.), soit une classe fournie
par la plate-forme (String, Date, etc.). Attention à ne pas oublier dans ce cas la directive d’importation du package
correspondant.
La visibilité des attributs est montrée en les faisant précéder par + pour public, # pour protégé (protected), - pour
privé (private).
Les attributs de type référence à un autre objet ou à une collection d’objets sont discutés dans la section «
Association».
OPÉRATION
Les opérations deviennent des méthodes en Java,
Leur visibilité est définie avec les mêmes conventions que les attributs.
Les opérations de classe deviennent des méthodes statiques ; les opérations abstraites (en italique) se traduisent par
le mot-clé correspondant en Java ou en C#.
Les relations UML entre concepts statiques sont très riches et ne se traduisent pas toutes de façon simple par un mot-
clé dans les langages objet Java ou C#.
GÉNÉRALISATION
Le concept UML de généralisation se traduit directement par le mécanisme de l’héritage dans les langages objet. La
syntaxe est différente en Java et en C#.
Analyse: On cherche les besoins des utilisateurs, les fonctionnalités et les qualités attendues.
Conception: On définit une solution informatique concernant la structuration de données, l’organisation des
traitements, définition des postes de travail, choix techniques (langages de programmation, SGBD,…)
Une méthode donne les concepts pour décrire le produit et les règles de conduite méthodologique pour produire
un produit de qualité avec une efficacité raisonnable Méthodologies d’analyse et de conception.
♦ Constituent une évolution vers une plus grande cohérence entre les objets et leur dynamique.
♦ Sont basées sur le concept d’objet.
♦ Permettent de décrire la dynamique du SI comme un ensemble d’opérations rattachées aux
objets.
♦ Permettent une meilleure modularité et une réutilisation des composants du SI.
♦ Utilisent une approche ascendante.
OOD G. Booch
HOOD Hood Technical Group
OOA S. Shlear et S. Mellor
OOA / OOD T. Coal et E. Yourdon
OMT J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen
OOM M. Bouzeghoub et A. Rochfeld
UML OMG
♦ Les approches orientées objet considèrent le logiciel comme une collection d’objets dissociés,
identifiés,
définis par des propriétés, et interagissant. La fonctionnalité du logiciel émerge alors de l’interaction
entre les différents objets qui le constituent.
♦ L’une des particularités de ces approches est qu’elles rapprochent les données et leurs
traitements associés au
sein d’un unique objet.
Objet…
Définitions
Entité cohérente rassemblant des données et du code travaillant sur ces données,
Structure de données valuées qui répond à un ensemble de messages.
Caractéristiques
Méthodes
Comportement : que peut-on faire avec cet objet?
État : comment réagit l’objet quand on applique ces méthodes? Attributs
Identité : comment distinguer les objets qui ont le même état et le même comportement? Identifiant
Classe…
Une classe décrit des objets ayant les mêmes attributs et les mêmes méthodes.
moule servant à fabriquer des objets.
Les objets rattachés à une classe sont les instances de cette classe.
Classe Objet
Encapsulation…
L'encapsulation est le processus qui consiste à
empêcher d'accéder aux détails d'un objet qui ne
contribuent pas à ses caractéristiques essentielles.
(BOOCH -1991-)
L'encapsulation consiste à intégrer le code et les données d'une entité au sein d'un objet. Elle empêche
également les utilisateurs clients de connaître les détails de son implémentation en ne fournissant qu'une vue
externe (correspondant à un masquage d'information). Seule l'interface (ou protocole) d'un objet doit paraître
visible aux yeux d'un client potentiel.
Exemple I
Exemple II
Exemple III
Message = Débiter(somme, compte, code_confidentiel).
Objet = compte bancaire.
Méthode A (Visible depuis l'interface) = Débiter_carte_de_crédit.
Méthode B (non visible par l'utilisateur mais appelée par la méthode A) = Algorithme de validation du
code confidentiel.
Des méthodes encapsulées peuvent faire appel à des données qui sont elles-mêmes protégées
Héritage…
L'héritage est un mécanisme destiné à exprimer les similitudes entre classes. Il met en oeuvre les
principes de généralisation et de spécialisation en partageant explicitement les attributs et méthodes
communs au moyen d'une hiérarchie de classes.
Exemple
Spécialisation Généralisation
Polymorphisme…
courant.
Agrégation…
La composition (agrégation) consiste à
autre.
une cardinalité.
Un langage est un formalisme (notations ou ensemble de règles) utilisé pour représenter la structure et
la dynamique d’un SI.
UML comporte neuf diagrammes de base et qui ont été étendu par la norme UML 2.0 pour atteindre treize types de
diagrammes représentant autant de vues distinctes pour représenter des concepts particuliers du système
d’information.
UML
Aspects Aspect
statique dynamique
Il existe trois points de vue classiques de modélisation: fonctionnel, statique ou structurel, et dynamique ou temporel.
♦ Dimension statique: décrit les objets du système, les associations entre ces
objets, les contraintes et les opérations correspondantes.
♦ Dimension dynamique: représente les types d'événements qui peuvent
survenir dans le SI et les changements d'états résultant du traitement de ces
événements.
♦ Dimension fonctionnelle: représente les flux d’informations qui circulent entre
les différents acteurs du SI, ainsi que les processus qui les transforment,
STATIQUE
DYNAMIQUE
FONCTIONNELLE