Académique Documents
Professionnel Documents
Culture Documents
Démarche
de développement
GACEB 1
I. Processus UP
1. Pourquoi UP ?
2. Définition
3. Activités et phases
4. Modèles mis en place
1
___
1. Pourquoi UP ?
• Les notions de base acquises sur la notation UML, facilitent la
compréhension et l’adoption d’une méthodologie OO du
développement logiciel qui s’appuie :
– sur la modélisation des objets du monde réel,
– puis sur l’utilisation du modèle pour bâtir une conception indépendante des
langages de programmation, organisée autour de ces objets.
• Les bonnes méthodes d’analyse et de conception doivent aider à
concevoir des logiciels de qualité.
• UML n’est pas une méthode (i.e. une description normative des étapes
de la modélisation).
• C’est un langage graphique qui permet de représenter (modéliser) et
de communiquer les divers aspects d’un système d’information.
1. Pourquoi UP ?
• Principaux concepts d’UP
• Le processus unifié décrit qui fait quoi, comment et quand les travaux sont réalisés tout au
long du cycle de vie du projet. Quatre concepts d’UP répondent à ces questions :
• Rôle (qui ?)
• Activité (comment ?)
• Artefact (quoi ?)
• Workflow (quand ?)
2
___
1. Pourquoi UP ?
• Artefacts : Un artefact est un ensemble d’informations qui est produit, modifié ou
utilisé par le processus. Les artefacts sont les produits effectifs du projet. Les
artefacts sont utilisés comme input par les ressources pour effectuer une activité et
sont le résultat d’output d’activités du processus. Un exemple d’artefacts rencontrés
au cours du projet est un planning d’une itération ou un diagramme produit dans une
activité.
1. Pourquoi UP ?
Les concepteurs orientent leurs modélisations selon trois axes sur lesquels ils
répartissent les diagrammes :
1. L’axe fonctionnel : utilisé pour décrire ce que fait le système à réaliser,
– Diagramme de Use Cases
– Diagramme d’activités
– Diagramme de séquences
3
___
1. Pourquoi UP ?
Si UML permet de modéliser un système, il ne
définit pas le processus d’élaboration des modèles.
4
___
1. Pourquoi UP ?
Le processus de développement régit les activités de production du
logiciel selon deux aspects.
1. Pourquoi UP ?
Un processus gère généralement les activités suivantes:
1. L’expression des besoins : consiste pour le client à élaborer un
cahier des charges décrivant:
– Les fonctionnalités du système à étudier.
– La façon d’utiliser le système
2. La spécification des besoins : permet aux utilisateurs, experts et aux
informaticiens de finaliser le cahier des charges en levant les
ambiguïtés et en éliminant les redondances
3. L’analyse des besoins : vise à faire définir, par les experts et les
utilisateurs, les entités métier concernées par le système
indépendamment de toutes considérations:
– techniques et informatiques
4. La conception : concerne les experts en informatiques. On y
détermine la manière de résoudre techniquement le problème posé.
Comment réaliser les fonctionnalités attendues. 10
5
___
1. Pourquoi UP ?
5. L’implémentation consiste :
– A construire les programmes dans un langage de programmation donné.
– A organiser logiquement les programmes en fonction de l’architecture logique choisie.
– A distribuer les programmes sur le système informatique selon l’architecture physique
retenue.
6. Les tests fonctionnels et techniques
– Fonctionnels. Ils vérifient que le système implémente bien les fonctionnalités
attendues.
– Techniques. Ils vérifient que l’implémentation des fonctionnalités est techniquement
correcte.
7. La maintenance
11
1. Pourquoi UP ?
UML et les activités de développement :
• La maîtrise des processus de développement implique une
organisation et un suivi des activités
• A ceci s’attachent les différentes méthodes qui s’appuient sur
l’utilisation du langage UML pour modéliser un système
d’information.
• L’utilisation d’UML insistent sur les caractéristiques suivantes qui
sont essentielles pour un processus de développement :
1 Piloté par les cas d’utilisation
2 Centré sur l’architecture
3 Itératif et incrémental
12
6
___
1. Pourquoi UP ?
UP (Unified Process) répond bien à ces exigences.
• C’est un processus de développement moderne, itératif, efficace sur des projets
informatiques de toutes tailles.
• Très complet, il couvre l’ensemble des activités, depuis la conception du projet
jusqu’à la livraison de la solution.
• Intègre une bonne organisation de projet, une méthodologie utilisant UML et un
ensemble de bonnes pratiques cohérentes entre elles,
• il permet de s’adapter aux problèmes récurrents que rencontrent nombre de
réalisations :
– dérive des coûts et des délais, qualité insuffisante, réponse incomplète aux attentes des utilisateurs.
• Un point d’excellence de cette démarche est son adaptabilité : UP peut se décliner
en fonction de l’ampleur d’un projet, de l’expérience de l’équipe qui l’assume, de la
nature de la solution à construire.
2. Définitions
Processus de développement logiciel :
• Un processus définit une séquence d’étapes permettant l’obtention
d’un nouveau système logiciel ou l’évolution d’un système existant.
• L’objet d’un processus de développement est de produire des
logiciels de qualité qui répondent aux besoins de leurs utilisateurs
dans des temps et des coûts prévisibles.
• Des techniques d’analyse et de conception permettant de bien prendre
en charge les critères de qualité sont indispensables.
• En conséquence, le processus peut se décomposer suivant deux axes
de contrôle sur le développement :
– L’axe de développement technique, qui se concentre principalement sur la qualité de la
production ;
– L’axe de gestion du développement, qui permet la mesure et la prévision des coûts et des
délais.
14
7
___
2. Définitions
• Processus Unifié : (Unified Process)
Le processus unifié est un processus de développement logiciel
construit sur UML qui regroupe les activités à mener pour
transformer les besoins d’un utilisateur en système logiciel.
15
2. Définitions
• Il peut ê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.
16
8
___
Vue déploiement
Vue Processus
18
9
___
• Vue Logique
– Abstraction et encapsulation,
– Modélisation des éléments et mécanismes principaux du système,
– Expression des aspects statiques et dynamiques
– Utilisation : diagrammes d'objets et de classes ; diagrammes de collaborations interactions, paquetages «
catégories »...
• Vue réalisation
– Identification des modules qui réalisent les classes de la vue logique,
– Organisation des modules dans l'environnement de développement
– Éléments manipulés : modules, sous-programmes, tâches (en tant qu'unités de programme), paquetage « sous-
systèmes »
• Vue Processus
– Importante dans les environnements multi-tâches,
– Décomposition en flots d'exécution et synchronisation entre ces flots,
– Éléments manipulés :tâches, threads, processus,interactions.
• Vue déploiement
– Importante dans les environnements distribués,
– Ressources matérielles et l'implantation (distribution) du logiciel dans ces ressources,
– Éléments manipulés : nœuds, modules, programmes principaux.
• Vue use case
– Besoins des utilisateurs, justification de l'architecture,
– Colle entre les autres vues
– Éléments manipulés :acteurs, cas d'utilisation, classes, diagrammes de collaboration.
19
Itérative et incrémentale …
• Le développement procède par des itérations qui conduisent à des
livraisons incrémentales du système.
10
___
L'architecture bidirectionnelle
21
22
11
___
23
12
___
25
(Ré)Utiliser Modeler
Analyser Composants Visuellement Contrôler
les Besoins Architectures (UML) la Qualité
Contrôler le
Changement
13
___
27
28
14
___
29
1)Modélisation métier
• Compréhension de la structure et la dynamique de l’organisation
• Comprendre les problèmes posés dans le contexte de l ’organisation
• Conception d ’un glossaire
30
15
___
3) Analyse et conception
• Transformation des besoins utilisateurs en modèles UML
• UML(pas une méthode mais un langage )
• Modèle d’analyse et modèle de conception,
(éventuellement modèle de données)
• Étape importante :
– de l’analyse à la conception :
assigner des responsabilités aux classes Les patrons (GRASP)
4) Implémentation
• Développement incrémental
• Découpage en couches
• Composants d’architecture
• Retouche des modèles et des besoins
• Unités indépendantes, équipes différentes
31
5) Tests
• Etapes (unitaire, d’intégration, système, acceptation)
• Types :
– De « benchmark » (comparaison)
– De configuration (différentes config matérielles et logicielles)
– De fonctionnement (vérification des CU)
– D’installation
– D’intégrité (fiabilité, robustesse, résistance)
– De charge (conditions opérationnelles plus lourdes = nb utilisateurs, transactions,…)
– De performance (en modifiant les configurations)
– De stress (conditions anormales opérationnelles)
32
16
___
6) Gestion de projet
• Objectifs
– Planifier/évaluer un projet itératif
– Gérer les risques
– Contrôler les progrès (délais, coûts, qualité, efforts, satisfaction client, productivité, etc.)
33
34
17
___
Nb : - en général une seule itération, sauf pour projets importants, innovants, ou très risqués
-elle peut amener à l’abandon du projet
35
(donc il est plus intense vers le début du projet, pour minimiser les risques)
• 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
• Revue de projet : jalon fin d’élaboration
– Évaluer : Stabilité de vision , d’exigences et d’architecture et Crédibilité du plan d’itération
– En cas de doute : refaire une itération
36
18
___
3) Phase de construction
Concentrée sur la conception, le développement et le test
• Objectifs :
1) Minimiser les coûts de développement et obtenir un certain degré de parallélisme
2) Développer de façon itérative un logiciel prêt à la transition vers les utilisateurs
3) même pour de petits projets, il faut plusieurs itérations (entre 2 et 4)
• Revue de projet : le jalon fin de Construction
Évaluation :
– Version du logiciel est elle stable ?
– Tous les intervenants sont prêts ?
– Dépenses réelles/prévisionnelles acceptab les ? 37
4) Phase de transition
Correspond à l’activité de déploiement et marque le début de la maintenance du logiciel
• Déployer ,
• Tester
• Valider
– réponse aux attentes des utilisateurs
• Accompagner l’utilisateur final
– packaging, documentation, formations, manuels …
• Objectifs :
1) Exécuter les tests bêta
2) Former les utilisateurs
3) Préparer le site de déploiement
4) Préparer le lancement
5) Obtenir l’accord des intervenants
6) Améliorer les performances futures
19