• Aucun résultat trouvé

Génie Logiciel et Interaction Homme-Machine

N/A
N/A
Protected

Academic year: 2022

Partager "Génie Logiciel et Interaction Homme-Machine"

Copied!
19
0
0

Texte intégral

(1)

Génie Logiciel et

Interaction Homme-Machine

Christophe Kolski

Professeur en Informatique

Laboratoire d’Automatique, Mécanique et Informatique, industrielles et Humaines (LAMIH) Département Informatique

Université Polytechnique Hauts-de-France

https://www.uphf.fr/LAMIH/en/membre?id=kolski_christophe

(2)

Plan

- Introduction sur le Génie Logiciel et l’Interaction Homme-Machine, briques de base méthodologiques

- UML

- Méthodes agiles avec SCRUM

- Modèles de base en Interaction Homme-Machine

- Conclusion

(3)

Génie Logiciel

Génie Logiciel (GL) :

- Science de l'ingénieur, terme apparu en 1968 (Department of Defense (DoD) - Définitions :

“Ensemble des activités de conception et de mise en oeuvre des produits et des procédures

tendant à rationaliser la production de logiciel et son suivi" (Arrêté ministériel du 30/12/1983)

"Ensemble des procédures, méthodes, langages, ateliers, imposés ou préconisés par les normes adaptées à l'environnement d'utilisation, afin de favoriser la production et la maintenance de composants logiciels de qualité" (JAULENT, 1990)

- Objectifs :

 Logiciels sûrs, conviviaux (ergonomiques), évolutifs, économiques ; produire

logiciels de qualité (normes ISO, AFNOR, IEEE), “faire bien dès la première fois”

- Rigueur dans les démarches de travail ; analyser, concevoir puis réaliser et tester

(importance des cycles de vie, des méthodes) ; vers des approches incrémentales, itératives, agiles - Lectures conseillées en GL (cf. B.U.) :

SOMMERVILLE (1994 et éditions récentes), PRINZ (2005), GAUDEL et al. (1996), STROHMEIER et BUCHS (1996), GUSTAFSON (2003)…

Ressource : SWEBOK, Guide to the Software Engineering Body of Knowledge (2014)

(4)

- Interaction homme-machine : discipline consacrée à la conception, la mise en œuvre et à

l’évaluation des systèmes informatiques interactifs destinés à des utilisateurs, ainsi qu’à l’étude des principaux phénomènes qui les entourent (SIGCHI Curriculum Development Group, 1992)

Interface de

l’Application Contrôleur de Dialogue

Présentation

Utilisateur

Application

Système Interactif

Tâche 0

Tâche 1

par

Tâche 2 alt

seq

Tâche11

Tâche12

Tâche13

Action1

Action2

Modèle de Seeheim

- Associations en IHM :

Au niveau international : ACM SIGCHI http://sigchi.org

Au niveau national : AFIHM http://www.afihm.org

Interaction Homme-Machine

(5)

IHM et Conception centrée utilisateur

- Conception centrée utilisateur (User-centered design) (NORMAN, 1986) ; selon (ISO 13407) :

UCD : conception basée sur l’humain, conception ergonomique, basée sur l’utilisabilité…

UCD : approche plaçant l’utilisateur au centre du processus de développement

UCD : collection de techniques, méthodes, outils, procédures et processus pour la conception de produits et systèmes utilisables

UCD : pratique de conception d’un produit que l’utilisateur peut utiliser ; nécessite usage, opération, service, tâche

Guider le développement par les besoins des utilisateurs plutôt que par les possibilités technologiques

Théorie de l’action de NORMAN (1986)

(6)

Eléments méthodologiques en Génie Logiciel (cycles de vie)

- Modèle en cascade avec retour (Waterfall, BOEHM, 1981), importance de la documentation :

- Retours arrières limités seulement à la phase immédiatement antérieure, contrôle imposé à la fin de chaque étape, stabilisation rapide du

produit (nécessité d’en avoir une vision précise)

Spécification

Validat ion Faisabilit é, cahier

des charges

Validat ion

Conception

Vérification Conception dét aillée

Vérification Codage

T ests unitaires Int égration

Vérification

Exploit at ion Maintenance

Revalidation Documentation

Mise en œuvre T est

Rem : puisque modèle générique, rien d’explicite sur l’IHM

(7)

- Modèle en V : chaque étape de conception prévoit une étape d'évaluation/validation (plan, moyens, méthodes) ; préconisé par les organismes de qualité

Spécification fonctionnelle

Conception préliminaire

Conception détaillée

Codage du logiciel

Tests unitaires

Intégration et Tests d'Intégration

Recette

SpécificationConception ValidationRéalisation

Orientation, faisabilité des

besoins

Exploitation, maintenance

