Tribunes

Une démarche de réalisation productive

Une démarche de réalisation productive

Cette tribune décrit une méthodologie de conception structurée de système d'information. Elle résume l'approche de deux ouvrages parus chez Hermes-Lavoisier.

PublicitéUn SI (ou un sous-système du SI) cible « idéal » doit posséder 5 qualités :
- Il prend en compte les besoins issus du plan stratégique de l'entreprise ou de l'organisme
- Il optimise les processus métiers (agilité)
- Il est correctement urbanisé (urbanisation)
- Les applications de l'urbanisme applicatif sont correctement architecturées (architecture)
- Ces applications sont correctement implémentées (code notamment)

et :

- L'organisation de la société (entreprise ou organisme) est clairement définie sous forme de rôles métier (indépendants de l'organisation physique et donc des réorganisations)
- Les démarches de management utilisées sont performantes

Dans la démarche de réalisation complète d'un SI (décrite dans deux livres publiés aux éditions Lavoisier), je raisonne à chaque niveau en terme de composants = boîte noire offrant des fonctionnalités cohérentes accessibles par des prises (opérations, contrats d'interface, contrat de service etc.). J'indique ensuite des règles pour optimiser chaque niveau (cohérence horizontale). Par exemple, au plus haut niveau, les besoins pertinents à prendre en compte se définissent à partir d'enjeux avec l'aide du SI décisionnel (datawarehouse, datamining, Big Data, ...) ... Au plus bas niveau, le code s'optimise à l'aide des design patterns et des frameworks.

Puis je trouve des règles de transformation entre les niveaux (cohérence verticale). Par exemple, à l'aide de différents modèles, la vue métier du SI effectuée sous forme d'activités métiers se transforme en Use Cases (Cas d'utilisation) pour la vue fonctionnelle et en Use Case Realization pour la vue applicative.

En outre, à chaque niveau, les composants doivent être fortement cohérents et faiblement couplés : ils doivent pouvoir évoluer quasiment indépendamment, car ils n'accèdent entre eux que par des prises. Les prises d'un même composant doivent être faiblement couplés : on doit pouvoir créer, modifier, détruire une prise avec aucun ou très peu d'impact sur les autres prises du même composant.

Ainsi, lorsque les besoins de la société évoluent, le SI évolue mais ses évolutions n'impacteront que quelques composants et que quelques prises de ces composants.

Cette démarche « top-down » définit ainsi un SI (ou un sous-système du SI) cible idéal, grâce aux cohérences horizontales et verticales. Ensuite, nous allons intégrer le SI existant dans le SI cible par une couche façade et un bus informatique.

Par exemple, pour un opérateur télécom, nous allons façader les (trop) nombreuses applications du processus de réalisation d'une commande par un bus qui offrira au processus de prise de commande les prises (opérations) suivantes : « mettre à jour le réseau mobile pour un client », « mettre à jour le réseau ADSL pour un client », « initialiser le compte de facturation récurrente du client » etc.

PublicitéLe processus de réalisation de commande est donc assimilé à un macro-composant accessible par ces prises qui masquent la complexité des (nombreuses) applications. Ces prises de haut niveau changent rarement : ce sont les implémentations de ces prises qui changent en fonction du contexte indiqué dans les paramètres.

En « zoomant » sur les processus, nous devrions trouver des composants processus et en « zoomant sur les composants processus », nous devrions trouver des composants logiciels.

De la même façon, nous pouvons définir des services métiers idéaux « top-down » qui façadent et agrégent de (trop nombreux) services métiers existants en masquant leur complexité.

Par exemple, nous supposerons que dans un SI, pour des raisons historiques les produits et services commerciaux des clients sont disséminés dans de nombreuses bases de données. Nous définissons alors le service métier « top-down » rechercher tous les produits er services commerciaux détenus par un client qui ira récupérer ces produits / services dans les bases de données existantes puis agrégera et unifiera toutes ces informations.

Dans une deuxième étape, nous remplacerons les composants mal urbanisés et mal architecturés par des composants bien urbanisés et bien architecturés sans toucher à leurs prises et en enlevant la couche façade.

Cette démarche a fait ses preuves dans de nombreuses entreprises et administrations via des organismes de formation. Elle peut s'extrapoler dans d'autres domaines que l'informatique.

Par exemple, la fabrication d'un produit fini doit être un assemblage de composants fortement cohérents et faiblement couplés communiquant par des prises. Ainsi, la réparation ou l'évolution du produit n'impactera que quelques composants et que quelques prises.

Pour une oeuvre littéraire, chque chapitre peut être assimilé à un composant fortement cohérent, les prises étant les liens entre les chapitres qui assurent la cohérence globale de l'oeuvre.

Ainsi, tout domaine scientifique ou non scientifique peut considérablement se simplifer par la structuration, la modélisation, la factorisation (rassembler des éléments homogènes) et la transformation.

Bibliographie de La réalisation optimale de systèmes informatiques.

Bibliographie de La réalisation d'un SI performant pour l'entreprise.

Partager cet article

Commentaire

Avatar
Envoyer
Ecrire un commentaire...

INFORMATION

Vous devez être connecté à votre compte CIO pour poster un commentaire.

Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire

    Publicité

    Abonnez-vous à la newsletter CIO

    Recevez notre newsletter tous les lundis et jeudis

    La question du moment
    Avez-vous démarré la conteneurisation de vos applications en production ?