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.
Retour d'expérience du métier d'architecte logiciel
1. 1
Par Mik Arber
Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon
les termes de la Licence Creative Commons
Paternité - Partage à l'Identique 2.0 France.
Architecte Logiciel
retour d'expérience
2. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 2
Architecte logiciel
Retour d'expérience Qui-suis-je ?
Mikael Le BerreMikael Le Berre
Architecte Logiciel
MikArber mik@capcaval.org BLOG :BLOG : http://miksblog.capcaval.org/
3. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 3
Architecte logiciel
Retour d'expérience Sommaire
●
Introduction
●
Exemples de problématiques
●
Exemple d'une méthode
4. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 4
Architecte logiciel
Retour d'expérience Introduction
Introduction
5. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 5
Architecte logiciel
Retour d'expérience Introduction - 1
Poste central et riche Humainement
Client Intégrateur
Développeurs
Responsable
de projet
6. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 6
Architecte logiciel
Retour d'expérience Introduction - 2
7. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 7
Architecte logiciel
Retour d'expérience Examples
Exemples de
problématiques
8. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 8
Architecte logiciel
Retour 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→ →
9. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 9
Architecte logiciel
Retour 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
10. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 10
Architecte logiciel
Retour d'expérience Exemple 3
●
Problème
●
Mauvais placement =
mauvaise dépendance
●
Navigation dans le
code difficile
●
Solution
●
Architecture de type
arborescence
Placement fonctionnel
11. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 11
Architecte logiciel
Retour d'expérience Exemple 4
●
Problème
●
Sans test =
mauvaise qualité
●
Tests trop lourd
●
Solution
●
Tests orienté
fonction
Stratégie de test
12. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 12
Architecte logiciel
Retour 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
13. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 13
Architecte logiciel
Retour d'expérience Méthodes
Exemple d'une méthode
14. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 14
Architecte logiciel
Retour 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
15. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 15
Architecte logiciel
Retour 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
16. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 16
Architecte logiciel
Retour 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
17. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 17
Architecte logiciel
Retour 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
18. Licence Creative Commons
Ce(tte) oeuvre est mise à disposition selon les
termes de la Licence Creative Commons Paternité -
Partage à l'Identique 2.0 France.
Page 18
Architecte logiciel
Retour d'expérience