Vous êtes sur la page 1sur 48

Université de Kairouan

Institut Supérieur d’Informatique


et de Gestion de Kairouan

MÉTHODOLOGIE DE CONCEPTION
ORIENTÉE OBJET

CHAPITRE 1: INTRODUCTION AUX SYSTÈMES


D’INFORMATION

Élaboré par: BRAHMI Hanen

Filière: 2LFSI / 2ESER / 2LATRI


Année Universitaire: 2019/2020
NOTION DE SYSTÈME

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.

Description d’un système


 Déterminer les éléments et les relations;
 Déterminer les propriétés des éléments et des relations;
 Déterminer les valeurs que peuvent prendre les propriétés;
 Décrire l’activité du système;
 Décrire son organisation.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 1


NOTION DE SYSTÈME

Exemple

 Système: entreprise

 Éléments: employés, services, articles, entrepôt ....

 Propriétés des éléments: Nom et matricule d’employé, référence d’article

 Relations: un employé est rattaché à un service, un article est stocké dans un entrepôt

 Propriétés des relations: Date d’entrée dans le service, quantité stockée

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 2


NOTIONS D’UN SYSTÈME

État d’un système


Exemple
 L’état d’un système est déterminé par
l’ensemble des valeurs prises par les propriétés
des éléments et des relations.
 Changement de valeurs  changement d’état
du système

Environnement d’un système


 Un système subit de la part de son environnement un ensemble de contraintes.

 Ces contraintes obligent le système à réagir en déclenchant des activités tendant à le ramener à un
état stationnaire.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 3


DÉCOMPOSITION D’UN SYSTÈME

 Tout système complexe peut être décomposé en sous-systèmes.

 Les sous-systèmes d’un même système sont unis par des relations.

 Les sous-systèmes sont considérés comme des éléments du système.

 Pour un même système, il existe plusieurs décompositions possibles en sous-systèmes.

 La qualité de la représentation du système dépend de sa bonne décomposition.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 4


DÉCOMPOSITION D’UN SYSTÈME

Exemple

Première Décomposition Deuxième Décomposition

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 5


NOTION DE SYSTÈME D’INFORMATION

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é.

2 Le système d’information est le véhicule de la communication dans l’entreprise. Cette


communication possède un langage dont les mots sont les données.

Le système d’information est le système de couplage entre le système opérant et le


3
système de pilotage.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 6


NOTION DE SYSTÈME D’INFORMATION

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 7


NOTION DE SYSTÈME D’INFORMATION

 Le système d’information sert comme moyen de communication entre


 l’entreprise et l’environnement extérieur;
 le système opérant et le système de pilotage.

Remarque : À ne pas confondre


 Système d’information,

 Système informatisé et

 Système informatique.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 8


TYPES DE SYSTÈMES D’INFORMATION

Le système d’information peut être décomposé en deux types :


 Système d’information opérant
 Système d’information de pilotage

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 9


TYPES DE SYSTÈMES D’INFORMATION

Système d’information opérant Système d’information de pilotage


Il prend en charge la gestion courante de l’entreprise Il prend en charge le pilotage et le traitement de gestion
 gestion du personnel par exception :
 gestion de la production  états statistiques
 gestion des stocks  historique
 facturation  décisions plans à long terme
 comptabilité

Remarques
 La frontière entre système d’information opérant et système d’information de pilotage n’est pas toujours
claire.

 Il existe une zone commune correspondant aux besoins tactiques.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 10


DOMAINES D’UTILISATION DES DIFFÉRENTS TYPES DE
SYSTÈMES D’INFORMATION

Trois niveaux de management utilisent les deux types


de
systèmes d’information :

 Niveau de management Stratégique

 Niveau de management Tactique

 Niveau de management Opérationnel

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 11


FONCTIONS DU SYSTÈME D’INFORMATION

Un système d’information doit assurer les fonctions suivantes :

 Saisie : Saisie des données faisant partie du SI pour qu’elles aient une existence réelle.

 Mémorisation : Permet de retrouver la donnée ultérieurement (persistance)

 Traitement : Permet d’accéder aux données, les mettre à jour et les mettre en forme.

 Communication : Permet la communication entre le système d’information et son


environnement ainsi qu’avec le système opérant et le système de pilotage.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 12


