Génie Logiciel
A. LOTFI
INTTIC - ORAN
1
Génie Logiciel
Chapitre II UML et
développement OO
2
UML et Dév. OO
Introduction
OOP
Développement centré sur les données
Sécuriser les données par l’encapsulation (les interfaces)
L’encapsulation
L’héritage
Polymorphisme
3
UML et Dév. OO
Introduction
Objet & classe
Objet = données (attributs) + méthodes
Classe = définition de l’objet
Instanciation = création d’objet à partir de la classe
4
UML et Dév. OO
Avantages de l’OO
Pourquoi l’orienté objet ?
Réduire le coût de la maintenance
Améliorer le processus de développement
Donner l’avantage à la conception
Réutilisation facile
Colle parfaitement sur le monde physique
5
UML et Dév. OO
Analyse OO
Comment procéder ?
Commencer par une description textuelle du problème
Souligner les noms classes
Souligner les adjectifs attributs
Souligner les verbes actifs opérations
6
UML & Dév. OO
Diagramme de classes
Majuscule pour le Nom de la classe
Nom de la Classe
Minuscule pour les attributs et méthodes
- attribut1
- attribut2 : type = val initiale Le – désigne private
- …
Le + désigne public
Les … pour ne pas lister tout
+ operation1(args) : type
+…
7
UML & Dév. OO
Les relations
Dépendance
X utilise Y
Association/agrégation
X contient (a un) Y
Généralisation
X est un Y
8
UML et Dév. OO
Diagramme de classes
Astuces
Comprendre bien le problème
Utiliser des noms significatifs pour les classes
Concentrer sur le « quoi ? »
Commencer avec un diagramme simple
Raffiner jusqu’à satisfaction
9
UML et Dév. OO
Cas d’utilisation (use case)
Utilité Définition
Définir les besoins fonctionnels du Une interaction en provenance de
système l’extérieur qui déclenche un flot de
Capturer les fonctionnalités contrôle (séquences d’activités) au sein
couvertes par le système du système
Définir le dialogue entre
l’utilisateur et le système
Etablir les scénarios fonctionnels
Servir de support de référence
pour le développement
10
UML et Dév. OO
Cas d’utilisation (use case)
Représentation
Ellipse + nom du cas d’utilisation
Nom du cas
d’utilisation
11
UML et Dév. OO
Déterminer les cas d’utilisation
Se poser les questions :
Quelles sont les grandes fonctionnalités attendues du système ?
Le système doit il informer une personne ou un dispositif
extérieur lorsque son état interne est modifié ?
Le système doit il être informé des évènements extérieurs se
produisant dans son entourage ?
Comment les informations sont elles stockées/modifiées dans le
système ?
12
UML et Dév. OO
Cas d’utilisation : Acteur
Définition Caractéristiques
Un acteur définit un rôle qu’une Il est à l’origine des évènements
initiateurs
entité extérieure assume lors de
Dialogue avec le cas d’utilisation dont il
son interaction avec le système est initiateur
Possède un nom : son rôle
N’est pas forcément humain
13
UML et Dév. OO
Cas d’utilisation : Acteur
Représentation
Un personnage avec son nom (rôle)
Administrateur Vendeur Client
14
UML et Dév. OO
Use case : déterminer les acteurs
Se poser les questions :
Qui installe le système ?
Qui démarre le système ?
Qui maintient le système ?
Qui utilise le système ? (humain/autre)
Qui fournit les infos au système ?
Qui récupère les infos du système ?
15
UML et Dév. OO
Cas d’utilisation
cas d’utilisation
1
Diagramme de cas d’utilisation Acteur 1
Est une représentation
contextuelle de haut niveau du cas d’utilisation
2
système modélisé
cas d’utilisation
3
Acteur 2
16
UML et Dév. OO
Relation entre cas d’utilisation
L’inclusion « include »
Saisir code produit
« include »
« include » Saisir infos client
Commander un produit
« include » Payer commande
17
UML et Dév. OO
Relation entre cas d’utilisation
L’extension « extend »
Retirer argent
« extend » « extend »
Retirer dinars
Retirer devise
18
UML et Dév. OO
Cas d’utilisation
Utilité
Extraction des exigences
Analyse architecturale
Priorisation des utilisateurs
Planification (des fonctionnalités)
Tester le système (avant même de concevoir)
19
UML et Dév. OO
Cas d’utilisation
Astuces
Utiliser des noms significatifs
Définir un comportement atomique par cas d’utilisation
Définir clairement le flot d’évènements
Donner seulement les détails essentiels
Trouver les comportements communs
20
UML et Dév. OO
Diagramme de séquence
Définition Permet de montrer :
Permet de représenter les interactions Les interactions entre les acteurs métiers
entre objets, acteurs et instances Les interactions entre les acteurs du
d’objet en précisant la chronologie des système et le système
échanges de messages Les interactions entre les objets
d’analyse
Les interactions entre les objets logiciels
21
UML et Dév. OO
Diagramme de séquence instance d’une classe du
diagramme de classes
acteur
acteur1 : Acteur objet1 : Classe1 objet2 : Classe2
appel d’une opération
opération1
Opération2(args)
retour2
retour1 exécution
ligne de vie
valeur renvoyée 22
UML et Dév. OO
Diagramme de séquence
Types de messages
objet1 : Classe1 objet2 : Classe2 objet1 : Classe1 objet2 : Classe2
opération opération
exécution
bloquée
retour retour
processus
évoluant en
parallèle
Message synchrone Message asynchrone 23
UML et Dév. OO
Diagramme de séquence
objet1 : Classe1
opération()
objet2 : Classe2
retour2
détruire()
X
destruction de
l’objet
24
Contact
Abdelhadi LOTFI
INTTIC - Oran
+213 772 94 89 02 +213 41 29 93 08
[Link]
alotfi@[Link]
[Link]/site
INTTIC – Oran, Département des Enseignements de Spécialité, de la Recherche et de la Post Graduation