un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent...

36
Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Transcript of un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent...

Page 1: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Un point sur les méthodesun clin d’œil aux besoins

Laurent Pérochon

UMR METAFORT

Laurent.perochon , vetagro-sup.fr

Ecole ENVOL 2014

Page 2: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Les cycles du développement logiciel

Page 3: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

©Christophe.moustier

waterfall model (1970 Winston W. Royce)

Basé sur les méthodes appliquées dans le bâtiment (maître d’œuvre / maître d’ouvrage, importance du plan…)

Page 4: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

V model, années 80

Importance des tests

http://www.coleyconsulting.co.uk/v-model.htm

Page 5: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

http://en.wikipedia.org/wiki/Spiral_model?uselang=fr

Spiral, Barry Boehm 1986

Itératif, prototypes, risques

Page 6: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Test Driven Development1960 … 2003 Kent Beck (XP)

D’abord les tests

https://arialdomartini.wordpress.com/2012/07/20/you-wont-believe-how-old-tdd-is/

Page 7: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Manifeste pour le développement Agile de logiciels

Nous découvrons comment mieux développer des logiciels par la

pratique et en aidant les autres à le faire. Ces expériences nous ont

amenés à valoriser :

• Les individus et leurs interactions plus que les processus et les

outils

• Des logiciels opérationnels plus qu’une documentation exhaustive

• La collaboration avec les clients plus que la négociation

contractuelle

• L’adaptation au changement plus que le suivi d’un plan

Nous reconnaissons la valeur des seconds éléments, mais privilégions

les premiers.

http://agilemanifesto.org/iso/fr/

Agilité1990 … 2000

-relation entre individus-adaptation

Page 8: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

VueGlobaleScrum

Scrum2001, Ken Schwaber

-Itérations courtes- Une liste des besoins évolutive- Importance des tests

Les besoins L’objectif de l’étape

Page 9: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Avantages•fun•Communication entre les acteurs améliorée•Développements pertinents/besoins

Inconvénients

•Changement des méthodes de travail•Collaboration/synchronisation difficile avec les autres équipes qui n'utilisent pas cette méthode.•Bonne volonté, entente et communication de tous les participants impératif.Gros travail de rédaction pour les Clients•Les développeurs doivent être autonomes •Refactoring

Agile: http://www.journaldunet.com/developpeur/expert/56616/la-methode-agile---optimisation-de-la-relation--client---fournisseur.shtml

Agilité1990 … 2000

Page 10: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Vickof

Page 11: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

ENVOL 2014 Tests

Cette présentation Ouverture vers l’analyse des besoins

Page 12: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Les besoinsLes capturer, suivre leurs évolutions

Page 13: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Les besoinsLes capturer

Utilisateur

Donneur d’ordre

Expert

Document

Sources d’informations

Diagramme de cas d’utilisation

Diagramme de séquence

Scénarios

User stories

Outils

Pas très simple, difficile de suivre les évolutions

Page 14: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Le pourquoi du besoin

Ecrire un rapport?

Je souhaite communiquer mes résultats

Le besoinLe besoin

L’objectifL’objectif

Concevoir un diaporamaAutre besoin lié au même objectifAutre besoin lié au même objectif

Un besoin est lié à un objectif de l’utilisateur

Page 15: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Goal Oriented Requirement Engineering (GORE)

http://cserg.site.uottawa.ca/ucm/pub/UCM/VirLibIJIS09/IJIS2010-Web.pdf

Page 16: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Différentes approches/plateformes

KAOS, GBRAM, AGORA, NFR, i*, Tropos, GRL

Analyzing Goal Models – Different Approaches and How to Choose Among Them, Jennifer Horkoff et Eric Yu

www.cs.toronto.edu/~jenhork/Papers/SAC11_RE.pdf

Page 17: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Objectifs fonctionnels/ non fonctionnels

http://www.info.ucl.ac.be/~avl/files/RE01.pdf

Soft Goals : leurs satisfactions ne peuvent pas être établies d’une manière certaine, vérifiée

Différents types d’objectifs

Page 18: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

http://www.cs.utoronto.ca/~jenhork/Papers/GMAnalysisComparisonREJ.pdf

Page 19: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

http://www.cs.utoronto.ca/~jenhork/Papers/GMAnalysisComparisonREJ.pdf

Page 20: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Basic GRL Notation

Means-End

PasswordCardkey Biometrics

