L3
2TUP/UP
L3
I – Introduction
2TUP/UP
Introduction
Intro
Définition :
• 2TUP est un processus de développement logiciel qui implémente le processus unifié
UP.
• 2TUP signifie 2 Track Unified Process (processus unifié à deux voies).
• 2TUP signifie que le processus suit deux (02) chemins (le chemin fonctionnel et
l’architecture technique).
2TUP/UP
Intro
Introduction
Avantages :
• 2TUP apporte une réponse aux contraintes de changement continuel imposées aux SI,
• 2TUP renforce le contrôle sur les capacités d’ évolution et de correction de tels systèmes,
• 2TUP correspond aux deux axes de changement imposés au SI (système d’information).
• 2TUP décompose le SI suivant un axe fonctionnel et un axe technique, puis fusionne les
résultats de ces deux branches formant la lettre Y.
• 2TUP propose un cycle de développement en Y.
L3
II – Caractéristiques
2TUP/UP
Intro
Introduction
Caractéristiques :
• Itératif et incrémental piloté par les risques,
• Piloté par les exigences des utilisateurs,
• Modélisé par UML (Unified Modeling Language),
• Centré sur l’architecture,
• Orienté vers les composants.
2TUP/UP
Intro
Introduction
Concepts et Caractéristiques :
I. Itératif et incrémental piloté par les risques, signifie que :
• Le processus avance successivement d’étape en étape en se basant sur l’étape
précédant,
• Une itération apporte des améliorations et nous procure l’évolution,
• Les risques d’inadéquation aux besoins ou d’inadéquation aux technique soient fortes,
• Les risques d’incapacité à intégrer les technologie sont à gérer.
2TUP/UP
Intro
Introduction
Concepts et Caractéristiques :
II. Un processus piloté par les exigences des utilisateurs, signifie que :
• Le processus met en avant les besoins et les exigences des futures utilisateurs du
système,
• La non adéquation technique et fonctionnelle du système par rapport aux besoins
des utilisateurs induit des risques important.
2TUP/UP
Intro
Introduction
Concepts et Caractéristiques :
III. Un processus de modélisation avec UML, signifie que :
• Le UML est un langage de modélisation standard de 2TUP,
• Un ensemble de diagrammes de UML est utilisé dans des étapes du processus en
Y de 2TUP (Ex: le diagramme de cas d’utilisation est utilisé dans la capture des
besoins fonctionnels et aussi dans la capture des besoins techniques).
2TUP/UP
Intro
Introduction
Concepts et Caractéristiques :
IV. Un processus centré sur l’architecture, signifie que :
• Le système est décomposé en modules pour des besoins de maintenabilité et d’
évolutivité,
• C’est l’architecture qui défend les intérêts de son propriétaire final en termes
d’exigences fonctionnelles, techniques, et économiques.
• N.B - Un architecture est un ensemble des décisions d’organisation du système
logiciel qui défend les intérêts de son propriétaire final.
2TUP/UP
Intro
Introduction
Concepts et Caractéristiques :
V. Un processus orienté vers les composants, signifie que :
• Lors de la capture des besoins fonctionnels, les cas d’utilisation sont regroupés en
packages pour organiser le modèle de spécification fonctionnel,
• Lors de l’analyse, les classes sont regroupées en catégorie pour organiser successivement
le modèle d’analyse métier et le modèle d’analyse de l’application.
• Le regroupement des concepts définissent des packages et des composants dans le
modèle. Et leur réutilisation peut se situer à tous les niveaux.
L3
III – Etude de cas
2TUP/UP
Etude de cas
Sujet :
o Etudier la conception d’un système qui va permettre de gérer les cursus universitaire
permettant de suivre la formation des étudiants depuis leur inscription à l’université
jusqu’à leur obtention du diplôme de Licence.
o N.B :
- Une université se compose de plusieurs départements (informatique, physique, maths,
chimie, ….) dirigés par des chefs de département.
- Chaque département voit son parcours de formation structuré en 03 palier(L1, L2, L3).
2TUP/UP
Etude de cas
Etape à suivre pour utiliser la méthode 2TUP :
Pour utiliser la méthode 2TUP, il faut :
o Faire un étude préliminaire,
o Identifier les besoins fonctionnels,
o Identifier les besoins techniques,
o Faire l’analyse des besoins fonctionnels,
o Faire une conception générique à partir des besoins techniques,
o Réaliser une conception préliminaire,
o Faire une conception détaillée,
o Coder et tester l’application.
L3
III/a – Etudes préliminaires
2TUP/UP
Etudes préliminaires
Etape à suivre pour faire un étude préliminaire:
Pour faire un étude préliminaire, il faut :
o Faire un interview (dans l’entreprise, dans le département concerné, …),
o Identifier les besoins fonctionnels et techniques à partir des informations obtenus,
o Etablir un cahier de charge préliminaire,
o Modéliser le contexte à partir du cahier de charge préliminaire :
- Identifier les acteurs,
- Identifier les messages,
- Faire un modèle de contexte dynamique (c-à-dire définir les rôles de chaque acteur dans
le système).
2TUP/UP
Etudes préliminaires
Etape I: Identifier les acteurs
o Énumérer les acteurs susceptibles d’interagir avec le système :
o Etudiant : Un étudiant peut consulter ses relevés des notes, son emploi du temps,
o Chef de département : Le chef de département établie le cursus de son département, il
crée les promotions, suit leurs évolutions, et choisit les enseignants responsables des
cours,
o Scolarité : La scolarité affecte les notes aux étudiants,
o Enseignant : l’enseignant affecte les notes des étudiants de son module,
o Administrateur : crée les profils utilisateurs et attribue les droits de ces utilisateurs
dans le système.
2TUP/UP
Etudes préliminaires
Etape II: Identifier les messages
A. Le système émet les messages suivants :
o Les relevés de notes des étudiants,
o L’ état d’avancement d’une promotion,
o Le cursus d’ un étudiant,
o Les emplois du tems d’une promotion,
o Les modules d’un département.
N.B : Un message représente la spécification d’une communication unidirectionnelle entre les objets, il transporte de l’information avec de
l’intention de déclencher une activité chez le récepteur.
2TUP/UP
Etudes préliminaires
Etape II: Identifier les messages
Le système émet les messages suivantes :
o Les fiches des étudiants,
o Les fichiers des enseignants,
o L’organisation d’un département,
o La liste des étudiants passés et recalés à la fin de semestre,
o La liste des étudiants avant acquis.
2TUP/UP
Etudes préliminaires
Etape II: Identifier les messages
B. Le système reçoit les messages suivantes :
o Les créations, modifications, suppressions de fiches des étudiants/enseignants,
o Les créations, modifications, de promotions,
o Le lancement/ bouclage d’une promotion,
o L’affectation des étudiants/enseignants à une promotion,
o Les ajouts, suppressions, modifications des filières pour un département,
o Les créations, modifications, suppressions, des emplois du temps.
2TUP/UP
Etudes préliminaires
Etape III: Définir les rôles de chaque acteur dans le système
A. Chef de département:
o S’authentifier,
o Créer son département,
o Créer une promotion,
o Créer les spécialités/options,
o Créer les modules,
o Suivre les promotions en cours,
o Affecter les étudiants/enseignants à une promotions,
2TUP/UP
Etudes préliminaires
Etape III: Définir les rôles de chaque acteur dans le système
B. Scolarité:
o S’authentifier,
o Créer/modifier les fiches des étudiants,
o Affecter les notes des étudiants,
2TUP/UP
Etudes préliminaires
Etape III: Définir les rôles de chaque acteur dans le système
C. Enseignant:
o S’authentifier,
o Affecter les notes des étudiants pour son module.
2TUP/UP
Etudes préliminaires
Etape III: Définir les rôles de chaque acteur dans le système
D. Administrateur:
o S’authentifier,
o Créer les profils utilisateurs,
o Donner les droits d’accès.
2TUP/UP
Etudes préliminaires
Etape III: Définir les rôles de chaque acteur dans le système
E. Etudiant:
o S’authentifier,
o Consulter son relevé de notes,
o Consulter son emploi du temps,
o Consulter son ses modules en dette.
L3
III/b – Identification des besoins fonctionnels
2TUP/UP
Identification des besoins fonctionnels
Identification des besoins fonctionnels:
Pour identifier les besoins fonctionnels dans le processus 2TUP, il faut
o Identifier les cas d’utilisation,
o Décrire les cas d’utilisation (faire des fiches détaillées, réaliser des diagrammes
dynamiques) ,
o Organiser le cas d’utilisation (faire un diagramme de cas d’utilisation).
2TUP/UP
Identification des besoins fonctionnels
Etape I: Identifier les cas d’utilisation
Pour identifier les cas d’utilisation, il faut
o Considérer l’intention fonctionnelle de l’acteur par rapport au système dans le
cadre de l’émission ou de la réception de chaque message,
o Avoir plusieurs itérations pour arriver à constituer des cas d’utilisation complet.
* L’identification des cas d’utilisation au première fois nous donne de l’ aperçu des fonctionnalités futures que doit implémenter le système.
2TUP/UP
Identification des besoins fonctionnels
Etape II: Décrire les cas d’utilisations
Pour décrire les cas d’utilisation, il faut
o Faire une fiche détaillée sous forme d’un tableau à trois colonnes contenant (cf. à
droite) :
o La liste des cas d’utilisations identifiée précédemment,
o La liste des acteurs principaux et des acteurs secondaires,
o La liste des messages émis et reçus par chaque acteur.
* Pour réaliser le cas d’utilisation, utilisé le diagramme de cas d’utilisation dans le Visual paradigme.
2TUP/UP
Identification des besoins fonctionnels
Etape II: Décrire les cas d’utilisations
Pour décrire les cas d’utilisation, il faut
o Faire une fiche détaillée sous forme d’un tableau à trois colonnes contenant (cf.
à droite) :
o La liste des cas d’utilisations identifiée précédemment,
o La liste des acteurs principaux et des acteurs secondaires,
o La liste des messages émis et reçus par chaque acteur.
2TUP/UP
Identification des besoins fonctionnels
Etape II: Décrire les cas d’utilisations
Pour décrire les cas d’utilisation, il faut
o Schématiser un diagramme de cas d’utilisation (via le logiciel
Visual Paradigme) contenant (cf. à droite) :
o La liste des acteurs principaux et des acteurs secondaires,
o La liste des messages émis et reçus par chaque acteur.
2TUP/UP
Identification des besoins fonctionnels
Etape II: Décrire les cas d’utilisations (explication)
Voici la description préliminaire des cas d’utilisation ci-à droite,
o Organiser les départements :
- Intention : gérer les départements,
- Actions : créer un nouveau domaine, une nouvelle spécialité, une nouvelle
option.
o Gérer les promotions :
- Intention : gérer les promotions,
- Actions : créer un nouvelle promotion, afficher des étudiants, modifier ou
annuler la promotion.
2TUP/UP
Identification des besoins fonctionnels
Etape II: Décrire les cas d’utilisations (explication)
Voici la description préliminaire des cas d’utilisation ci-à droite,
o Maintenir les notes des étudiants:
- Intention : affecter les notes aux étudiants,
- Actions : affecter les notes aux étudiants pour chaque module.
o Consulter les notes :
- Intention : Consulter les notes d’un étudiant,
- Actions : Choisir un étudiant et consulter la liste de ses notes.
o Gérer les étudiants:
- Intention : suivi des dossiers des étudiants après inscription de ces derniers,
- Actions : Créer et mettre à jour le dossier étudiant rattacher l’étudiant à une année
universitaire.
2TUP/UP
Identification des besoins fonctionnels
Etape III: Organiser les cas d’utilisation
Pour faire une organisation des cas d’utilisation, il faut
o Empaqueter les fonctions sous forme de groupe comme le suivant:
- Un sommaire d’identification : va résumer les propriétés du cas d’utilisation
(titre, but, résume, acteur),
- Une description détaillée : des préconditions au déclenchements du cas
d’utilisation doivent être spécifiées, un scenario nominal décrivant celui-ci
additionné à des scenarios alternatifs et d exceptions (précondition, scenario
nominal, enchainement).
2TUP/UP
Identification des besoins fonctionnels
Etape III: Organiser les cas d’utilisation (Exemple)
Exemple 1 : Organiser les départements
o Sommaire d’identification :
- Titre : organiser les licences,
- But : Créer des domaines, des spécialités, des options.
- Résumé : Créer un nouveau domaine, une nouvelle spécialité, une nouvelle option.
- Acteur: chef de département.
o Description détaillée:
- précondition : organiser les licences,
- Scenario nominal: Ce cas d’utilisation commence lorsque le chef de département
demande au système de créer un nouveau demande.
2TUP/UP
Identification des besoins fonctionnels
Etape III: Organiser les cas d’utilisation (Exemple)
Exemple 1 : Organiser les départements
o Description détaillée:
❖ Enchainement (a):
- Créer un domaine en construction,
- Le chef de département choisie un nom pour le département.
❖ Enchainement (b):
- Créer un tronc commun pour la première année,
- Un tronc commun va être constitué, la durée de ce tronc commun est variable selon le
domaine.
❖ Enchainement (c) :
- Créer les spécialités/options,
- Il peut spécifier les spécialités/options que le domaine va contenir, une durée en semestre doit
être renseignée.
❖ Enchainement (d):
- Valider un domaine en construction, le chef de département valide la création.
L3
III/c – Identification des besoins techniques
2TUP/UP
Identification des besoins techniques
Les besoins techniques
Pour identifier les besoins techniques, il faut
o Faire des spécifications techniques (configuration matérielle, style
d’architecture),
- Faire des spécifications logicielle initiale (cas d’utilisation fonctionnels, cas
d’utilisation techniques),
- Faire des spécifications logicielle détaillée (dictionnaires des termes
techniques, cas d’utilisation détaillés, couches logicielles),
L3
III/d – Analyses des besoins fonctionnels
2TUP/UP
Analyse des besoins fonctionnels
Modèle statistique:
Pour analyser les besoins fonctionnels en utilisant le
modèle statistique, il faut :
o Affiner les classes,
o Affiner les relations,
o Ajouter les attributs,
o Ajouter des opérations,
o Optimiser les classes.
* Pour faire la modèle statistique, utilisé le diagramme de classe dans le Visual paradigme.
2TUP/UP
Analyse des besoins fonctionnels
Découpage en catégories:
o Une découpage en catégorie consiste en un regroupement logique de classes à
forte cohérence interne et faible couplage externe.
o La découpage en catégories de notre cas étudié à donné le résultat ci-à droite.
* Pour faire la découpage en catégorie, utilisé le diagramme de paquetage dans le Visual paradigme.
2TUP/UP
Analyse des besoins fonctionnels
Modèle dynamique:
Pour analyser les besoins fonctionnels en utilisant le modèle dynamique, il faut
:
o Formaliser le scenarii: diagramme d’interaction, de collaborations, de séquence,
o Construire le diagramme d’ état: diagramme d’ états,
o Valider le modèle dynamique: diagramme d’interaction, de collaborations, de
séquence, et d’ états.
o Confronter le statistique et le dynamique : diagramme de classe complet.
* Pour faire la modèle statistique et dynamique, utilisé le diagramme de séquence, de collaboration, d’interaction, d’état dans le Visual paradigme.
2TUP/UP
Analyse des besoins fonctionnels: Modèle dynamique
I - Construire le diagramme d’ états
o Un état représente une situation durant la vie d’un objet pendant laquelle:
- Il satisfait une certaine condition,
- Il exécute une certaine activité,
- Ou bien il attend un certain évènement.
o Un objet passe par une succession d’ états durant son existence,
o Un état a une durée finale, variable selon la vie de l’objet, en particulier en
fonction des évènements qui lui arrivent.
2TUP/UP
Analyse des besoins fonctionnels: Modèle dynamique
I - Diagramme d’ états de classe Etudiant (exemple)
o Nouvellement inscrit: cet état représente un étudiant qui vient d’être inscrit à
l’université. Il se produit lorsque l’ étudiant est introduit pour la première fois dans
la base et que c’est sa première année à la faculté.
o Rattaché: cet état représente un étudiant qui est attaché à une promotion,
o En cours d’ études: cet état représente un étudiant qui est entrain d’étudier,
o En cours de passage: cet état survient après qu’un étudiant ait réussi le passage
au niveau supérieur. Au cours de cet état, l’étudiant fait le choix de la prochaine
branche.
o Recalé: cet état survient après qu’un étudiant ait échoué le passage au niveau
supérieur.
o Etudes terminés: cet état survient après qu’un étudiant ait terminé ses études
supérieur.
2TUP/UP
Analyse des besoins fonctionnels
Conception générique:
Pour analyser les besoins fonctionnels en utilisant la conception générique, il
faut :
o Découper en composants dans le but de construire l’architecture technique,
o diagramme d’états,
o Réaliser un prototype pour assurer la validité de l’architecture à fin de minimiser
l’incapacité de l’architecture technique à répondre aux contraintes opérationnelles.
L3
III/e – Conception préliminaire et détaillée
2TUP/UP
Conception préliminaire et détaillée
Conception préliminaire et détaillée
o Cette phase est la fusion des deux précédentes (branche fonctionnelle &
branche technique) et mène à la conception applicative et à la solution adaptée
aux besoins des utilisateurs.
o Cette phase concerne les étapes de la conception préliminaire, la conception
détaillée, le codage et les tests.
o On y construit les classes, les vues, les interfaces, les tables, et les méthodes
qui vont donner une image prête à coder de la solution (diagramme des
classes, diagrammes des séquences, diagramme déploiement).
2TUP/UP
Conception préliminaire et détaillée
Conception préliminaire et détaillée
o Conception préliminaire:
- étape délicate durant laquelle on intègre le modèle d’analyse dans l’architecture
technique.
- Le but ici est de savoir dans quel composant technique on met nos fonctionnalités
issues de l’analyse.
o Conception détaillée :
- Conception de chaque fonctionnalité.
o Etape de codage :
- Phase de programmation de ces fonctionnalités, avec des tests au fur et au mesure.
o Etape de recette :
- Phase de validation des fonctions du système développé.
L3
IV – Conclusion
2TUP/UP
Conclusion
Conclusion:
o 2TUP est un processus unifié qui a pour but d’apporter une réponse aux contraintes de
changement fonctionnelles et techniques qui s’imposent aux systèmes d’information,
o 2TUP propose un cycle de développement qui dissocie les aspects techniques des
aspects fonctionnels,
o Les résultats sont fusionnés pour réaliser le système selon un processus de
développement en Y.