Eléments méthodologiques en Génie Logiciel (cycles de vie)

- stabilisation rapide du produit (nécessité d’en avoir une vision précise)

Rem : idem, puisque modèle générique, rien

d’explicite sur l’IHM

(8)

- Modèle Spirale (BOEHM et al., 1984) : axé sur l'analyse du risque, processus itératif

► Quand l’image du produit visé n’est pas claire a priori

analyse

du risque prototype 1

prototype 2

prototype 3

prototype opérationnel

simulation, modèles, évaluations analyse

du risque analyse du risque

analyse du risque

concept de la mission

Evaluer les alternatives, identifier, résoudre les risques

planification de l'analyse et

du cycle de vie Déterminer les objectifs, les alternatives, les contraintes

Planifier les phases suivantes

spécification du logiciel validation

plan de développement

conception du logiciel

validation de la conception et vérification

conception détaillée codage tests

uni- taires intégration

et tests tests de

recette implémentation

Développer, vérifier le produit du niveau suivant

plan d'intégration et

de tests Progression

au travers des étapes

Coûts cumulés

Eléments méthodologiques en Génie Logiciel (cycles de vie)

Influence sur le modèle agile (cf. plus loin) Rem : idée de prototype (au sens

large, incluant les maquettes)

(9)

Eléments méthodologiques en Génie Logiciel (cycles de vie)

- Prépondérance actuellement des méthodes agiles (cf. partie 3)

Backlog : liste de fonctionnalités, user stories…

(10)

Les méthodes du GL : qu’est-ce qu’une méthode ?

- Doit comprendre :

Démarche : processus opératoire grâce auquel s'effectue le travail de modélisation, de description, de réalisation, d'évaluation du système

- basée sur un cycle de vie

Des modèles : ensemble de concepts et de règles pour les

utiliser, destiné soit à expliquer et construire la représentation des phénomènes organisationnels, soit à expliquer et représenter les éléments qui composent le logiciel et leurs relations

- Aspects textuels et graphiques

Des langages : ensemble de constructions permettant de décrire formellement les spécifications d'un système

Des outils : supports de la démarche (documentation, évaluation, simulation, conception, réalisation...)

- Supports logiciels, Ateliers de Génie Logiciel (AGL)

(11)

Les classes de méthodes du GL existantes

- Méthodes "cartésiennes“ :

► Pour étudier un phénomène, le diviser en éléments simples, étudier ces éléments, les réunir et les synthétiser“ (décomposition descendante, approche fonctionnelle,

structurée ; premières méthodes (60/70), SASD, SA_RT, SADT…

- Méthodes "systémiques“ :

► Approche systémique de l'organisation, de l’entreprise : insertion d'un SI dans celle- ci : MERISE, REMORA...

- Méthodes “formelles“ :

► Processus : vu comme une séquence d'étapes qui transforment graduellement, par

affinements successifs, une spécification en une réalisation ; notations et vérifications mathématiques formelles : B, VDM, Z...

- Méthodes "objets“ (ou “orientées objets”) :

► De la POO à l'AOO et la COO ; engouement actuellement, nombreuses méthodes (OMT, Objectory, OOA/OOD...) puis convergence : UML

- Méthodes “agiles“ (VICKOFF, 2005) :

► Adaptation au changement, développement rapide, prise en compte des nouvelles

architectures et technologies : RAD, XP (Extreme Programming), SCRUM…

(12)

Qualité du Logiciel

(actuellement)

- Evolution de ISO/IEC 9126 : ISO 25000, Software engineering – Software product Quality Requirements and Evaluation (SQuaRE), 2005, révisée en 2014)

Adéquation fonctionnelle

Performance Compatibilité Facilité Fiabilité Sécurité Maintenabilité Portabilité d’utilisation

(utilisabilité)

Applicable à un produit logiciel ou un système intégrant un logiciel

(13)

Traduction provenant de :

https://fr.slideshare.net/PierrePi/exigences-de-qualit-de-systme-logiciel

(14)

Qualité du Logiciel

(actuellement)

- Evolution de ISO/IEC 9126 : ISO 25000, Software engineering – Software product Quality Requirements and Evaluation (SQuaRE), 2005, révisée en 2014) (suite)

Caractérise l’impact qu’a un produit (logiciel ou système) sur des acteurs (stakeholders). Ceci est déterminé par la qualité du logiciel, du matériel et de l’environnement opérationnel, ainsi que par les caractéristiques des utilisateurs, des tâches et de l’environnement social

(15)

Traduction provenant de :

https://fr.slideshare.net/PierrePi/exigences-de-qualit-de-systme-logiciel

(16)

- Définitions (BRANGIER et BARCENILLA, 2003) :

► Affordance d’un produit : renvoie à sa capacité à être compris et utilisé sans avoir besoin d’information supplémentaire.

► Apprenabilité : facilité d’apprentissage appréciée lors de la première confrontation au produit ou après une période d’inactivité.

► Efficacité : représente ce qui produit l’effet attendu par l’utilisateur. Elle concerne la précision ou degré d’achèvement selon lesquels l’utilisateur atteint des objectifs spécifiés (ISO 9241, 1998).

► Efficience : la capacité de produire une tâche donnée avec le minimum d’efforts ; plus l’effort est faible, plus l’efficience est élevée. Elle concerne le rapport entre les ressources dépensées et la précision et le degré d’achèvement selon lequel l’utilisateur atteint des objectifs spécifiés (ISO 9241-11, 1998).

► Ingénierie de l’utilisabilité : processus de conception permettant de définir l’utilisabilité d’un produit quantitativement et prédictivement.

► Satisfaction : se réfère au niveau de confort ressenti par l’utilisateur lorsqu’il utilise un objet

technique. C’est une évaluation subjective provenant d’une comparaison entre ce que l’acte d’usage apporte à l’individu et ce qu’il s’attend à recevoir.

► Utilisabilité : dans son acceptation la plus large, désigne la « facilité d’apprentissage » et la

« facilité d’utilisation » d’un produit, service ou système technique. C’est le « degré selon lequel un produit peut être utilisé, par des utilisateurs identifiés, pour atteindre des buts définis avec efficacité, efficience et satisfaction, dans un contexte d’utilisation spécifié » (ISO 9241-11, 1998).

Critères pour la conception et l’évaluation (sous l’angle de l’IHM)

(17)

Critères pour la conception et l’évaluation (sous l’angle de l’IHM)

- Expérience utilisateur (ou UX pour User eXperience):

 Tentative de qualification du résultat (bénéfice) et du ressenti de l'utilisateur

(expérience) lors d'une manipulation (utilisation provisoire ou récurrente) d'un objet fonctionnel ou d'une interface utilisateur de manière heuristique par un ensemble de facteurs.

 Sous entend un impact émotionnel cumulé à un bénéfice rationnel ; viser à créer une expérience agréable

The User Experience Honeycomb

(18)

© C. Kolski

Contribution à la communication et la qualité par la modélisation et la documentation

- Quel que soit le cycle de vie utilisé :

Importance de la documentation à chaque étape (bibliothécaire du projet)

Comprendre les besoins des utilisateurs ; être proche d’eux ; importance des démarches participatives ; utiliser des supports de dialogue (importance de la modélisation !)

Bibliothécaire du projet

Dialogue entre les différents intervenants

Autres intervenants (graphistes, ergonomes…)

Experts du domaine Décideurs

Utilisateurs

Informaticiens

(Analystes, concepteurs, programmeurs, testeurs…)

Modèles du GL (ex. UML) et de l’IHM) (tâches, profils utilisateur…) :

contribution à une base de travail

commune dans un projet

(19)

Bibliographie

GAUDEL M.C., MARRE B., SCHLIENGER F., BERNOT G. (1996). Précis de génie logiciel.

Editions Masson, Paris.

GUSTAFSON D. (2003). Génie Logiciel. Collection Schaum's, Paris : EdiScience.

PRINZ J. (2005). Le génie logiciel. Collection Que sais-je ?, Paris, Presses Universitaires de France.

SOMMERVILLE I. (1994). Le génie logiciel, 4ème édition, Addison-Wesley.

STROHMEIER A., BUCHS D. (1996). Génie logiciel : principes, méthodes et techniques. Presses Polytechniques et Universitaires Romandes, Lausanne.

SWEBOK, Guide to the Software Engineering Body of Kowledge V3.0 (2014), IEEE.

VICKOFF J.P. (2005). Estimation et architecture des développements agiles. Editions Hermes- Lavoisier, Paris.

Références

Documents relatifs

À l’instar de ce que nous avons pu observer dans le cas du système de formation français, les diplômes délivrés dans l’enseignement supérieur sont d’un niveau

Sur la base de cette justification formelle et contestée par les entreprises elles- mêmes, la Commission parvient ainsi à déclencher la réflexion non pas sur l’instauration

- Dans quelle mesure les interactions favorisant l’apprentissage sont-elles plus présentes dans les groupes d’amis que dans les groupes de non-amis lors de la

One major part of the tactics was to initiate change, that is, introducing UCD, through user centred methods and a user centred attitude. With this we mean treating the re-

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Un autre langage (XForms User Interface) est utilisé pour décrire comment, selon le contexte (plate- forme et préférences du navigateur), le formulaire sera rendu à

Enfin, nous avons présenté FlexiLab, notre atelier de conception et d'exécution d'IHM plastiques, permet la mise en œuvre concrète des formes de flexibilité proposées par le