PROBLÈMES LIÉS AU DÉVELOPPEMENT DES SI
 Augmentation des coûts
 Non respect des délais;
 Non respect des spécifications ;
 Non fiabilité ;
 Difficultés de maintenance et d’évolution.

 Evolution lente du logiciel


 Les projets informatiques repartent de zéro!

 Evolution foudroyante du matériel


 Premier ordinateur:
 50 tonnes, 25 Kwatts, quelques milliers de positions de mémoire,
 Quelques composants par circuit,

 Actuellement : Processeurs avec 2, 4 et jusqu’à 6 cœurs,


2TRI  Quelques grammes, 17 watts, jusqu’à 16 Go de RAM, environs 20 000 MIPS,
BRAHMI HANEN 31/01/2020 14

 400 millions de transistors.


ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 13
PROBLÈMES LIÉS AU DÉVELOPPEMENT DES SI

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

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 14


Université de Kairouan
Institut Supérieur d’Informatique
et de Gestion de Kairouan

MÉTHODOLOGIE DE CONCEPTION
ORIENTÉE OBJET

CHAPITRE 2: INTRODUCTION AUX MÉTHODES DE


CONCEPTION ORIENTÉES OBJET

Élaboré par: BRAHMI Hanen

Filière: 2LFSI / 2ESER / 2LATRI


Année Universitaire: 2018/2019
LA TECHNOLOGIE OBJET :
VUE D’ENSEMBLE

Conception
Orientée
objet

Objet BD
Programmation Orientées
Orientée objet objet

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 1


LA TECHNOLOGIE OBJET :
PROGRAMMATION OO

1967 : Simula : 1ère introduction des concepts d’objet et de classe


1976 : Smalltalk : 1ère station graphique Xerox Parc (pré-Macintosh)
1980 : C++ : introduction des concepts de l’objet dans C
1980 : Object Pascal (Turbo Pascal) : extension de Pascal
1995 : Java : introduit par Sun Microsystems
2004 : C# : introduit par Microsoft

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 2


LA TECHNOLOGIE OBJET :
BASES DE DONNÉES OO

Deux courants d’idées :


 Le tout objet
 Le relationnel-objet
1980 : Extension du modèle relationnel avec quelques concepts de l’objet (nouveaux types, héritage, …)
1985 : Postgres : Extension objet du SGBD relationnel Ingress
1986 : O2 : SGBDOO par le GIP Altair puis repris par la société O2.
1985 - 1995 :
 Parution d’autres SGBDOO : Orion, GemStone, ObjectStore, …
 Adoption du courant relationnel-objet par la majorité des éditeurs des SGBD relationnels : Oracle,
Informix, Sybase, …

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 3


CONCEPT DE RÉ-INGÉNIERIE (1)

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).

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 4


CONCEPT DE RÉ-INGÉNIERIE (2)

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#.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 5


CONCEPT DE RÉ-INGÉNIERIE (3)

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.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 6


CONCEPT DE RÉ-INGÉNIERIE (4)

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 classe en UML deviennent des membres statiques en Java.

 Les attributs de type référence à un autre objet ou à une collection d’objets sont discutés dans la section «
Association».

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 7


CONCEPT DE RÉ-INGÉNIERIE (5)

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 8


CONCEPT DE RÉ-INGÉNIERIE (6)

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#.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 9


CONCEPT DE RÉ-INGÉNIERIE (7)

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#.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 10


MÉTHODOLOGIES D’ANALYSE ET DE CONCEPTION

Démarche globale d’informatisation

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.

 Il existe différentes manières pour classer ces méthodes, dont :


 La distinction entre composition et décomposition
 La distinction entre fonctionnel (dirigée par le traitement) et orientée objet

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 11


LA TECHNOLOGIE OBJET :
MCOO

♦ 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.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 12


PRINCIPALES MÉTHODES ORIENTÉES OBJET

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

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 13


CARACTÉRISTIQUES DES MÉTHODES ORIENTÉES OBJET

♦ 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.

♦ L’évolution des besoins entraine un changement de l’interaction des objets ou une


modification des
propriétés des objets incriminés.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 14


APPROCHE OBJET: CONCEPTS IMPORTANTS

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

 Un objet a les mêmes réactions et la même modularité que le monde réel,


 L’objet informatique est une projection de l’objet du monde réel.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 15


APPROCHE OBJET: CONCEPTS IMPORTANTS

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

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 16


