Présentation

Article

1 - FACTEURS DE LA PORTABILITÉ

2 - CHOIX ET MÉTHODES

  • 2.1 - Plates-formes
  • 2.2 - Niveau d’intégration
  • 2.3 - Outils

3 - MÉTHODES DE DÉVELOPPEMENT

4 - ORGANISATION DES PROGRAMMES

5 - TECHNOLOGIE JAVA

6 - CONCLUSION

Article de référence | Réf : H3288 v1

Conclusion
Conception de logiciels et portabilité

Auteur(s) : Patrick BELLOT, Bernard ROBINET

Date de publication : 10 nov. 1998

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

Auteur(s)

  • Patrick BELLOT : Docteur d’État en Informatique - Professeur à l’École Nationale Supérieure des Télécommunications

  • Bernard ROBINET : Professeur des Universités - Directeur Scientifique de l’École Nationale Supérieure des Télécommunications

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

La diversité des architectures matérielles et des systèmes d’exploitation pose le problème général de la portabilité des logiciels. La définition de la portabilité est donnée par la norme NF ISO/CEI 9126 Z67-133 d’octobre 1992 : un ensemble d’attributs portant sur l’aptitude du logiciel à être transféré d’un environnement à l’autre, l’environnement pouvant être organisationnel, matériel ou logiciel. La définition, bien vague, recouvre des problèmes conceptuels et techniques qui n’ont pas de solutions définitives et absolues. Comme le soulignait B. Meyer en 1981 [12], la portabilité est à 99 % un problème ouvert. En une décennie, la situation n’a guère évolué, le signe le plus évident étant l’absence quasi totale d’écrits spécifiques sur le sujet. Si le but à atteindre est évident, les problèmes, les moyens et les solutions sont mal identifiés car trop fréquemment dépendants du logiciel concerné. La portabilité des logiciels est un facteur économique majeur de l’industrie informatique et les méthodes permettant de l’obtenir représentent un acquis fondamental du génie logiciel.

Au sein des entreprises, le problème de la portabilité se pose avec acuité car il est à présent rare qu’elles se contentent d’un seul constructeur, de ses machines et de ses systèmes d’exploitation propriétaires. Il importe donc que les applications développées dans l’entreprise ou acquises par elle soient portables. De même, pour toute société désirant commercialiser un logiciel de sa conception, la rentabilité de son développement et de sa commercialisation suppose la portabilité. Pour les constructeurs, l’effet induit est une uniformisation obligée de leurs gammes de machines et de systèmes d’exploitation. AUA (Architecture Unifiée d’Applications) d’IBM [13] et [14], est un exemple typique de cette approche puisqu’elle propose un ensemble d’outils, de langages et de services disponibles sur une gamme complète d’ordinateurs. Les développeurs, quant à eux, sont conduits à utiliser des méthodes permettant à leurs programmes de s’exécuter dans des contextes variés.

Les quatre premiers paragraphes ont abordé la portabilité des logiciels tant du point de vue technique de la programmation et des langages que de celui plus méthodologique de l’organisation du logiciel et de son développement. Le langage Java connaît une explosion médiatique peu commune. L’une de ses caractéristiques est la portabilité de ses exécutables obtenue grâce au concept de machine virtuelle [10]. Ce concept qui n’est pas nouveau mais remis au goût du jour par Java est l’objet de cet article. Nous le comparons avec les deux autres techniques de mise en œuvre des langages que sont la compilation et l’interprétation.

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h3288


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

6. Conclusion

