Retour d'expérience du métier d'architecte logiciel

Post on 10-Jun-2015

507 views 1 download

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 of Retour d'expérience du métier d'architecte logiciel

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 mik@capcaval.org 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