Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Héla
Lajmi
Plan
Chapitre
1:
Introduction
1. Système
d’information
2. Cycle
de
vie
d’un
logiciel
3. Conception
des
SI
4. Concepts
importants
de
l’approche
objet
l'informatique
est
au
cœur
de
toutes
les
grandes
entreprises.
Le
système
d'information
d'une
entreprise
est
composé
de
matériels
et
de
logiciels.
Les
logiciels
• Le cycle
de
vie
d'un
logiciel
désigne
toutes
les
étapes
du
développement
d'un
logiciel,
de
sa
spécification
et
conception
à
sa
disparition.
• L'objectif
d'un
tel
découpage
est
de
permettre
de
définir
des
jalons
intermédiaires
permettant
la
conformité
du
logiciel
avec
les
besoins
exprimés,
et
la
vérification
du
processus
de
développement
(l'adéquation
des
méthodes
mises
en
œuvre)
Cycle
de
vie
d’un
Logiciel
(en
cascade)
Cycle
de
vie
d’un
Logiciel
(en
V)
Conception
des
SI
• assurer
la
bonne
communication
entre
les
membres
de
l’équipes
et
par
conséquent,
aboutir
à
une
compréhension
commune
aux
différentes
parties
prenantes
d'un
problème
donné.
Pourquoi
Modéliser?
(suite)
• mieux
répartir
les
tâches
et
automatiser
certaines
d'entre
elles
• générer automatiquement le code et effectuer des allers-‐retours entre le code et le
• assurer
un
bon
niveau
de
qualité
et
une
maintenance
efficace
Méthodologies
d’analyse
et
de
conception
• Approche
Fonctionnelle:
Exemple
SADT,
Modélisation
que
du
traitement
(les
données
non)
pour
les
applications
peu
complexe.
• Approche
Systémique:
Exemple
Merise,
Modélisation
des
données
et
des
traitements
séparément
pour
des
applications
de
complexité
moyenne.
Quel
que
soit
la
complexité
et
l’évolution
des
applications,
on
peut
réussir
à
les
modéliser
et
développer
par
l‘approche
OO.
ØLa
modularité:
la
programmation
modulaire
permet
la
réutilisation
du
code,
via
l’écriture
de
librairie
ØL’extensibilité
(pour
une
meilleure
productivité
des
développeurs
et
une
plus
grande
qualité
des
applications)
ØLa
traçabilité:
ce
qu’on
fait
en
conception,
on
trouve
son
image
en
programmation.
• Un objet est une entité qui possède une identité (un titre écrit en
Majuscule ).
• Un objet est une instance de classe (une occurrence d'un type abstrait).
• Une classe est un type de données abstrait, caractérisé par des propriétés
(attributs et méthodes) communes à des objets et permettant de créer
des objets possédant ces propriétés.
Concepts
importants
de
l’approche
objet
Qu’est
ce
qu’un
objet?
Concepts
importants
de
l’approche
objet
Encapsulation
• L'encapsulation consiste à masquer les détails d'implémentation d'un
objet, en définissant une interface. L'interface est la vue externe d'un
objet, elle définit les services accessibles (offerts) aux utilisateurs de
l'objet.
centraliser les données d'un type et les traitements associés, dans une
même unité physique, permet de limiter les points de maintenance
dans le code et facilite l'accès à l'information en cas d'évolution du
logiciel :
Concepts
importants
de
l’approche
objet
Héritage
L'héritage est un mécanisme de transmission des caractéristiques d'une
classe (ses attributs et méthodes) vers une sous-‐classe.
Il s'agit d'une relation entre deux classes, spécifiant que les objets
d'une classe sont des composants de l'autre classe. L'agrégation
permet donc d'assembler des objets de base, afin de construire des
objets plus complexes.
Exemple:
Concepts
importants
de
l’approche
objet
Notion
de
classe
Une classe est un type de données abstrait qui précise des
caractéristiques (attributs et méthodes) communes à toute une famille
d'objets et qui permet de créer (instancier) des objets possédant ces
caractéristiques.
Plan
Chapitre
2
•Introduction
• Historique
• Diagrammes
UML
• Types
de
visualisations
Pourquoi
un
langage
de
modélisation
Unifié?
• Difficultés
de
l’échange
de
modèles
entre
équipes
de
concepteurs
et
entre
concepteurs
et
clients.
Ø Est
un
langage
formel
qui
couvre
le
cycle
de
développement
des
logiciels
de
la
spécification
des
besoins
à
l’implantation.
UML
2.0
Plan
Chapitre
2
• Introduction
• Historique
•Diagrammes
UML
• Types
de
visualisations
Diagrammes
UML
• Neuf
diagrammes
représentant
chacun
un
aspect
particulier
du
SI
à
modéliser
:
• de
cas
d’utilisation
:
décrivent
les
vues
utilisateurs
du
système,
• les
diagrammes
de
déploiement:
décrivent
les
unités
de
programmes
et
leurs
processus
d’affectation.
Diagrammes
UML
• d’états-‐transitions
:
décrivent
les
cycles
de
vie
des
objets,
• Piechocki, L. ( 2007). UML, le langage de modélisation objet unifié. Laurent piechnocki. développez. com.
• Son
objectif
est
de
structurer
les
besoins
des
utilisateurs
et
les
objectifs
(fonctionnalités)
correspondants
d'un
système.
• Un
bon
Use
Case
représente
une
fonctionnalité
du
système
qui
est
complète
du
début
jusqu’à
la
fin.
«Use
cases»
Position
des
UC
dans
un
processus
de
modélisation
Spécifications
Use Cases
Analyse Tests
• L’instance du CU source contient aussi le comportement décrit par le CU destination.
• La
relation
d’inclusion
a
un
caractère
obligatoire:
La
source
doit
indiquer
à
quel
endroit
le
CU
cible
doit
être
inclus
• Permet
de
décomposer
les
comportements
et
définir
des
comportements
partageables
entre
plusieurs
CU.
«Use
cases»:
relation
d’extension
« extend »
• Relation
d’inclusion
entre
cas
d'utilisation
• L’instance
du
CU
source
ajoute
son
comportement
au
CU
destination
(si
la
condition
est
réalisée).
• Le
CU
destination
étend
son
comportement
par
l’ajout
de
celui
du
CU
source,
si
la
condition
est
vérifiée.
«Use
cases»:
relations
de
spécification
« Use
cases »
• Un
cas
d’utilisation
:
• Regroupe
une
famille
de
scénarios
d’utilisation
• Est
une
abstraction
du
dialogue
système/utilisateurs
Ø Le caissier enregistre le numéro d’identification de chaque article, ainsi que la quantité si elle
est supérieure à 1
Ø Lorsque tous les achats sont enregistrés, le caissier signale la fin de la vente la caisse affiche le
total des achats
Exercice:
Caisse
enregistreuse
(extrait
de
UML
par
la
pratique,
Pascal
Roques,
Eyrolles)
Ø Le client choisit son mode de paiement : liquide (le caissier encaisse l’argent reçu, la caisse indique la
monnaie à rendre au client), chèque , carte de crédit (la caisse transmet une demande d’autorisation
à un centre d’autorisation)
Ø La caisse enregistre la vente et imprime un ticket.
Ø Le caissier donne le ticket de caisse au client.
Lorsque un paiement est terminé, la caisse transmet les informations sur le nombre d’articles vendus au
système de gestion de stocks.
(voir suite)
Exemple
de
Cas
d’utilisation
1. Ce CU commence quand un client arrive à la caisse
avec des articles qu’il veut acheter.
2. Le caissier enregistre chaque article. S’il y a plus d’un 3. La caisse détermine le prix de l’article et ajoute des
exemplaire par article, le caissier indique également la informations sur l’article à la vente en cours.
quantité.
La caisse affiche la description et le prix de l’article en
question.
4. Après avoir enregistré tous les articles, le caissier 5. La caisse calcule et affiche le montant total de la vente.
indique que la vente est terminée.
• Exemple:
• Numéro
d’identification
d’un
article
est
inconnu
• Exemple:
• Client
ne
pouvant
payer
(ou
le
centre
d’autorisation
refuse
le
payement)
l’enchaînement
démarre
au
point
6
du
scénario
nominal.
7.
Le
client
ne
peut
pas
payer
le
total
avec
aucun
des
moyens
autorisés.
8.
Le
caissier
annule
l’ensemble
de
la
vente
et
le
cas
d’utilisation
se
termine
en
échec
:
à la
vente
ne
peut
pas
avoir
lieu
Conclusion
• Les
cas
d’utilisation
:
• Sont de bons moyens pour modéliser les besoins des utilisateurs par les utilisateurs.
• Les
avantages
:
• Un
formalisme
simple
:
• Les
concepts
proposés
sont
faciles
à
comprendre
et
à
utiliser.
• Peuvent
être
peu
précis,
ne
reflétant
pas
les
besoins
majeurs
de
l’utilisateur
ou
interprétés
différemment.
• Pas
formels
:
pas
de
vérification
automatique
possible
ni
de
génération
des
autres
diagrammes,
…
Plan
Chapitre
2
• Introduction
• Historique
• Diagrammes
UML
• Types
de
visualisations
• Vue
Fonctionnelle
• Vue
statique
• Vue
dynamique
Types
de
visualisation
dans
UML
Visualisation
« Use
Cases » Visualisation
Logique
• Remarques
:
• Opération
=
méthode
• Attribut
=
propriété.
Vue
Statique
Diagramme
de
classe:
Attributs
• La
syntaxe
de
description
des
attributs
est
:
Lien
:C1 :C2 :C1 :C2
Entité 1 Entité 2
Card1 Card2
Diag.
Entité
/
P11, P21,
Ass
Association P12 P22
… …
1 Un et un seul
0 .. 1 Zéro ou un
N N (entier naturel)
M .. N De M à N (entiers naturels)
* De 0 à plusieurs
0 .. * De 0 à plusieurs
1 .. * De 1 à plusieurs
Vue
Statique
Diagramme
de
classe:
Contraintes
des
associations
• Les
associations
:
Contraintes
• des
expressions
qui
précisent
le
rôle
ou
la
portée
d'un
élément
de
modélisation
• permettent
d'étendre
ou
de
préciser
la
sémantique
• permettent
de
restreindre
le
nombre
d'instances
visées
• peuvent
s'exprimer
en
:
• Langage
Naturel
ou
• graphiquement
avec
un
{texte}
ou
• En
OCL
(Object
Constraint Language)
• Les
types
de
contraintes
exprimables
sur
les
associations
:
• Ordonné;
• Sous-ensemble;
• Ou-exclusif,
…
Vue
Statique
Diagramme
de
classe:
Contraintes
des
associations
• Les
associations
:
Contraintes
• Ordonné : Personne
1 0..*
Compte
{ordonné}
• Sous-ensemble :
Alimenter SECTEUR
Alimenter ENERGIE
PORTABLE
SECTEUR BATTERIE
Vue
Statique
Diagramme
de
classe:
Classe
d’association
• Classe
d'association
:
• est
une
classe
qui
réalise
la
navigation
entre
les
instances
d'autres
classes.
• représente
les
associations
porteuses
de
données.
Passe >
ETUDIANT EXAMEN
NOTE
Remarque
:
classe
d’association
(Cde,
Client,
Facture)&
attribut
de
lien
(Cde,
produit,
QteCdée)
Vue
Statique
Diagramme
de
classe:
Relations
et
associations
• Les
associations
:
Notion
de
rôle
• Rôle
des
associations
(utilisé
pour
les
associations
ambiguës)
:
• spécifie
la
fonction
d'une
classe
pour
une
association
donnée
Client Parents
HÔTEL PERSONNE PERSONNE
Directeur Enfants
Vue
Statique
Diagramme
de
classe:
Agrégation
et
composition
Agrégation Composition
Est Un
SPECIALISATION
• Multiple
:
• La
spécialisation
a
plus
qu’une
généralisation
Vue
Statique
Diagramme
de
classe:
Généralisation
Client
Commande CLIENT FACTURATION
*
concerner 1
1 acheter
Facturation:: * Relation
Facture Produit d’utilisation
COMPTABILITE
Utiliser
la
classe
Facture
du
package
Facturation
Relation
entre
diagramme
de
classe
et
diagramme
d’objet
1,N 0,N
1, N 1, N
:Personne
• Le
rectangle
représentant
un
objet
peut
comporter
une
partie
contenant
les
valeurs
des
attributs
de
l’objet
:
• Tester
un diagramme
de
classes
en
utilisant
des
diagrammes
d'objets
pour
des
cas
d'utilisation
spécifiques
Vue
Statique
Diagramme
des
composants
• Utilisé
pour
éviter
de
parler
de
classes,
ou
de
packages
Vue
Statique
Diagramme
des
composants
• Exemple
(ref:
UML2:
De
l'apprentissage
à
la
pratique)
La relation de dépendance est utilisée dans les diagrammes de composants pour indiquer qu'un
élément de l'implémentation d'un composant fait appel aux services offerts par les éléments
d'implémentation d'un autre composant.
Vue
Statique
Diagramme
des
deploiement
Dans un diagramme de déploiement, les associations entre nœuds sont des chemins de
communication qui permettent l'échange d'informations
Plan
Chapitre
2
• Introduction
• Historique
• Diagrammes
UML
• Types
de
visualisations
• Vue
Fonctionnelle
• Vue
statique
• Vue
dynamique
Types
de
visualisation
dans
UML
Visualisation
« Use
Cases » Visualisation
Logique
Ø présente
des
rôles
joués
par
des
objets
dans
un
contexte
particulier
et
les
liens
entre
ces
objets.
Ø montre
:
• des
interactions
entre
objets
(instances
de
classes
et
acteurs).
• les
interactions
entre
ces
objets
par
des
envois
de
messages
Vue
Dynamique
Diagramme
de
collaboration
Ø permet:
• une
représentation
(structure)
spatiale
des
objets,
des
liens
et
des
interactions
(graphe
dont
les
nœuds
=
intervenants
et
les
arcs
=
les
interactions).
• Une
dimension
temporelle
(ordre
de
déclenchement)
par
l’ajout
de
numéros
de
séquence
des
messages
échangés
(on
ne
représente
pas
le
t de
déclenchement
ni
la
durée).
4 : opération
5 : opération (paramètres)
1:total:=valeurStock()
:Entreprise
1.1.1
:
Créer(0,0) :SRéel
:C lient 2:afficher(total)
1.1.2.i
:
ajout(p)
1.1
:
calculValeur()
:Stock :Produit
:Afficheur
1.1.2
*
[i:=1..n]:p:=ValeurP()
Vue
Dynamique
Diagramme
de
collaboration
Considérons
le
diagramme
de
cas
d’utilisation
suivant:
Vue
Dynamique
Diagramme
de
collaboration
Le
diagramme
de
collaboration
correspondant
est
:
2.1 : Rédiger
Auteur Comité
1 : Appel à communication
d'organisation
Comité
5 : Papier enregistré
programme
6 : Affecter Lecteur
7.1 : Evaluer
4 : Enregistrer
Lecteur RAPPORT
7.2 : Note
PAPIER