APPROCHE OBJET: CONCEPTS IMPORTANTS

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.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 17


APPROCHE OBJET: CONCEPTS IMPORTANTS

Exemple I

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 18


APPROCHE OBJET: CONCEPTS IMPORTANTS

Exemple II

Méthode : Calcul de la clé d'un numéro de sécurité sociale

Objet : Individu (Assuré Social par exemple)

Donnée protégée : Valeur du modulo pour le calcul de clé

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

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 19


APPROCHE OBJET: CONCEPTS IMPORTANTS

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

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 20


NOTION DE SPÉCIALISATION/GÉNÉRALISATION

 Généralisation : Regroupement au sein d'une


super-classe des caractéristiques communes à
un ensemble de classes (attributs et méthodes).
 Spécialisation : Adaptation des
caractéristiques transmises par une ou
plusieurs super-classes en leur ajoutant des
nouvelles caractéristiques (attributs et
méthodes).
 La généralisation et la spécialisation génèrent
une hiérarchie des classes.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 21


APPROCHE OBJET: CONCEPTS IMPORTANTS

Polymorphisme…

Le polymorphisme permet de définir

plusieurs formes pour une méthode

commune à une hiérarchie d'objets. C'est

à l'exécution que l'on détermine quelle

forme appeler suivant la classe de l'objet

courant.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 22


APPROCHE OBJET: CONCEPTS IMPORTANTS

Agrégation…
 La composition (agrégation) consiste à

réunir des objets pour en former un

autre.

 Toute agrégation est caractérisée par

une cardinalité.

Partir d’objets de base pour

construire des objets complexes

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 23


PRÉSENTATION D’UML

 UML (Unified Modeling Language) est un langage de modélisation objet unifié.

 Un langage est un formalisme (notations ou ensemble de règles) utilisé pour représenter la structure et
la dynamique d’un SI.

 UML unifie trois autres méthodes orientées objet:


 OMT : Object Modeling Technique (Rumbaugh, 1991)
 BOOCH(OOD) : Object Oriented Design (Booch, 1991)
 OOSE : Object Oriented Software Engineering (Jacobson, 1992)

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 24


HISTORIQUE DE LA CONSTITUTION D’UML

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 25


LES 4 VUES + 1

 Définition du système vu Dépendances entre les


de l’intérieur modules
 COMMENT satisfaire les
besoins des acteurs
 Description du modèle
vu par les acteurs du
système
 Besoins attendus pour
chaque acteur
 Le QUOI et le QUI
 Position géographique et
architecture physique de
chaque élément  Vue temporelle et technique
 Le OÙ  Mise en œuvre des notions
de tâches concurrentes,
synchronisation…

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 26


VUES ET DIAGRAMMES

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

Offrir une vue complète du système !

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 27


DIAGRAMMES STRUCTURELS OU DIAGRAMMES STATIQUES
(UML STRUCTURE)

Structuration des données, identification des objets/composants constituant


le programme,…
 Diagramme de cas d’utilisation (Use case diagram)

 Diagramme de classes (Class diagram)

 Diagramme d’objets (Object diagram)

 Diagramme de composants (Component diagram)

 Diagramme de déploiement (Deployment diagram)

 Diagramme de paquetages (Package diagram)

 Diagramme de structures composites (Composite structure diagram)


ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 28
DIAGRAMMES COMPORTEMENTAUX OU DIAGRAMMES
DYNAMIQUES (UML BEHAVIOR)

Evolution des objets, modélisation des activités,…

 Diagramme de séquence (Sequence diagram)

 Diagramme de collaboration (Collaboration diagram)

 Diagramme d’états/transitions (State machine diagram)

 Diagramme d’activités (Activity diagram)

 Diagramme de communication (Communication diagram)

 Diagramme de temps (Timing diagram)

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 29


POINTS DE VUE DE MODÉLISATION

Il existe trois points de vue classiques de modélisation: fonctionnel, statique ou structurel, et dynamique ou temporel.

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 30


LES TROIS VUES (DIMENSIONS) DU SI

♦ 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,

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 31


COUVERTURE DES 3 DIMENSIONS PAR LES MCOO

DIMENSION OOD HOOD OOA/OOD OMT OOSE OOM UML

STATIQUE       

DYNAMIQUE     

FONCTIONNELLE   

ISIGK © Hanen BRAHMI 2SI / 2ESER / 2LATRI 2019 32