Thématiques principales

vendredi 8 décembre 2017

La modélisation

La réalisation d'un logiciel informatique nécessite de nombreuses taches de nature multiples. Généralement on définit les activités de production d'un logiciel au travers d'un processus de développement. Il en exige de plusieurs comme par exemple en  V, en cascade, en cycle, etc... Leur point commun est de poser un certain nombre de phases indispensable a la bonne marche du développement.

Ces phases sont généralement : Analyse, Modélisation, Conception, Développement, Test. Il peut en existe plus, on peut en considérer moins en allant parfois dans le pire des cas a se restreindre à la seule phase de développement.

Je traiterai des phases de développement dans un autre article mais j'aimerai me focaliser sur une phase que j'estime fondamentale et pourtant très souvent mise de coté : la modélisation.

Comprise entre la phase d'analyse et la phase de conception, la modélisation est très souvent négligée car assimilée soit à l'analyse soit à la conception, quand elle n'est pas complètement ignorée.

Revenons sur ce qu'est la modélisation et ses concepts:
La modélisation est l'activité consistant a produire des modèles. 
Nous avons deux termes a définir:
  • Produire: la production est la mise en œuvre de quelque chose au moyen d'outils sur la base de plans et schémas de construction ainsi que de méthodes. Produire est donc une activité intentionnelle permettant l'apparition par différents moyens de l'artefact voulu
  • Modèle: élément de représentation, de simplification ou d'abstraction réalisée dans une intention et un contexte particulier.
Ainsi produire des modèles c'est faire usage de moyens pour abstraire, simplifier, mettre en évidence quelque chose pour faire la mise en perspective de notre compréhension d'un problème et ce avec les outils dont nous disposons, c'est a dire langage de modélisation, schéma ou encore langage naturel, etc.

Cette description pourrait être assimiler à de l'analyse , sauf que l'analyse ne se réduit qu'a la compréhension du problème sans l’établissement de solution, de même on pourrait l'associer à de la conception sauf que la conception  nécessite une décomposition fonctionnelle cohérente pour être menée.

En fait on le voit ici la modélisation se superpose clairement sur l'analyse et la conception sans les remplacer complètement non plus. Mais alors qu'apporte la modélisation ? Et bien elle rempli le gap existant entre les deux. Voyons comment :

La modélisation apporte la possibilité de traduire le résultat de l'analyse pas forcement formel en des modèles compréhensibles pour la phase de conception et ce par le biais de langage de modélisation (UML, AADL, SysML, etc... tout langage permettant la mise en perspective des points de vue à aborder)

Et c'est la que c'est important, car concevoir une application c'est souvent s'appuyer sur des architecture connues et maîtrisées (en couche, décentralisées, agents, etc...) mais l’intégration du besoin dans ces architecture nécessite forcement la conceptualisation de ces modèles sans lesquels les concepts seraient dilués (comme on le voit souvent) dans la solution;  les mécanismes techniques associés mis en œuvre se retrouvent alors mal définis et mal identifiable.

En conclusion, on dit que le langage forme les idées, qu'il est impossible de conceptualiser sa penser sans le support de notre langue, il est important a ce titre que nous utilisions les langages de modélisation pour former correctement les programmes. Ces langages nous donne des outils et des méthodes adapter pour combler le vide entre spécification et conception par cette phase qui s’appelle la modélisation.

Aucun commentaire:

Enregistrer un commentaire