Vous êtes sur la page 1sur 4

Université Mohammed V de Rabat

Ecole Nationale Supérieure d'Arts et Métiers


Filière INDIA (2ème année) A.U. : 2023/2024 Pr. A. El Qadi

Série n°2 en Ingénierie logicielle


Spécification des cas d'utilisation

Relations entre cas d'utilisation


● Inclusion : X « includes » Y - X implique Y
● Extension : X « extends » Y  X peut être provoqué par Y
X est optionnel pour Y
Rappel: Méthodes agiles
se sont des approches itératives et incrémentales, qui sont menées dans un esprit collaboratif en prenant
en compte l’évolution des besoins des clients, et avec des livraisons très fréquentes chaque semaine.
Elles prônent 4 valeurs fondamentales :
1 Individus et interactions plutôt que processus et outils
2 Fonctionnalités opérationnelles plutôt que documentation exhaustive
3 Collaboration avec le client plutôt que contractualisation des relations
4 Acceptation du changement plutôt que conformité aux plans

– RAD (Rapid Application Development: années 80)


 Cycle court (120 jours maximum)
 Composé de cinq phases
• Initialisation: préparation de l’organisation et communication (6% du projet )
• Cadrage: analyse et expression des exigences (9% du projet )
• Design: conception et modélisation (23% du projet )
• Construction: réalisation et prototypage (50% du projet )
• Finalisation: recette et déploiement (12% du projet )
Les 3 premières phases sont séquentielles, au terme du design l’architecture fonctionnelle et générale
ayant été définie, il est possible de réaliser un découpage du projet en terme de fonctionnalités
(services), et de niveau au sein de ces fonctionnalités.
La phase de construction est itérative, module par module on applique le cycle en v (conception
détaillée, développement et recette)
– UP (unified Process):Objectifs: intégrer les préceptes UML
Le projet est construit par itérations successives, fonctionnalité par fonctionnalité (prototypage)
– XP: Recueil de meilleurs pratiques
 Programmation en binôme
 Adaptée aux petites équipes
 Conception et test continus
– SCRUM: (le terme désigne mêlée dans le rugby): ne couvre aucune technique d'ingénierie du logiciel
nécessite une méthode complémentaire comme XP.
– DSDM: dynamic software development method: inspirée de la méthode RAD.
Processus unifié (UP): Diagrammes de représentation des modèles
Exercice 1 :
1. Expliquer la phrase suivante : « Le processus unifié de développement est itératif est
incrémental »
2. Quels sont les avantages du processus unifié de développement ?
3. Expliquer la phrase suivante : «Le processus unifié est conduit par les cas d’utilisation»
2. Quels sont les objectifs majeurs des cas d’utilisation ?

Exercice 2:
Q1. Qu'est-ce qui n'appartient pas aux pierres angulaires du manifeste agile?
a. Individus et interactions par-dessus des processus et des outils
b. logiciel de travail sur une documentation complète
c. Processus sur les personnes
d. collaboration client sur négociation de contrat
e. Répondre au changement suite à un plan
Q2. Lequel de ces principes est mis en avant par le Manifeste Agile ?
a. Valoriser les individus et les interactions, davantage qu'une application qui fonctionne
b. Valoriser les individus et les interactions, davantage que la négociation de contrat
c. Valoriser les individus et les interactions, davantage que les processus et les outils
d. Valoriser les individus et les interactions, davantage que la collaboration avec le client
Q3. 'Un logiciel qui fonctionne est le meilleur indicateur de progrès.' Dans le Manifeste Agile, où trouve-t-on
cette affirmation ?
a. C'est une des quatre valeurs du développement agile
b. C'est un des douze principes du développement agile
c. Dans la description d'une méthodologie agile
d. Dans la description de la méthodologie de l'XP (extreme programming)
Q4. Dans une équipe agile, qui est responsable de la qualité ?
a. Les développeurs
b. Les testeurs
c. Le product owner
d. Toute l'équipe
Q5. Laquelle de ces pratiques fournit un retour rapide au développeur concernant la qualité de son travail ?
a. Les tests d'acceptance
b. L'intégration continue
c. Les mêlées quotidiennes
d. Les modifications de spécifications
Q6. Un client considère qu'une fonctionnalité n'a pas été correctement implémentée. Comment l'équipe agile
doit-elle réagir ?
a. En ajoutant une tâche d'analyse de ce problème au backlog de l'équipe
b. En corrigeant ce point, toutes affaires cessantes
c. En rédigeant un rapport d'anomalie, qui sera traité une fois que le backlog sera vide
d. En modifiant les spécifications et en demandant au client de les valider avant d'effectuer les
modifications dans l'application
Q7. Dans quelle approche agile la simplicité est-elle la valeur phare de l'activité de développement ?
a. XP
b. Kanban
c. Scrum
d. TDD
Q8. Dans un projet agile, que consigne-t-on habituellement dans un outil de gestion de la configuration ?
a. Les épopées
b. Les user stories
c. Les itérations
d. Le code
Q9. Quel est l'intérêt de se restreindre à seulement quelques améliorations par itération ?
a. Si l'on planifie trop de choses, l'équipe risque de se décourager et de perdre sa motivation.
b. Si l'équipe essaie d'implémenter trop de choses à la fois, cela peut perturber son rythme de livraison.
c. Si, lors d'une itération, l'équipe livre trop de modifications, le client risque d'en demander autant à
chaque fois.
d. Si l'équipe cherche à livrer trop de choses à la fois, elle risque de perdre de vue la définition de 'fini'.
Q10. Lors d'une rétrospective, qui peut légitimement émettre des remarques sur les activités de test ?
a. Les développeurs seulement
b. Les testeurs seulement
c. Tout le monde sauf les testeurs
d. Toute l'équipe
Q11. Que planifie-t-on d'abord : la release ou l'itération ?
a. La release
b. L'itération
c. Les deux sont planifiées en même temps
d. Aucune n'a besoin d'être planifiée.
Q12. Dans un projet agile, à quel moment attend-on que l'équipe de développement livre du code présentant
de la valeur client ?
a. A la fin du projet
b. A la fin d'une release
c. A la fin d'une itération
d. A la fin d'une épopée
Q13. Une fonctionnalité est 'terminée' lorsque...
a. Elle a été implémentée
b. Elle a été implémentée et intégrée
c. Elle a été implémentée, intégrée et testée
d. Elle a été implémentée, intégrée, testée et mise en production
Q14. Si une équipe agile a un besoin récurrent en testeurs spécialisés dans le test de performance, laquelle
de ces organisations est préférable ?
a. Des personnes de l'équipe sont désignées pour effectuer ces tests lors d'un ou plusieurs sprints.
b. L'équipe fait appel à ses testeurs, qui interviennent à la fin du sprint.
c. Une équipe de test indépendante fournit des testeurs en fonction des besoins du projet et de l'expertise
voulue.
d. Le test est sous-traité à une entreprise externe ayant de l'expérience en test de performance.
Q15. Dans un projet agile, quels bénéfices apporte l'indépendance du test ?
a. Le testeur indépendant fournit une évaluation objective de la qualité du produit testé.
b. Le testeur indépendant se fie aux tests effectués par les développeurs.
c. Le testeur indépendant n'a pas de problèmes relationnels avec l'équipe agile.
d. Le testeur indépendant peut mettre à profit, en plus de ses savoir-faire en test, ses compétence en
management.
Q16. Que peut-on raisonnablement attendre d'un cas de test au cours du temps ?
a. Qu'il ne change pas
b. Qu'il soit automatisé et qu'il ne demande qu'une maintenance minime
c. Qu'il évolue au rythme du logiciel qu'il concerne
d. Qu'il soit édité par le développeur qui implémente la fonctionnalité associée
Q17. Quand doit-on lancer les tests fonctionnels automatisés ?
a. A chaque fois que du code est soumis
b. A chaque fois qu'un nouveau build est disponible
c. A chaque phase d'acceptance, en lieu et place des tests effectués par le client
d. A la fin de la release
Q18. Lequel de ces savoir-faire ou savoir-être est le plus utile pour un testeur en contexte agile qu'en
contexte de projet séquentiel ?
a. La collaboration
b. Le test manuel
c. Le test de performance
d. La gestion des cas de test

Exercice 3:
1. Que sont les méthodes agiles en général ? Pourquoi ont-elles été développées
2. Expliquez les termes suivants (dans le cadre de XP) : pair-programming, on-site customer, simple-design,
constant refactoring, test first, test-driven development (TDD), sustainable development, implication du
client
3. Comment des techniques classiques comme les use-cases, les tests de régression (unitaires), le
développement itératif et les revues sont incluses dans XP.
Quels sont les avantages et inconvénients de XP

Vous aimerez peut-être aussi