Correlation

(side-effect)

Cost ofTerminal

Belief

Argumentation

Biometrics is noregular off-the-shelftechnology

Goal

Decomposition

(AND)IdentificationAuthentication

Task

Make..

AccessAuthorization Encryption

?Break Hurt Some- Unknown

Make Help Some+ Equal

Contribution

Security ofHost

Security ofTerminal

SoftgoalSystemSecurity

ITU-T Workshop on the "Use of Description Techniques" Using theUser Requirements Notation, Daniel Amyot, 2002

Page 21: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Evaluations with GRL

..

PasswordCardkey Biometrics

Identification

Cost ofTerminal

Biometrics is noregular off-the-shelftechnology

AccessAuthorization Encryption

Authentication

Satisficed

Weakly Satisficed

Undecided

Weakly Denied

Denied

Security ofHost

Security ofTerminal

SystemSecurity

ITU-T Workshop on the "Use of Description Techniques" Using theUser Requirements Notation, Daniel Amyot, 2002

Page 22: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Les besoinsles décrire

Page 23: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

UML et le besoin

Enregistrer une

nouvelle adhésion

:ADHERENTEnregistrer la

ré-inscription d’un adhérent

Enregistrer l’exclusion

d’un adhérent

CU Gestions des

adhésions

:BIBLIOTHECAIRE

Equivalence entre taches (GRL) et UC.

Page 24: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Description d’un UC par UML

http://commons.wikimedia.org/wiki/File:UML_Sequence_diagram.JPG

Page 25: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Use Case Maps

Puis diag. de séquences, d’activités.Equivalence entre taches (GRL) et UC.

• Permettent de décrire la dynamique d’un scénario en lien avec les composants utiles

• Décrivent la relation causale entre les responsabilités d’un ou de plusieurs cas d’utilisation

• Fais le lien entre le cas d’utilisation (use case) et la conception• L’utilisation des use case maps integer beaucoup de scenarios ce

qui permet d’apprécier les interactions indésirables entre les scénarios

Introduction to Use Case Maps, Daniel Amyot, Gunter Mussbacher

Page 26: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

StartPoint

Components

• start points avec pré-conditions, end points avec

éventuellement des post-conditions.

• On attribue la responsabilité d’une action, tâche ou

fonction

http://jucmnav.softwareengineering.ca/ucm/pub/UCM/VirLibTutorial99/UCMtutorial.pdf

• Une route traverse les passages d’un point d’entrée à

un point final, c’est un scénario

Page 27: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Use Case Maps

Introduction to Use Case Maps, Daniel Amyot, Gunter Mussbacher

UCM Example: Commuting

ready

to

leave

home

in

cubicle

home transport elevator

secure

home

X X

commute

X

take

elevator

secure

homecommute

take

elevator

Static Stub

stay

home

Dynamic Stub(selection policy)

Page 28: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Use Case Maps

Introduction to Use Case Maps, Daniel Amyot, Gunter Mussbacher

UCM Example: Commute - Car (Plug-in)

transport

X

drive car

transport

X

commutecommute

Page 29: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Use Case Maps

Introduction to Use Case Maps, Daniel Amyot, Gunter Mussbacher

UCM Example: Commute - Bus (Plug-in)

person

read

Dilbert

X

X

take 182

AND Fork OR JoinOR Fork AND Join

transport

Xtake 97

Xtake 95

transport

X

commutecommute

Page 30: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

User Elevator Control System

inelevator

above

below

at requestedfloor

Arrival Sensor

approachingfloor

doorclosing-delay

add to list

[else]

no requests

[stationary]

[moving]

[not requested]

door closemotor up

motor down

moving

decide ondirection

motorstop

[requested]

dooropen

Select Destination

removefrom list

[more requests]

The elevator control system case study is adapted from Hassan

Gomaa's Designing Concurrent, Distributed, And Real-Time

Applications with UML (p459-462), copyright Hassan Gomaa

2001, published by Addison Wesley. Used with permission.

elevator

X

take

elevator

take

elevator

Page 31: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

User

Arrival Sensor

Service Personnel

Scheduler

Elevator

inelevator

above

below

decide on direction

[else]

door close

motorup

motordown

moving

at floor

updown

selectelevator

approachingfloor

[not requested]

motorstop

[requested]

door open

at requestedfloor

stationary-memory

switch on

doorclosing-delay

add tolist

[on list]

alreadyon list

