SlideShare une entreprise Scribd logo
Université Hassan II de Casablanca
ENSET de Mohammedia
Département Mathématiques et Informatique
COURS
INGENIERIE SYSTEMES
1ère Partie :
Introduction
Professeur :
M. Khalifa MANSOURI
09/10/2017
2
Ingénierie Systèmes : Introduction
Plan du cours
1. Rappels
2. Notion de modèle
3. Méthodes et techniques
4. UML et le processus de développement
5. Conception Orientée objets
09/10/2017
3
Ingénierie Systèmes : Introduction
Rappels
RAPPELS
Qualité d’un Logiciel
• La qualité d’un logiciel se mesure par rapport à
plusieurs critères :
– Répondre aux spécifications fonctionnelles :
• Une application est créée pour répondre, tout d’abord, aux besoins
fonctionnels des entreprises.
– Les performances:
• La rapidité d’exécution et Le temps de réponse
• Doit être bâtie sur une architecture robuste.
• Eviter le problème de montée en charge
– La maintenance:
• Une application doit évoluer dans le temps.
• Doit être fermée à la modification et ouverte à l’extension
• Une application qui n’évolue pas meurt.
• Une application mal conçue est difficile à maintenir, par suite elle
finit un jour à la poubelle.
Qualité d’un Logiciel
• La qualité d’un logiciel se mesure par rapport à
plusieurs critères : (Suite)
– Sécurité
• Garantir l’intégrité et la sécurité des données
– Portabilité
• Doit être capable de s’exécuter dans différentes plateformes.
– Capacité de communiquer avec d’autres applications distantes.
– Disponibilité et tolérance aux pannes
– Capacité de fournir le service à différents type de clients :
• Client lourd : Interfaces graphiques
• Interface Web : protocole Http
• Téléphone : SMS
• ….
– Design de ses interfaces graphiques
• Charte graphique et charte de navigation
• Accès via différentes interfaces (Web, Téléphone, … etc.)
– Coût du logiciel
Génie Logiciel
• Pour apporter une réponse à tous ces problèmes, le
génie logiciel s’intéresse particulièrement à la
manière dont le code source d’un logiciel est
spécifié puis produit. Ainsi, le génie logiciel touche
au cycle de vie des logiciels :
– l’analyse du besoin,
– l’élaboration des spécifications,
– la conception,
– le développement,
– la phase de test,
– la maintenance.
09/10/2017
7
Génie logiciel: Méthode de qualité (Méthode de Mc Call)
Génie Logiciel
Les caractéristiques opérationnelles
(product operation)
Point de vue utilisateur
La capacité d’évolution
(product revision)
Point de vue développeur
L’adaptabilité
(product transition)
Point de vue communication
conformité aux besoins
Fiabilité
Efficacité
Intégrité
Utilisabilité
Maintenabilité
Souplesse
testabilité
Portabilité
Réutilisabilité
interopérabilité
Les facteurs de qualité:
Génie Logiciel
09/10/2017 8
Les phases (plus courantes) de développement logiciel
Spécification
des besoins
Conception
Implémentation
Tests
09/10/2017
9
Ingénierie Systèmes : Introduction
Notion de modèle
09/10/2017
10
• Les systèmes deviennent de plus en plus complexes et dépassent la
maîtrise et la compréhension par un seul individu. Le recours au génie logiciel
s’avère très important.
• Le génie logiciel est une méthodologie qui s’efforce à couvrir toutes les
étapes du processus de développement d’un logiciel, y compris les étapes de
modélisation.
• À la fin de chaque étape de modélisation, des modèles sont fournis.
Notion du modèle
Notion du modèle
09/10/2017
11
• Modèle: représentation abstraite et simplifiée d’une entité
(phénomène, processus, système, etc.) du monde réel.
• Un modèle facilite la compréhension du domaine. Et par
conséquent facilite la communication entre les intervenants.
Notion du modèle
09/10/2017
12
• Le modèle est présenté sous forme de schéma ou diagramme
dans lequel on trouve des éléments graphiques et du texte
• Les éléments graphiques sont des symboles dont la
signification est définie par le formalisme utilisé
• Le texte précise la portée des symboles et complète
l’information.
Notion du modèle
09/10/2017
13
• Dans plusieurs domaines, on utilise le modèle comme langage
visuel pour représenter de manière abstraite une entité.
• Le modèle peut remplacer une longue description textuelle
par un schéma ou diagramme plus facile et plus rapide à
interpréter.
Notion du modèle
• Exemples en général
Plan d’implantation de la construction
dans son environnement
Plan détaillés des différents locaux
Plan de câblagePlan de d’assainissement
Notion du modèle
Modèle Conceptuel de Données
Notion du modèle
NumMatr
Nom
Nom
Localité
Téléphone
POLICLINIQUE
.
.
MEDCINS
.
SPECIALITE
Valeur .Travaille
Possède
0-N 0-N
0-N 0-N
• Exemples en BDD
Modèle Logique de Données
Notion du modèle
TRAVAIL
Nom NumMatLocalité
POSSESSION
NumMatr Valeur
MEDECIN S
NumMatr Nom
POLICLINIQUE
Nom TéléphoneLocalité
SPECIALITE
Valeur
• Exemples en BDD
Cas d’utilisation Diagramme d’activité
Notion du modèle
• Exemples relatif à l’informatique
Notion du modèle
09/10/2017
20
Diagramme de classe Diagramme de composant
Notion du modèle
09/10/2017
21
• La modélisation n’est pas une spécialité en soi mais plutôt une aptitude ou
compétence additionnelle que peut acquérir:
• un ingénieur
• un gestionnaire
• un analyste
• ou un technicien
• Selon son champ d’intervention, le modélisateur crée, documente et
communique son modèle.
Qui doit modéliser?
Notion du modèle
09/10/2017
22
• La modélisation est souvent faite par la maitrise d’œuvre
informatique (MOE)
• La maitrise d’ouvrage (MOA) dispose de toutes les
informations et procédures du métier
• Une forte nécessité de coordination entre le MOE et le MOA
pour bien réussir le projet.
• La relation entre le MOE et le MOA est un contrat qui fixe leurs
engagements mutuels
Qui doit modéliser?
Notion du modèle
09/10/2017
23
Modéliser un système avant sa réalisation permet de:
• Mieux comprendre le fonctionnement du système
• Maitriser sa complexité et assurer sa cohérence
• Faciliter la communication entre les intervenants
• Mieux répartir les tâches entre les intervenants
• Assurer une qualité élevée et offrir une meilleure
maintenabilité
• Réduire les coûts et les délais
La création d’un modèle est
indispensable
Pourquoi modéliser?
Notion du modèle
09/10/2017
24
• La création du modèle se fait selon une méthode.
• Depuis les années 80, plusieurs recherches sur la méthodologie
de développement des logiciels
• Emergence de plusieurs méthodes (plus de 50 en début des
années 90)
Comment modéliser?
Notion du modèle
09/10/2017
25
Ingénierie Systèmes : Introduction
Méthodes et techniques
Méthodes et techniques
09/10/2017
26
• Technique de modélisation objet (Object Modeling Technique)
• Permet de développer des systèmes orientés objet
• Contient trois diagrammes principaux :
• diagramme d’objet: contient des classes, des attributs et des méthodes
• Diagramme dynamique: représente une vue de transition d'état sur ​​le
modèle. Les principaux concepts sont des états, transitions entre états, et
des événements pour déclencher des transitions.
• Diagramme fonctionnel: Le modèle fonctionnel gère la perspective de
processus du modèle, ce qui correspond à peu près à des diagrammes de
flux de données.
OMT (1991) de James RUMBAUGH
09/10/2017
27
• Ingénierie logicielle orientée objet (Object-oriented software
engineering), c’est un langage et une méthodologie de
modélisation objet
OOSE (1992) de Ivar JACOBSON
Méthodes et techniques
09/10/2017
28
• Méthodologie et langage de modélisation orienté objet
largement utilisé dans l’analyse et la conception orientée objet
• Les aspects méthodologiques de la méthode Booch ont été incorporés dans
plusieurs méthodologies et processus
OOD (1993) de Grady BOOCH
Méthodes et techniques
09/10/2017
29
• La création du modèle se fait selon un formalisme.
• Le formalisme, dans le contexte de modélisation, sert à définir
les symboles, les règles, les conventions, la structure, etc.
• Un formalisme peut se qualifier comme langage de notation
visuel et structuré.
Concept de formalisme
Méthodes et techniques
Il s’agit d’un langage de modélisation
09/10/2017
30
• Chaque méthode est spécialisée et adaptée à une démarche particulière,
voire un secteur d’activité particulier
• Développement indépendant: incompatibilité, redondance, notation ou
terminologie différente
• Chaque méthode dispose de ses propres moyens de représentation
(graphique, diagramme, plan, organigramme)
Recherche d’un langage unique
• Utilisable dans toute méthode Objet
• Utilisable dans toutes les étapes du cycle de vie d’un logiciel
• Compatible avec les principaux méthodes orientées objet
Méthodes et techniques
Langage de modélisation
09/10/2017
31
• En octobre 1994, Grady BOOCH et James (OOD) et RUMBAUGH (OMT) se sont
réunis au sein de la société Rational: méthode commune qui intègre les
principaux avantages des différentes méthodes connues.
• Lors de OOPSLA’95 (Object Oriented Programming Systems, Languages and
Applications, la grande conférence de la programmation orientée objets),
UNIFIED METHOD V0.8 a été présentée.
• En 1996, Ivar Jacobson (OOSE) a rejoigné l’équipe
• Conférence OOPSLA’96: Naissance UML (Unified Modeling Langage)
Unification des techniques
UML : langage de modélisation
Méthodes et techniques
09/10/2017
32
Historique :
Méthodes et techniques
09/10/2017
33
OMT-1 OOSEBouch’91Autres
méthodes
Partenaires UML (IBM,
Microsoft, Oracle, HP,
Rational, …
Bouch’93 OMT-2
OOPSLA’95
OOPSLA’96
Soumission à
l’OMG Janvier 97
Soumission à l’OMG
Novembre 97
Unified Method 0.8
UML 0.9 & 0.91
UML 1.0
UML 1.1
Adopté par l’OMG comme
langage de modélisation
UML 2.1.12008
Méthodes et techniques
09/10/2017
34
Ingénierie Systèmes : Introduction
UML et le processus de
développement
UML et le processus de développement
09/10/2017
35
• UML est un langage de modélisation et non une méthode.
• UML c’est langage graphique qui permet de représenter et de
communiquer les différents aspects d’un système d’information.
• UML couvre toutes les étapes du développement d’un système
d’information.
Objectifs d’UML
09/10/2017
36
• UML est l'Unified Modeling Language standardisé par
l'OMG (Object Management Group :
http://www.omg.org), est un formalisme graphique
issu de notations employées dans différentes
méthodes objets.
• UML permet de décrire et concevoir des systèmes
logiciels.
• UML sert à :
– Décomposer le processus de développement,
– Mettre en relation les experts métiers et les analystes,
– Coordonner les équipes d'analyse et de conception,
– Migrer facilement vers une architecture
– Indépendant des langages de programmation
Qu’est ce que UML
09/10/2017
37
UML(Unified Modeling Language) un langage
de modélisation unifié
Langage = syntaxe + sémantique :
syntaxe : notations graphiques consistant
essentiellement en des représentations
conceptuelles d'un système
sémantique : sens précis pour chaque notation
Qu’est ce que UML
09/10/2017
38
UML est caractérisé par :
un travail d'expert
utilise l’approche orientée objet
normalisé, riche
Formel : sa notation limite les ambiguïté et les
incompréhensions
langage ouvert
Indépendant du langage de programmation
Domaine d'application : permet de modéliser n'importe
quel système
Supporté par plusieurs outils (AGL) : Objecteering, Open
tools, Rational Rose, PowerAMC, WinDesign, …
39
Diagramme
dynamique
Diagramme
Statique
Diagramme de
séquence
Diagramme de
Communication
Diagramme
Etats Transitions
Diagramme
d’activité
Diagramme
d’objets
Diagramme
de classes
Diagramme
de structure
composite
Diagramme
de composants
Diagramme
de profil
Comportemental
Structurel
Diagramme
de package
Diagramme
de déploiement
Diagramme de
Cas d’utilisation
Diagramme
d’interaction
vue d’ensemble
Diagramme
d’interaction
Diagramme de
temps
Diagrammes d’UML
Les diagrammes
09/10/2017
40
Classes, Objets
Collaboration, Séquences
Vision Logique
Utilisateurs finaux
Fonctionnalités
Composants
Vision Implémentation
Développeurs
Gestion du logiciel
Déploiement
Vision Déploiement
Ingénieurs système
Architecture du système
Installation
Communication
Etats-Transition-Activité
Vision Prcessus
Ingénieurs système
Performance
Changements d’échelles???
Cas d’utilisation
Vision Cas
d’utilisation
Les vues
Diagrammes d’UML
09/10/2017
41
Diagrammes d’UML
09/10/2017
42
Diagrammes d’UML
• Découverte des besoins :
– Diagramme de cas d’utilisation : décrit les fonctions du système selon
le point de vue ses futurs utilisateurs (Jacobson)
– Diagramme de séquence : représentation des interactions temporelles
entre objets dans la réalisation d’une interface Homme Système
• Analyse :
– Diagramme de classes : structure des données du système définies
comme un ensemble de relations entre classes
– Diagramme d’objets : illustration des objets et de leurs relations
– Diagramme de collaboration : représentation des interactions entre
objets
– Diagramme d’états-transitions : représentation du comportement des
objets d’une classe en terme d’états et de transitions d’états
– Diagramme d’activités : structure d’une opération en actions
09/10/2017
43
Diagrammes d’UML
Relation entre diagrammes et étapes du processus
• Conception :
– Diagramme de séquence : représentation des
interactions temporelles entre objets dans la
réalisation d’une opération
– Diagramme de déploiement : description du
déploiement des composants sur les dispositifs
matériels
– Diagrammes de composants : architecture des
composants physiques d’une application
09/10/2017
44
Hardware / Software
CPU RAM ROM HDD
BIOS
CMOS
Système d’exploitation
Application
Hardware
Software
09/10/2017
45
Différents types de langage de programmation
Ordinateur
CPU
Homme
Langage Machine
Langage humains
Langage Assembleur
Langages structurés:
- Pascal, C …
Langages Orientés Objet
- C++, Java ….
09/10/2017
46
Structure d’un programme chargé en mémoire
Instructions
Données
Pile
Programme
RAM
CPU
09/10/2017
47
Ingénierie Systèmes : Introduction
Conception Orientée Objets
09/10/2017
48
Méthode Orientée Objet
• La méthode orientée objet permet de concevoir une application sous la forme
d'un ensemble d'objets reliés entre eux par des relations
• Lorsque que l'on programme avec cette méthode, la première question que
l’on se pose plus souvent est :
– «qu'est-ce que je manipule ? »,
– Au lieu de « qu'est-ce que je fait ? ».
• L'une des caractéristiques de cette méthode permet de concevoir de
nouveaux objets à partir d'objets existants.
• On peut donc réutiliser les objets dans plusieurs applications.
• La réutilisation du code fut un argument déterminant pour venter les
avantages des langages à objets.
• Pour faire la programmation orientée objet il faut connaître les concepts
suivant
– Objet et classe
– Héritage
– Encapsulation (Accessibilité)
– Polymorphisme
09/10/2017
49
Objet
• Un objet est une structure informatique définie par un état et un
comportement
• Objet = état + comportement + Identité
– L’état regroupe les valeurs instantanées de tous les attributs de l’objet.
– Le comportement regroupe toutes les compétences et décrit les actions et les
réactions de l’objet. Autrement dit le comportement est défini par les opérations
que l’objet peut effectuer.
• L’état d’un objet peut changer dans le temps.
• Généralement, c’est le comportement qui modifie l’état de l’objet
• Exemples:
v1:Voiture
Couleur="rouge"
Carburant=20
Puissance=120
demarrer()
accelerer()
Freiner()
État de l’objet
Comportement
:Fenetre
titre="WinWord"
largeur=400
hauteur=300
Deplacer()
agrandir()
fermer()
09/10/2017
50
Identité d’un Objet
• En plus de son état, un objet possède une identité qui
caractérise son existence propre.
• Cette identité s’appelle également référence ou handle
de l’objet.
• En terme informatique de bas niveau, l’identité d’un
objet représente son adresse mémoire.
• Deux objets ne peuvent pas avoir la même identité :
c’est-à-dire que deux objet ne peuvent pas avoir le même
emplacement mémoire.
09/10/2017
51
Classes
• Les objets qui ont des caractéristiques communes sont
regroupés dans une entité appelé classe.
• La classe décrit le domaine de définition d’un ensemble
d’objets.
• Chaque objet appartient à une classe
• Les généralités sont contenues dans les classe et les
particularités dans les objets.
• Les objets informatique sont construits à partir de leur
classe par un processus qui s’appelle l’instanciation.
• Tout objet est une instance d’une classe.
09/10/2017
52
Caractéristique d’une Classes
• Une classe est définit par:
– Les attributs,
– Les méthodes.
• Les attributs permettent de décrire l’état des objets de cette classe.
– Chaque attribut est défini par :
• Son nom,
• Son type,
• Éventuellement sa valeur initiale.
• Les méthodes permettent de décrire le comportement des objets de cette
classe.
– Une méthode représente une procédure ou une fonction qui permet
d’exécuter un certain nombre d’instructions.
• Parmi les méthode d’une classe, il existe deux méthodes particulières :
– Une méthode qui est appelée au moment de la création d’un objet de cette
classe. Cette méthode est appelée CONSTRUCTEUR,
– Une méthode qui est appelée au moment de la destruction d’un objet. Cette
méthode s’appelle le DESTRUCTEUR.
09/10/2017
53
Représentation d’une classe en UML
Nom de la classe
Attributs
Méthodes
Les compartiments d’une classe peuvent être omis si
leur contenu n’est pas pertinent dans le contexte d’un
diagramme
09/10/2017
54
Attributs et opérations de la classe
• Les noms d’attributs d’une classe sont uniques.
• Une opération définit une fonction appliquée à des
objets d’une classe
Nom de la classe
Nom_Attribut : type = valeur initiale
Nom_Operation ( liste_arguments) : type
09/10/2017
55
Exemples de classe
• Une personne est définie par :
– son nom, son adresse et sa date de naissance.
– Les opérations que l’on peut appliquer à un objet
Personne sont :
• age() : méthode qui retourne l’âge de la personne
• changerAdresse() : méthode qui permet de modifier
l’adresse de la personne
• Un point est défini par :
– Ses coordonnées x et y
– Les opérations l’on peut exécuter sur un objet Point
sont :
• toString() : opération qui retourne une chaîne de
caractères de type Point(x,y)
• distance(Point p) : opération qui retourne la distance
entre le point et un autre point p
• Un segment est défini par :
– Deux point p1 et p2
– Les opérations de la classe Segment sont:
• getLongueur() : opération qui retourne la longueur du
segment
• appartient(Point p) : retourne si un point p appartient
au segment ou non
Point
x : int
y : int
toString():String
distance( Point p ) : double
Personne
nom : String
adresse : String
dateNaissance:Date
age() : int
changerAdresse(String a) : void
Segment
p1 : Point
p2 : Point
getLongueur():double
appartient(Point p) : boolean
09/10/2017
56
Notion de paquetage
• Les paquetages offrent un mécanisme général pour la partition des
modèles et le regroupement des éléments de la modélisation
• Chaque paquetage est représenté graphiquement par un dossier
• Les paquetages divisent et organisent les modèles de la même manière
que les dossier organisent le système de fichier
Nom
du paquetage
09/10/2017
57
Notion de paquetage
• Un paquetage peut contenir d’autres paquetages et d’autres éléments
du modèle
• Les paquetages peuvent être liés par des relations de dépendance si
un élément de l’un utilise un élément de l’autre.
awt sql
Client Commande
Produit
Un paquetage qui
Contient la classe Client
Un paquetage qui
Contient les classe
Commande et Produit
Un paquetage qui Contient
deux autres paquetages
java
09/10/2017
58
Encapsulation
• Les membres d’une classe peuvent être protégés en utilisant quatre
niveaux de protection :
– Public (+) : Accès à partir de toute entité interne ou externe à la classe
– Protégé (#) : Accès à partir de la classe ou des classes dérivées
– Privé (-) : accès à partir des opérations de la classe
– Autorisation par défaut : chaque langage de programmation définit une
autorisation par défaut. Dans java, l’autorisation par défaut est package.
Cela signifie que seules les classes du même package qui ont le droit
d’accéder à ce membre.
• Exemple:
Personne
- nom : String
adresse : String
# dateNaissance : Date
+ age() : int
+ changerAdresse(String a) : void
09/10/2017
59
Exemple d’implémentation d’une classe avec Java
package metier;
public class Compte {
// Attributs
private int code;
protected float solde;
// Constructeur
public Compte(int c,float s){
code=c;
solde=s;
}
// Méthode pour verser un montant
public void verser(float mt){
solde+=mt;
}
// Méthode pour retirer un montant
public void retirer(float mt){
solde-=mt;
}
// Une méthode qui retourne l'état du compte
public String toString(){
return(" Code="+code+" Solde="+solde);
}
}
Compte
- code : int
# solde : float
+ Compte(int code, float solde)
+ verser(float mt):void
+ retirer(float mt):void
+ toString():String
60
Création des objets dans java
• Dans java, pour créer un objet d’une classe , On utilise la commande
new suivie du constructeur de la classe.
• La commande new Crée un objet dans l’espace mémoire et retourne
l’adresse mémoire de celui-ci.
• Cette adresse mémoire devrait être affectée à une variable qui
représente l’identité de l’objet.
package test;
import metier.Compte;
public class Application {
public static void main(String[] args) {
Compte c1=new Compte(1,5000);
Compte c2=new Compte(2,6000);
c1.verser(3000);
c1.retirer(2000);
System.out.println(c1.toString());
}}
c1:Compte
Code=1
Solde=5000
verser(float mt)
retirer(float mt)
toString()
c2:Compte
code=2
solde=6000
verser(float mt)
retirer(float mt)
toString()
c1:Compte
Code=1
Solde=8000
verser(float mt)
retirer(float mt)
toString()
c1:Compte
code=1
solde=6000
verser(float mt)
retirer(float mt)
toString()
Code=1 Solde= 6000

Contenu connexe

Tendances

Cours uml
Cours umlCours uml
Cours uml
zimamouche1
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
Mohammed Amine Mostefai
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
Amir Souissi
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
Amir Souissi
 
Event B ( B événementiel )
Event B ( B événementiel )Event B ( B événementiel )
Event B ( B événementiel )
Halima Bouabdelli
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
slimyaich3
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
Abdoulaye Dieng
 
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURICours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Mansouri Khalifa
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
Maya Medjdoub
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
Lilia Sfaxi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
Amir Souissi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
Amir Souissi
 
Diagrammes de classes
Diagrammes de classesDiagrammes de classes
Diagrammes de classes
Mireille Blay-Fornarino
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
Abdelouahed Abdou
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
Lilia Sfaxi
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Shellmates
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
Erradi Mohamed
 

Tendances (20)

Cours uml
Cours umlCours uml
Cours uml
 
Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 
Event B ( B événementiel )
Event B ( B événementiel )Event B ( B événementiel )
Event B ( B événementiel )
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURICours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURI
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
Diagrammes de classes
Diagrammes de classesDiagrammes de classes
Diagrammes de classes
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 

En vedette

Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
Mukesh Tekwani
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
artgreen
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
Ajit Nayak
 
Software Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramSoftware Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagram
Ajit Nayak
 
Software Engineering :UML class diagrams
Software Engineering :UML class diagramsSoftware Engineering :UML class diagrams
Software Engineering :UML class diagrams
Ajit Nayak
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram
Ajit Nayak
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
Raj Thilak S
 
Introduction to UML
Introduction to UMLIntroduction to UML
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an Introduction
Ajit Nayak
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Ashesh R
 

En vedette (11)

Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
 
Lecture04- Use Case Diagrams
Lecture04- Use Case DiagramsLecture04- Use Case Diagrams
Lecture04- Use Case Diagrams
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 
Software Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramSoftware Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagram
 
Software Engineering :UML class diagrams
Software Engineering :UML class diagramsSoftware Engineering :UML class diagrams
Software Engineering :UML class diagrams
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram Software Engineering :Behavioral Modelling - I Sequence diagram
Software Engineering :Behavioral Modelling - I Sequence diagram
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an Introduction
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 

Similaire à UML Part1-Introduction Mansouri

Atelier Genie Logiciel Developement.pptx
Atelier Genie Logiciel  Developement.pptxAtelier Genie Logiciel  Developement.pptx
Atelier Genie Logiciel Developement.pptx
ssusercb2b311
 
Plasticitérecherche2017
Plasticitérecherche2017Plasticitérecherche2017
Plasticitérecherche2017
Anne-Marie Pinna-Dery
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
testuser715939
 
Génie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling languageGénie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling language
Julien Schneider
 
vers une optimisation de la chaine logistique.pptx
vers une optimisation de la chaine logistique.pptxvers une optimisation de la chaine logistique.pptx
vers une optimisation de la chaine logistique.pptx
MelissaMeli13
 
Lmo02.ppt
Lmo02.pptLmo02.ppt
Expression des besoins pour le SI
Expression des besoins pour le SIExpression des besoins pour le SI
Expression des besoins pour le SI
Nouhaila ALAMI
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
Sid Ahmed Benkraoua
 
Processus_Unifie_et_Approche_Agile chapitre 1.pptx
Processus_Unifie_et_Approche_Agile chapitre 1.pptxProcessus_Unifie_et_Approche_Agile chapitre 1.pptx
Processus_Unifie_et_Approche_Agile chapitre 1.pptx
informatiquehageryah
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
LatifaBen6
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
Majid CHADAD
 
Enrichir Ses Méthodes Avec des Processus Unifiés Agiles
Enrichir Ses Méthodes Avec des Processus Unifiés AgilesEnrichir Ses Méthodes Avec des Processus Unifiés Agiles
Enrichir Ses Méthodes Avec des Processus Unifiés Agiles
Romain Couturier
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
Obeo
 
Objecteering mdday2010
Objecteering mdday2010Objecteering mdday2010
Objecteering mdday2010
MD DAY
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
DIALLO Boubacar
 
Projet+com02.ppt
Projet+com02.pptProjet+com02.ppt
Projet+com02.ppt
Yann-Gaël Guéhéneuc
 
Référentiel d'architecture avec TOGAF
Référentiel d'architecture avec TOGAFRéférentiel d'architecture avec TOGAF
Référentiel d'architecture avec TOGAF
Pierre-Xavier Fouillé
 

Similaire à UML Part1-Introduction Mansouri (20)

Atelier Genie Logiciel Developement.pptx
Atelier Genie Logiciel  Developement.pptxAtelier Genie Logiciel  Developement.pptx
Atelier Genie Logiciel Developement.pptx
 
Uml partie 1
Uml partie 1Uml partie 1
Uml partie 1
 
Lecon 1.1
Lecon 1.1Lecon 1.1
Lecon 1.1
 
Plasticitérecherche2017
Plasticitérecherche2017Plasticitérecherche2017
Plasticitérecherche2017
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Génie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling languageGénie Logiciel - Unified modeling language
Génie Logiciel - Unified modeling language
 
vers une optimisation de la chaine logistique.pptx
vers une optimisation de la chaine logistique.pptxvers une optimisation de la chaine logistique.pptx
vers une optimisation de la chaine logistique.pptx
 
Lmo02.ppt
Lmo02.pptLmo02.ppt
Lmo02.ppt
 
Expression des besoins pour le SI
Expression des besoins pour le SIExpression des besoins pour le SI
Expression des besoins pour le SI
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 
Processus_Unifie_et_Approche_Agile chapitre 1.pptx
Processus_Unifie_et_Approche_Agile chapitre 1.pptxProcessus_Unifie_et_Approche_Agile chapitre 1.pptx
Processus_Unifie_et_Approche_Agile chapitre 1.pptx
 
Approche Mda
Approche MdaApproche Mda
Approche Mda
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
Enrichir Ses Méthodes Avec des Processus Unifiés Agiles
Enrichir Ses Méthodes Avec des Processus Unifiés AgilesEnrichir Ses Méthodes Avec des Processus Unifiés Agiles
Enrichir Ses Méthodes Avec des Processus Unifiés Agiles
 
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
SiriusCon2016 - Une plateforme de modelisation support au PLM de l'ingenierie...
 
Objecteering mdday2010
Objecteering mdday2010Objecteering mdday2010
Objecteering mdday2010
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
Projet+com02.ppt
Projet+com02.pptProjet+com02.ppt
Projet+com02.ppt
 
Référentiel d'architecture avec TOGAF
Référentiel d'architecture avec TOGAFRéférentiel d'architecture avec TOGAF
Référentiel d'architecture avec TOGAF
 

Plus de Mansouri Khalifa

Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
UML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouriUML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouri
Mansouri Khalifa
 
UML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouriUML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouri
Mansouri Khalifa
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
Mansouri Khalifa
 
Systèmes d'Information dans les organisations
Systèmes d'Information dans les organisationsSystèmes d'Information dans les organisations
Systèmes d'Information dans les organisations
Mansouri Khalifa
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
Mansouri Khalifa
 

Plus de Mansouri Khalifa (15)

Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURI
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
 
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
 
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
 
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
 
Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 
UML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouriUML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouri
 
UML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouriUML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouri
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Systèmes d'Information dans les organisations
Systèmes d'Information dans les organisationsSystèmes d'Information dans les organisations
Systèmes d'Information dans les organisations
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
 

Dernier

Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
dokposeverin
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
lebaobabbleu
 
Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
Sékou Oumar SYLLA
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
MahouwetinJacquesGBO
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
M2i Formation
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
kamouzou878
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
lebaobabbleu
 

Dernier (14)

Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
 
Cours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTIONCours Gestion d’actifs BNP -- CAMGESTION
Cours Gestion d’actifs BNP -- CAMGESTION
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPrésentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Présentation3.pptxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
 

UML Part1-Introduction Mansouri

  • 1. Université Hassan II de Casablanca ENSET de Mohammedia Département Mathématiques et Informatique COURS INGENIERIE SYSTEMES 1ère Partie : Introduction Professeur : M. Khalifa MANSOURI
  • 2. 09/10/2017 2 Ingénierie Systèmes : Introduction Plan du cours 1. Rappels 2. Notion de modèle 3. Méthodes et techniques 4. UML et le processus de développement 5. Conception Orientée objets
  • 4. RAPPELS Qualité d’un Logiciel • La qualité d’un logiciel se mesure par rapport à plusieurs critères : – Répondre aux spécifications fonctionnelles : • Une application est créée pour répondre, tout d’abord, aux besoins fonctionnels des entreprises. – Les performances: • La rapidité d’exécution et Le temps de réponse • Doit être bâtie sur une architecture robuste. • Eviter le problème de montée en charge – La maintenance: • Une application doit évoluer dans le temps. • Doit être fermée à la modification et ouverte à l’extension • Une application qui n’évolue pas meurt. • Une application mal conçue est difficile à maintenir, par suite elle finit un jour à la poubelle.
  • 5. Qualité d’un Logiciel • La qualité d’un logiciel se mesure par rapport à plusieurs critères : (Suite) – Sécurité • Garantir l’intégrité et la sécurité des données – Portabilité • Doit être capable de s’exécuter dans différentes plateformes. – Capacité de communiquer avec d’autres applications distantes. – Disponibilité et tolérance aux pannes – Capacité de fournir le service à différents type de clients : • Client lourd : Interfaces graphiques • Interface Web : protocole Http • Téléphone : SMS • …. – Design de ses interfaces graphiques • Charte graphique et charte de navigation • Accès via différentes interfaces (Web, Téléphone, … etc.) – Coût du logiciel
  • 6. Génie Logiciel • Pour apporter une réponse à tous ces problèmes, le génie logiciel s’intéresse particulièrement à la manière dont le code source d’un logiciel est spécifié puis produit. Ainsi, le génie logiciel touche au cycle de vie des logiciels : – l’analyse du besoin, – l’élaboration des spécifications, – la conception, – le développement, – la phase de test, – la maintenance.
  • 7. 09/10/2017 7 Génie logiciel: Méthode de qualité (Méthode de Mc Call) Génie Logiciel Les caractéristiques opérationnelles (product operation) Point de vue utilisateur La capacité d’évolution (product revision) Point de vue développeur L’adaptabilité (product transition) Point de vue communication conformité aux besoins Fiabilité Efficacité Intégrité Utilisabilité Maintenabilité Souplesse testabilité Portabilité Réutilisabilité interopérabilité Les facteurs de qualité:
  • 8. Génie Logiciel 09/10/2017 8 Les phases (plus courantes) de développement logiciel Spécification des besoins Conception Implémentation Tests
  • 9. 09/10/2017 9 Ingénierie Systèmes : Introduction Notion de modèle
  • 10. 09/10/2017 10 • Les systèmes deviennent de plus en plus complexes et dépassent la maîtrise et la compréhension par un seul individu. Le recours au génie logiciel s’avère très important. • Le génie logiciel est une méthodologie qui s’efforce à couvrir toutes les étapes du processus de développement d’un logiciel, y compris les étapes de modélisation. • À la fin de chaque étape de modélisation, des modèles sont fournis. Notion du modèle
  • 11. Notion du modèle 09/10/2017 11 • Modèle: représentation abstraite et simplifiée d’une entité (phénomène, processus, système, etc.) du monde réel. • Un modèle facilite la compréhension du domaine. Et par conséquent facilite la communication entre les intervenants.
  • 12. Notion du modèle 09/10/2017 12 • Le modèle est présenté sous forme de schéma ou diagramme dans lequel on trouve des éléments graphiques et du texte • Les éléments graphiques sont des symboles dont la signification est définie par le formalisme utilisé • Le texte précise la portée des symboles et complète l’information.
  • 13. Notion du modèle 09/10/2017 13 • Dans plusieurs domaines, on utilise le modèle comme langage visuel pour représenter de manière abstraite une entité. • Le modèle peut remplacer une longue description textuelle par un schéma ou diagramme plus facile et plus rapide à interpréter.
  • 14. Notion du modèle • Exemples en général
  • 15. Plan d’implantation de la construction dans son environnement Plan détaillés des différents locaux Plan de câblagePlan de d’assainissement Notion du modèle
  • 16. Modèle Conceptuel de Données Notion du modèle NumMatr Nom Nom Localité Téléphone POLICLINIQUE . . MEDCINS . SPECIALITE Valeur .Travaille Possède 0-N 0-N 0-N 0-N • Exemples en BDD
  • 17. Modèle Logique de Données Notion du modèle TRAVAIL Nom NumMatLocalité POSSESSION NumMatr Valeur MEDECIN S NumMatr Nom POLICLINIQUE Nom TéléphoneLocalité SPECIALITE Valeur • Exemples en BDD
  • 18. Cas d’utilisation Diagramme d’activité Notion du modèle • Exemples relatif à l’informatique
  • 20. 09/10/2017 20 Diagramme de classe Diagramme de composant Notion du modèle
  • 21. 09/10/2017 21 • La modélisation n’est pas une spécialité en soi mais plutôt une aptitude ou compétence additionnelle que peut acquérir: • un ingénieur • un gestionnaire • un analyste • ou un technicien • Selon son champ d’intervention, le modélisateur crée, documente et communique son modèle. Qui doit modéliser? Notion du modèle
  • 22. 09/10/2017 22 • La modélisation est souvent faite par la maitrise d’œuvre informatique (MOE) • La maitrise d’ouvrage (MOA) dispose de toutes les informations et procédures du métier • Une forte nécessité de coordination entre le MOE et le MOA pour bien réussir le projet. • La relation entre le MOE et le MOA est un contrat qui fixe leurs engagements mutuels Qui doit modéliser? Notion du modèle
  • 23. 09/10/2017 23 Modéliser un système avant sa réalisation permet de: • Mieux comprendre le fonctionnement du système • Maitriser sa complexité et assurer sa cohérence • Faciliter la communication entre les intervenants • Mieux répartir les tâches entre les intervenants • Assurer une qualité élevée et offrir une meilleure maintenabilité • Réduire les coûts et les délais La création d’un modèle est indispensable Pourquoi modéliser? Notion du modèle
  • 24. 09/10/2017 24 • La création du modèle se fait selon une méthode. • Depuis les années 80, plusieurs recherches sur la méthodologie de développement des logiciels • Emergence de plusieurs méthodes (plus de 50 en début des années 90) Comment modéliser? Notion du modèle
  • 25. 09/10/2017 25 Ingénierie Systèmes : Introduction Méthodes et techniques
  • 26. Méthodes et techniques 09/10/2017 26 • Technique de modélisation objet (Object Modeling Technique) • Permet de développer des systèmes orientés objet • Contient trois diagrammes principaux : • diagramme d’objet: contient des classes, des attributs et des méthodes • Diagramme dynamique: représente une vue de transition d'état sur ​​le modèle. Les principaux concepts sont des états, transitions entre états, et des événements pour déclencher des transitions. • Diagramme fonctionnel: Le modèle fonctionnel gère la perspective de processus du modèle, ce qui correspond à peu près à des diagrammes de flux de données. OMT (1991) de James RUMBAUGH
  • 27. 09/10/2017 27 • Ingénierie logicielle orientée objet (Object-oriented software engineering), c’est un langage et une méthodologie de modélisation objet OOSE (1992) de Ivar JACOBSON Méthodes et techniques
  • 28. 09/10/2017 28 • Méthodologie et langage de modélisation orienté objet largement utilisé dans l’analyse et la conception orientée objet • Les aspects méthodologiques de la méthode Booch ont été incorporés dans plusieurs méthodologies et processus OOD (1993) de Grady BOOCH Méthodes et techniques
  • 29. 09/10/2017 29 • La création du modèle se fait selon un formalisme. • Le formalisme, dans le contexte de modélisation, sert à définir les symboles, les règles, les conventions, la structure, etc. • Un formalisme peut se qualifier comme langage de notation visuel et structuré. Concept de formalisme Méthodes et techniques Il s’agit d’un langage de modélisation
  • 30. 09/10/2017 30 • Chaque méthode est spécialisée et adaptée à une démarche particulière, voire un secteur d’activité particulier • Développement indépendant: incompatibilité, redondance, notation ou terminologie différente • Chaque méthode dispose de ses propres moyens de représentation (graphique, diagramme, plan, organigramme) Recherche d’un langage unique • Utilisable dans toute méthode Objet • Utilisable dans toutes les étapes du cycle de vie d’un logiciel • Compatible avec les principaux méthodes orientées objet Méthodes et techniques Langage de modélisation
  • 31. 09/10/2017 31 • En octobre 1994, Grady BOOCH et James (OOD) et RUMBAUGH (OMT) se sont réunis au sein de la société Rational: méthode commune qui intègre les principaux avantages des différentes méthodes connues. • Lors de OOPSLA’95 (Object Oriented Programming Systems, Languages and Applications, la grande conférence de la programmation orientée objets), UNIFIED METHOD V0.8 a été présentée. • En 1996, Ivar Jacobson (OOSE) a rejoigné l’équipe • Conférence OOPSLA’96: Naissance UML (Unified Modeling Langage) Unification des techniques UML : langage de modélisation Méthodes et techniques
  • 33. 09/10/2017 33 OMT-1 OOSEBouch’91Autres méthodes Partenaires UML (IBM, Microsoft, Oracle, HP, Rational, … Bouch’93 OMT-2 OOPSLA’95 OOPSLA’96 Soumission à l’OMG Janvier 97 Soumission à l’OMG Novembre 97 Unified Method 0.8 UML 0.9 & 0.91 UML 1.0 UML 1.1 Adopté par l’OMG comme langage de modélisation UML 2.1.12008 Méthodes et techniques
  • 34. 09/10/2017 34 Ingénierie Systèmes : Introduction UML et le processus de développement
  • 35. UML et le processus de développement 09/10/2017 35 • UML est un langage de modélisation et non une méthode. • UML c’est langage graphique qui permet de représenter et de communiquer les différents aspects d’un système d’information. • UML couvre toutes les étapes du développement d’un système d’information.
  • 36. Objectifs d’UML 09/10/2017 36 • UML est l'Unified Modeling Language standardisé par l'OMG (Object Management Group : http://www.omg.org), est un formalisme graphique issu de notations employées dans différentes méthodes objets. • UML permet de décrire et concevoir des systèmes logiciels. • UML sert à : – Décomposer le processus de développement, – Mettre en relation les experts métiers et les analystes, – Coordonner les équipes d'analyse et de conception, – Migrer facilement vers une architecture – Indépendant des langages de programmation
  • 37. Qu’est ce que UML 09/10/2017 37 UML(Unified Modeling Language) un langage de modélisation unifié Langage = syntaxe + sémantique : syntaxe : notations graphiques consistant essentiellement en des représentations conceptuelles d'un système sémantique : sens précis pour chaque notation
  • 38. Qu’est ce que UML 09/10/2017 38 UML est caractérisé par : un travail d'expert utilise l’approche orientée objet normalisé, riche Formel : sa notation limite les ambiguïté et les incompréhensions langage ouvert Indépendant du langage de programmation Domaine d'application : permet de modéliser n'importe quel système Supporté par plusieurs outils (AGL) : Objecteering, Open tools, Rational Rose, PowerAMC, WinDesign, …
  • 39. 39 Diagramme dynamique Diagramme Statique Diagramme de séquence Diagramme de Communication Diagramme Etats Transitions Diagramme d’activité Diagramme d’objets Diagramme de classes Diagramme de structure composite Diagramme de composants Diagramme de profil Comportemental Structurel Diagramme de package Diagramme de déploiement Diagramme de Cas d’utilisation Diagramme d’interaction vue d’ensemble Diagramme d’interaction Diagramme de temps Diagrammes d’UML Les diagrammes
  • 40. 09/10/2017 40 Classes, Objets Collaboration, Séquences Vision Logique Utilisateurs finaux Fonctionnalités Composants Vision Implémentation Développeurs Gestion du logiciel Déploiement Vision Déploiement Ingénieurs système Architecture du système Installation Communication Etats-Transition-Activité Vision Prcessus Ingénieurs système Performance Changements d’échelles??? Cas d’utilisation Vision Cas d’utilisation Les vues Diagrammes d’UML
  • 42. 09/10/2017 42 Diagrammes d’UML • Découverte des besoins : – Diagramme de cas d’utilisation : décrit les fonctions du système selon le point de vue ses futurs utilisateurs (Jacobson) – Diagramme de séquence : représentation des interactions temporelles entre objets dans la réalisation d’une interface Homme Système • Analyse : – Diagramme de classes : structure des données du système définies comme un ensemble de relations entre classes – Diagramme d’objets : illustration des objets et de leurs relations – Diagramme de collaboration : représentation des interactions entre objets – Diagramme d’états-transitions : représentation du comportement des objets d’une classe en terme d’états et de transitions d’états – Diagramme d’activités : structure d’une opération en actions
  • 43. 09/10/2017 43 Diagrammes d’UML Relation entre diagrammes et étapes du processus • Conception : – Diagramme de séquence : représentation des interactions temporelles entre objets dans la réalisation d’une opération – Diagramme de déploiement : description du déploiement des composants sur les dispositifs matériels – Diagrammes de composants : architecture des composants physiques d’une application
  • 44. 09/10/2017 44 Hardware / Software CPU RAM ROM HDD BIOS CMOS Système d’exploitation Application Hardware Software
  • 45. 09/10/2017 45 Différents types de langage de programmation Ordinateur CPU Homme Langage Machine Langage humains Langage Assembleur Langages structurés: - Pascal, C … Langages Orientés Objet - C++, Java ….
  • 46. 09/10/2017 46 Structure d’un programme chargé en mémoire Instructions Données Pile Programme RAM CPU
  • 47. 09/10/2017 47 Ingénierie Systèmes : Introduction Conception Orientée Objets
  • 48. 09/10/2017 48 Méthode Orientée Objet • La méthode orientée objet permet de concevoir une application sous la forme d'un ensemble d'objets reliés entre eux par des relations • Lorsque que l'on programme avec cette méthode, la première question que l’on se pose plus souvent est : – «qu'est-ce que je manipule ? », – Au lieu de « qu'est-ce que je fait ? ». • L'une des caractéristiques de cette méthode permet de concevoir de nouveaux objets à partir d'objets existants. • On peut donc réutiliser les objets dans plusieurs applications. • La réutilisation du code fut un argument déterminant pour venter les avantages des langages à objets. • Pour faire la programmation orientée objet il faut connaître les concepts suivant – Objet et classe – Héritage – Encapsulation (Accessibilité) – Polymorphisme
  • 49. 09/10/2017 49 Objet • Un objet est une structure informatique définie par un état et un comportement • Objet = état + comportement + Identité – L’état regroupe les valeurs instantanées de tous les attributs de l’objet. – Le comportement regroupe toutes les compétences et décrit les actions et les réactions de l’objet. Autrement dit le comportement est défini par les opérations que l’objet peut effectuer. • L’état d’un objet peut changer dans le temps. • Généralement, c’est le comportement qui modifie l’état de l’objet • Exemples: v1:Voiture Couleur="rouge" Carburant=20 Puissance=120 demarrer() accelerer() Freiner() État de l’objet Comportement :Fenetre titre="WinWord" largeur=400 hauteur=300 Deplacer() agrandir() fermer()
  • 50. 09/10/2017 50 Identité d’un Objet • En plus de son état, un objet possède une identité qui caractérise son existence propre. • Cette identité s’appelle également référence ou handle de l’objet. • En terme informatique de bas niveau, l’identité d’un objet représente son adresse mémoire. • Deux objets ne peuvent pas avoir la même identité : c’est-à-dire que deux objet ne peuvent pas avoir le même emplacement mémoire.
  • 51. 09/10/2017 51 Classes • Les objets qui ont des caractéristiques communes sont regroupés dans une entité appelé classe. • La classe décrit le domaine de définition d’un ensemble d’objets. • Chaque objet appartient à une classe • Les généralités sont contenues dans les classe et les particularités dans les objets. • Les objets informatique sont construits à partir de leur classe par un processus qui s’appelle l’instanciation. • Tout objet est une instance d’une classe.
  • 52. 09/10/2017 52 Caractéristique d’une Classes • Une classe est définit par: – Les attributs, – Les méthodes. • Les attributs permettent de décrire l’état des objets de cette classe. – Chaque attribut est défini par : • Son nom, • Son type, • Éventuellement sa valeur initiale. • Les méthodes permettent de décrire le comportement des objets de cette classe. – Une méthode représente une procédure ou une fonction qui permet d’exécuter un certain nombre d’instructions. • Parmi les méthode d’une classe, il existe deux méthodes particulières : – Une méthode qui est appelée au moment de la création d’un objet de cette classe. Cette méthode est appelée CONSTRUCTEUR, – Une méthode qui est appelée au moment de la destruction d’un objet. Cette méthode s’appelle le DESTRUCTEUR.
  • 53. 09/10/2017 53 Représentation d’une classe en UML Nom de la classe Attributs Méthodes Les compartiments d’une classe peuvent être omis si leur contenu n’est pas pertinent dans le contexte d’un diagramme
  • 54. 09/10/2017 54 Attributs et opérations de la classe • Les noms d’attributs d’une classe sont uniques. • Une opération définit une fonction appliquée à des objets d’une classe Nom de la classe Nom_Attribut : type = valeur initiale Nom_Operation ( liste_arguments) : type
  • 55. 09/10/2017 55 Exemples de classe • Une personne est définie par : – son nom, son adresse et sa date de naissance. – Les opérations que l’on peut appliquer à un objet Personne sont : • age() : méthode qui retourne l’âge de la personne • changerAdresse() : méthode qui permet de modifier l’adresse de la personne • Un point est défini par : – Ses coordonnées x et y – Les opérations l’on peut exécuter sur un objet Point sont : • toString() : opération qui retourne une chaîne de caractères de type Point(x,y) • distance(Point p) : opération qui retourne la distance entre le point et un autre point p • Un segment est défini par : – Deux point p1 et p2 – Les opérations de la classe Segment sont: • getLongueur() : opération qui retourne la longueur du segment • appartient(Point p) : retourne si un point p appartient au segment ou non Point x : int y : int toString():String distance( Point p ) : double Personne nom : String adresse : String dateNaissance:Date age() : int changerAdresse(String a) : void Segment p1 : Point p2 : Point getLongueur():double appartient(Point p) : boolean
  • 56. 09/10/2017 56 Notion de paquetage • Les paquetages offrent un mécanisme général pour la partition des modèles et le regroupement des éléments de la modélisation • Chaque paquetage est représenté graphiquement par un dossier • Les paquetages divisent et organisent les modèles de la même manière que les dossier organisent le système de fichier Nom du paquetage
  • 57. 09/10/2017 57 Notion de paquetage • Un paquetage peut contenir d’autres paquetages et d’autres éléments du modèle • Les paquetages peuvent être liés par des relations de dépendance si un élément de l’un utilise un élément de l’autre. awt sql Client Commande Produit Un paquetage qui Contient la classe Client Un paquetage qui Contient les classe Commande et Produit Un paquetage qui Contient deux autres paquetages java
  • 58. 09/10/2017 58 Encapsulation • Les membres d’une classe peuvent être protégés en utilisant quatre niveaux de protection : – Public (+) : Accès à partir de toute entité interne ou externe à la classe – Protégé (#) : Accès à partir de la classe ou des classes dérivées – Privé (-) : accès à partir des opérations de la classe – Autorisation par défaut : chaque langage de programmation définit une autorisation par défaut. Dans java, l’autorisation par défaut est package. Cela signifie que seules les classes du même package qui ont le droit d’accéder à ce membre. • Exemple: Personne - nom : String adresse : String # dateNaissance : Date + age() : int + changerAdresse(String a) : void
  • 59. 09/10/2017 59 Exemple d’implémentation d’une classe avec Java package metier; public class Compte { // Attributs private int code; protected float solde; // Constructeur public Compte(int c,float s){ code=c; solde=s; } // Méthode pour verser un montant public void verser(float mt){ solde+=mt; } // Méthode pour retirer un montant public void retirer(float mt){ solde-=mt; } // Une méthode qui retourne l'état du compte public String toString(){ return(" Code="+code+" Solde="+solde); } } Compte - code : int # solde : float + Compte(int code, float solde) + verser(float mt):void + retirer(float mt):void + toString():String
  • 60. 60 Création des objets dans java • Dans java, pour créer un objet d’une classe , On utilise la commande new suivie du constructeur de la classe. • La commande new Crée un objet dans l’espace mémoire et retourne l’adresse mémoire de celui-ci. • Cette adresse mémoire devrait être affectée à une variable qui représente l’identité de l’objet. package test; import metier.Compte; public class Application { public static void main(String[] args) { Compte c1=new Compte(1,5000); Compte c2=new Compte(2,6000); c1.verser(3000); c1.retirer(2000); System.out.println(c1.toString()); }} c1:Compte Code=1 Solde=5000 verser(float mt) retirer(float mt) toString() c2:Compte code=2 solde=6000 verser(float mt) retirer(float mt) toString() c1:Compte Code=1 Solde=8000 verser(float mt) retirer(float mt) toString() c1:Compte code=1 solde=6000 verser(float mt) retirer(float mt) toString() Code=1 Solde= 6000