Passer au contenu principal

Notre Métier: L'ingénierie Système

Lancer la recherche
@ Accueil
@ L'organisation AFIS
@ Liste produits AFIS
@ S'inscrire à l'AFIS
@ Aide Utilisateur
@ Message Webmaster
@ Recherche
Site Sécurisé
  
AFIS - Association Française d'Ingénierie Système > Notre Métier: L'ingénierie Système > Pages > Modélisation > Modélisation systémique en approche fonctionnelle  

Image de la barre de titre de la page de composants WebPart
Modélisation des systèmes d'information

Pour les systèmes d'information ou systèmes à logiciel prépondérant, il est nécessaire de représenter en plus de l'approche fonctionnelle, le monde du problème ce qui a donné les modèles sémantiques ou modèles de données. Ceci à conduit à intégrer les aspects sémantiques et fonctionnels dans une approche unique: l'objet.

Dans l'approche fonctionnelle traditionnelle, les systèmes sont modélisés à différents niveaux de granularité selon trois visions complémentaires :

  • une vision fonctionnelle structurelle sous forme de diagramme de flux de données DFD (data flow diagramm) représentant ce que fait le système sous forme d'un réseau de fonctions transformant des flux (matière, énergie, information),
  • une vision dynamique soit sous forme de diagrammes état-transition (ET) modélisant les enchaînements d'états auxquels sont attachées les activités fonctionnelles, soit sous forme de diagrammes FFBD (fonctionnal flow block diagramm) représentant directement les scénarios d'enchaînements d'activités des fonctions,
  • une vision sémantique sous forme de diagrammes de type entité-relation-attribut (ERA) représentant la structure du problème sous forme d'un réseau sémantique montrant les relations entre les entités du problème et caractérisant les entités (et éventuellement les relations) par leurs attributs (données caractérisant les flux transformées par les fonctions et les états de la vision dynamique).

Les visions fonctionnelles et dynamiques partent d'une vision opérationnelle du système : le système est modélisé comme une boîte noire transformant des flux issus ou à destination de l'environnement pour répondre à ses missions (vision fonctionnelle) ou répondant aux sollicitations externes dans les divers cas d'utilisation, selon des scénarios opérationnels définis pour chaque hypothèse d'utilisation (vision dynamique).

Vision opérationnelle (en haut) et fonctionnelle (en bas) d'un système

La structuration du problème et la décomposition en sous-systèmes résultent :

- sur le plan fonctionnel d'une approche de décomposition structurée de la finalité en missions, des missions en fonction de services, de fonctions de service en sous-fonctions. Dans tous les cas on modélise par des boîtes fonctionnelles transformant des flux (matière, énergie, information).

- sur le plan dynamique d'une analyse en niveaux d'invariance temporelle du système : Phases d'emploi, modes de fonctionnement dans chaque phases d'emploi, états de fonctionnement dans chaque mode de fonctionnement, variations continues. Sauf dans le domaine du continu, modélisé par des systèmes d'équations aux dérivées partielles, les enchaînements d'états (phases, modes, états de fonctionnement) se modélisent par des diagrammes d'enchaînement de type états-transition ou de type enchaînement d'activités des fonctions (FFBD : Fonctionl Flow Block Diagramm).

Remarque : pour les systèmes d'information, l'intégration des visions fonctionnelles et dynamiques conduit à l'architecture du logiciel applicatif, tandis que le modèle sémantique conduit au schéma des bases de données. Cette architecture applicative, répondant aux plus particulièrement aux exigences fonctionnelles, complétée par les modules techniques d'interface (logiciels de médiation) constitue l'architecture logicielle exécutable. Elle est déployée sur l'infrastructure informatique (matériel et logiciel de base) qui répond plus particulièrement aux exigences non fonctionnelles (répartition géographique, performances, disponibilité.).

