Arrow Table de matières
6901373

CHAP II. CONCEPTS THEORIQUES (PREMIERE PARTIE)

  1. Modélisation

La modélisation consiste à créer une représentation simplifiée d'un problème: le modèle.  Grâce au modèle,  il est possible de représenter simplement un problème, un concept et le simuler ; ou La modélisation consiste à créer une représentation virtuelle d'une réalité de telle façon à faire ressortir les points auxquels on s'intéresse. La modélisation comporte deux composantes:

  • L'analyse, c'est-à-dire l'étude du problème
  • La conception, soit la mise au point d'une solution au problème

Le modèle constitue ainsi une représentation possible du système pour un point de vue donné ; mais un modèle qui joue pleinement ses fonctions explicatives et heuristiques n’en finit jamais d’être construit et reconstruit. Nous pouvons dire qu’aussi, la modélisation (modéliser) est d’abord un processus technique qui permet de représenter, dans un but de connaissance et d’action, un objet ou une situation voire un événement réputé complexe. On l’utilise dans tous les domaines scientifiques concernés par la complexité.

  • La modélisation procède d’une simplification délibérée du réel : il ya simplification car seulement certains aspects du réel sont sélectionnés et interprétés, alors que les autres sont ignorés ; cette simplification est délibérée car le scientifique sait que le modèle ne peut être conforme aux processus réels étudiés, qu’il est valide dans un domaine limité.
  • En conséquence, la modélisation relève d’une construction de l’esprit, d’une invention du scientifique. On peut donc considérer le modèle comme un point de vue (parmi d’autres possibles) sur le réel.
  • Les entités et les relations constituant le modèle sont isomorphes aux entités et relations qui structurent le champ empirique. Aussi, ces scenarios virtuels peuvent être confrontés à des situations réelles mettant en jeu des propriétés observables, pourvus que dans ces situations, les paramètres négligés par le modèle n’influent pratiquement pas sur le déroulement des événements.
  1. Conception

La conception d'un système d'information n'est pas évidente car il faut réfléchir à l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception nécessite des méthodes permettant de mettre en place un modèle sur lequel on va s'appuyer.

  1. Notion de système

L’apparition du concept de système peut être expliquée en   grande partie par la complexité croissante des phénomènes économiques, sociologiques (modification des modes de vie, phénomène de  mondialisation, ….) et la multiplication des interactions entre ces différents phénomènes. Les approches traditionnelles (on pense surtout à la logique cartésienne) seraient insuffisantes pour maitriser cette double évolution. Il devenait donc nécessaire de construire une  nouvelle approche scientifique qui aurait une vision plus globale des phénomènes.

Un système est un ensemble d’élément en interaction dynamiques permanentes, organisées en fonction d’un but[1]

Le système est un outil de modélisation permettant de représenter et analyser des complexes d’éléments caractérisés par leur nombre élevé et un réseau de relations imbriquées.

La notion de système n’est pas réellement novatrice en soi,  la Biologie et  les sciences de l’environnement ont été les premières à s’y référer (l’écosystème étudié l’environnement dans sa globalité, le corps humain est mieux compris grâce à l’étude des relations entre les différentes parties du corps). C’est cependant son application à l’entreprise qui est nouvelle (exemple du management systémique). On englobe sous ce terme, l’ensemble de structures économiques qui existe :

  • Les entreprises Publique ;
  • Les entreprises Privées ;
  • Les Administrations ;
  • Les Associations ;
  1. Système d’information.

Une entreprise crée de la valeur en traitant de l'information, en particulier dans le cas des sociétés de service. Ainsi, l'information possède une valeur d'autant plus grande qu'elle contribue à l'atteinte des objectifs de l'organisation.

Un système d'Information (noté SI) représente l'ensemble des éléments participant à la gestion, au traitement, au transport et à la diffusion de l'information au sein de l'organisation.

Les auteurs ci-après ont définis le système d’information comme suit :

  • Selon Reix : « Un  système d’information est un ensemble organisé, ressource, matériel, logiciel, personnel, données, procédures ; permettant d’acquérir, traiter, stocker, communiquer des informations (données, textes, images, sons,…) dans les organisations ».
  • Selon Masson et Mittrof : «  tout système d’information concerne un individu, pourvu d’un profil psychologique donné, confronté à un problème précis, dans un contexte organisationnel détermine ».
  • Selon Alter : «  Une combinaison de pratiques de travail, d’informations, de personnes et de technologies de l’information organisée pour atteindre des objectifs dans une organisation ».
  1. Gestion d’un centre Hospitalier

