Le rôle d'architecte logiciel a la responsabilité de l'architecture logicielle, comprenant les décisions techniques clés contraignant la conception globale et l'implémentation du projet.


Rubriques

 
Signal
Signal


Modèle d'implémentation
Modèle d'implémentation

           
 
Bien-fondé de la conception architecturale
Bien-fondé
de la conception
architecturale


Architecture de référence
Architecture
de référence


Modèle de déploiement
Modèle de
déploiement


Modèle de conception
Modèle de
conception


Document d'architecture logicielle
Document
d'architecture
logicielle


Modèle d'analyse
Modèle d'analyse


Evénement
Evénement


Interface
Interface

 
Responsable de
 

Architecte logiciel
Architecte
logiciel


Incorporer les éléments de conception existants
Incorporer
les éléments
de conception
existants


Structurer le modèle d'implémentation
Structurer
le modèle
d'implémentation

           

Décrire la répartition
Décrire
la répartition


Décrire l'architecture d'exécution
Décrire
l'architecture
d'exécution


Elaborer le concept architectural
Elaborer
le concept
architectural


Evaluer la viabilité du concept architectural
Evaluer
la viabilité
du concept
architectural


Analyse architecturale
Analyse
architecturale


Hiérarchiser les cas d'utilisation
Hiérarchiser
les cas
d'utilisation


Identifier les mécanismes de conception
Identifier
les mécanismes
de conception


Identifier les éléments de conception
Identifier
les éléments
de conception

 
 
Modifie
 
Compte-rendu de la revue
Compte-rendu
de la revue


Classe d'analyse
Classe d'analyse


Exigence logicielle
Exigence
logicielle


Sous-système de conception
Sous-système
de conception


Paquetage de conception
Paquetage
de conception


Classe de conception
Classe de
conception


Enterprise Java Bean (EJB)
Enterprise
Java Bean
(EJB)


Sous-système d'implémentation
Sous-système
d'implémentation


DescriptionHaut de la  page

L'architecte logiciel assume la responsabilité de prendre les principales décisions techniques en termes d'architecture logicielle. Ceci comprend habituellement l'identification et la documentation des aspects architecturalement significatifs du système, y compris les exigences, la conception, l'implémentation et les "vues" d'implémentation du système.

L'architecte doit également fournir les raisons qui ont conduit à ces décisions, établir un compromis entre les soucis des différents intervenants, limiter les risques techniques et s'assurer que les décisions sont correctement communiquées, validées et acceptées de tous.

Informations connexes Haut de la page

Cette section fournit des liens vers d'autres informations se rapportant à ce rôle.

 

Dotation en personnel Haut de la page

Compétences Haut de la page

"L'architecte idéal serait un homme de lettres, mathématicien, amateur d'études historiques, étudiant en philosophie, mélomane, attiré par la médecine, au courant de la jurisprudence, passionné d'astronomie et de calculs astrophysiques." - Vitruvius, vers 25 avant Jésus Christ

En résumé, l'architecte logiciel doit être expérimenté et posséder une maturité, une vision et une expérience qui lui permettent de saisir rapidement les problèmes et de se faire rapidement un jugement éclairé et critique en l'absence d'informations complètes. Plus particulièrement, l'architecte logiciel, ou les membres de l'équipe d'architecture, doivent réunir les compétences suivantes :

  • Expérience, aussi bien dans le domaine concerné, à travers une compréhension profonde des exigences, que dans le domaine de l'ingénierie logicielle. S'il y a une équipe, ces qualités peuvent être réparties sur les membres de l'équipe, mais au moins un architecte logiciel doit avoir une vision globale du projet.
  • Leadership, pour pouvoir répartir le travail technique entre les diverses équipes, prendre des décisions critiques sous pression et assurer la bonne application de ces décisions. Pour être efficace, l'architecte logiciel et le chef de projet doivent travailler étroitement ensemble, l'architecte logiciel conduisant les affaires techniques et le chef de projet conduisant les affaires administratives. L'architecte logiciel doit être habilité à prendre des décisions techniques.
  • Communication, pour gagner la confiance, persuader, motiver et être le mentor. L'architecte logiciel ne peut pas diriger par decret, mais seulement par le consentement du reste de l'équipe. Pour pouvoir être efficace, l'architecte logiciel doit gagner le respect de l'équipe de projet, du chef de projet, du client, de la communauté des utilisateurs et de l'équipe de direction.
  • Concentration sur les objectifs et proactivité, avec un souci permanent du résultat. L'architecte logiciel est la force technique directrice du projet, et non pas un visionnaire ou un rêveur. La carrière d'un bon architecte logiciel est constituée d'une longue série de décisions sous-optimales, prises dans l'incertitude et sous pression. Seuls ceux qui sont capables de se concentrer sur ce qui doit être fait, réussiront dans l'environnement du projet.

Du point de vue de l'expertise, l'architecte logiciel doit également couvrir les capacités du Rôle : Concepteur. Mais contrairement au concepteur, l'architecte logiciel :

  • tend à être un généraliste plutôt qu'un spécialiste, avec des connaissances de base sur de nombreuses technologies, plutôt que des connaissances détaillées sur quelques technologies
  • prend des décisions techniques plus larges, et détient de ce fait une connaissance et une expérience plus larges, ainsi que de bonnes aptitudes à la communication et au leadership.
Approches d'affectation des rôles Haut de la page

Si le projet est suffisamment important pour justifier une équipe d'architecture, l'objectif sera de constituer un savant mélange de talents, couvrant un large spectre d'expériences et partageant une compréhension commune du processus d'ingénierie logicielle. L'équipe d'architecture ne doit pas être un comité ou constituée de représentants de diverses équipes, divers domaines ou sous-traitants. L'architecture logicielle est une fonction à plein temps, avec un personnel qui lui est dédié en permanence.

Pour les petits projets, une seule personne peut remplir les fonctions d'architecte logiciel et de chef de projet. Mais si possible, il serait préférable de voir ces deux rôles remplis par deux personnes distinctes, pour assurer que la pression exercée sur un rôle ne conduise pas à négliger l'autre rôle.

Plus d'informations Haut de la page

Voir la page références, et en particulier les références sur l'architecture logicielle.



RUP (Rational Unified Process)   2003.06.15