La portabilité d’un logiciel ne relève pas d’une technique bien formalisée. Le bon sens et la recherche d’information guident le développeur dans les choix préalables. Savoir quel niveau d’intégration dans le système d’exploitation est possible ou bien quels sont les outils externes à utiliser est le résultat d’une étude sérieuse pour éviter les déconvenues. Le choix des langages est un élément clé. Notre préférence va à la machine abstraite lorsque le logiciel développé est appelé à vivre longtemps. Mais cette technique demande des compétences et des moyens importants. Dans le cas contraire, le langage normalisé est alors un bon choix. Il faut également tenter de respecter des techniques de programmation propres et d’organiser soigneusement son code. L’expérience démontre que les impasses en ce domaine se révèlent toujours coûteuses lors des portages du logiciel. Enfin, il peut être intéressant de rechercher sur le marché des outils de génération de code qui garantissent la portabilité des modules de l’application qui auront été construits de cette manière.

Mais en fin de compte, le facteur le plus limitatif de la portabilité des logiciels est la pression sans cesse exercée sur les équipes en charge de la conception et du développement. Concevoir portable nécessite une bonne information et beaucoup de réflexion. Or, les délais préalables sont toujours trop courts pour permettre cela. Par ailleurs, les impératifs de calendrier et de performances dont les origines sont le plus souvent commerciales et politiques interdisent malheureusement une conception portable des applications. Les objectifs de rentabilité immédiate prennent trop souvent le pas sur les investissements à plus long terme que nécessite la portabilité.

Le monde industriel s’interroge sur Java, sa réelle portabilité et l’incidence de la technologie machine virtuelle sur les performances des applications. Un article du Monde Informatique [27] apporte une réponse concrète sous la forme d’un test en vraie grandeur. Il s’agit du logiciel de bureautique Applix Anyware Office 4.3 entièrement conçu en langage Java et offrant les fonctionnalités classiques : traitement de texte, tableur, messagerie, etc. Ce logiciel a été testé sur un grand nombre de matériels et de systèmes d’exploitation. Il en ressort que les performances obtenues sont très variables : le logiciel est pratiquement inutilisable...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Conclusion
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - ANDRÉ (E.), al -   CONCERTO.  -  Revue Génie Logiciel, no 18, 1990.

  • (2) - ANDRIEU (P.), al -   Relations entre l’environnement HOOD et les autres dans CONCERTO.  -  Première Conférence HOOD, H. Habrias et M. Lai éds., 1991.

  • (3) - AUBERT (J.-P.), DIXNEUF (P.) -   Conception et programmation par objets.  -  Masson, 1991.

  • (4) - BARAN (N.), HAYES (F.) -   A guide to GUID.  -  Byte, juil. 1989.

  • (5) - BELLOT (P.), LEGRAND (R.) -   Miles, un langage pour l’intelligence artificielle.  -  Université d’été de l’Afcet 1988, Rabat (Maroc), juil. 1988.

  • (6) - BELLOT (P.), JAY (V.) -   Differences ? You say differences ? IBM Prolog for OS/2.  -  IBM PSC Report, Paris, déc. 1990.

  • ...

NORMES

  • Technologies de l’information. Évaluation des produits logiciels. Caractéristiques de qualité et directives d’utilisation. - NF ISO/CEI 9126 - 10-92

ANNEXES

  1. 1 Thèses

    1 Thèses

    FRIEDMAN-HILL (E.J.) - Java : Visuel pro : pour construire des programmes Java portables. - 2001.

    HAUT DE PAGE

    Cet article est réservé aux abonnés.
    Il vous reste 92% à découvrir.

    Pour explorer cet article
    Téléchargez l'extrait gratuit

    Vous êtes déjà abonné ?Connectez-vous !


    L'expertise technique et scientifique de référence

    La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
    + de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
    De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

    Cet article fait partie de l’offre

    Technologies logicielles Architectures des systèmes

    (240 articles en ce moment)

    Cette offre vous donne accès à :

    Une base complète d’articles

    Actualisée et enrichie d’articles validés par nos comités scientifiques

    Des services

    Un ensemble d'outils exclusifs en complément des ressources

    Un Parcours Pratique

    Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

    Doc & Quiz

    Des articles interactifs avec des quiz, pour une lecture constructive

    ABONNEZ-VOUS