Le mot « Gestion » vient du latin « Gestio » ce qui  veut dire l’action de gérer. L’expression compte  de gestion montre que la gestion s’applique à l’action courante. Jusqu’en 1950, il s’agissait d’une simple exécution des travaux de gestion. Aujourd’hui, elle est considérée comme plus qu’un simple terme (gestion = administration = management = direction). La gestion vaut  par ses objectifs qui sont de contribuer au fonctionnement et à la conduite des organisations.

Par définition, la gestion est un ensemble des connaissances empruntées aux sciences exactes et humaines permettant de conduire une entreprise correctement ; ou encore est une action ou manière de gérer, d’administrer, d’organiser quelque chose.[2]

La gestion s’inscrit dans les sciences humaines qui se distinguent des sciences exactes, dans ce sens qu’elle s’intéresse à l’homme dans son cadre institutionnel. Parlent objectif (organisation) et leurs projets (ou des performances) la gestion fait partie des sciences  sociales mais elle est également une science monétique.[3]

  1. Compréhension des Concepts Programmation Orientés Objets
    1. Concept Programmation

Un programme informatique est une succession d'instructions exécutable par l'ordinateur. Toutefois, l'ordinateur ne sait manipuler que du binaire, c'est-à-dire une succession de 0 et de 1. Il est donc nécessaire d'utiliser un langage de programmation pour écrire de façon lisible, c'est-à-dire avec des instructions compréhensibles par l'humain car proches de son langage, les instructions à exécuter par l'ordinateur.  Ainsi, ces programmes sont traduits en langage machine (en binaire) par un compilateur.

La façon d'écrire un programme est intimement liée au langage de programmation que l'on a choisi car il en existe énormément. De plus, le compilateur devra correspondre au langage choisi: à chaque langage de programmation son compilateur (exception faite des langages interprétés...).

D'une façon générale, le programme est un simple fichier texte (écrit avec un traitement de texte ou un éditeur de texte), que l'on appelle fichier source.

Le fichier source contient les lignes de programmes que l'on appelle code source. Ce fichier source une fois terminé doit être compilé. La compilation se déroule en deux étapes:

  • le compilateur transforme le code source en code objet, et le sauvegarde dans un fichier objet, c'est-à-dire qu'il traduit le fichier source en langage machine (certains compilateurs créent aussi un fichier en assembleur, un langage proche du langage machine car possédant des fonctions très simples, mais lisibles)
  • le compilateur fait ensuite appel à un éditeur de liens (en anglais linker ou binder) qui permet d'intégrer dans le fichier final tous les éléments annexes (fonctions ou librairies) auquel le programme fait référence mais qui ne sont pas stockés dans le fichier source.
    Puis il crée un fichier exécutable qui contient tout ce dont il a besoin pour fonctionner de façon autonome, (sous les systèmes d'exploitation Microsoft Windows ou MS-DOS le fichier ainsi créé possède l'extension .exe)[4]
    1. Concepts Orientés Objets
  • Un nouveau concept de développement

Extrait de "Au cœur de ActiveX et OLE", de David Chapel

"Au cours des 35 dernières années, les concepteurs de matériel informatique sont passés de machines de la taille d'un hangar à des ordinateurs portables légers basés sur de minuscules microprocesseurs.
Au cours des mêmes années, les développeurs de logiciels sont passés de l'écriture de programmes en assembleur et en COBOL à l'écriture de programmes encore plus grands en C et C++. On pourra parler de progrès (bien que cela soit discutable), mais il est clair que le monde du logiciel ne progresse pas aussi vite que celui du matériel. Qu'ont donc les développeurs de matériel que les développeurs de logiciels n'ont pas ?

La réponse est donnée par les composants. Si les ingénieurs en matériel électronique devaient partir d'un tas de sable à chaque fois qu'ils conçoivent un nouveau dispositif, si leur première étape devait toujours consister à extraire le silicium pour fabriquer des circuits intégrés, ils ne progresseraient pas bien vite. Or, un concepteur de matériel construit toujours un système à partir de composants préparés, chacun chargé d'une fonction particulière et fournissant un ensemble de services à travers des interfaces définies. La tâche des concepteurs de matériel est considérablement simplifiée par le travail de leurs prédécesseurs.

La réutilisation est aussi une voie vers la création de meilleurs logiciels. Aujourd'hui encore, les développeurs de logiciels en sont toujours à partir d'une certaine forme de sable et à suivre les mêmes étapes que les centaines de programmeurs qui les ont précédés. Le résultat est souvent excellent, mais il pourrait être amélioré. La création de nouvelles applications à partir de composants existants, déjà testés, a toutes chances de produire un code plus fiable. De plus, elle peut se révéler nettement plus rapide et plus économique, ce qui n'est pas moins important." [5]

  • La notion d'objet