Selon l’approche objet, les entités du monde du problème sont modélisées sous forme d’objets caractérisés par leurs attributs (données et états) représentant l’aspect sémantique, les services qu’ils rendent représentant l’aspect fonctionnel et leur cycle de vie (leurs changements d’états) représentant l’aspect dynamique. L’objet apparaît ainsi comme un bon intégrateur des trois points de vue.

Dans ce contexte et selon le langage UML, la vision sémantique, sous forme de diagramme de classes ou d’objets (classes-relations), inclut l’aspect fonctionnel par la spécification des services rendus par les objets. L’aspect dynamique se modélise par les scénarios de sollicitations entre objets (diagramme de séquences) et par des diagrammes état-transition (statecharts de Harel) ou d’enchaînement d’activités (FFBD simplifiés). Par principe même de la représentation par objets (où les objets répondent à des sollicitations), la représentation fonctionnelle sous forme structurelle (où les fonctions transforment des flux) disparaît.

L’objet est cependant trop élémentaire pour permettre une décomposition directe du problème en objets. La vision opérationnelle de départ consiste à explorer les cas d’utilisation du système sollicités par les acteurs (systèmes et humains) de l’environnement, et, pour chacun, à définir les scénarios opérationnels attendus. La vision architecturale de haut niveau est obtenue par regroupement et projection des cas d'utilisation (représentant l'aspect comportemental du système) sur les éléments de décomposition du système en sous-systèmes.

 

Vision simplifiée de l’approche de modélisation initiale d’UML

Remarque : Dans le cas des systèmes d’information, les cas d’utilisation sont réalisés par des collaborations d’objets, regroupés en "sous-systèmes" d’objets applicatifs, puis intégrés avec des "sous-systèmes" d’objets techniques (dont les interfaces) pour fournir l’architecture du logiciel exécutable qui sera déployée sur l’infrastructure informatique.

Certains pensent qu’une formalisation poussée d’UML, notamment de son méta-modèle devrait conduire dans le futur à une démarche dite MDA (Model Driven Architecture), où le développement du logiciel se limiterait à la modélisation formelle du problème, les fournisseurs de plate-forme (matériels et logiciels de base) proposant les logiciels transformant les modèles applicatifs ainsi définis en exécutables performants sur leurs propres produits.

L’essor d’UML dans le domaine du logiciel et l’effort industriel de développement d’outils qui l’accompagne ont naturellement conduit à envisager son utilisation en ingénierie système. Cependant, du fait de sa conception fortement guidée par les besoins du passage à la programmation par objets, le langage était, tout au moins dans ses premières versions, peu adapté à la modélisation des systèmes complexes et donc au support de l’IS.

D’où l’effort de normalisation en cours à l’OMG d’un langage de modélisation de système, SysML (System Modeling Language). Formalisé sous forme d'un profil UML.2.0, en lui-même déjà plus adéquat qu’UML pour l’analyse des organisations et la conception des systèmes d’information complexes, il cherche à adapter au mieux les apports conceptuels et de formalisme de la pensée UML avec les besoins de l’IS : formalisation des exigences, décomposition, vision fonctionnelle, expression du continu, V & V … L’état de la définition de la version 0.1alpha de SysML (novembre 2005) en cours de relecture à l'OMG et l'INCOSE semble bien répondre à ce double objectif en fournissant 9 types de diagrammes adaptés aux différentes représentations des systèmes nécessaires à leur spécification, leur analyse, leur conception, leur vérification et leur validation..

L’aspect méthodologique accompagnant SysML (qui rappelons-le n’a pas d’autre ambition que d’être un "bon" formalisme de représentation des systèmes), et notamment les choix de types de modèle à utiliser aux différentes étapes du processus d’IS reste aujourd’hui ouvert : ce sera un passage obligé pour la création d’outils qui devront être adaptables aux processus définis dans les différents secteurs d’activité et leurs entreprises. Il restera également à traiter du passage de diagrammes SysML vers des outils de modélisation formelles, quantitatives et probabilistes, notamment pour simuler les comportement intégrant les aspects continus et discontinus et prouver formellement des propriétés correspondantes des systèmes.