Facteurs de la portabilité
Conception de logiciels et portabilité
H3288 v1 Archive

Facteurs de la portabilité
Conception de logiciels et portabilité

Auteur(s) : Patrick BELLOT, Bernard ROBINET

Date de publication : 10 nov. 1998 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

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

Sommaire

Présentation

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.

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

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

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

1. Facteurs de la portabilité

La portabilité n’est pas liée à l’application mais induite par la conception et la mise en œuvre du logiciel. Le choix d’un langage et de méthodes de programmation en fonction des contraintes de l’application est déterminant. Une bonne organisation des programmes et les principes respectés durant le développement détermineront le degré de portabilité. Si la phase de conception inclut des objectifs de portabilité, celle-ci peut être atteinte de manière raisonnable mais d’autres facteurs influent sur la portabilité.

En premier lieu, un logiciel peut être dépendant d’un matériel donné. Un logiciel de simulation avec images de synthèse peut nécessiter un type d’écran particulier disponible uniquement sur une machine donnée et son système d’exploitation. La portabilité n’est même pas recherchée : on a plutôt tendance à vouloir tirer parti des caractéristiques de l’architecture. Ce type de logiciels a une fonction particulière dans un domaine précis et les critères de portabilité y ont peu d’importance car les systèmes informatiques sont dédiés : aéronautique, simulation de systèmes, contrôle de centrales nucléaires, pilotage de machines, etc.

La dépendance du logiciel par rapport au système d’exploitation est un facteur pouvant en restreindre la portabilité. Elle résulte souvent d’un choix volontaire : pour des raisons d’économie ou d’efficacité, on utilise des outils particuliers à un système, par exemple les fonctions de gestion d’écran. Dans ce cas, c’est la portabilité de l’interface utilisateur qui est perdue. Souvent, le défaut de portabilité induit concerne les interfaces à travers les méthodes d’accès aux périphériques. Cela ne remet pas fondamentalement en cause la portabilité du logiciel. Comme nous le verrons, une conception modulaire des programmes permet de minimiser l’impact de cette dépendance en isolant les fonctions non portables. Porter le logiciel sur un autre système revient à remplacer ces modules par d’autres. Enfin, les systèmes d’exploitation récents tendent à supporter autant que possible des outils natifs d’autres systèmes afin d’amener les développeurs d’application à effectuer, à un coût peu élevé, un portage leur offrant un nouveau marché.

Un facteur commun entravant la portabilité d’un logiciel est sa dépendance...

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Facteurs de la portabilité

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire
Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre