En poursuivant votre navigation sur notre site, vous acceptez l’utilisation de cookies destinés à réaliser des statistiques de visite. Si vous souhaitez en savoir plus et paramétrer les cookies. cliquez ici

Soleil De Lunettes ban Ray Havana qYptfEAxwn
Black Visite Pour Étui De Victorinox Cartes qT14wIF

Nov 7, 2018 | 7 min de lecture

Tech

Nous avons vu dans notre article précédent comment identifier les fonctionnalités principales d’une application mobile et comment les prioriser en fonction d’un certain nombre de paramètres : planning, budget, faisabilité technique, etc.

Nous avons également commencé la réalisation des visuels de l’application :

  • Les wireframes : les interfaces de l’application en noir et blanc situant les actions et les fonctionnalités ;
  • Les maquettes : les interfaces finales de l’application respectant la charte graphique.
Exemple de wireframe à gauche et de maquette à droite pour notre application pour adhérents d’une salle de sport (Cf. article précédent).

Néanmoins, ces éléments graphiques ne permettent pas d’expliquer complètement comment l’application va se comporter à tout moment. Ils sont également sujets à interprétation par les développeurs. Dans la maquette ci-dessus, l’indicateur “0/10” peut être interprété comme un bouton, or il s’agit simplement d’un indicateur visuel montrant qu’aucun exercice de la séance n’a encore été réalisé.

Mittelhohem Massimo Dutti Droit Jean Dark Mit Bund Blue

 

#1 – Compléter les maquettes

Dans notre exemple, pour afficher des programmes contenant des exercices personnalisés, il faut prendre en compte les spécificités physiologiques et les contre-indications médicales propres à chaque adhérent.

Au delà des éléments graphiques en cours de réalisation, un certain nombre de questions se posent :

  • Qui est l’utilisateur final de l’application mobile ? Un adhérent ? Un coach ?Massimo Blue Dutti Bund Mittelhohem Jean Mit Dark Droit
  • D’où proviennent les informations et les paramètres des exercices à afficher à l’utilisateur ?
  • Comment filtrer les exercices du programme en fonction des spécificités physiologiques et médicales de l’utilisateur ?

Les wireframes et les maquettes ne contiennent pas les réponses à ces questions.

Ce sont alors les spécifications fonctionnelles et techniques qui complètent les éléments graphiques.

Dans tout projet de développement d’application (et de développement de logiciel au sens large), les spécifications vont permettre :

  1. De déterminer une base commune de discussion avec l’ensemble des parties prenantes du projet : la définition d’un vocabulaire transverse ;
  2. De décrire les règles métiers : les règles fonctionnelles qui régissent l’affichage des informations dans l’application et décrivent certains parcours ou cas d’usage (cas d’erreur, vues vides, etc.) ;
  3. D’identifier les webservices : comment le serveur qui contient les données et l’application communiquent.
Dos Business À Black Sac Piquadro tXxdCqd

Cela peut paraître redondant, mais un projet non spécifié est un projet risqué. Tous les “savoirs” sont détenus par les acteurs historiques du projet, soit les personnes présentes lorsque tel ou tel point technique ou fonctionnel a été discuté. En cas de départ de l’un d’eux et sans spécifications, d’expérience, le projet a tendance à se détériorer. La communication se fait plus difficilement, certaines fonctionnalités ne sont documentées nulle part et personne ne sait comment elles fonctionnent.

Et sans attendre le départ de quelqu’un, ne rien écrire peut conduire à une situation où chacun a compris quelque chose de différent et où l’équipe finit par développer des fonctionnalités dont personne n’a vouluesMassimo Mittelhohem Mit Jean Droit Dutti Bund Blue Dark.

Des spécifications intelligibles et partagées avec toutes les parties prenantes du projet sont donc nécessaires et constituent la base de tout produit mobile. Il en va de la pérennité et de la maintenabilité de tout projet.

 

#2 – Partager une même compréhension des choses

Chez FABERNOVEL TECHNOLOGIES, nous avons mis en place des spécifications fonctionnelles sous la forme d’un document spreadsheet partagé. C’est LE document de référence entre toutes les parties prenantes du projet.

Ce document détaille :

Glamorous Longues Back Manches Longsleeve Black shirt High With À Neck T Open apqaFrXv
  • Les fonctionnalités (appelées aussi User Stories) à développer : un ensemble d’actions qu’un utilisateur peut réaliser via l’interface pour atteindre un objectif (consulter, éditer, supprimer des informations, etc.).
  • L’ensemble des scenarii exhaustifs qui y sont rattachées : les étapes et les variantes possibles dans la réalisation de cet objectif (utilisateur connecté versus utilisateur non connecté, etc.).

    Droit Blue Bund Mittelhohem Mit Jean Dutti Dark Massimo qZ7wXX

Le document de spécifications définit aussi le vocabulaire du projet où l’on retrouve les définitions des objets majeurs manipulés dans toute l’application.

Dans notre exemple, le document définit :

  • Un utilisateur : un adhérent à la salle de sport
  • Un coach : la personne qui va conseiller l’adhérent dans ses entraînements Only Onlelcos Pullover Grey black Light Melange rrxvRngf
  • Un programme d’entraînement : des séances contenant des exercices personnalisés et filtrés par adhérent. etc.

 

#3 – Faire face à tous les cas possibles

Les spécifications permettent donc de décrire toutes les règles métiers de l’application, c’est-à-dire ce qui contraint l’affichage d’informations.

Pour reprendre notre exemple, le fait d’afficher des exercices filtrés suivant les caractéristiques physiologiques ou contraintes médicales de l’utilisateur correspond à une règle métier. Cette règle métier requiert d’être documentée à travers des fonctionnalités et des scenarii : il en va de la sécurité des utilisateurs !

Pour une fonctionnalité donnée, chaque scenario s’exprime comme une phrase qui peut contenir :

Prenons un exemple :

Fonctionnalité : Afficher un programme d’exercices

Scenario 1 – Afficher un programme d’exercice pour un adhérent avec des contre-indications médicalesJean Dutti Dark Blue Bund Droit Mittelhohem Massimo Mit

[Condition] Etant donné que l’utilisateur est connecté à son application

[Condition] Etant donnéBlack Poach New Tall Jeans Skinny Look Supersoft axT8x que l’utilisateur dispose d’au moins une contre-indication médicale

[Action] Quand l’utilisateur voit s’afficher un programme d’exercices

[Traitement] Alors on lui affiche les exercices du programme en lui indiquant ceux qui lui sont contre-indiqués (panneau d’alerte).

Détail d’implémentation : Dans le détail d’un exercice de l’appel GET /trainings/:id/exercices/:id vérifier si le tableau de contre-indications est non vide et s’il y a des contre-indications communes avec celles de l’utilisateur connecté.

 

Scenario 2 – Afficher un programme d’exercice pour un adhérent de sexe féminin

[Condition] Etant donné que l’utilisateur est connecté à son application

[Condition] Droit Mit Dark Dutti Bund Blue Jean Massimo MittelhohemEtant donné que l’utilisateur est de sexe féminin

[Action] Quand l’utilisateur voit s’afficher un programme d’exercices

[Traitement] Alors on lui affiche tous les exercices du programme propres à son genre

Détail d’implémentation : Dans le détail d’un exercice de l’appel GET /trainings/:id/exercices/:id récupérer le champs “gender” de type integer qui vaut 0 si c’est de genre féminin ou 1 si c’est de genre masculin. À Ruffles shirt Wide Manches Sleeve Combo Marc Longues T O'polo PngxY6S

L’ensemble des fonctionnalités et scenarii sont ainsi détaillés suivant ce modèle.

Ce format décliné en fonctionnalités puis en scenarii est inspiré d’un langage de tests appelé cucumberRose Dusty Thilde Soyaconcept Thilde Blouse Soyaconcept Soyaconcept Thilde Rose Blouse Dusty vPv7TxqwC. Il permet notamment de décrire de manière méthodique et claire l’ensemble des cas d’usage.

Le document de spécifications se construit avec les designers et les développeurs et dispose de la granularité suffisante pour entamer les développements.

Exemple de spécification de plusieurs fonctionnalités et scenarii

#4 – Spécifier la communication avec votre SI

Lors de l’écriture des spécifications fonctionnelles sous forme de fonctionnalités et de scenarii, l’équipe projet doit s’interroger sur la faisabilité technique de ce qui est souhaité. Ainsi, l’une des premières questions à se poser est la suivante : où et comment doit on récupérer les informations à afficher sur les interfaces ?Classique Classique Mango Chicago Mango Pantalon Grey Chicago Pantalon Bxn5HqwwSg

Il y a des informations écrites en dur dans le code de l’application : elles nécessitent une mise à jour de l’application pour être modifiées comme par exemple le titre des écrans ou le contenu des menus.

Certaines informations provenant d’une source extérieure : un serveur au sein d’un système d’information par exemple. Ces informations – les informations de compte ou le fil d’actualité d’un utilisateur par exemple – sont renvoyées par ce qu’on appelle des webservices.

La documentation des webservices est historiquement contenue dans des documents word ou swagger (dans le meilleur des cas). Mais ces éléments sont très rarement maintenus à jour et les informations divergent entre la théorie des documents et la réalité du webservice.

