Académique Documents
Professionnel Documents
Culture Documents
Systèmes Informatiques
Objectifs d’un processus d’ingénierie
Méthode d’analyse et de logicielle
conception • Modèles UML (rappels)
• Processus de développement « Unifié »
Unified Process Une partie du matériau de ce cours est issue du cours de Corinne CAUVET - Université d ’Aix-Marseille
3 4
Développement (rappel) Développement (rappel)
Modèle en cascade Modèle en V
Expression vérifie Validation
Analyse des besoins des besoins
Développement (rappel)
Modèle en spirale Sommaire
Analyse
Objectifs d’un processus d’ingénierie
logicielle
Conception Spécifications
Modèles UML (rappels)
• Processus de développement « Unifié »
Implémentation Validation
Tests
7 8
Diagrammes disponibles
Vocabulaire UML (rappel) (rappel) statique
** Possibilité de représenter le même
diagramme à des niveaux de détail State
State
Diagrams
différents. Diagrammes
Diagrams
Constituants de base Use Case
Use Case de Classes State
Relations Use Case Diagrams
Diagrammes
Diagrams State
Annot. Use Case Diagrams
Diagrammes
Dépendances Diagrams
Diagrammes cas d’utilisation Diagrams
note Associations
Diagrams Objets
Diagrammes
de Séquences
Struct. Group. Généralisation
Cas d ’utilisation Package D. Cas d ’utilisation
Classe Modèle Scenario State
Comp. Sous-système D. de classe Scenario State
Classe Active D. d ’objet
Diagrams
Diagrammes Diagrams
Diagrammes
Interaction Framework
Diagrams Modèles Diagrams
Interface D. de séquence
de collaboration de Composants
Composant Machine d ’état
Collaboration D. de collaboration
Noeud D. d ’état/transition Component
Scenario
D. d ’activité Scenario Component
Diagrams
+ des mécanismes d ’extensions D. de composant
Diagrams
Diagrammes
Diagrams
Etat-transiition
Diagrammes
Diagrams
de déploiement
D. de déploiement Diagrammes
dynamique d’activité
9 10
11 12
Diagramme de séquences Diagramme de séquences
objectifs notation
Cas d’utilisation • Validation des cas d ’utilisation, pour Cas d’utilisation Acteur Objet ou classe
15 16
Diagramme de classes Diagramme de classes
objectifs notation
Cas d’utilisation • Point central de la modélisation du Cas d’utilisation <<Un stéréotype>>
Objets Objets
#Une opération protégée()
1-Une classe-association
• Représentation de la structure
États/transitions États/transitions
-Un attribut porté par l'association
21 22
Collaboration Collaboration
• Composant : un fichier de
Classes Classes
programme source, une
Objets Objets Une dépendance fait référence aux services
offerts par un composant. La flèche va de
bibliothèque, un programme
États/transitions États/transitions l'utilisateur vers le fournisseur.
exécutable, réutilisable
Activités Activités Un autre
25 26
27 28
Liens entre les diagrammes
Sommaire
Diagramme Diagramme Diagramme Objectifs d’un processus d’ingénierie logicielle
Composants Cas Utilisation Classes
Modèles UML (rappels)
Processus de développement « Unifié »
Diagramme
Cas d’Utilisation Principes
Déploiement
Recueil des besoins, Analyse, Conception
Utilisation des diagrammes
Diagramme Diagramme
Séquences Processus piloté par les cas d’utilisation
Etats
Processus centré sur l’architecture
Diagramme
Collaboration Processus guidé par les Patterns
• Accent mis sur les phases plus que sur les activités * Facteurs organisationnels
d’analyse, conception, … * Facteurs de domaine
* Facteurs techniques
31 32
Processus Unifié Principes (3) Processus Unifié Principes (4)
Piloté par les cas d’utilisation Centré sur l’architecture
• Le processus de développement est centré sur • L’architecture regroupe les différentes vues du
l’utilisateur. système qui doit être construit.
• Elle doit prévoir la réalisation de tous les cas
d’utilisation.
• Marche à suivre:
• Créer une ébauche grossière de l’architecture.
• Travailler sur les cas d’utilisation représentant les fonctions
essentielles.
• Adapter l’architecture pour qu’elle prenne en compte ces cas
d’utilisation.
• Sélectionner d’autres cas d’utilisation et refaire de même.
A partir des cas d’utilisation , les
développeurs créent une série de
• L’architecture et les cas d’utilisation évoluent de
modèles UML. façon concommitante.
33 34
35 36
Processus Unifié Principes (5) Phases
Itératif et incrémental Pré-étude Elaboration Construction Transition
temps
Phases Phases
Pré-étude Elaboration Construction Transition Pré-étude Elaboration Construction Transition
temps temps
Activités (1)
Production de maquettes IHM Activités (2)
• La production de maquettes peut être réalisée avec • Analyse et conception :
n’importe quel outil graphique : • Transformation des besoins utilisateurs en modèles UML
• ce sont de simples dessins d ’écrans et descriptions de contenu de • Modèle d ’analyse et modèle de conception
fenêtres ; • Implémentation :
• prototype d ’interface généré par un outil • Développement itératif
• Intéressant pour décrire les interfaces avec des acteurs non • Découpage en couches
humains et notamment les notions de protocoles de communication. • Composants d ’architecture
• Pourquoi si tôt dans le processus ? • Retouche des modèles et des besoins
• Unités indépendantes, équipes différentes
• Aide à la description et validation des Cas d’Utilisation
• moyen de communication avec le client • Test, Déploiement, Configuration et gestion des
• permet l ’identification de classes changements, Gestion de projet, Environnement,
• montre au client la progression du travail Déploiement
43 44
Itérations (2) Une itération
Itérations (1) dans la phase
d'élaboration
Enchaînement des Phases
Pré-étude Elaboration Construction Transition Activités d’Ingénierie Pré-étude Elaboration Construction Transition
Modélisation Métier
Prelim ... Arch ... Cons Cons ... Trans ... Recueil des besoins
Iteration Iteration Iteration Iteration Iteration Analyse & Conception
Implémentation
Test
Release Release Release Release Release Release Release Release Déploiement
Configuration Mgmt
Une itération est une séquence d’activités selon un plan pré-établi et
Management
des critères d’évaluation, résultant en un produit exécutable. Environment
Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Enchaînement des Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1
Modèles
Sommaire
Recueil Modèles des
Objectifs d’un processus d’ingénierie logicielle Besoins Use Case
Modèles UML (rappels)
Modèles
Processus de développement « Unifié » Analyse d’Analyse
Principes
Recueil des besoins, Analyse, Conception Modèles de Modèles de
Conception
Utilisation des diagrammes Conception Déploiement
Processus piloté par les cas d’utilisation
Processus centré sur l’architecture Implémentation Modèles
Processus guidé par les Patterns D’implémentation
Test Modèles
47
de test 48
Recueil des besoins Recueil des besoins
Rôle
Recueil des besoins • Identifier les différents intervenants : client(s), utilisateurs,
• L ’une des étapes les plus importantes maître d’œuvre, développeurs, ...
• Identifier le rôle de chacun, éventuellement leur associer des
• déterminante pour la suite priorités
• sert à la définition des aspects contractuels • Identifie les services que le système devrait fournir et définit
• L ’une des étapes les plus difficiles les contraintes sur le système.
• intervenants multiples : client, utilisateurs, • Réunit toute l'information du domaine disponible pour les
membres du projet.
développeurs…
• Établit une base contractuelle sur laquelle le client et
• le problème n’est pas encore formalisé l'organisation du projet s'appuient lors des négociations.
• Règle d’or à respecter : Les informaticiens sont • Permet l'estimation des coûts et des échéanciers
aux services du client, pas l’inverse • Procure les critères de validation et vérification
• Facilite le transfert des connaissances et la gestion des
Section issue du cours de J.M. Favre IMAG 02
configurations
49 50
• Sert de base aux améliorations futures.
Modèle d ’analyse
* *
Packages d ’analyse
65 66
Classes d’analyse :
Analyse
Classes d’analyse : Analyse
• Les objets de contrôle ont une durée de vie • Rôle de la classe par rapport au problème
égale à celle du UC • Détails de la vie des objets
• Responsabilités des classes décrites plus tard, une fois la
• Les UC simples n’ont pas besoins de classe
réalisation des UC terminée
contrôle
• on place le comportement dans les classes entité et
frontière • Chaque attribut est documenté
69 70
Analyse Analyse
Réalisation des cas Réalisation des cas
d’utilisation (1) d’utilisation (2)
71 72
Analyse Analyse
Réalisation des cas Réalisation des cas
d’utilisation (3) d’utilisation (4)
73 74
Analyse Analyse
• En analyse, on utilise les stéréotypes des • Les classes et leurs instances apparaissent
souvent dans plusieurs réalisations de UC
classes d ’analyse (entité, frontière et contrôle)
• Elles ont alors des responsabilités, attributs et
associations propres à chaque UC
75 76
Analyse Analyse
Identification des
responsabilités Identification des propriétés
• Pour chaque classe, trouver les • Ajouter les attributs et leurs types aux
réalisations de UC où elles apparaît classes
• lister les responsabilités (permet de choisir les • souvent trouvés lors de l’identification des
méthodes et signatures)
classes
• chaque flèche qui arrive à un objet de la classe
invoque une partie des responsabilités de cette • lister et décrire chaque attributs à partir de
classe chaque réalisation de UC
• cf diagrammes d’interactions (collaborations et
séquences)
77 78
Analyse Analyse
79 80
Analyse Analyse
• Toutes les liaisons du diagramme ne sont • Une association est une référence entre deux
pas des associations classes, utiliser :
• les descriptions de UC et les descriptions de scénarios
• certaines peuvent être temporaires
• les diagrammes d ’interaction
• Créer un diagramme de classe contenant • la modélisation métier
les classes, les associations et les • Les associations doivent être documentées dans
attributs pertinents pour chaque les descriptions des réalisations des UC
réalisation de use-case
81 82
Analyse Conception
83 84
Conception
Modèle d’analyse vs
Modèle de conception Sommaire
Modèle d ’analyse Modèle de conception Objectifs d’un processus d’ingénierie logicielle
Modèles UML (rappels)
• Modèle conceptuel • Modèle physique Processus de développement « Unifié »
• Autorise plusieurs • Spécifique à une
Principes
conceptions implantation
• Peu de stéréotypes de • Stéréotypes dépendant de Recueil des besoins, Analyse, Conception
classes l’environnement cible Utilisation des diagrammes
• Peu de couches d’implantation Processus piloté par les cas d’utilisation
• Plusieurs couches Processus centré sur l’architecture
Processus guidé par les Patterns
85 86
Iterations
93 94
Processus piloté par les cas Processus piloté par les cas
d’utilisation (2) d’utilisation (3)
Phases Phases
Workflows Ingénierie Pré-étude Elaboration Construction Transition Workflows Ingénierie Pré-étude Elaboration Construction Transition
Iterations Iterations
95 96
Processus piloté par les cas Processus piloté par les cas
d’utilisation (4) d ’utilisation (5)
Phases
Workflows Ingénierie Pré-étude Elaboration Construction Transition
Modèle
Modélisation Métier des cas
Recueil des besoins d’utilisation
spécialisé par
Analyse & Conception
Modèle réalisé par
Implémentation • sauf changement, d’Analyse
Test aucun UC ne doit Modèle de
distribué par
Déploiement
rester à découvrir Conception réalisé par
Workflows Support
Modèle de vérifié par
Configuration Mgmt
Déploiement
Management
Modèle
Environment d ’implantation
Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 Modèle de
Iterations • Les cas d ’utilisation sont le fil Test
97
conducteur de toutes les activités 98
Processus piloté par les cas Processus dirigé par les cas
d ’utilisation (6) d ’utilisation (7) : org. travail
Architectes
Experts du domaine Concepteurs Intégrateurs et
Programmeurs testeurs
99 100
Processus dirigé par les cas
d ’utilisation (8) : conclusion Sommaire
• Les cas d'utilisation recentrent l'expression des besoins Objectifs d’un processus d’ingénierie logicielle
sur les utilisateurs Modèles UML (rappels)
• Outil d ’aide à l ’identification et à la structuration des Processus de développement « Unifié »
besoins. On structure la démarche par rapport aux
interactions d'une seule catégorie d'utilisateurs à la fois. Principes
• Outil d ’aide à l ’analyse et à la conception objet. On Recueil des besoins, Analyse, Conception
s ’intéresse à un ensemble de classes qui collaborent dans Utilisation des diagrammes
un certain contexte (celui du cas d ’utilisation) Processus piloté par les cas d’utilisation
• Description de la structure de la collaboration Processus centré sur l’architecture
• Description du comportement de la collaboration Processus guidé par les Patterns
• Outil de communication
101 102
• compréhensible intuitivement.
Couche service
103 104
Processus centré sur (2) Processus centré sur (3)
l ’architecture : moyens UML l ’architecture : moyens UML
• Des diagrammes spécifiques • R1 : les packages stéréotypés ou non peuvent se décomposer en
packages et/ou classes,
• Diagramme de déploiement • R2 : un package contient une classe d ’interface modélisant les services
• nœuds physiques et connexions offerts,
• Diagramme de composants • R3 : une classe d ’interface représente l ’ensemble des méthodes et
• composants logiciels et dépendances d ’attributs publics fournis par les classes du package,
• fichier,table de base de données, exécutable, librairie de fonctions, • R4 : les packages actifs contiennent au moins une classe active,
document • R5 : une classe active a un comportement propre, elle est décrite par
• Respect de règles d ’architecture et structuration un diagramme d ’états/transitions, et elle fournit des méthodes
contraintes,
des modèles à tous les niveaux du processus. • R6 : une méthode est contrainte par un protocole (synchrone,
asynchrone, …) ou un état interne (géré par une machine à états).
105 106
107 108
Processus centré sur (4) Processus centré sur (5)
l ’architecture : vue réalisation l ’architecture : vue processus
• Identification des modules qui réalisent les classes • Importante dans les environnements multi-tâches,
de la vue logique, • Décomposition en flots d ’exécution et
• Organisation des modules dans l ’environnement synchronisation entre ces flots,
de développement
• Eléments manipulés :
• Eléments manipulés :
• tâches
• modules,
• sous-programmes, • threads,
• tâches (en tant qu ’unités de programme) • processus,
• paquetage « sous-systèmes » • interactions.
109 110
111 112
Processus centré sur
l ’architecture (10) Sommaire
Classes, Objets, Composants
Collaboration, Séquences Objectifs d’un processus d’ingénierie logicielle
Vision Logique Vision Implémentation Modèles UML (rappels)
Processus de développement « Unifié »
Utilisateus finaux Cas d ’utilisation Programmeurs
Fonctionalités Gestion du logiciel Principes
Vision Recueil des besoins, Analyse, Conception
Etats-Transitions cas d’utilisation Déploiement
Activité Utilisation des diagrammes
Vision Processus Vision Déploiement Processus piloté par les cas d’utilisation
Intégrateurs système Ingénieur système
Performance Topologie du système Processus centré sur l’architecture
Changement d’échelles
Throughput
Installation
Communication
Processus guidé par les Patterns
Conceptuel Physique
115 116