Académique Documents
Professionnel Documents
Culture Documents
conception objet
Brahmi oumaima
Année scolaire 2023/2024
1
plan
Processus Unifié – Principes
Les phases
Les activities
Les rôles
2
Qu’est-ce que le Processus Unifié ? (1/2)
Un processus de développement logiciel définit qui fait quoi, quand et comment pour atteindre un objectif
donné
Le Processus Unifié ou UP (Unified Process) est une méthode générique de développement de logiciel
Générique signifie qu'il est nécessaire d'adapter UP au contexte du projet, de l'équipe, du domaine et/ou de
l'organisation.
Il existe donc un certain nombre de méthodes issues de UP comme par exemple RUP (Rational Unified
3
Qu’est-ce que le Processus Unifié ? (2/2)
Un processus de développement logiciel, c’est-à-dire qu’il regroupe les activités à mener pour transformer
les besoins d’un utilisateur en système logiciel (Jacobson, Booch, Rumbaugh 1999). UP est itératif, centré
sur l'architecture, Piloté par des cas d'utilisation et orienté vers la diminution des risques.
Une méthode de développement pour les logiciels orientés objets vient pour compléter la systémique des
modèles UML.
C'est un patron de processus pouvant être adaptée à une large classe de systèmes logiciels, à différents
domaines d'application, à différents types d'entreprises, à différents niveaux de compétences et à différentes
tailles de l'entreprise.
4
Objectifs de UP
• fournir des lignes directrices pour un développement efficace d’un logiciel de qualité, en réduisant
les risques et en améliorant les prévisions
• Décrire les meilleures méthodes de travail pour apprendre des expériences précédente et
l’amélioration du support de formation
5
Les dérivés de U.P
RUP : Rational Unified Process : Instanciation par Rational Software (IBM) des préceptes UP
EUP : Enterprise Unified Process : Instanciation intégrant les phases de postimplantation et décrivant le
XUP : Extreme Unified Process : Instanciation hybride intégrant UP avec Extreme Programming.
AUP : Agile Unified Process: partie des préceptes UP permettant l’agilité du développement, instanciation
partielle de la méthode mettant l’accent sur l’optimisation et l’efficience sur le terrain plus que sur le modèle
théorique.
2TUP : Two Tracks Unified Process : Instanciation de UP proposé par Valtech prenant en compte les aléas
EssUP : Essential unified process : (Ivar Jacobson) propose une mouture de UP integrant certains
6
concepts de la méthodes Agile et de ProcessImprovement (intégration prévue aux outils de travail
7
Cycle de vie de Processus Unifié 1/3
L'objectif d'un processus unifié est de maîtriser la complexité des projets informatiques en diminuant les
risques. UP est un ensemble de principes génériques adapté en fonctions des spécificités des projets.
L'axe vertical : représente les principaux enchaînements d'activités, qui regroupent les activités selon leur
nature. Cette dimension rend compte l'aspect statique du processus qui s'exprime en termes de composants,
de processus, d'activités, d'enchaînements, d'artefacts et de travailleurs.
L'axe horizontal : représente le temps et montre le déroulement du cycle de vie du processus; cette
dimension rend compte de l'aspect dynamique du processus qui s'exprime en termes de cycles, de phases,
d'itérations et de jalons.
8
Cycle de vie de Processus Unifié 2/3
L’architecture bidirectionnelle
9
Les phases , les itérations et les jalons
Pour mener efficacement un tel cycle, les développeurs ont besoins de toutes les représentations du
produit logiciel.
un modèle de test : décrivant les cas de test vérifiant les cas d'utilisation
11
une représentation de l'architecture.
Les phases
12
Les phases de PU
13
Les phases du PU
Le PU répète une série de cycles constituant la vie du système.
Un cycle conduit à la livraison d’une version du produit.
Un cycle s’articule autour de 4 phases :
étude préliminaire
Élaboration
Construction
Transition
15
Phase de lancement (Inception) ; étude préliminaire
(1/2)
Nb : en général une seule itération, sauf pour projets importants, innovants, ou très risqués
17
Phase d’élaboration 1/3
18
Phase d’élaboration 2/3
– Les besoins sont-ils considérés? L’architecture stable? Les risques sont contrôlés ?
– Jalon : « architecture»
19
– Prise de décision: Est-ce qu’on peut passer à la réalisation?
Phase d’élaboration 3/3
Construction d’un squelette d’architecture en intégrant les risques majeurs et affiner les
plans de projet
Objectifs :
1. Comprendre en détail les exigences
2. Concevoir, implémenter, valider l’architecture
3. Réduire les risques essentiels et estimer plus exactement le budget
4. Affiner le plan de développement
20
Phase de construction 1/3
21
Phase de construction 2/3
Mettre en œuvre tous les cas d'utilisation en accord avec les clients
La phase la plus coûteuse qui englobe le codage, la conception , test et intégration, etc.
Construction : développement
– Développement par itérations / incréments
• Pour aboutir à une architecture stable
– Le produit contient tout ce qui avait été planifié
• Il peut rester quelques erreurs non détectées …
– Jalon : «opérationnel»
Le jalon est une version du produit.
22
– Prise de décision: le produit est-il suffisamment correct pour être installé chez un client ?
Phase de construction 3/3
23
Phase de transition 1/2
24
Phase de transition 2/2
Les anomalies et les défauts constatés par l'équipe de test sont prises en
considération.
25
Les activités
26
Les activités
27
Rôle le des besoins dans le cycle de vie du logiciel
Chaque itération apporte de nouveaux cas d'utilisation ou des détails des cas d'utilisation existants.
La capture des besoins s'effectue principalement au cours des phases d'étude préliminaire et
d’élaboration.
Le reste des besoins est formulé et mis en œuvre durant la phase de construction.
28
Expression des besoins
vue d’ensemble
Capture des besoins
29
Expression des besoins
– Interviews du client, des utilisateurs, …discuter avec le client ou l’utilisateur afin de bâtir une compréhension
commune des exigences du système.
– Réunions de travail
35
Expression des besoins
36
Les activités
2) Analyse :
L'objectif de l'analyse est d'accéder à une compréhension des besoins et des
exigences du client.
37
Analyse
38
Les activités
3) Conception :
La conception permet d'acquérir une compréhension approfondie des contraintes
liées au langage de programmation à l'utilisation des composants et framework
et au système d’exploitation ,
39
Conception :
Modèle d’analyse vs Modèle de conception
40
Conception :
Etapes à suivre
1. Estimer les performances du système
2. Mettre au point un plan de réutilisation
3. Organiser le système en sous-systèmes
4. Identifier les questions de concurrence inhérentes au
problème
5. Allouer les sous-systèmes aux équipements matériels
6. Gérer le stockage des données
7. Gérer les ressources globales
8. Choisir une stratégie de contrôle du logiciel
9. Traiter les cas limites
10. Arbitrer les priorités
11. Sélectionner un style architectural
41
Conception
42
Les activités
4) Implémentation:
la programmation. Le résultat de la conception pour implémenter le système sous
formes de composants
43
Les activités
5) Test
Pour mener à bien ces tests, il faut les planifier pour chaque itération, les
implémenter en créant des cas de tests, effectuer ces tests et prendre en compte
le résultat de chacun.
6) Déploiement
44
Les caractéristiques du processus unifié
45
Les caractéristiques du processus
unifié
46
Processus piloté par les cas d’utilisation
Le but principal d’un système informatique est de satisfaire les besoins de client. Le processus de développement
sera donc accès sur l’utilisateur. Le cas d’utilisation permet d’illustrer ces besoins. Ils détectent puis décrivent les
besoins fonctionnels et leur ensemble constitue le modèle de cas d’utilisation qui dicte les fonctionnalités
complètes du système.
47
Processus piloté par les cas d’utilisation
48
Processus itératif et incrémentale1/2
Une itération est une succession d'enchainements d'activités.
À chaque itération on retrouve les activités de spécification des besoins, de conception, jusqu'au prototypage
exécutable.
49
Processus itératif et incrémentale 2/2
Une itération est une séquence d’activités selon un plan
pré-établi et des critères d’évaluation, résultant en un
produit exécutable
50
Processus centré sur l’architecture 1/2
Tout système complexe doit être décomposé en partie modulaire afin d’en faciliter la maintenance et l’évolution.
Cette architecture (fonctionnelle, logique, matérielle, etc.) doit être modéliser en UML, et pas seulement
documentée en texte.
• émerge des besoins exprimés par les utilisateurs et spécifiés par les cas d’utilisation
Centré sur l’architecture
• Structurer tous les modèles (UC, déploiement et composants, classes)
51
Processus centré sur l’architecture 2/2
52
Processus piloté par le risque
Les risques majeurs du projet doivent être identifiés au plus tôt mais surtout levés le
plus rapidement. Les mesures à prendre dans ce cadre déterminent l’ordre des itérations
53
Différentes natures de risques
Besoins
Technique
Autres
54
Les 4 <<p>> du développement logiciel
55
Les 4 <<p>> du développement logiciel
56
Les rôles
57
Les rôles
Le chef de projet
Responsable de la gestion de projet
Individu ou équipe ?
Plan de développement (plan de projet, plan d’itération, risques)
Plan de gestion de la configuration
Choisir les artefacts UTILES
Adapter les artefacts au projet
Collaborer avec tous les autres acteurs
Constamment focalisé sur les risques
58
Les rôles
L’analyste
Activités : Modélisation métier, Exigences, Analyse et conception
Développer une Vision
Liste des fonctionnalités
Modèle de C.U., Glossaire, Prototype interface utilisateur, Spécifications Supplémentaires
Vérifier que les exigences sont respectées et testées
59
Les rôles
L’architecte
Coordonne les artefacts techniques
Communication entre les équipes de développement
Choix d’une architecture en fonction : performance, robustesse, réutilisation, compréhensibilité,
modularité, contraintes techniques, sûreté de fonctionnement
Document d’architecture
Validation par le prototype architectural
60
Les rôles
Le développeur
Activités :
Analyse et conception
Implémentation
Conception des réalisations des C.U.
Conception des tests
61
Les rôles
Le testeur
Activités en fonction des phases :
Lancement : test des idées des technologies possibles
Élaboration : test architecture (notamment performance, évolutivité, etc.)
Construction : test fonctionnel
Transition : robustesse, ergonomie, etc.
62