remove from list

Arch. Alternative (I)

elevator

X

take

elevator

take

elevator

Page 32: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

User Requirement Notation (URN)

Goal Oriented Requirement Langage Use Case Maps

Besoins Non fonctionnels Besoins fonctionnels

http://www.UseCaseMaps.org

URN

Why ? WHAT ?

(UML répond à la question : HOW?)

http://ojs.academypublisher.com/index.php/jsw/article/viewFile/0605747768/3030

Page 33: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

?

?MSC, UML Use Case Diagram & Activity Diagram

Informal Requirements, Textual Use Cases

URN — Missing Piece ofthe Modelling Puzzle?

UCMs link to operationalizations(tasks) in GRL models

Structural Diagrams

SDL, eODL, or UML class, object, component, & deployment diagrams

Testing and Performance LanguagesTTCN, LQN, ...

Behavioral DiagramsMSC/SDL, or UML sequence, collabor., & statechart diagrams

UCMs represent visually use cases in terms of causal responsibilities

UCMs provide a framework for making high level and detailed design decisions

UCMs visually associate behavior and structure at the system level

URN-FR / UCMs

Superimpose visually system level behavior onto structures of abstract components. Can replace UML use case & deployment diagams.

URN-NFR/GRLGoals, non-functional requirements, alterna-tives, rationales

www.usecasemaps.org/urn/200211-geneva/URN-Geneva20021123.ppt

Page 34: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

http://jucmnav.softwareengineering.ca/ucm/bin/view/ProjetSEG/WebHome

Page 35: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

Conclusion

• La démarche par les objectifs semble intéressante, même utilisée sans lien avec le reste, afin de clarifier les choses depuis le début du projet.

• L’approche Use Case Maps est à étudier plus précisément et à comparer avec UML, surtout en comparaison des diagrammes d’activités.

• User Requirement Notation a le mérite de faire le lien entre les objectifs, les besoins et les scénarios dans une approche globale.

Page 36: un clin d’œil aux besoins · Un point sur les méthodes un clin d’œil aux besoins Laurent Pérochon UMR METAFORT Laurent.perochon , vetagro-sup.fr Ecole ENVOL 2014

« IteratifCycles » par Vickoff — Travail personnel. Sous licence Creative Commons Attribution-Share Alike 3.0 via Wikimedia Commons -http://commons.wikimedia.org/wiki/File:IteratifCycles.jpg#mediaviewer/File:IteratifCycles.jpg

Crédit images

(cascade) projectname user Christophe.moustier [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons

(Spiral) Conny at the German language Wikipedia [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons

"V-model" di m_ajith - Opera propria. Created using Microsoft Visio 2007.. Con licenza Public domain tramite Wikimedia Commons -http://commons.wikimedia.org/wiki/File:V-model.JPG#mediaviewer/File:V-model.JPG

« VueGlobaleScrum » par Original uploader was Avangel at fr.wikipedia — Transferred from fr.wikipedia; transferred to Commons by User:Bloody-libu usingCommonsHelper.. Sous licence Creative Commons Attribution-Share Alike 2.5 via Wikimedia Commons -http://commons.wikimedia.org/wiki/File:VueGlobaleScrum.png#mediaviewer/File:VueGlobaleScrum.png

"Test-driven development" by Excirial (Contact me, Contribs) - Own work (Original text: I created this work entirely by myself.). Licensed under Creative Commons Attribution-Share Alike 3.0 via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Test-driven_development.PNG#mediaviewer/File:Test-driven_development.PNG

"Luke 2004-05-19" by Cpl. Matt Millham - Direct link source. Licensed under Public domain via Wikimedia Commons -http://commons.wikimedia.org/wiki/File:Luke_2004-05-19.jpg#mediaviewer/File:Luke_2004-05-19.jpg

"V-model" di m_ajith - Opera propria. Created using Microsoft Visio 2007.. Con licenza Public domain tramite Wikimedia Commons -http://commons.wikimedia.org/wiki/File:V-model.JPG#mediaviewer/File:V-model.JPG

By User:Mac9 of the Italian Wikipedia (http://de.wikipedia.org/wiki/Bild:Activity-2.png) [Public domain], via Wikimedia Commons

By Rhoda Baer (Photographer) [Public domain or Public domain], via Wikimedia Commons

https://www.itu.int/itudoc/itu-t/com17/urn/urnp5_pp7.ppt