Aussi, lors des développements des fonctionnalités d’une application, nous avons généralement besoin de tester certains cas ce qui nous amène à écrire des bouchons : des données statiques d’exemple suivant le format décrit dans la documentation.

Et enfin, lorsque les webservices sont développés, il est important de tester ce qui est renvoyé.

Ainsi, notre spécification des webservices contient trois composantes :

 

Chez FABERNOVEL TECHNOLOGIES nous avons développé en interne notre propre outil de spécifications de webservices qui répond au standard de swagger Oliv Marc O'polo Chaussettes Pack 3 xCqwwgn8S7. Il sécurise et harmonise la spécification des webservices et garantit la bonne communication entre développeurs, designers, chef de projet et Product Owner.

Avec cet outil tout utilisateur peut rapidement :Naketano Naketano Veste Grey Légère Veste awxxdqvF

  • Décrire les ressources : un coach, un adhérent, un programme d’entraînement, des exercices, etc. ;
  • Décrire les routes : créer un nouvel adhérent (POST /members), éditer les informations d’un adhérent (PUT /members/:id), créer un nouveau programme d’entraînement, (POST /trainings), etc. ;
  • Générer des bouchons (ie. des données fictives) pour les développements ;
  • Voir ce qui se passe dans la communication entre les serveurs et l’application (ie. tester les webservices).

Nous avons open sourcé Imprimé College Tee Jeans Tommy Blue T shirt Essential 8qW6YWwfE4Blue Dutti Mittelhohem Bund Mit Massimo Droit Jean Dark. N’hésitez pas à y jeter un oeil et à en déployer une instance chez vous. Nous serons ravis d’avoir vos retours !

Pour l’anecdote, c’était initialement un sujet de stage mais il est rapidement devenu un outil indispensable et un standard pour l’ensemble de nos projets.

Chemise Organza Topman Multi Topman Palm Organza Palm q16xwv46
Aperçu de notre outil de spécifications de webservices baptisé PERICLES en hommage au grand guerrier et stratège de l’âge d’or grec

Pour plus d’informations sur la spécification de webservices, nous en parlions à  Web2Day en juin 2018.Bund Mit Massimo Droit Jean Blue Dutti Mittelhohem Dark

Ben Chest Navy T Sherman shirt Script Basic Basique SAaBrqS

 

#5 – Les spécifications, un indispensable de l’application mobile !

Les spécifications sont finalement les fondations de toute application. Elles permettent de développer un produit absolument conforme aux attentes du Product Owner et assurent un produit plus pérenne et maintenable sur le long terme.

Une fois votre produit spécifié : il ne vous reste plus qu’à le développer.

Vous découvrirez dans le prochain article comment bâtir une codebase SOLID suivant les principes du Clean Code.

Ces sujets vous intéressent et vous ne souhaitez rien rater de notre dossier spécial sur la démarche produit ?

Inscrivez-vous

FABERNOVEL TECHNOLOGIES

150 talents pour répondre aux défis technologiques de la transformation digitale.

à lire
Concevoir pour le mobile
Une application mobile est toujours à portée de main, compagnon de poche en mobilité. Concevoir pour le mobile, c’est accompagner les utilisateurs dans leur quotidien. Créer une application est bien plus complexe qu’il n’y paraît. Lorsqu’il s’agit de concevoir une application mobile, de nombreuses questions se posent sur des aspects fonctionnels, graphiques et ergonomiques, mais aussi à propos de la faisabilité technique, des délais de réalisation, la maintenabilité du code, la publication sur les stores et bien sûr la satisfaction des utilisateurs et retombées économiques.
Jan 17, 2014 | APPLIDIUM
12 ressources utiles pour un projet mobile
Chez Applidium, nous imaginons des services mobiles pour et avec nos clients. À ce titre, nous testons régulièrement de nouveaux outils avec pour objectif d’améliorer notre efficacité. Nous avons décidé de partager ici nos “secrets” de fabrication en listant des outils sur lesquels nous nous appuyons en dehors du triptyque classique Photoshop/IDE/Chat.
Tommy Hilfiger Doudoune Volume Tommy Blue Hilfiger zwqfP5
Mar 13, 2018 | Louis Heron
Mobile World Congress 2018 : Retour sur ce qui nous a le plus marqué
Trois membres de l’équipe étaient il y a deux semaines au Mobile World Congress 2018. Cette grand-messe du mobile réunit chaque année à Barcelone l’ensemble des acteurs du secteur : des opérateurs aux fabricants de composants, en passant par les éditeurs de logiciels et bien sûr les constructeurs d’appareils mobiles.