Académique Documents
Professionnel Documents
Culture Documents
• 13 séances de 3 heures
Génie Logiciel - UML • chaque séance : cours + TDs
Franck Ledoux DESS Bio -Informatique 2003 -2004 1 Franck Ledoux DESS Bio -Informatique 2003 -2004 2
• Livres en français
– UML – Modéliser un site e-commerce • Analyse et conception de système informatique
P. Roques, Eyrolles • Phase amont de l’activité de programmation
– Le guide de l’utilisateur UML
• Utilisation de la notation UML
G. Booch, J. Rumbaugh, I. Jacobson , Eyrolles
– Modélisation objet avec UML
P. A. Muller, Eyrolles
– Précis de génie logiciel
M.-C. Gaudel, B. Marre, F. Schlienger , G. Bernot, Masson
Assimiler l’importance des activités de
• Sites Web spécification, d’analyse et de conception par
– www.uml.free rapport à l’activité de programmation
– …
Franck Ledoux DESS Bio -Informatique 2003 -2004 3 Franck Ledoux DESS Bio -Informatique 2003 -2004 4
Franck Ledoux DESS Bio -Informatique 2003 -2004 5 Franck Ledoux DESS Bio -Informatique 2003 -2004 6
1
Le Génie Logiciel
Franck Ledoux DESS Bio -Informatique 2003 -2004 7 Franck Ledoux DESS Bio -Informatique 2003 -2004 8
• 1981, le premier lancement orbital de la navette spatiale retar dé de 2 • abandon du projet d’informatisation de la bourse de Londres : 4 années
jours à cause d’un problème logiciel. Elle fut lancée sans que l’on ait de travail et 100 M£ perdus
exactement localisé la cause du problème
• Abandon du système de trafic aérien américain
• du 15 au 16 décembre 1990, les abonnés de ATT sur la côte est d es • Retard (1 an) du système de livraison des bagages de l’aéroport de
Etats-Unis furent privés de tout appel longue distance à cause d’une Denver
réaction en chaîne dans le logiciel du réseau due à un changement de
version du logiciel. • Bogue de l’an 2000, instabilité de Windows 95 …
Franck Ledoux DESS Bio -Informatique 2003 -2004 11 Franck Ledoux DESS Bio -Informatique 2003 -2004 12
2
Enjeux du logiciel Complexité croissante du logiciel
• Nécessité de méthodes, de processus pour le développement
des logiciels coûteux et complexes
• Primordial pour les systèmes critiques : nucléaire, transport, • système offrant de plus en plus de fonctionnalités
systèmes bancaires
• systèmes distribués : machines hétérogènes en réseau
Complexité croissante
Franck Ledoux DESS Bio -Informatique 2003 -2004 17 Franck Ledoux DESS Bio -Informatique 2003 -2004 18
3
Modèles / Processus Caractéristiques d’un processus
• Large place pour les phases d’analyse, de conception et de • Robuste :les problèmes non prévus ne stoppent pas la
validation réalisation du produit
• Maintenable : le processus évolue en fonction des besoins
• But : obtenir un processus rationnel, reproductible et de changements d’organisation
contrôlable
• Efficace : le temps de réalisation du produit
Franck Ledoux DESS Bio -Informatique 2003 -2004 19 Franck Ledoux DESS Bio -Informatique 2003 -2004 20
Franck Ledoux DESS Bio -Informatique 2003 -2004 21 Franck Ledoux DESS Bio -Informatique 2003 -2004 22
Franck Ledoux DESS Bio -Informatique 2003 -2004 23 Franck Ledoux DESS Bio -Informatique 2003 -2004 24
4
Conception Implantation
• But : enrichir la description du logiciel de détails d’implantation af in
d’aboutir à une description très proche d’un programme • Souvent trop de temps consacré au codageau détriment des phases
d’analyse et de conception : mauvaise pratique parfois très coût euse…
• Conception architecturale :
– décomposer le logiciel en composants plus simples.
– Préciser les interfaces et fonctionnalités de chaque composant • Dans un projet bien conduit, l’effort se décompose environ comme suit :
– Résultat : description de l’architecture logicielle et spécifications de ses – 40% pour la spécification et la conception
composants – 20% pour l’implantation
– 40% pour la validation et la vérification
• Conception détaillée :
– Pour chaque composant, on indique comment sont réalisées ses
• Activité la mieux maitrisée, « outillée », voire automatisée
fonctionnalités : représentation des données, algorithmes
• Expertise informatique : hors compréhension du client • Savoir user de la réutilisabilité des composants, voire d’outils de
génération de code (mise en place automatique du squelette du code à
• Frontière floue entre spécifications et conception : partir du modèle système)
– La conception commence souvent pendant la spécification (contraintes de
réalisation à anticiper)
– Elle peut remettre en cause la spécification (aller-retours)
Franck Ledoux DESS Bio -Informatique 2003 -2004 25 Franck Ledoux DESS Bio -Informatique 2003 -2004 26
Franck Ledoux DESS Bio -Informatique 2003 -2004 27 Franck Ledoux DESS Bio -Informatique 2003 -2004 28
5
Cycles de vie « classiques » Modèle en cascade
Franck Ledoux DESS Bio -Informatique 2003 -2004 31 Franck Ledoux DESS Bio -Informatique 2003 -2004 32
Franck Ledoux DESS Bio -Informatique 2003 -2004 33 Franck Ledoux DESS Bio -Informatique 2003 -2004 34
6
Modèle en « V » : limitations Modèle en spirale
• Modèle itératif basé sur le prototypage
• Un modèle toujours séquentiel… – Idée : fournir le plus rapidement possible un prototype exécutable
permettant une validation concrète et non sur document
– Prédominance de la documentation sur l’intégration : validation
tardive du système par lui -même – accent mis sur l’analyse de risque
– Les validations intermédiaires n’empêchent pas la transmission d es
insuffisances des étapes précédentes – Progression du projet par incréments successifs de versions
successives du prototype : itérations
– Manque d’adaptibilité
– Maintenance non intégrée : syndrome du logiciel jetable – 1 itération = 1 mini -cycle de vie en cascade
Franck Ledoux DESS Bio -Informatique 2003 -2004 37 Franck Ledoux DESS Bio -Informatique 2003 -2004 38
Prototype 3
Prototype
opérationnel
• Alternatives
Analyse Prototype 2
de risque Proto-
type 1 • Risques
Simulation, modélisation, benchmark
Plan général
du projet
Concepts
d’opérations • Résolution des risques
Plan de développement
Validation
des besoins
Conception
détaillée • Résultats
Validation de la conception
Programmation et
test unitaire
• Plans
Plan de d’intégration vérification
Planification et de test Intégration Un modèle approprié
Mise
Test
système
et test
est choisi pour la
• Implication
Le projet est révisé et des plans sont en oeuvre
phase suivante de
établis pour le tour suivant de spirale développement
Développement et validation.
Franck Ledoux DESS Bio -Informatique 2003 -2004 39 Franck Ledoux DESS Bio -Informatique 2003 -2004 40
• Objectifs • Risques
– Amélioration significative de la qualité – Pas d ’amélioration rentable de la qualité
– L ’amélioration risque de gonfler les coûts
• Contraintes
– Les nouvelles méthodes peuvent pousser le personnel à partir
– Sur une échelle de trois ans
– Sans gros investissements
• Résolution des risques
– Sans changement des standards actuels
– Se documenter
• Alternatives – Faire un projet pilote
– Réutiliser des logiciels certifiés existants – Étudier les composants réutilisables potentiels
– Introduire des spécifications et des vérifications formelles – Évaluer les outils de support disponible
– Investir dans des outils de test et de vérification – Former et motiver le personnel
Franck Ledoux DESS Bio -Informatique 2003 -2004 41 Franck Ledoux DESS Bio -Informatique 2003 -2004 42
7
Exemple : amélioration de la qualité Exemple : catalogue de composants
• Résultats • Objectifs
– Le manque d’expérience en méthodes formelles rend – Fournir un catalogue de composants logiciels
l’amélioration difficile
– On dispose d’outils limités pour le développement standard de la • Contraintes
société – En une année
– On dispose de composants réutilisables, mais peu d’outils de – Doit gérer les types de composants existants
support pour la réutilisation
– Coût total inférieur à $100, 000
• Plans
– Explorer l’option réutilisation plus en détail • Alternatives
– Prototyper des outils de support à la réutilisation – Acheter un logiciel de recherche d’information
– Etudier les traités de certification de composants – Acheter une base de données et développer un catalogue
– Développer un catalogue dédié
• Implication
– Financer 1 mois complémentaires de développement
Franck Ledoux DESS Bio -Informatique 2003 -2004 43 Franck Ledoux DESS Bio -Informatique 2003 -2004 44
• Résultats
• Risques
– Les systèmes de recherche d ’information ne sont pas flexibles. On
– Peut être impossible au vue des contraintes ne peut pas répondre aux besoins
– Les fonctions du catalogue peuvent être inappropriées – On peut enrichir un prototype basé sur un SGBD pour compléter le
système
– Le développement d’un catalogue dédié n ’est pas rentable
• Résolution des risques
• Plans
– Développer un catalogue prototype pour clarifier les – Enrichir un prototype basé sur un SGBD et améliorer l’interface
besoins utilisateur
– Lancer une consultation sur les systèmes existants
– Relâcher les contraintes de temps • Implication
– Financer les 12 mois prochains de développement
Franck Ledoux DESS Bio -Informatique 2003 -2004 45 Franck Ledoux DESS Bio -Informatique 2003 -2004 46
• Planification renforcée
Franck Ledoux DESS Bio -Informatique 2003 -2004 47 Franck Ledoux DESS Bio -Informatique 2003 -2004 48
8
Quelle architecture logicielle
Franck Ledoux DESS Bio -Informatique 2003 -2004 49 Franck Ledoux DESS Bio -Informatique 2003 -2004 50
Franck Ledoux DESS Bio -Informatique 2003 -2004 51 Franck Ledoux DESS Bio -Informatique 2003 -2004 52
• Stabilité dans la modélisation par rapport aux entités du • Développer des logiciels fondés
monde réel – Sur la modélisation des objets du monde réel
– Sur l’emploi de ce modèle pour bâtir une conception indépendante de
tout langage organisé autour de ces objets (C++, Eiffel, Java,
• Adéquation avec un cycle itératif de développement SmallTalk,…)
• Possibilité de réutiliser / porter des éléments d’un autre • Conception plus propre
développement
• Système plus facile à maintenir
• Simplicité du modèle – 5 concepts :
– Objets, messages, classes, héritage et polymorphisme
Franck Ledoux DESS Bio -Informatique 2003 -2004 53 Franck Ledoux DESS Bio -Informatique 2003 -2004 54
9
Concepts objets Objet
Franck Ledoux DESS Bio -Informatique 2003 -2004 55 Franck Ledoux DESS Bio -Informatique 2003 -2004 56
• Unité atomique formée de l’union d’un état, d’un • Chaque objet contient un état interne qui lui est
comportement et d’une identité
propre et un comportement accessible aux autres
– État : décrit les propriétés de l’objet à un moment donné
objets
– Comportement : définit les propriétés dynamiques de l’objet
• Comment il agit et réagit aux informations qui lui parviennent de son Comportement visible
environnement
Un objet
– Identité : caractérise de manière univoque l’existence propre de
l’objet (clé en BD)
État interne caché
• L’objet fournit une relation d’encapsulation qui assure à la
fois une cohésion interne très forte et un faible couplage
avec l’extérieur
Franck Ledoux DESS Bio -Informatique 2003 -2004 57 Franck Ledoux DESS Bio -Informatique 2003 -2004 58
Nom = Paul
Nom = Paul
Age = 28
Age = 23
Métier = ingénieur
Métier = étudiant
Franck Ledoux DESS Bio -Informatique 2003 -2004 59 Franck Ledoux DESS Bio -Informatique 2003 -2004 60
10
Objet : comportement Objet : comportement
• Le comportement regroupe toutes les compétences d’un
objet et décrit ses actions et réactions via la notion de
méthodes • Types de méthodes
– constructeur : crée et initialise l’objet
• Comportement = ensemble de méthodes CréerPersonne
– Méthode = opération atomique qu’un objet réalise soit de son propre – modificateur : modifie l’état de l’objet
chef, soit en réaction à une stimulation de l’environnement (envoi de ChangerAge
message d’un autre objet) – observateur : donne une information sur l’état
– L’action réalisée dépend de l’état de l’objet DonnerAge
– destructeur : détruit l’objet
Une personne OterPersonne
Nom = Paul • Cycle de vie d’un objet
Age = 28
Tout objet est créé, évolue et est détruit…
Métier = ingénieur
ChangerAge
ChangerMétier
Franck Ledoux DESS Bio -Informatique 2003 -2004 61 Franck Ledoux DESS Bio -Informatique 2003 -2004 62
Franck Ledoux DESS Bio -Informatique 2003 -2004 63 Franck Ledoux DESS Bio -Informatique 2003 -2004 64
11
Relations entre objets : exemple BD
Relations entre objets : synchronisation
ChangerAge
2 - VérifSupZéro (-36) ChangerMétier
Franck Ledoux DESS Bio -Informatique 2003 -2004 67 Franck Ledoux DESS Bio -Informatique 2003 -2004 68
Franck Ledoux DESS Bio -Informatique 2003 -2004 69 Franck Ledoux DESS Bio -Informatique 2003 -2004 70
12
Classe : exemple Hiérarchie de classes : héritage
Une personne
• Héritage
Nom = Sophie
Age = 22 – Mécanisme de transmission des propriétés (attributs,
Métier = Prof comportements) d’une classe vers ses sous-classes / classes filles
Une personne
changerAge – Chaque sous-classe hérite les propriétés (attributs, comportements)
Nom = Paul
Age = 28 de sa super -classe
Métier = ingénieur
– Ce qui est générique est défini au niveau de la super- classe /
instance de changerAge classe mère
– Ce qui est spécifique est défini au niveau de la sous-classe
Franck Ledoux DESS Bio -Informatique 2003 -2004 73 Franck Ledoux DESS Bio -Informatique 2003 -2004 74
Franck Ledoux DESS Bio -Informatique 2003 -2004 75 Franck Ledoux DESS Bio -Informatique 2003 -2004 76
Vivant hérite de
• L’héritage est transitifau travers des niveaux de
hérite de âge spécialisation
spécialisation
généralisation
Humain
• Toute opération sur toute classe ancêtre est applicable à
Faune Fleur toute instance d’une sous-classe
nom
métier espèce espèce
• Chaque sous-classe n’hérite pas seulement toutes les
propriétés de ses ancêtres mais possède aussi ses propres
attributs et opérations spécifiques
Franck Ledoux DESS Bio -Informatique 2003 -2004 77 Franck Ledoux DESS Bio -Informatique 2003 -2004 78
13
Hiérarchie de classes : propriétés Classe abstraite
• Utilité
– Représentation de concepts fondamentaux pour l’application
Franck Ledoux DESS Bio -Informatique 2003 -2004 79 Franck Ledoux DESS Bio -Informatique 2003 -2004 80
Animal Objet
Création de Animal
la classe aliment
aliment
Objet
Humain Humain
Faune Fleur
nom Faune Fleur
espèce espèce nom
métier métier espèce espèce
Franck Ledoux DESS Bio -Informatique 2003 -2004 81 Franck Ledoux DESS Bio -Informatique 2003 -2004 82
IATOS Enseignant
Boulanger-
Humain patissier
Faune Fleur Objet
nom Doctorant
espèce espèce
métier
• Les héritages multiples permettent souvent d’avoir
différents points de vue sur les classes
Franck Ledoux DESS Bio -Informatique 2003 -2004 83 Franck Ledoux DESS Bio -Informatique 2003 -2004 84
14
Héritage multiple Polymorphisme
• Conflits entre propriétés héritées
– Héritage d’un même nom d’attribut (ou de méthodes) par 2 sur - • Surcharge
classes – Définition : redéfinition d’une méthode héritée pour pouvoir lui donner
• Exemple : filières d’inscription et d’enseignement une implantation différente
• Solution : interdiction de conflits de noms d’attributs, priorités entre – Utilité : la méthode garde la même sémantique – spécialisation tout
classes en gardant le même comportement vis à vis de l’extérieur : métho de
– Si plusieurs « chemin» d’héritage existe entre Cl-b et Cl-a, Cl-b polymorphe
hérite plusieurs fois des caractéristiques de CL-a
• Exemple : Doctorant hérite 2 fois de Personne • Polymorphisme : liaison dynamique
• Solution : supprimer des liens d’héritage, ou résoudre les problèmes de – Elle se produit lors de l’envoi d’un message à un objet : l’objet réagit
conflit de nom s’ils ont lieu en recherchant la méthode à partir de sa classe puis en remontan t
Personne dans la hiérarchie de ses super -classes
– Conséquences : déclenchement de traitements différents suivant l e
Personnel Étudiant contexte (i.e. classe réceptrice)
IATOS Enseignant
Doctorant Franck Ledoux DESS Bio -Informatique 2003 -2004 85 Franck Ledoux DESS Bio -Informatique 2003 -2004 86
Calc_retour
u Retour = Date + 15
• Avantages
– Conception :un seul nom de méthode pour des
traitements équivalents mais spécifiques
Enseignant Étudiant – Adaptabilité :nouveau besoin = nouvelle sous-classe
… … avec surcharge pour adaptation à ce besoin spécifique
Calc_retour Calc_retour
v Retour = Date + 60 w =u
surcharge héritage
Franck Ledoux DESS Bio -Informatique 2003 -2004 87 Franck Ledoux DESS Bio -Informatique 2003 -2004 88
• Structuration
– Découpage des programmes en entités informatiques dont
l’existence est directement liée aux entités « réelles »
– Arbre de classification par héritage
• Modularité
Introduction à UML
– Regroupement au sein de la même entité des attributs et méthodes
qui sont logiquement liés, ce qui facilite la compréhension Unified Modeling Language
• Réutilisabilité
– Définition d’une nouvelle classe par agrégation d’autres classes
– Définition d’une nouvelle classe par héritage d’autres classes
• Évolutivité
– Indépendance des clients vis-à- vis de l’implantation grâce à
l’encapsulation
– Grâce au polymorphisme de méthodes et à la liaison dynamique,
préservation du code factorisé pour de nouvelles classes d’objets
Franck Ledoux DESS Bio -Informatique 2003 -2004 89 Franck Ledoux DESS Bio -Informatique 2003 -2004 90
15
UML : Unified Method Language UML : Unified Modeling Language
Franck Ledoux DESS Bio -Informatique 2003 -2004 91 Franck Ledoux DESS Bio -Informatique 2003 -2004 92
UML 2.0
• UML est le résultat de l’unification de diverses méthodes
orientées objets : Guide de l’utilisateur
1999 : standartisation par l’OMG UML 1.3 Manuel de référence
– J. Rumbaugh (OMT) – utile à l’analyse et aux systèmes contenant (Object Management Group) Guide du processus
une grande quantité de données
Spécifications
– G. Booch (OOD) – particulièrement expressive pour les phases de 1997 : soumission à l’OMG UML 1.0 disponibles sur le web
conception et de construction d’un projet
Spécifications
OOPSLA’96 UML 0.9
– I. Jacobson (OOSE) – excellent outil pour la représentation des cas disponibles sur le web
d’utilisation en matière de définition des besoins, d’analyse et de
conception générale Méthode Unfiée 0.8
OOPSLA’95
– … Partenaires
Booch’93 OMT-2 industriels
16
Terminologie UML Terminologie UML
– Comportementaux – parties dynamique (interactions,
– De regroupement – parties organisationnelles, ce sont
automates à états finis)
les boîtes qui compose le modèle (paquetages,
interaction frameworks, sous-systèmes)
demande_age()
controleur : Personne passager : Personne
paquetage Règles
métier
Travaille pour
Personne Entreprise
Chien
Franck Ledoux DESS Bio -Informatique 2003 -2004 99 Franck Ledoux DESS Bio -Informatique 2003 -2004 100
ajouterRègle ()
modifierRègle()
Rectangle Cercle expliquerRègle()
Coin : Point Rayon : float
Carré Franck Ledoux DESS Bio -Informatique 2003 -2004 101 Franck Ledoux DESS Bio -Informatique 2003 -2004 102
17
Terminologie UML 3 vues de modélisation
Fonctionnelle
• Les diagrammes (représentation graphique d’un Modèle
ensemble d’éléments qui constituent un système) fonctionnel
Décrire les service rendus
– Servent à visualiser un système sous différentes par le système
perspectives
Statique Dynamique
Modèle
statique
Franck Ledoux DESS Bio -Informatique 2003 -2004 103 Franck Ledoux DESS Bio -Informatique 2003 -2004 104
Franck Ledoux DESS Bio -Informatique 2003 -2004 105 Franck Ledoux DESS Bio -Informatique 2003 -2004 106
Franck Ledoux DESS Bio -Informatique 2003 -2004 107 Franck Ledoux DESS Bio -Informatique 2003 -2004 108
18
vue statique ou structurelle (1/4) Vue statique ou structurelle (2/4)
*
1..* 1..* – présente la vue de conception ou la vue de processus
Livre statique d’un système comme les diagrammes de classe,
Collection Auteur
Franck Ledoux DESS Bio -Informatique 2003 -2004 109 Franck Ledoux DESS Bio -Informatique 2003 -2004 110
Franck Ledoux DESS Bio -Informatique 2003 -2004 111 Franck Ledoux DESS Bio -Informatique 2003 -2004 112
Franck Ledoux DESS Bio -Informatique 2003 -2004 113 Franck Ledoux DESS Bio -Informatique 2003 -2004 114
19
Vue statique ou structurelle (4/4) Vue dynamique ou comportementale (1/4)
« processor » « processor » – automates à états finis composés d’états, de transitions entre états,
serveur cache 1 serveur cache 2
d’évènements et d’activités
« network » réseau local – met l’accent sur le comportement d’un objet ordonnancé par les
évènements
Franck Ledoux DESS Bio -Informatique 2003 -2004 115 Franck Ledoux DESS Bio -Informatique 2003 -2004 116
arrêt urgence
after(5 min)
after(2 min)
séchage
arrêt urgence Franck Ledoux DESS Bio -Informatique 2003 -2004 117 Franck Ledoux DESS Bio -Informatique 2003 -2004 118
20
Vue dynamique ou comportementale (3/4) Vue dynamique ou comportementale (4/4)
• Diagramme de séquence
• Diagramme de collaboration
c:client p:ODBCproxy – diagramme d’interaction
{transient }
create – représente les échanges de messages entre objets, dans le cadre
:transaction
d’un fonctionnement particulier du système
setActions(a,d,o)
– met l’accent sur l’organisation structurelle des objets qui envoient
setValues(d,3.4)
et reçoivent des messages
Franck Ledoux DESS Bio -Informatique 2003 -2004 121 Franck Ledoux DESS Bio -Informatique 2003 -2004 122
• Diagramme de collaboration
c:client
1: « create »
2: setActions(a,d,o)
3: « destroy »
{local}
{global}
:transaction p:ODBCproxy
{transient } 2.1: setValues(d,3.4)
2.2: setValues(a,’’CO’’)
Franck Ledoux DESS Bio -Informatique 2003 -2004 123 Franck Ledoux DESS Bio -Informatique 2003 -2004 124
Introduction
• Processus
– Ensemble de directives ayant pour objectif la réalisation ou l’évolution
d’un logiciel
Présentation du UP – Chaque directive définit « qui » fait « quoi » et « à quel moment »
• Unifié
Unified Process – Issu de différentes approches de processus
• Objectory (Jacobson) : les cas d’utilisation
• Approche Rational :
– Approche par composants
– Approche itérative
• Issu de la notation UML
Franck Ledoux DESS Bio -Informatique 2003 -2004 125 Franck Ledoux DESS Bio -Informatique 2003 -2004 126
21
Introduction Caractéristiques essentielles
Franck Ledoux DESS Bio -Informatique 2003 -2004 127 Franck Ledoux DESS Bio -Informatique 2003 -2004 128
• Première cause de risque à éliminer : incapacité de • Objectif principal d’un système : rendre service à ses
l’architecture à répondre aux contraintes opérationnelles utilisateurs
• Les risques majeurs du projet doivent être identifiés au plus ! comprendre leurs désirs et besoins
tôt
• Utilisateur = humain ou autre système logiciel
• Et levés le plus rapidement possible • Les cas d’utilisation expriment les exigences fonctionnelles
des utilisateurs
• Les cas d’utilisation sont utilisés tout au long du processus :
– pour la spécification des besoins du système
– pour guider le processus à travers l’utilisation des diagrammes UML
Franck Ledoux DESS Bio -Informatique 2003 -2004 129 Franck Ledoux DESS Bio -Informatique 2003 -2004 130
22
Centré sur l’architecture Modèle des 4+1
• La conception de l’architecture est
– Itérative • Ces cinq vues sont indépendantes les unes des autres, ce qui permet
– Cadrée par les cas d’utilisation principaux. Elle doit donc prévoir la réalisation aux différents intervenants de se concentrer sur les probl èmes de
de tous les cas d’utilisation l'architecture du syst ème qui les concernent le plus.
• Décrite comme les différentes vues du système à construire (modèle des • Elles interagissent également entre elles— les nœuds de la vue de
4+1)
déploiement comprennent des composants de la vue d'impl émentation,
qui, à leur tour, correspondent à la r éalisation physique de classes,
d'interfaces, de collaborations et de classes actives dans les vues de
conception et de processus.
• UML permet de repr ésenter chacune de ces cinq vues ainsi que leurs
interactions.
Franck Ledoux DESS Bio -Informatique 2003 -2004 133 Franck Ledoux DESS Bio -Informatique 2003 -2004 134
Franck Ledoux DESS Bio -Informatique 2003 -2004 135 Franck Ledoux DESS Bio -Informatique 2003 -2004 136
Franck Ledoux DESS Bio -Informatique 2003 -2004 137 Franck Ledoux DESS Bio -Informatique 2003 -2004 138
23
Inception ou création Élaboration
Franck Ledoux DESS Bio -Informatique 2003 -2004 139 Franck Ledoux DESS Bio -Informatique 2003 -2004 140
Construction Transition
• Phase la plus consommatrice en ressources et en efforts
• Objectifs :
• Objectifs : – Livrer une version finale du logiciel aux utilisateurs finaux
– Concevoir et implanter l’ensemble des éléments opérationnels (autres que
ceux de l’architecture de base)
(conversion de données, déploiement,…)
– Obtenir un logiciel de qualité satisfaisante aussi rapidement que possible – Rendre les utilisateurs opérationnels et autonomes
– Mettre au point les versions alpha, bêta et autres versions de test (formation,…)
• Jalons :
– La version bêta du logiciel livrée chez les utilisateurs est-elle au point et • Jalons :
répond-elle au aux exigences ?
– Les parties concernées sont-elles prêtes pour la mise en place du logiciel – Les utilisateurs sont-ils satisfaits ?
chez les utilisateurs ? – Les dépenses réelles sont-elles acceptables par rapport à
– Les dépenses réelles sont-elles acceptables celles prévues ?
Franck Ledoux DESS Bio -Informatique 2003 -2004 141 Franck Ledoux DESS Bio -Informatique 2003 -2004 142
• Conduit par les cas d’utilisation, comme UP, mais beaucoup plus
simple
• Simplification du PU
• Relativement léger et restreint, comme XP, mais sans négliger les
– Retrait des itérations
activités de modélisation en analyse et conception
– Utilisation d’une partie des diagrammes UML
• Fondé sur un sous-ensemble nécessaire et suffisant du langage UML :
• Mis en œuvre par P. Roques dans « UML,
– Diagramme de cas d’utilisation
modéliser un site e-commerce » – Diagrammes d’interaction (séquence et collaboration
– Diagramme de classe
• Approche suivie dans ce cours
– Diagramme d’activité
– Diagramme d’états-transitions
Franck Ledoux DESS Bio -Informatique 2003 -2004 143 Franck Ledoux DESS Bio -Informatique 2003 -2004 144
24
Diagramme de cas d’utilisation
• Inventé par Ivar Jacobson (use cases)
• Description du point de vue de l’extérieur du
comportement du système en utilisant des
Diagramme de actions/réactions
boîte noire
cas d’utilisation • Décrit ce que fait le système et non comment il le fait
• Définitions des limites et des objectifs du système
• Description des relations entre le système et son
environnement
• Utilisation essentielle pour spécifier les besoins
Franck Ledoux DESS Bio -Informatique 2003 -2004 145 Franck Ledoux DESS Bio -Informatique 2003 -2004 146
Étudiant
Rôle de l’acteur
Franck Ledoux DESS Bio -Informatique 2003 -2004 147 Franck Ledoux DESS Bio -Informatique 2003 -2004 148
Franck Ledoux DESS Bio -Informatique 2003 -2004 149 Franck Ledoux DESS Bio -Informatique 2003 -2004 150
25
Définition des acteurs Cas d’utilisation
Guichetier
Franck Ledoux DESS Bio -Informatique 2003 -2004 151 Franck Ledoux DESS Bio -Informatique 2003 -2004 152
Franck Ledoux DESS Bio -Informatique 2003 -2004 153 Franck Ledoux DESS Bio -Informatique 2003 -2004 154
CU1 Gérer
CUn les prêts
Retirer de l’argent
au distributeur directeur
CU2
Acteur système
Franck Ledoux DESS Bio -Informatique 2003 -2004 155 Franck Ledoux DESS Bio -Informatique 2003 -2004 156
26
Exemple de diagramme Cas d’utilisation : relations
• Pas de communications entre les CU d’un système, mais simplement des
Entrer relations de communication ou d’utilisation (uses ou include) ou
Débloquer d’extension (extends)
les portes Capteur
Porteur • Les communications entre les acteurs ne sont pas représentées.
de badge incendie
Sortir
CU1 Relations
Gérer
les badges entre CU
CUn
Franck Ledoux DESS Bio -Informatique 2003 -2004 157 Franck Ledoux DESS Bio -Informatique 2003 -2004 158
Surveillance « uses »
du stock Déposer de l’argent
Gestionnaire
Franck Ledoux DESS Bio -Informatique 2003 -2004 159 Franck Ledoux DESS Bio -Informatique 2003 -2004 160
• Représenté par une flèche en pointillé surmonté du • Mécanismes UML généraux applicables aussi bien aux
stéréotype « extends » acteurs, qu’aux cas d’utilisation, qu’aux classes, qu’aux
• Signifie qu’une instance du CU source étend le paquetages, qu’aux relations…
comportement du CU destination
Valider
« humain » utilisateur
Retirer de l’argent « extends » client
avec débit différé
Retirer de l’argent
27
Cas d’utilisation et scénario Cas d’utilisation vs scénario
Franck Ledoux DESS Bio -Informatique 2003 -2004 163 Franck Ledoux DESS Bio -Informatique 2003 -2004 164
• Spécification exhaustive de tous les scénarii Un scénario peut être représenté par un diagramme de
difficile, voire impossible séquence qui décrit un échange particulier entre un ou
plusieurs acteurs et le système
• Sélection des scénarii les plus intéressants
– Scénario optimal : décrit l’interaction la plus fréquente • Nature des infos échangées entre les instances
d’acteurs ou d’objets du système
– Scénarii dérivés : décrit certaines alternatives
importantes non décrites dans le scénario optimal • Aspect temporel : flot ordonné d’événements
Franck Ledoux DESS Bio -Informatique 2003 -2004 165 Franck Ledoux DESS Bio -Informatique 2003 -2004 166
:DAB
• Les cas d’utilisation ne sont qu’une vue externe en
:Client non un contrôleur procédural
CB
Code ? • Le logiciel est souvent structuré d’une manière
Code totalement différente des cas d’utilisation
Menu action ?
• Les cas d’utilisations ne sont qu’une certaine vision
Action_retrait
du logiciel !
Somme
Compte
Solvable ? • Ils servent à spécifier les besoins
CB et argent
Franck Ledoux DESS Bio -Informatique 2003 -2004 167 Franck Ledoux DESS Bio -Informatique 2003 -2004 168
28
Construction d’un diagramme de CU Recensement des C.U.
• Ne pas etretrop « atomique »
• Recenser les acteurs et les cas d'utilisation
• Un C.U. = un ensemble de séquences d'utilisation connexes
• Structurer en paquetage
• Étudier les relations entre cas d'utilisation
• Classement des cas d'utilisation par niveau de priorité
• Décrire ensuite un CU en écrivant des scénarii sous forme
textuelle ou avec un diagramme de séquence
• Faire un sommaire des scénarii principaux et des CU
• S’assurer de la cohérence finale
Franck Ledoux DESS Bio -Informatique 2003 -2004 169 Franck Ledoux DESS Bio -Informatique 2003 -2004 170
Franck Ledoux DESS Bio -Informatique 2003 -2004 171 Franck Ledoux DESS Bio -Informatique 2003 -2004 172
Franck Ledoux DESS Bio -Informatique 2003 -2004 173 Franck Ledoux DESS Bio -Informatique 2003 -2004 174
29
Diagramme de séquence Interactions dans le système
• Notation dérivée des « Object Message Sequence Charts » • Une interaction se traduit par l’envoi d’un message entre
du Siemens Pattern Group objets
• Description des interactions entre les objets composant le • Les diagrammes de séquences comportent :
système – les objets intervenant dans l’interaction (acteurs ou objets
• Représentation se concentrant sur le point de vue temporel appartenant au système)
– la description de l’interaction (messages)
• Adapté à la modélisation des aspects dynamiques des – les interactions entre les intervenants (diagramme de séquences)
systèmes temps réel et des scénarii complexes mettant en
œuvre peu d’objets • Les diagrammes de séquence servent à communiquer
autant pour les usagers que pour les développeurs
• C’est un diagramme d’interaction au même titre que les
diagrammes de collaboration
Franck Ledoux DESS Bio -Informatique 2003 -2004 175 Franck Ledoux DESS Bio -Informatique 2003 -2004 176
Franck Ledoux DESS Bio -Informatique 2003 -2004 177 Franck Ledoux DESS Bio -Informatique 2003 -2004 178
• Les objets sont des entités appartenant au système ou • En UML, les objets sont représentés comme suit :
situés à ses limites (acteurs)
• Ils représentent soit
Nom:Classe
– des concepts abstraits ou
– des acteurs (documentation des CU) :Rôle
– Des objets d’implantation (pour les interactions « informatiques »)
• Chaque objet représenté dans un diagramme de séquence • Le nom de l’objet est composé de son rôle (rôle ou nom)
correspond à une instance de classe et/ou du nom de la classe instanciée (classe)
• On identifie les objets à partir des CU ou des diagrammes • Le nom doit être souligné pour indiquer qu’il s’agit d’une
de classe instance
Franck Ledoux DESS Bio -Informatique 2003 -2004 179 Franck Ledoux DESS Bio -Informatique 2003 -2004 180
30
Ligne de vie des objets Messages
• La ligne de vie est représentée par la ligne verticale en dessous des • Les objets communiquent en échangeant des messages représentés par
objets des flèches
• Le nom du message ou du signal est porté par sa flèche
• Elle représente la période durant laquelle l’objet existe
• L’ordonnancement horizontal des messages n’a pas de signification
• Création d’un objet : un message pointe sur le symbole de l’objet • L’écoulement du temps se fait verticalement
• Destruction d’un objet : sa ligne de vie se termine par une croix en trait
épais
créer message 2
:UnAutreObjet
message 3
détruire
Franck Ledoux DESS Bio -Informatique 2003 -2004 181 Franck Ledoux DESS Bio -Informatique 2003 -2004 182
Franck Ledoux DESS Bio -Informatique 2003 -2004 183 Franck Ledoux DESS Bio -Informatique 2003 -2004 184
• Exemples
– Afficher (x, y) : affiche les valeurs de x et y :A :B :A :B
– Soustraire (aujourd’hui, dateDeNaissance ) : calcule le nombre
p:=message message
de jours entre deux dates
p
message2(p)
message2(p)
Franck Ledoux DESS Bio -Informatique 2003 -2004 185 Franck Ledoux DESS Bio -Informatique 2003 -2004 186
31
Flot de contrôle à plat Appel de procédure
• Catégorie de messages utilisée pour indiquer la progression vers l’étape • Dans un appel de procédure (flot de contrôle emboîté), la séquence
suivante d’une séquence emboîtée doit se terminer pour que la séquence englobante reprenne le
• Tous les messages de cette catégorie sont asynchrones contrôle
• Message représenté par une flèche • Les appels de procédures sont représentés par des flèches à pointe
triangulaire
• Cas particulier : dans le cas de systèmes concurrents, une demi -flèche
indique l’envoi d’un message et un flèche un message avec attente de
prise en compte :A :B :C
message 1
B récupère message 2
le contrôle
:A :B après que C
ait fini sa tâche
A récupère
le contrôle
après que B
ait fini sa tâche
Franck Ledoux DESS Bio -Informatique 2003 -2004 187 Franck Ledoux DESS Bio -Informatique 2003 -2004 188
• Dans le cas d’un système concurrent, il est utile d’expliciter • Le cas particulier des envois de messages récursifs se
la fin de l’exécution de sous-procédures représente par un dédoublement de la bande d’activation
• On utilise une flèche pointillé (déjà utilisée dans le cadre de • L’objet apparaît alors comme s’il était actif plusieurs fois
valeurs retournées)
:UnObjet
:A :B :A :B
Récursion()
Retour Retour explicite
explicite avant suicide
Franck Ledoux DESS Bio -Informatique 2003 -2004 189 Franck Ledoux DESS Bio -Informatique 2003 -2004 190
Contraintes temporelles
• Pour modéliser les délais de transmission non négligeables, on utilise :
– une flèche oblique
– ou des notations temporelles dans la marge
• Les instants d’émission et de réception d’un message sont représentés
par le couple (symbole, symbole’)
:A :B :C
x message
{y-x<3s}
message
y
{z-y<1s}
z message
t
{t’-t<2s}
t’
32