WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Génération automatique du code java à  partir d'un modèle de classe UML

( Télécharger le fichier original )
par Kamel Eddine Heraguemi
Centre universitaire de Souk Ahras Algérie - Licence informatique 2010
  

précédent sommaire suivant

Chapitre1

Développement oriente objet

1.1 Introduction

Un système informatique est un système complexe, qui répond à des besoins issus du <<monde réel » et non pas des contraintes des ordinateurs sur lesquels il sera réalisé [Sommerville2001]. Le tout est de faire le pont entre les deux : exprimer une << modélisation du monde réel >> en termes de langage de programmation fatalement lié à l'ordinateur. Cette dichotomie a de tout temps existé pour l'informatique. Si on tient compte du très jeune âge de cette discipline relativement à d'autres domaines scientifiques, il paraît évident que les techniques les plus récentes sont les plus adéquates. Mais de quoi s'agit-il au juste ? De la modélisation du <<monde réel » à l'aide des techniques orientées-objet et de la programmation qui porte le même nom. Mais les deux ne sont pas indissociables, comme le prouvent des environnements très évolués, complexes, performants et fiables tels que X/Windows, Motif et DCE (tous disponible pour les plates-formes les plus courantes) conçus orienté-objet et réalisés en C [Lemesle2000].

1.2 Paradigme Oriente Objet

On classe souvent les langages de programmation en trois familles : - impératifs (comme les assembleurs, C, Perl, ...) ;

- fonctionnels (comme lisp, schème,...);

- objets (comme C++, Java,. . .).

En fait, cette classification doit plus s'entendre comme des philosophies différentes dans l'approche de la programmation et les langages implémentent même souvent plusieurs de ces aspects. Ces trois philosophies sont complémentaires en fonction des situations.

permettre à une entreprise de concevoir et développer un logiciel sur une durée de plusieurs années, il est nécessaire de structurer les différentes parties du logiciel de manier efficace. Pour cela, des règles précises de programmation sont établies, afin que les différents groupes de personnes intervenant sur un même logiciel puissent échanger leurs informations. En pratique, on a constaté que malgré l'instauration de règles, l'adaptation ou la réutilisation d'une partie programme nécessitait généralement une modification très importante d'une grande partie du code.

La programmation orientée objet est donc apparue avec, pour objectifs principaux :

- Comprendre l'organisation de grands projets informatiques autour d'entités précisément structurés, mélange des données et des fonctions (les objets) facilitant la modélisation de concepts sophistiqués :

- Améliorer la sureté des logiciels en proposant un mécanisme simple et flexible des données sensibles de chaque objet en ne les rendant accessibles que par le truchement de certaines fonctions associées à l'objet (encapsulation) afin que celles-ci ne soient pas accessibles à un programmeur inattentif ou malveillant.

- Simplifier la réutilisation de code en permettant l'extensibilité des objets existants (héritage) qui peuvent alors être manipulés avec les mêmes fonctions (polymorphisme).

La Programmation Orientée Objet est dirigée par 3 fondamentaux qu'il convient de toujours garder à l'esprit : encapsulation, héritage et polymorphisme.

1.2.1 Encapsulation

L'encapsulation introduit une nouvelle manière de gérer des données. Il ne s'agit plus de déclarer des données générales puis un ensemble de procédures et fonctions destinées à les gérer de manière séparée, mais bien de réunir le tout sous le couvert d'une seule et même entité [Dev].

Ce concept se cache également un autre élément à prendre en compte : pouvoir masquer aux yeux d'un programmeur extérieur tous procédures et fonctions destinées à la gestion interne de l'objet, auxquelles le programmeur final n'aura pas à avoir accès. Comme il montre la figure 1.1.

Paradigme Procédurale

Procédure

Variable

Variable

Procédure

Fonction

Variable

Attribut

Variable

Attribut

Paradigme Objet

Méthode

Méthode

Figure 1.1- Encapsulation.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy