Big Data
Big Data
Big Data
L’approche orientée objet considère le logiciel comme une collection d’objets dissociés,
identifiés et possédant des caractéristiques. Une caractéristique :
L’identité – L’objet possède une identité, qui permet de le distinguer des autres objets,
Indépendamment de son état. On construit généralement cette identité grâce à un
Identifiant découlant naturellement du problème (par exemple un produit pourra être
repéré par un code, une voiture par un numéro de chassis, etc.)
Les attributs – Il s’agit des données caractérisant l’objet. Ce sont des variables stockant
des informations sur l’état de l’objet.
Les méthodes – Les méthodes d’un objet caractérisent son comportement, c’est-à-dire
l’ensemble des actions (appelées opérations) que l’objet est à même de réaliser. Ces
Opérations permettent de faire réagir l’objet aux sollicitations extérieures (ou d’agir sur
les autres objets). De plus, les opérations sont étroitement liées aux attributs, car leurs
actions peuvent dépendre des valeurs des attributs, ou bien les modifier.
L’une des particularités de cette approche est qu’elle rapproche les données et leurs
traitements associés au sein d’un unique objet.
L'héritage
est un mécanisme de transmission des propriétés d'une classe (ses attributs et méthodes)
vers une sous-classe. Une classe peut être spécialisée en d'autres classes, afin d'y ajouter
des caractéristiques spécifiques ou d'en adapter certaines. Plusieurs classes peuvent être
généralisées en un classe qui les factorise, afin de regrouper les caractéristiques
communes d'un ensemble de classes. L'héritage peut être simple ou multiple.
l’agrégation
Il s'agit d'une relation entre deux classes, spécifiant que les objets d'une classe sont des
composants de l'autre classe.
La composition :
Est une agrégation forte : la classe composée et les classes composants ont la même
durée de vie. Et la multiplicité du coté de la classe agrégat ou composée est 1
Il doit être possible de trouver sur le marché des OUTILS LOGICIELS D’AIDE à
la conception. Ces outils portent le nom d’A.G.L (Atelier de Génie Logiciel) ou
C.A.S.E (Computer Aided Software Engineering)
Introduction à UML
Pour programmer une application, il ne convient pas de se lancer tête baissée dans
l’écriture du code : il faut d’abord organiser ses idées, les documenter, puis organiser
la réalisation en définissant les modules et étapes de la réalisation. C’est cette démarche
antérieure à l’écriture que l’on appelle modélisation ; son produit est un modèle.
Modélisation de la solution ?
Conception
Los Amigos
Apparition de + ieurs Méthodes :
(Booch, Classe-Relation, Fusion, HOOD,
OMT, OOA, OOD,OOM, OOSE, etc.)
Jacobson
L’OMG UML 2.1.1
produit
Booch et UML 0.9 adopte La version
Merise Rumbaugh UML 1.1 d’UML en
construisent une cours en
méthode unifiée,
Unified Method 0.8
UML n’est pas une méthode (i.e. une description normative des étapes de la
modélisation) : un langage graphique qui permet de représenter et de communiquer
les divers aspects d’un système d’information.
Aux graphiques sont bien sûr associés des textes qui expliquent leur contenu. UML est
donc un métalangage qui fournit les éléments permettant de construire le modèle Du
langage de du projet.
Les plus utiles pour la maîtrise d’ouvrage sont les diagrammes : d’activités, de cas
d’utilisation, de classes, d’objets, de séquence et d’états-transitions.
« actor »
Sys Inter Banque
client
Module UML M. Omar EL BEGGAR Page : 16
Évacuation des acteurs
Pour Dégager les acteurs d’un Système , on peut poser les questions suivantes:
Qui utilise le système.?
Qui installe le système?
Qui démarre le système?
Qui maintient le système?
Qui ferme le système?
Quels autres systèmes utilisent le système?
Qui a besoin d'information venant du système?
Quelque chose est il produit automatiquement par le système?
Il est possible de définir une généralisation sur les acteurs?
Exemple :
Cas d’utilisation
Un acteur est qualifié de principal pour un cas d’utilisation lorsque ce cas rend
service à cet acteur. Les autres acteurs sont alors qualifiés de secondaires. Un cas
d’utilisation a au plus un acteur principal. Un acteur principal obtient un résultat
observable du système.
GAB
l’inclusion et l’extension
la généralisation/spécialisation.
Association « include » :
Une relation d’inclusion définit que le cas d’utilisation contient le comportement
définit dans un autre cas d’utilisation.
Association « Extend »:
Une relation d’extension définit que l’instance d’un cas d’utilisation peut être
augmentée avec un comportement quelconque défini dans un cas d’utilisation étendu. Il
faut spécifier le point d’extension sur le cas d’de destination.
Association « Généralisation/Spécialisation »:
généralisation entre deux cas d’utilisation, signifie que le cas d’utilisation spécialisé est
plus spécifique que le cas d’utilisation général. Le spécialisé hérite de toutes les
propriétés et les associations du cas d’utilisation.
Une dépendance se représente par une flèche avec un trait pointillé. Si le cas A
inclut ou étend le cas B, la flèche est dirigée de A vers B.
Le symbole utilisé pour la généralisation est un flèche avec un trait pleins dont la
pointe est un triangle fermé désignant le cas le plus général.
Général
Spécial
Exemple :
Le Versement bancaire peut se faire par dépôt d’argent par chèque ou dépôt
d’argent en espèce. (Spécialisation)
client
Virement par
internet
Exemple Inclusion
client Exemple Extension
Consulter boite
Emails Retrait d’argent
« include »
« extend»
Identification Vérifier Solde
Remarque :
Les enchaînements alternatifs et d’erreurs sont causé par l’utilisateur.
Identifier les acteurs qui utilisent, qui gèrent, qui exécutent des
fonctions spécifiques.
4. Lorsque le pompiste vient avec son camion citerne pour remplir les réservoirs des
pompes, est-il considéré comme un nouvel acteur ? Comment modélise-t-on cela ?
5. Certains pompistes sont aussi qualifiés pour opérer des opérations de maintenance
en plus des opérations habituelles des pompistes telles que le remplissage des
réservoirs. Ils sont donc réparateurs en plus d’être pompistes. Comment modéliser
cela ?
Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de
Disponibilité de la salle ou du matériel).
Le planning des salles peut quant à lui être consulté par tout le monde (enseignants
et étudiants).
Par contre, le récapitulatif horaire par enseignant (calculé à partir du planning des
salles) ne peut être consulté que par les enseignants.
Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer
Le récapitulatif horaire pour l’ensemble de la formation.
: Système Pompe
client
Prendre pistolet
Demander montant
Saisir le montant
Vérification du montant
Montant valide
A1 :
Appuyer sur gâchette Montant invalide
Pomper Essence
Rendre pistolet
Demande d’autorisation
Autorisation
Demande montant
E3 :
Saisie de montant Vérification de montant < solde Retrait interdit
A2 :
Demande Édition de ticket Montant > solde
Accepter l’édition
Éjection de carte A3 :
Ticket refuse
Récupération de carte
: System
actor
REF
Réserver
LOOP
: System
REF
S’authentifier
: Caisse
Caissier Client
LOOP
Demande de
Demandeur de Fourniture Responsable Comptable Fournisseur
Fourniture Sce.Commercial
Bon de
commande
valider Créer
Envoi
Bon de
livraison
Créer
Consulte
valider
Facture
Créer
Journaliser
Début Système
Condition
Action du système
Code correct
<3 fois
Début
Vérification Carte valide Vérification
de carte De code
Carte invalide
Demande
Billets non récupérer
d’autorisation
Carte incorrect 3 fois
Billets Carte non
Échec Système Client non autorise
récupérer
Client
Éjection de carte Montant < Solde
Édition de tickets Carte autorise
Vérification
récupérée
Montant
Fin nominale Montant > Solde
Module UML M. Omar EL BEGGAR Page : 42
Vue Global d’interaction
Exercice Gestion de réservation
Un Diagramme d’interaction vue global permet de représenter l’ensemble des
transactions du système afin de donner une vue globale des fonctionnalités du
Système. Ce diagramme regroupe les diagramme de séquence et d’activité.
Début
Consultation
Réservation
ref ref
Non
Termine?
fin
Module UML M. Omar EL BEGGAR Page : 43
Vue Global d’interaction
Exercice GAB
Début
ref
Authentification
Échec Système
Consultation
Dépôt Retrait
Non
Termine?
Oui
fin
Module UML M. Omar EL BEGGAR Page : 44
Introduction aux diagramme de classes
et
séquence « boite blanche»
Introduction :
classe contrôle
La classe qui réalise le contrôle nécessaire pour interpréter le scénario Gestion de facture
Décrivant un cas d'utilisation
Interface
● Un modèle ou prototype de classes, qui définit un contrat a respecter
● Descripteur des opérations
● Sans code
● Pas d'attribut
● Pas d'association
Une classe peut implémenter une interface; elle peut aussi en implémenter
plusieurs. En notation UML, cette relation est dénotée par une flèche en
pointilles
Rôles
● Extrémité d'une association
● Indication des rôles relatifs des deux classes
reliées par association
● Pseudo-attribut de la classe source
● Ex : Employeur est un pseudo attribut de la classe Personne
● Indication de visibilité; Public par défaut , Privé (-) ou protégé (#)
La relation d’agrégation/Composition
Agrégation
Lorsqu’un objet en contient d’autres, on parle d’agrégation. Une agrégation est une
association qui représente une relation d’inclusion structurelle ou comportementale
d’un élément dans un ensemble. Graphiquement, on ajoute un losange vide du côté de
l’agrégat, comme indiqué à la figure. Elle n’entraîne pas non plus de contrainte sur la
durée de vie des parties par rapport au tout.
Composition
La composition, également appelée agrégation forte, décrit une contenance
Structurelle entre instances. Ainsi, la destruction de l’objet composite implique la
destruction de ses composants. Une instance de la partie appartient toujours à au plus
une instance de l’élément composite : la multiplicité du côté composite ne doit pas
être supérieure à 1.Graphiquement, on ajoute un losange plein du côté de l’agrégat.
Association-Classe
Une association-classe possède les caractéristiques des
associations et des classes .elle se connecte à deux ou
plusieurs classes et possède également des attributs et
des opérations. Une association -classe est caractérisée
par un trait discontinu entre la classe et l’association
qu’elle représente
1 Un seul
0..1 Zéro ou un
N (entier naturel) exactement N
M..N De M à N (entiers naturels)
* De zéro à plusieurs
0..* De zéro à plusieurs
1..* D'un à plusieurs
Par exemple, sur la figure, la terminaison du côté de la classe Personne n’est pas
navigable : cela signifie que les instances de la classe Compte ne stockent pas de liste
d’objets du type Personne. Inversement, la terminaison du côté de la classe Compte
est navigable : chaque objet Personne contient une liste de Comptes.
Le loyer dépend d’un logement, mais en fonction de son type (maison, Villa,
Appartement...). Pour chaque logement, on veut disposer également de l’adresse, de la
superficie.
Quant aux individus qui occupent les logements,on se contentera de leurs noms,prénoms,
date de naissance et numéro de téléphone.
Pour chaque commune, on désire connaître le nombre d’habitants ainsi que la distance
séparant la commune de l’agence.
- Nom de Stagiaire
- Prénom de Stagiaire
- Nom de l’encadrant
- Prénom de l’encadrant
- Lieu du stage
- Date du stage
- Note
- Classement
- Sujet de stage
Consulter
*
*
{ordred}
Reservation *
OrdianeteurPortable VideoProjecteur Personne
-NReservation : int
-Vitesse : int -Dateres : Date -CIN : String
-Plampe : int -Nom : String
-Stockage : int -Horaire : String
-Memoire : int -Prenom : String
+Adresse : String
*
1,1
Enseignant Etudiant
-Matricule : int
-Diplome : String -Ninscription : int
Tout programme en O.O est une classe, Donc Système en O.O est composé de
classes dialogue, classes contrôle et classes métiers. Ces objets peuvent que
interagir entre eux pour réaliser une fonctionnalité eux. Cette dynamique du
système ou interaction et la partie dynamique de l’analyse
1.op1()
:A :B
+op1()
Un diagramme de séquence boite blanche est un diagramme de séquence qui dévoile les
composants du système représenté avant dans un diagramme de séquence
boite noire. Le système boite blanche se compose des objets présentatifs, logiques et
métiers (Classes d’analyses).
Enseignant
Reserversalle(nsalle : String,dater : Date,Horaire : String)
Comparer(date:Date,Hor:String) : Boolean
1.Verifier(ns:String,d:Date,h:String)
Enseignant :Reservation
:Dialogue ReserverSalle
1.1 Verdisp(ns:String,d:Date,h:String)
:Salle
:ControleurReservations
Les collaborations sont des interactions entre objets, dont le but est de réaliser un
objectif du système (c'est-à-dire aussi de répondre à un besoin d'un utilisateur).
L'élément de modélisation UML "collaboration", représente les classes qui participent à la
réalisation d'un cas d'utilisation.
Les diagrammes de collaboration mettent l’accent sur les relations « spatiales » entre
objets. Les messages peuvent être numérotés pour introduire une dimension temporelle.
De nombreuses notations annexes permettent de caractériser les messages. Ils sont
souvent utilisés pour décrire grossièrement la réalisation des cas d’utilisation.
Exemple : Un objet A envoie un message X à un objet B, puis l’objet B envoie un
message Y à un objet C, et enfin C s’envoie à lui même un message Z.
A 3:Z
1:X
2:Y
B
C
« Layer » OBJETS
Présentation
ReserverSalle Matériel
-Ninventaire : String Salle Planning
+Constructor : String +Nsalle : int -NPlanning : int
+Capacite : int
OrdianeteurPortableVideoProjecteur Dates
-Vitesse : int -Datep:Date
-Stockage : int -Plampe : int
-Memoire : int
« Layer » FONCTIONS
Controle
Controleurres Reservation
Etudiant -NReservation : int
-Dateres : Date
-Ninscription : int -Horaire : String
Personne
-CIN : String
Enseignant
-Nom : String
-Matricule : int
-Prenom : String
-Diplome : String
+Adresse : String
-Le diagramme de déploiement représente les éléments matériels (PC, Modem, Station de
travail, Serveur, etc.), leurs dispositions physiques (connexions) et la disposition des
exécutables (représentés par des composants) sur ces éléments matériels.
Package exemple;
public abstract Class UneClasse {
public abstract int uneMethodeAbstraite() ;
public void uneAutreMethodeNonAbstraite(){ }
}
Package exemple;
public Class UneClasse {
private int unAttributPrive;
protected int unAttributProtege;
public int unAttributPublique;
private void uneMethodePrivee(){ }
protected void uneMethodeProtege(){ }
public void uneMethodePublique(){ }
}
Package exemple;
public Interface InterfaceUn { }
public Interface InterfaceDeux { }
Public Class MaClasse implements InterfaceUn, InterfaceDeux {
}
import java.util.Vector;
public class Personne {
private String _cin;
Vector<location> listelocation_ = new
Vector<location>();
}
import java.util.Vector;
public class Voiture {
private String _matricule;
Vector<location> _listelocation = new
Vector<location>();
}
public class location {
private date datelocation;
private Personne locataire;
private Voiture voiture;
}
1 Encadrant
* 1 Encadrant
étudiant
Matricule
N_inscription encadrer
Association réflexive
L’association encadrer indique qu’un encadrant encadre plusieurs étudiants et
inversement un étudiant a un seul encadrant, donc :
public class Personne {
}
Public class Encadrant extends Personne{
private Vector<Etudiant> etudiants;
}
Public class Etudiant extends Personne {
private Endrant encadrant;
}
On obtient finalement une Association d’héritage avec association entre classes
dérivées
U.M.L.
Démarche UP
Résumé
Une démarche : UP
Salarié Administrateur
(from Use Cas e View) (from Use Cas e View)
: Client : Caissier
retourner un article
payer un achat
gérer le catalogue
initialiser les caisses
magasin editer des rapports
se connecter
: Manager
: Salarié
: Administrateur
Client
Retourner un article
Gérer le catalogue
Salarié
Manager Initialiser la caisse
Editer un rapport
administrateur
m odifier le prix
d'un article
ajouter un
article
réalis ation d'un diagram me d'activité ( ici ce n'es t pas la norm e UML car la version
de ros e utilis ée ne s upporte pas les diagram m es d'activité ). Ce s chém a a été
Module UML M. Omar EL BEGGAR
cons truit à partir d'un diagram m e d'état. Page : 107
Phase d’Analysis
Description de bas niveau des Uses-Cases
pour chaque
article enregistrer un article ( code )
fin de vente ( )
payer ( somme )
monnaie
ticket
ici la réponse
est asynchrone
Module UML M. Omar EL BEGGAR Page : 111
Phase d’Analysis
Diagramme de classe d’analyse
Démarche :
Identifier les classes métier
Etablir des associations –associations, héritage,
composition, agrégation…) entre ces classes
Mettre des multiplicités
Placer des attributs
0..1
catalogue
utilise
1
0..1
caisse 1
connait
1
Paiement
effectue
somme : réel 1 0..1
payée par 1
1 vente
date : Date
heure : Heure
génère 1 contient
1
ticket
1 comprend
1..*
ligne de vente
quantité : entier
0..*
le prix ou la
somme devraient concerne
0..*
se donner par 1
rapport à une article
monnaie...
description : text
prix : réel
code : codebarre
Module UML M. Omar EL BEGGAR Page : 113
Phase d’Analysis
Diagramme de classe d’analyse
Exemple :
Enregistrer un article.
• Nom: enregistrer un article (cecode).
• Responsabilités: enregistrer un article lors d'une vente, et l'ajoute à la vente
en cours.
• Exigences: R15 pour le use case effectuer un achat.
• Notes: Si l'article est le premier de la vente, il débute la vente.
Si le code cecode n'est pas référencé dans le
catalogue, un message d'erreur est envoyé au caissier.
• Pré conditions: Il y a un article correspondant au code donné.
Il y a un caissier à la caisse.
• Post conditions: Si c'est le premier article de la vente, il faut qu'un objet
vente ait été créé et associé à la caisse.
Une ligne de vente (ldv) a été créée. Elle a été associée à
une description d'article correspondant au code cecode.
La ligne de vente ldv a été associée à la vente.
Le prix et la description de l'article ont été affichés.
L'attribut quantité a été mis à 1.
Module UML M. Omar EL BEGGAR Page : 116
Phase d’Analysis
Diagramme d’état
Le diagramme d’état peut être fait éventuellement pour
détailler un objet complexe (cycle de vie de l’objet)
nouvel article
im pression en cours
attente paiement
entry : lancer
im pression somm e saisie / afficher monnaie