retour d'expérience du métier d'architecte logiciel
DESCRIPTION
Mener à bien un développement logiciel est une tâche très difficile et cela pour de multiple raisons. Une majorité de projets rencontrent des problèmes importants sur la qualité, les coûts, les délais, les performances etc… L’architecte logiciel peut avoir un impact direct ou indirect sur ces enjeux. Malheureusement, le terme architecte logiciel est très souvent galvaudé par une vision simpliste du poste. A contrario, connaître sa richesse permet d’améliorer, de manière importante, la bonne marche des projets. Ensemble nous allons voir les principaux enjeux de la production logicielle et comment l’architecte peut apporter sa plus-value. Plusieurs exemples concrets viendront illustrer ces problématiques. Pour finir une méthode de travail, centrée sur l’architecte, sera exposée de manière chronologique, cela aidant à la maîtrise de la création de logiciel.TRANSCRIPT
1Par Mik Arber
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Architecte Logicielretour d'expérience
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 2
Architecte logicielRetour d'expérience Qui-suis-je ?
Mikael Le BerreMikael Le Berre Architecte Logiciel
MikArber [email protected] BLOG : BLOG : http://miksblog.capcaval.org/
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 3
Architecte logicielRetour d'expérience Sommaire
● Introduction● Exemples de problématiques● Exemple d'une méthode
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 4
Architecte logicielRetour d'expérience Introduction
Introduction
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 5
Architecte logicielRetour d'expérience Introduction - 1
Poste central et riche Humainement
Client Intégrateur
Développeurs
Responsable de projet
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 6
Architecte logicielRetour d'expérience Introduction - 2
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 7
Architecte logicielRetour d'expérience Examples
Exemples de
problématiques
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 8
Architecte logicielRetour d'expérience Exemple 1
Configuration d'application
● problème● Surcomplexité du à la configuration● Fragilité sur le lancement
● Solution● Qui va utiliser la configuration ? Pour configurer quoi ?● Création App configuration App lancement App→ →
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 9
Architecte logicielRetour d'expérience Exemple 2
● Problème● Pas de découpe ou
mauvaise découpe
● Solution● Séparer code
fonctionnel et technique au minimum
Découpe du logiciel
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 10
Architecte logicielRetour d'expérience Exemple 3
● Problème● Mauvais placement =
mauvaise dépendance● Navigation dans le
code difficile
● Solution● Architecture de type
arborescence
Placement fonctionnel
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 11
Architecte logicielRetour d'expérience Exemple 4
● Problème● Sans test =
mauvaise qualité● Tests trop lourd
● Solution● Tests orienté
fonction
Stratégie de test
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 12
Architecte logicielRetour d'expérience Exemple 5
● Problème● Abstraction mal adaptée au
besoin● Problème de nommage.
« Mal nommer un objet c'est ajouter au malheur de ce monde » → Albert Camus
● Solution● Trouver des abstractions
facile à partager.
Abstraction inappropriée
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 13
Architecte logicielRetour d'expérience Méthodes
Exemple d'une méthode
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 14
Architecte logicielRetour d'expérience Méthode 1
● Définir les interfaces● De type informatique, par ex : réseau, mémoire,
base de donnée● De type IHM
● Définir les exigences● De type traitement ou algorithmique● De type performance ou contrainte● Etc..
Récupération des entrées
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 15
Architecte logicielRetour d'expérience Méthode 2
● Sur l'architecture● Définition complète
nécessaire
● Sur les coûts● Même si l'enveloppe est
déjà connu● Sur les plannings
● Même si les ressources et date de livraison sont déjà définies.
Projeter les entrées
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 16
Architecte logicielRetour d'expérience Méthode 3
● Identification● Performance et ressource● Difficultés de réalisation
● Planification● Le plus tôt possible →
pour pouvoir gérer les imprévues
Gestion des risques
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 17
Architecte logicielRetour d'expérience Méthode 4
● Au minimum● Comprendre comment
les bugs sont passés au travers des tests
● Faire des revues sur les tests-> les tests sont révélateur de la qualité globale
Suivi du projet
Licence Creative CommonsCe(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France.
Page 18
Architecte logicielRetour d'expérience