La programmation orientée objet consiste à modéliser informatiquement un ensemble d'éléments d'une partie du monde réel (que l'on appelle domaine) en un ensemble d'entités informatiques. Ces entités informatiques sont appelées objets. Il s'agit de données informatiques regroupant les principales caractéristiques des éléments du monde réel (taille, couleur, ...).

L'approche objet est une idée qui a désormais fait ses preuves. Simula a été le premier langage de programmation à implémenter le concept de classes en 1967 ! En 1976, Smalltalk implémente les concepts d'encapsulation, d'agrégation, et d'héritage (les principaux concepts de l'approche objet). D'autre part, de nombreux langages orientés objets ont été mis au point dans un but universitaire (Eiffel, Objective C, Loops, etc.).

La difficulté de cette modélisation consiste à créer une représentation abstraite, sous forme d'objets, d'entités ayant une existence matérielle (chien, voiture, ampoule, ...) ou bien virtuelle (sécurité sociale, temps, ...).

Un objet est caractérisé par plusieurs notions:

  • Les attributs: Il s'agit des données caractérisant l'objet. Ce sont des variables stockant des informations d'état de l'objet
  • Les méthodes (appelées parfois fonctions membres): Les méthodes d'un objet caractérisent son comportement, c'est-à-dire l'ensemble des actions (appelées opérations) que l'objet est à même de réaliser. Ces opérations permettent de faire réagir l'objet aux sollicitations extérieures (ou d'agir sur les autres objets). De plus, les opérations sont étroitement liées aux attributs, car leurs actions peuvent dépendre des valeurs des attributs, ou bien les modifier
  • L'identité: L'objet possède une identité, qui permet de le distinguer des autres objets, indépendamment de son état. On construit généralement cette identité grâce à un identifiant découlant naturellement du problème (par exemple un produit pourra être repéré par un code, une voiture par un numéro de série, ...) [6]
  1. La méthode UML
    1. Bref aperçu historique

Regardons tout d’abord ce qui s’est passé au début des années 90. Par rapport à la cinquantaine de méthodes d’analyse et de conception objet qui existaient au début des années 90, seulement trois d’entre elles se sont détachées nettement au bout de quelques années. En effet, la volonté de converger vers une méthode unifiée était déjà bien réelle et c’est pour cette raison que les méthodes OMT, BOOCH et OOSE se sont démarquées des autre.

UML (Unified Modeling Language, que l'on peut traduire par "langage de modélisation unifié) est une notation permettant de modéliser un problème de façon standard. Ce langage est né de la fusion de plusieurs méthodes existant auparavant, et est devenu désormais la référence en terme de modélisation objet, à un tel point que sa connaissance est souvent nécessaire pour obtenir un poste de développeur objet.

OMT (Object Modeling Technique) de James Rumbaugh  et BOOCH de Grady Booch ont été les deux méthodes les plus diffusées en France durant les années 90. Par ailleurs, OOSE  de  Ivar Jacobson s’est aussi imposée dans le monde objet pour la partie formalisation des besoins.

Par aller plus loin dans le rapprochement, James Rumbaugh et   Grady Booch  se sont retrouvés au sein de la société Rational Software et ont été ensuite rejointe par Ivar Jacobson en se donnant comme objectif de fusionner leur méthode et créer UML (Unified Modeling Language).

  Il est  important de noter que contrairement à ce qui avait été envisagé au départ, le processus de développement a été  sorti du champ couvert par le projet de  norme.

UML est donc une norme du langage de modélisation objet qui a été publiée, dans sa première version, en novembre 1997 par l’OMG (Object Management Group), instance de normalisation internationale du domaine de l’objet.

En quelques années, UML s’est imposée comme standard à utiliser en tant que langage de modélisation objet.

Aujourd’hui, en cette fin de la première décennie des années 2000, nous avons déjà une dizaine d’années de recul sur l’enseignement et la pratique d’UML en entreprise.[7]

  1. Caractéristique

Les grandes étapes de la diffusion d’UML peuvent se résumer comme suit :

  • En 1995: Méthode unifiée 0.8 (intégrant les méthodes Booch'93 et OMT)
  • En 1995: UML 0.9 (intégrant la méthode OOSE)
  • En 1996: UML 1.0 (proposée à l'OMG)
  • En 1997: UML 1.1 (standardisée par l'OMG)
  • En 1998: UML 1.2
  • En 1999: UML 1.3
  • En 2000: UML 1.4
  • En 2003: UML 1.5
  • 5 février 2007 : sortie de la V2.11 (version de référence du présent ouvrage).[8]

 Les Concepts qui nous semblent importants à bien maîtriser UML sont les suivants :

  • Acteur
  • Scénario.
  • Objet et Classe
  • Encapsulation et interface
  • Association et Agrégation de classe
  • Généralisation et Spécialisation de classe
  • Polymorphisme
  • Persistance
  • Acteur :

Un Acteur représente un rôle joué  par une entité externe (utilisateur humain, dispositif matériel ou autre système) qui interagit directement avec le système étudié. Un acteur peut consulter et/ou modifier directement l’état du  système, en émettant et/ou en recevant des messages susceptibles d’être porteurs de données.

  • Scénario :

Un  Scénario représente une succession particulière d’enchainement, s’exécutant du débutant à la fin du cas d’utilisation, un enchainement étant l’unité de description de séquences d’actions.

  • Objet :

Un Objet représente une entité du monde réel (ou du monde virtuel pour les objets immatériels) qui se caractérise par  un ensemble de propriétés (attributs), des états significatifs et un comportement. En  UML, l’objet est une instance de la classe.

  • Classe : Une classe est l’abstraction d’un ensemble d’objets  qui possèdent une structure identique (liste des attributs) et un même comportement (liste des opérations).
  • Encapsulation

Le principe d’encapsulation renforce l’autonomie et l’indépendance de chaque classe et l’indépendance de chaque classe et donne une potentialité accrue  de définition de classe réutilisable.

  • Interface

Est l’ensemble des opérations d’une classe rendu visible aux autres classes.

  • Association

L’association représente une relation entre plusieurs classes. Elle  correspond a l’abstraction des liens qui existent entre les objets dans le monde réel. 

  • Agrégation

L’agrégation est une forme particulière d’association  entre plusieurs classes. Elle exprime le fait qu’une classe est composée d’une ou plusieurs autres classes.

  • Généralisation

La généralisation de classe consiste à factoriser dans une classe, appelée  Super- classe, les attributs et/ou opérations des classes considérées. Appliquée à l’ensemble des classes, elle permet de réaliser une hiérarchie des classes.

  • Spécialisation

La spécialisation représente la démarche inverse de la généralisation puis qu’elle consiste à créer à partir d’une classe, plusieurs classes spécialisées.

  • Polymorphisme

Le polymorphisme est la capacité donnée à une même opération de s’exécuter différemment suivant le contexte  de la classe où elle se trouve.

  • Persistance

La persistance est la propriété donnée à un objet de continuer à exister à près la fin de l’exécution du programme qui  l’a crée. Par défaut dans l’approche objet, aucun objet n’est persistant. Les modèles décrivent le système en exécution en mémoire centrale et ne tiennent, pas compte a priori de l’état du système qui doit être stocké sur disque.   

  • Héritage

L'héritage (en anglais in heritance) est un principe propre à la programmation orientée objet, permettant de créer une nouvelle classe à partir d'une classe existante. Le nom d’héritage (pouvant parfois être appelé dérivation de classe) provient du fait que la classe dérivée (la classe nouvellement créée) contient les attributs et les méthodes de sa superclasse (la classe dont elle dérive). L'intérêt majeur de l'héritage est de pouvoir définir de nouveaux attributs et de nouvelles méthodes pour la classe dérivée, qui viennent s'ajouter à ceux et celles héritées.
Par ce moyen on crée une hiérarchie de classes de plus en plus spécialisées. Cela a comme avantage majeur de ne pas avoir à repartir de zéro lorsque l'on veut spécialiser une classe existante. De cette manière il est possible d'acheter dans le commerce des librairies de classes, qui constituent une base, pouvant être spécialisées à loisir (on comprend encore un peu mieux l'intérêt pour l'entreprise qui vend les classes de protéger les données membres grâce à l'encapsulation...).

[1] KALOMBO Dieudonné, cours inédit, conception du système d’information, ISS/Kin 2010-2011, L1 INFO.

[2] Mme Ricci, Gestion, édition Pierre Even, 2002, page 1

[3] Idem

[4] www.CommentCamarche.net /contents/ Langages Informatiques  et  Compilation

[5] www.CommentCamarche.net/ Contents/Introduction à la Programmation Orienté  Objet

[6] www.CommentCamarche.net op. Cit.

[7] Joseph Gabay et David Gabay, UML 2 Analyse et Conception, édition Dunod, Paris, 2008, page 6

[8] www.CommentCamarche.net/  Contents/Introduction à la notation UML

Partager ce travail sur :